FUNCTION zfifm_mr8m_cancel.
*"----------------------------------------------------------------------
*"*"本地接口:
*" IMPORTING
*" VALUE(I_BELNR) TYPE RE_BELNR
*" VALUE(I_GJAHR) TYPE GJAHR
*" VALUE(I_CODE) TYPE BAPI_INCINV_FLD-REASON_REV
*" VALUE(I_DATE) TYPE BAPI_INCINV_FLD-PSTNG_DATE
*" EXPORTING
*" REFERENCE(E_BELNR) TYPE RE_BELNR
*" REFERENCE(E_GJAHR) TYPE GJAHR
*" REFERENCE(E_MTYPE) TYPE BAPI_MTYPE
*" REFERENCE(E_MSG) TYPE BAPI_MSG
*"----------------------------------------------------------------------
DATA:lv_number TYPE bapi_incinv_fld-inv_doc_no,
lv_year TYPE bapi_incinv_fld-fisc_year,
lv_number1 TYPE bapi_incinv_fld-inv_doc_no,
lv_year1 TYPE bapi_incinv_fld-fisc_year,
lt_return TYPE TABLE OF bapiret2,
ls_return TYPE bapiret2.
CALL FUNCTION 'BAPI_INCOMINGINVOICE_CANCEL'
EXPORTING
invoicedocnumber = i_belnr "凭证号
fiscalyear = i_gjahr "年度
reasonreversal = i_code
postingdate = i_date
IMPORTING
invoicedocnumber_reversal = e_belnr
fiscalyear_reversal = e_gjahr
TABLES
return = lt_return.
IF lv_number1 IS NOT INITIAL .
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'.
e_mtype = 'S'.
ELSE .
CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
e_mtype = 'E'.
LOOP AT lt_return INTO ls_return WHERE type CA 'AE' .
IF e_msg IS INITIAL .
e_msg = ls_return-message .
ELSE .
e_msg = ls_return-message && '/' && e_msg .
ENDIF .
ENDLOOP .
ENDIF .
ENDFUNCTION.
MR8M 冲销BAPI
最新推荐文章于 2024-07-17 12:07:36 发布
本文介绍了如何在ABAP编程中调用BAPI_INCOMINGINVOICE_CANCEL函数来取消发票,并根据操作结果进行事务提交或回滚,涉及关键变量如凭证号、年度和撤销原因等。
摘要由CSDN通过智能技术生成