冲销凭证BAPI_ACC_DOCUMENT_REV_POST 报错 “不要填写‘凭证编号’字段”

程序如下:

  DATA: LV_LGO_SYS    TYPE TBDLS-LOGSYS,
        LS_REVERSAL   TYPE BAPIACREV,
        LV_BUS_ACT    TYPE BAPIACHE09-BUS_ACT,
        LV_OBJ_KEY    TYPE BAPIACREV-OBJ_KEY,
        LT_RETURN     TYPE STANDARD TABLE OF BAPIRET2,
        LV_ERROR_FLAG TYPE C.
  
"LOGICAL SYSYTEM
  CALL FUNCTION 'OWN_LOGICAL_SYSTEM_GET'
    IMPORTING
      OWN_LOGICAL_SYSTEM             = LV_LGO_SYS
    EXCEPTIONS
      OWN_LOGICAL_SYSTEM_NOT_DEFINED = 1
      OTHERS                         = 2.

  LOOP AT GT_ROW INTO LS_ROW.
    DATA(LS_OUT) = GT_OUT[ LS_ROW-ROW_ID ].

    SELECT SINGLE
      AWTYP,
      AWKEY,
      BUDAT,
      MONAT,
      GLVOR
      INTO @DATA(LS_BKPF)
      FROM BKPF
      WHERE BUKRS = @LS_OUT-BUKRS
      AND   BELNR = @LS_OUT-BELNR_JT
      AND   GJAHR = @LS_OUT-GJAHR_JT.

    LS_REVERSAL = VALUE #(
      OBJ_TYPE   = LS_BKPF-AWTYP
      OBJ_KEY    = LS_BKPF-AWKEY
      OBJ_SYS    = LV_LGO_SYS
      OBJ_KEY_R  = LS_BKPF-AWKEY
      PSTNG_DATE = LS_BKPF-BUDAT
      "FIS_PERIOD = LS_BKPF-MONAT
      COMP_CODE  = LS_OUT-BUKRS
      AC_DOC_NO  = LS_OUT-BELNR_JT
      REASON_REV = '04' ).

    LV_BUS_ACT = LS_BKPF-GLVOR.

    CALL FUNCTION 'BAPI_ACC_DOCUMENT_REV_POST'
      EXPORTING
        REVERSAL = LS_REVERSAL
        BUS_ACT  = LV_BUS_ACT
      IMPORTING
*       OBJ_TYPE =
        OBJ_KEY  = LV_OBJ_KEY
*       OBJ_SYS  =
      TABLES
        RETURN   = LT_RETURN.

    LOOP AT LT_RETURN INTO DATA(LS_RETURN) WHERE TYPE CA 'AEX'.
      LS_OUT-MESSAGE =
        COND #( WHEN LS_OUT-MESSAGE = SPACE THEN LS_RETURN-MESSAGE
                ELSE |{ LS_OUT-MESSAGE }/{ LS_RETURN-MESSAGE }| ).
    ENDLOOP.

    IF SY-SUBRC = 0.
      LV_ERROR_FLAG = 'X'.
    ELSE.
      LS_OUT-BELNR_CX = LV_OBJ_KEY(10).
      LS_OUT-GJAHR_CX = LV_OBJ_KEY+14(4).
    ENDIF.

    MODIFY GT_OUT FROM LS_OUT INDEX LS_ROW-ROW_ID.
    CLEAR: LS_OUT.
  ENDLOOP.

报错信息如下:

解决方法:

工作区 LS_REVERSAL中会计凭证字段 AC_DOC_NO 不用填入值即可

原因:OBJ_KEY字段已经包含了 需要冲销凭证编号

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王小磊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值