REPORT  zdemo_mbst.

PARAMETERS p_mblnr TYPE bapi2017_gm_head_02-mat_doc.
PARAMETERS p_ebeln TYPE ebeln.

DATA:lt_ekbe TYPE TABLE OF ekbe.
DATA:ls_ekbe TYPE ekbe.

DATA:lv_mblnr LIKE mseg-mblnr..

DATA:ls_goodsmvt_headret LIKE bapi2017_gm_head_ret.
DATA:lt_return LIKE TABLE OF bapiret2.
DATA:ls_return LIKE bapiret2.

DATA:ls_goodsmvt_pstng_date TYPE bapi2017_gm_head_02-pstng_date.
DATA:ls_goodsmvt_pr_uname TYPE bapi2017_gm_head_01-pr_uname.

CLEAR ls_goodsmvt_headret.
CLEAR lt_return[].
ls_goodsmvt_pstng_date = sy-datum.
ls_goodsmvt_pr_uname = sy-uname.


"根据MIGO收货的采购订单,找到对应的收货凭证
IF p_mblnr IS INITIAL AND p_ebeln IS NOT INITIAL.
SELECT * FROM ekbe INTO TABLE lt_ekbe
WHERE ebeln = p_ebeln AND gjahr = sy-datum(4) AND bwart = '101'.

SORT lt_ekbe BY belnr DESCENDING.
READ TABLE lt_ekbe INTO ls_ekbe INDEX 1.
p_mblnr = ls_ekbe-belnr.
ENDIF.


CALL FUNCTION 'BAPI_GOODSMVT_CANCEL'
EXPORTING
materialdocument = p_mblnr
matdocumentyear = sy-datum(4)
goodsmvt_pstng_date = ls_goodsmvt_pstng_date
goodsmvt_pr_uname = ls_goodsmvt_pr_uname
IMPORTING
goodsmvt_headret = ls_goodsmvt_headret
TABLES
return = lt_return.


CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'.


WRITE ls_goodsmvt_headret-mat_doc.


DEMO:MBST冲销物料凭证BAPI_GOODSMVT_CANCEL_SAP刘梦_新浪博客_sql