会计凭证增强抬头文本维护失败

1问题描述

在使用BAPI创建会计凭证时,发现抬头文本字段维护不进去,经过大量调试,以为是会计凭证增强出了问题,后来发现去掉增强还是维护不进去,之后Google,发现了一个解决方案。

这位大佬的意思是,如果实现AC_DOCUMENT中的类IF_EX_AC_DOCUMENT的方法CHANGE_INITIAL 或 CHANGE_AFTER_CHECK,当使用BAPI_ACC_DOCUMENT_POST创建会计凭证时,抬头文本将会为空。解决方法就是将一段逻辑添加到CHANGE_INITIAL 和 CHANGE_AFTER_CHECK中。

后来发现项目中确实有人使用了AC_DOCUMENT这个增强点,并且实现了CHANGE_INITIAL方法,因此,需要增加逻辑。

2解决方法

1. CHANGE_INITIAL 中新增逻辑

"-----------------------------------------@斌将军--------------------------------------------
*    此处因为实现了该方法,导致了会计凭证批导的抬头文本无法维护,因此加以下代码
    DATA: wa_header TYPE acchd.
    IF sy-xprog EQ 'SAPMSSY1'.
*<SAPLBPFC> is for Posting with BAPI: BAPI_ACC_DOCUMENT_CHECK
*<SAPMSSY1> is for Test(Check) with BAPI: BAPI_ACC_DOCUMENT_POST

*<SAPCNVE > is for Posting(Tax) with BAPI: BAPI_ACC_DOCUMENT_POST
      CLEAR wa_header.
      wa_header = im_document-header.
      ex_document-header-bktxt = wa_header-bktxt.
      CLEAR wa_header.
    ENDIF.
"-----------------------------------------@斌将军--------------------------------------------

2.CHANGE_AFTER_CHECK中新增逻辑

"-----------------------------------------@斌将军--------------------------------------------
*    此处因为实现了该方法,导致了会计凭证批导的抬头文本无法维护,因此加以下代码
    DATA: wa_header TYPE acchd.
    IF sy-xprog EQ 'SAPCNVE'.
      CLEAR wa_header.
      wa_header = im_document-HEADER.
      ex_document-HEADER-bktxt = wa_header-bktxt.
      CLEAR wa_header.
    ENDIF.
"-----------------------------------------@斌将军--------------------------------------------

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值