引用链接:https://mp.weixin.qq.com/s/0RoUY8nyWfONjKTItjTouA

BAPI_ACC_DOCUMENT_REV_POST 凭证冲销

前台操作: FB08

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.