亲爱的SCN朋友们,
我想分享一些有关使用BAPI\U ACC\U DOCUMENT\U POST的技巧,bi大数据,以及如何扩大这个强大的BAPI在会计岗位上的使用。
很长一段时间以来,我一直在我的解决方案中使用BAPI\U ACC\U DOCUMENT\U POST。它比事务调用技术(例如FB01的Call\u Transaction)要好得多,原因如下:
您可以在提交前使用BAPI\u ACC\u document\u CHECK模拟文档创建。
Z事务代码记录在BKPF表(字段TCODE)中,您可以在文档显示(FB03)中看到。所以,您可以跟踪发帖的来源。
您没有像事务调用中那样的屏幕布局/字段状态错误。
由于这些原因和其他许多原因,我更喜欢使用BAPI\u ACC\u DOCUMENT\u POST。
在过去的几个月里,大数据中心,我一直在研究这个BAPI,以找到我在中遇到的以下问题的一些答案注意:
为什么不能使用BAPI\ U ACC\ U DOCUMENT\ U POST过账注明的项目和/或特殊总账交易?没有输入参数来决定总账的特殊指标,
为什么我们不能更改BAPI\ U ACC\ U DOCUMENT\ U POST的过账键?参数表中没有要使用的过帐键。它自动确定(总账账户为40/50,供应商明细账为31/21等)
分类账特定过账
因此,我发现了一些需要改进的地方,以扩大BAPI会计凭证过账的使用,我想与您分享。
让我们直截了当地说,大数据系统,技术SAP允许我们通过BAdI BAdI\ U ACC\ U文档(如果是EXACC\ U文档,则接口)更改会计文档。在这个BAdI中有一个变更方法。检查下面的参数:
我们可以看到,表头、项目、货币和WHT表都可以更改。这些结构比BAPI的输入参数要完整得多*.
*注意,此时出现了结构C\ U EXTENSION2.
我一直在研究EXTENSION2表的用法,在FI会计岗位上找不到这个结构的具体用法。网上很多帖子只提到了扩展1.
在处理BAPI\U ACC\U DOCUMENT\U POST table EXTENSION2时没有使用,调用BAdI的方法改变是用扩展2中的信息改变会计凭证ACCHD、ACCIT、ACCCR、ACCWT等的结构:
所以这里的想法是使用扩展2 table在BAPI会计凭证中过账,在BAdI中创建动态ABAP代码,增加会计表中的附加信息
我们设置了扩展2的逻辑如下:
结构:需要更改或增加的结构(ACCOUNTGL、Account Receivable、,应付账款或单据头)
值第1部分:行项目ID(ITEMNO\u ACC)
值第2部分:BADI中要修改的结构/表(C\u ACCHD,C\u ACCIT,C\u ACCCR,C\u ACCWT)
值第3部分:BADI中要修改的结构/表字段(C\u ACCHD,C\u ACCIT,C\u ACCCR,超级淘客,C\u ACCWT)
值第4部分:在BADI中要修改的结构/表格中要提交或更改的值。
下面的示例,电梯物联网,我将发布客户首付申请。
应在EXTENSION2表中通知以下信息/数据以使首付申请生效:
C\U ACCIT-BSTAT文档状态:备注项目为"S"
C\U ACCIT-ZUMSK目标特殊总账指标:首付申请为"A"
C\U ACCHD-GLVOR业务交易:‘RFST’FI:统计过账
BAPI\ U ACC\ U DOCUMENT\ U POST的标准不允许对这些参数进行修改,因此BAdI用扩展2中的信息更改会计数据将对我们有所帮助。检查参数:
检查结构扩展2是如何填充的:
注意DOCUMENTHEADER没有VALUEPART1,因为行项目是文档C_ACCHD表标题的更改。
让我们看看如何设计BAdI源代码来解释它并更改表。
检查下面我们开发的ABAP源代码以动态解释扩展2并更改结构:
最后,单据过账
这可以通过其他字段或目的来完成,不仅是针对定金或特殊的总账单据。
我从未见过这种解决方案来扩大BAPI\ U ACC\ U document\ U POST在其他客户中的使用。因此,我希望我能为你们分享一些帮助,因为你们正在寻找与此职位相关的东西。
请,如果你想做这样的解决方案,请注意你在会计过账中更改的字段,以避免产生不一致的过账。例如,在特殊的总账交易中,必须将业务交易定义为"RFST",否则FAGLFLEXA和FAGLFLEXT将在不应该填写时填写。
请仔细测试场景并享受它!
此致,
加布里埃尔·科莱蒂