笔者在工作中遇到了这样的问题
为了保持整合性,在更改bseg的标准扩展的值后,想对acdoca中的标准扩展设置同样的值。
前同事调查不足,使用了BADI_FINS_ACODC_POSTING_EVENTS中的方法subst_acdoca_extension_fields来对acdoca的标准扩展值的修改,结果出现了在openfi中设置好的值在badi中被清掉的情况。
调查后发现在会计凭证登录时仅对openfi-1120中t_bsegbug的标准扩展的值进行修改,就可以实现对Bseg和acdoca的标准扩展值的更改。
但在会计更改时,openfi-1430中如果对标准扩展的值进行更改,则更改后的值只能反映到bseg中,acdoca中的值并没有被更改。
本以为用subst_acdoca_ext_fields_chg方法即可实现对acdoca的标准扩展的值进行修改,可在会计凭证变更时该方法并没有被调用。
2025/03/11补充
再次调查BADI_FINS_ACODC_POSTING_EVENTS后发现,在openfi中如果已经进行了扩张项目的设值(比如项目a)在此处设其他的项目值(比如项目b),则a就会被设置成空。
也就是说如果启用openfi那这个badi就完全没用了。。。
由于种种原因,并没有花太多时间解决这个问题,只能先"记录在案",后面有时间了再回来研究。欢迎大家交流指正。