引用链接:https://mp.weixin.qq.com/s/0RoUY8nyWfONjKTItjTouA
BAPI_ACC_DOCUMENT_REV_POST 凭证冲销
前台操作: FB08
直接点保存,然后查看表BKPF数据。
自定义程序:
*&---------------------------------------------------------------------*
*& Report ZLM_DEMO_REVERSE
*&---------------------------------------------------------------------*
REPORT ZLM_DEMO_REVERSE.
PARAMETERS:
P_BUKRS TYPE BKPF-BUKRS,
P_BELNR TYPE BKPF-BELNR,
P_GJAHR TYPE BKPF-GJAHR.
DATA:
GS_REVERSAL TYPE BAPIACREV,
LV_MSG TYPE STRING,
LV_OBJ_TYPE TYPE BAPIACHE09-OBJ_TYPE,
LV_OBJ_KEY TYPE BAPIACHE09-OBJ_KEY,
LV_OBJ_SYS TYPE BAPIACHE09-OBJ_SYS,
LT_RETURN TYPE TABLE OF BAPIRET2 WITH HEADER LINE.
CLEAR: GS_REVERSAL.
SELECT SINGLE AWTYP AWKEY AWKEY BUDAT
INTO (GS_REVERSAL-OBJ_TYPE,GS_REVERSAL-OBJ_KEY,GS_REVERSAL-OBJ_KEY_R,GS_REVERSAL-PSTNG_DATE)
FROM BKPF
WHERE BELNR EQ P_BELNR
AND BUKRS EQ P_BUKRS
AND GJAHR EQ P_GJAHR.
CALL FUNCTION 'OWN_LOGICAL_SYSTEM_GET'
IMPORTING
OWN_LOGICAL_SYSTEM = GS_REVERSAL-OBJ_SYS.
GS_REVERSAL-COMP_CODE = P_BUKRS.
GS_REVERSAL-REASON_REV = '03'.
CALL FUNCTION 'BAPI_ACC_DOCUMENT_REV_POST'
EXPORTING
REVERSAL = GS_REVERSAL
BUS_ACT = 'RFBU'
IMPORTING
OBJ_TYPE = LV_OBJ_TYPE
OBJ_KEY = LV_OBJ_KEY
OBJ_SYS = LV_OBJ_SYS
TABLES
RETURN = LT_RETURN.
LOOP AT LT_RETURN WHERE TYPE = 'E'.
WRITE LT_RETURN-MESSAGE.
ENDLOOP.
IF SY-SUBRC <> 0.
COMMIT WORK AND WAIT.
WRITE LV_OBJ_KEY.
ELSE.
ROLLBACK WORK .
ENDIF.