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

作者:斌将军 约 3 分钟阅读 更新日期:2025-03-02 1 年前更新 标签:ABAP, CO, FI, 开发, 财务
会计凭证增强抬头文本维护失败 - 封面图
会计凭证增强抬头文本维护失败 - 封面图

** 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方法,因此,需要增加逻辑。

**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."-----------------------------------------@斌将军--------------------------------------------
斌将军

关于作者:斌将军

企业信息化与 SAP 技术顾问,长期专注 SAP ABAP、FI/CO、MM、SD 等模块的技术分享与实战经验总结。查看更多介绍

来源说明:本文内容由「会计凭证增强抬头文本维护失败.md」整理生成,仅用于内部技术分享与学习交流。