一个简单单的利用BAPI :BAPI_ACC_DOCUMENT_REV_POST冲销凭证的例子

本文展示了如何在SAP系统中通过ABAP编程调用BAPI_AC_DOCUMENT_REV_POST函数来冲销凭证,包括数据准备、错误处理和事务提交的过程。
摘要由CSDN通过智能技术生成

 写了一个简单单的调用 BAPI 冲销凭证的例子,这样的代码会经常用的上,贴在这里,方便我那天过来找。

DATA: wa_bapidochdrr TYPE bapiacrev,
      bus_act        TYPE bapiache09-bus_act.
DATA:obj_type TYPE bapiache09-obj_type,
     obj_key  TYPE bapiache09-obj_key,
     obj_sys  TYPE bapiache09-obj_sys.
DATA: l_msg(255).
DATA: l_error TYPE c.

DATA:gw_return TYPE bapiret2,
     gt_return LIKE gw_return OCCURS 0.

SELECT
 SINGLE  *
INTO @DATA(gw_bkpf)
FROM bkpf

WHERE belnr = '9800000009'
  AND bukrs = '1000'
  AND gjahr = '2023'.


CLEAR wa_bapidochdrr.
wa_bapidochdrr-obj_type =  gw_bkpf-awtyp.
wa_bapidochdrr-obj_key = gw_bkpf-awkey.
wa_bapidochdrr-obj_sys = gw_bkpf-awsys.
wa_bapidochdrr-obj_key_r = gw_bkpf-awkey.
*      wa_bapidochdrr-ac_doc_no = gw_bkpf-belnr.
wa_bapidochdrr-pstng_date = sy-datum.
wa_bapidochdrr-reason_rev = '04'.

bus_act = 'RFBU'.

CALL FUNCTION 'BAPI_ACC_DOCUMENT_REV_POST'
  EXPORTING
    reversal = wa_bapidochdrr
    bus_act  = bus_act
  IMPORTING
    obj_type = obj_type
    obj_key  = obj_key
    obj_sys  = obj_sys
  TABLES
    return   = gt_return.
LOOP AT gt_return INTO gw_return WHERE type = 'E' OR type = 'A'.
  CONCATENATE gw_return-message l_msg INTO l_msg.
  l_error = 'X'.
ENDLOOP.

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
  EXPORTING
    wait = 'X'.
IF sy-subrc = 0..

ENDIF.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值