S4更改会计凭证金额

因某些业务原因,财务需要将VF02(我这边vf01,vf02保存功能合并)产生的会计凭证去掉税额,如下图

 

 

 

财务需要将对应的增值税去掉

更改点: BTE 1120

参考https://blog.csdn.net/qq_21174899/article/details/106754079

替代可以参考https://blog.csdn.net/zhongguomao/article/details/78687825

查找更改点方法:https://blog.csdn.net/sundam/article/details/82895067 

 

经测试发现,bte 1120函数对应的增强只能更改bseg里面的金额,S4系统的ACDOCA这个表里面的TSL以及WSL并没有改变。

解决方法:更改acdoca

类:CL_FINS_ACDOC_POSTING_EVENTS 

方法:UPDATE_CLEARING_INFO - set clearing information within POST

这个方法的开始部分,加入隐式增强,循环ChangingCT_ACDOC_CLEARING此方法来自百度,这个方法应该是整个acdoc都能更改)

剩下的就是根据需求逻辑更改CT_ACDOC_CLEARING表里面你需要更改的值。

 

注意点:这个是针对acdoca表的更改,然而有的地方财务凭证显示并不全取acdoca表,例如vf03显示发票的财务凭证,对应的录入视图里的金额,实际是取的bseg表的金额(测试出来的),此时,bseg对应也需要做一个增强。

我这个需求对应关系如下

Bseg-wrbtr   =    acdoca-tsl    Bseg-pswbt   =    acdoca-wsl

Bseg金额更改方法:

bte自定义增强函数打个断点,找到上一级的function   xxxxxxxx

 

然后在这个function创建隐士增强,(具体方法不会百度四代隐士增强)如下

 

代码根据自己业务需求写

这儿也可以在bte 1120那个自定义的函数里面写,不过我这儿因为bseg-pswbt这个字段增加在bsegsub这个结构后会dump,就采用了用隐士在调用1120的函数里写,还可以用ggb1的替代做。

posted @ 2020-11-19 16:05  蛀牙首领  阅读(612)  评论(0编辑  收藏  举报