BAPI_INCOMINGINVOICE_CANCEL usage
2380 ワード
The BAPI is equivalent to Tcode MR8M
CLASS mr8m DEFINITION.
PUBLIC SECTION.
CLASS-METHODS: cancel IMPORTING pt_belnr TYPE mblnr
pt_gjahr TYPE gjahr
pt_stgrd TYPE stgrd
pt_budat TYPE budat
EXPORTING et_belnr TYPE mblnr
et_gjahr TYPE gjahr
et_return TYPE string.
ENDCLASS. "MR8M DEFINITION
CLASS mr8m IMPLEMENTATION.
METHOD cancel.
DATA: l_returns TYPE STANDARD TABLE OF bapiret2,
l_return TYPE bapiret2.
*Cancel invoice document
IF pt_budat IS NOT INITIAL.
CALL FUNCTION 'BAPI_INCOMINGINVOICE_CANCEL'
EXPORTING
invoicedocnumber = pt_belnr
fiscalyear = pt_gjahr
reasonreversal = pt_stgrd
postingdate = pt_budat
IMPORTING
invoicedocnumber_reversal = et_belnr
fiscalyear_reversal = et_gjahr
TABLES
return = l_returns[].
ELSE.
CALL FUNCTION 'BAPI_INCOMINGINVOICE_CANCEL'
EXPORTING
invoicedocnumber = pt_belnr
fiscalyear = pt_gjahr
reasonreversal = pt_stgrd
IMPORTING
invoicedocnumber_reversal = et_belnr
fiscalyear_reversal = et_gjahr
TABLES
return = l_returns[].
ENDIF.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'.
CLEAR et_return.
*Return error message if error encountered
LOOP AT l_returns INTO l_return.
IF et_return IS INITIAL.
et_return = l_return-message.
ELSE.
CONCATENATE et_return ';' l_return-message INTO et_return.
ENDIF.
ENDLOOP.
ENDMETHOD. "CANCEL
ENDCLASS. "MR8M IMPLEMENTATION