FI票据凭证调用BAPI问题

26 篇文章 59 订阅

现状:我们在使用BAPI_ACC_DOCUMENT_POST生成会计凭证时,大家会注意到,票据相关凭证无法通过该BAPI进行调用,为此SAP提供的方式有2种:1、使用BDC生成会计凭证;2、调用程序RFBIBL00(底层也是使用BDC)

在调用BAPI生成票据相关凭证(W特殊总帐)时,需要注意2点,1、返回F5 246的错误消息;2、票据相关内容无传入参数可以进行写入;

解决:1、针对报错消息,对标准代码进行修改(增加调用程序判断,以免影响标准业务)

代码位置:LFACIF02 1944行

*{   REPLACE        YZDK906844                                        1
*\      MESSAGE E246 WITH X_UMSKS X_UMSKZ.
"如果资金系统BAPI函数调用,则不进行报错,应付票据进行过账
      DATA lt_callstack TYPE SYS_CALLST.
      CALL FUNCTION 'SYSTEM_CALLSTACK'
*       EXPORTING
*         MAX_LEVEL          = 0
       IMPORTING
*         CALLSTACK          =
         ET_CALLSTACK       = lt_callstack
                .
      READ TABLE lt_callstack WITH KEY PROGNAME = 'SAPLZFG_FI003' EVENTNAME = 'ZFM_FI_ACCDOC_CREATE' TRANSPORTING NO FIELDS.
      IF sy-subrc <> 0.
        MESSAGE E246 WITH X_UMSKS X_UMSKZ.
      ENDIF.
*}   REPLACE

2、票据相关参数传入需要借助Memory ID进行传入,然后在标准代码中进行引入,然后写入数据即可。

在程序LFACIF5D的FI_DOCUMENT_PREPARE中读取Memory ID内容,将字段写入到XBSED内表中,实现票据字段的传输。

总结:以上两点搞定之后,正常调用BAPI生成票据相关的会计凭证即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值