FUNCTION ZWMS_GOODSMVT_CANCEL.
*"----------------------------------------------------------------------
*"*"Local interface:
*" TABLES
*" INPUT STRUCTURE ZWMS_GOODSMVT_CANCEL_INPUT OPTIONAL
*" OUTPUT STRUCTURE ZWMS_GOODSMVT_CANCEL_OUTPUT OPTIONAL
*"----------------------------------------------------------------------
DATA:LI_GOODSMVT_HEADRET TYPE BAPI2017_GM_HEAD_RET,
LI_GOODSMVT_MATDOCITEM TYPE TABLE OF BAPI2017_GM_ITEM_04 WITH HEADER LINE.
DATA:I_RETURN TYPE TABLE OF BAPIRET2 WITH HEADER LINE.
LOOP AT INPUT.
CLEAR LI_GOODSMVT_HEADRET.
REFRESH LI_GOODSMVT_MATDOCITEM.
CLEAR LI_GOODSMVT_MATDOCITEM.
REFRESH I_RETURN.
CLEAR I_RETURN.
CALL FUNCTION 'BAPI_GOODSMVT_CANCEL'
EXPORTING
MATERIALDOCUMENT = INPUT-MBLNR "物料凭证
MATDOCUMENTYEAR = INPUT-MJAHR "年
GOODSMVT_PSTNG_DATE = SY-DATUM
GOODSMVT_PR_UNAME = SY-UNAME
IMPORTING
GOODSMVT_HEADRET = LI_GOODSMVT_HEADRET
TABLES
RETURN = I_RETURN
GOODSMVT_MATDOCITEM = LI_GOODSMVT_MATDOCITEM.
CLEAR I_RETURN.
READ TABLE I_RETURN WITH KEY TYPE = 'E'.
IF SY-SUBRC <> 0.
OUTPUT-FLAG = 'S'.
OUTPUT-NOTES = '物料凭证冲销!'.
OUTPUT-MBLNR = LI_GOODSMVT_HEADRET-MAT_DOC.
APPEND OUTPUT.
CLEAR OUTPUT.
ELSE.
OUTPUT-FLAG = 'E'.
CONCATENATE '物料凭证冲销:' I_RETURN-MESSAGE INTO OUTPUT-NOTES.
APPEND OUTPUT.
CLEAR OUTPUT.
ENDIF.
ENDLOOP.
ENDFUNCTION.
*"----------------------------------------------------------------------
*"*"Local interface:
*" TABLES
*" INPUT STRUCTURE ZWMS_GOODSMVT_CANCEL_INPUT OPTIONAL
*" OUTPUT STRUCTURE ZWMS_GOODSMVT_CANCEL_OUTPUT OPTIONAL
*"----------------------------------------------------------------------
DATA:LI_GOODSMVT_HEADRET TYPE BAPI2017_GM_HEAD_RET,
LI_GOODSMVT_MATDOCITEM TYPE TABLE OF BAPI2017_GM_ITEM_04 WITH HEADER LINE.
DATA:I_RETURN TYPE TABLE OF BAPIRET2 WITH HEADER LINE.
LOOP AT INPUT.
CLEAR LI_GOODSMVT_HEADRET.
REFRESH LI_GOODSMVT_MATDOCITEM.
CLEAR LI_GOODSMVT_MATDOCITEM.
REFRESH I_RETURN.
CLEAR I_RETURN.
CALL FUNCTION 'BAPI_GOODSMVT_CANCEL'
EXPORTING
MATERIALDOCUMENT = INPUT-MBLNR "物料凭证
MATDOCUMENTYEAR = INPUT-MJAHR "年
GOODSMVT_PSTNG_DATE = SY-DATUM
GOODSMVT_PR_UNAME = SY-UNAME
IMPORTING
GOODSMVT_HEADRET = LI_GOODSMVT_HEADRET
TABLES
RETURN = I_RETURN
GOODSMVT_MATDOCITEM = LI_GOODSMVT_MATDOCITEM.
CLEAR I_RETURN.
READ TABLE I_RETURN WITH KEY TYPE = 'E'.
IF SY-SUBRC <> 0.
OUTPUT-FLAG = 'S'.
OUTPUT-NOTES = '物料凭证冲销!'.
OUTPUT-MBLNR = LI_GOODSMVT_HEADRET-MAT_DOC.
APPEND OUTPUT.
CLEAR OUTPUT.
ELSE.
OUTPUT-FLAG = 'E'.
CONCATENATE '物料凭证冲销:' I_RETURN-MESSAGE INTO OUTPUT-NOTES.
APPEND OUTPUT.
CLEAR OUTPUT.
ENDIF.
ENDLOOP.
ENDFUNCTION.