闲人闲谈PS之五十——Q库存公司间交易开票VF156报错的处理

2023-12-18 19:32:46

惯例闲话:CSDN上写文章已有3年了,平时工作中可支配自由时间也不算充裕,盘点以往的文章,发现也陆陆续续的写了将近50篇了。回想3年前,当时正好是下项目的空档,当时也是因为一个项目上一直没有很好解决Q库存的公司交易问题,如同鱼刺梗在喉咙,于是网络上四处寻找官方和民间的高手文章,虽然最后没有比较可靠的线索,但是通过寻找的过程发现,PS这个模块已经有不少高人在分享自己的项目心得,像团子、钢柱、Zhan等已经是当时比较有名的PS知识分享达人,CSDN、微信公众号上有相当的高质量的文章。不过相比其他模块,PS的这个圈子还是相对封闭,知识圈还不大,与之相对的,从各大微信群的零散提问,有着大量渴望PS知识普及的群体。闲人的做事风格,属于偏执型,认定的事情,不会在意世人的看法,按照自己的意志做下去。在这些年的经历中,看过太多的烂尾或空壳PS实施,包括早年间,自己做过的失败项目。刚开始写文章,想法很简单,就是提醒自己,别再重复踩以前的雷,如果帮助别人避雷,也算是积功德了。随着从业位置转换,带来更多的思考,以前的PS做了什么、现在能做什么,为什么要做、将来能做什么…当和企业运营结合起来,才发现这里面的内容远远超乎自己的想象,闲人至今还记得早些年和甲方老板对话是否上PS的,老板的一句话让闲人惊醒——我们选择SAP,选择PS模块,选择XX顾问,是要他们的组合价值。我知道SAP很强大,但是它用到我公司还能否强大,对此我认为还看不到确定答案!从那个时候起,闲人认定一个方向,用自己的文字保持对人、对知识的敬畏之心。一直以来坚守,在PS这个小圈子里,收获了很多,但同样随着知识的半径扩大,未知也越来越大——为何要对知识保持敬畏之心!

闲话到此为止,今天和大家回顾一下3年前第一篇Q库存的公司交易问题以及遗留的尾巴。

回顾Q库存的公司间交易

闲人的开篇——项目库存跨公司业务STO解决方案,官方标准解决方案。这个方案对于多数集团型项目管理具有重要意义,可以使用一个WBS,管理库存在不同公司代码之间的流动,同时保持账务的一致性。方案的详细流程和配置请参见闲人的第一篇《闲人闲谈PS之一项目库存跨公司业务STO解决方案》

但是这个方案有一个缺陷,最后一步做VF01公司开票时,系统不支持WBS公司代码和开票公司代码不一致,只能用手动F-02方式来做总账凭证,

在这里插入图片描述
SAP官方在2021年6月4日给出的notes3060523中有这么一段解决方案——更换WBS
在这里插入图片描述很显然这个解决方案是解决不了关键的应用场景需求——一个WBS穿透不同公司代码。

触发点

在官方没有给出补丁之前,我们可以通过debug的方式,找到抛消息的代码段,然后向前追溯。通过debug,找到消息的三个触发点

1、VF01
VF01保存的增强点:include程序 LV60AA95。964行代码处增加一个判断,当交货类型为NCCR时,将校验WBS公司代码逻辑跳过。
这个的判断条件需要注意:
1)开票凭证行的WBS不为空
2)根据开票凭证行获取交货单行项目类型,这里是NCCR
在这里插入图片描述

2、VF02生成开票凭证

VF02生成开票凭证:包含程序 LKAIPF1G。247行代码处增加一个判断,当凭证和WBS相关时,即OCC_OBJ-SCOPE = ‘PR’,将错误消息跳过。
在这里插入图片描述

3、VF02过账生成财务凭证
过账时再次校验,也需要干预强制校验
在这里插入图片描述VF02调用财务凭证接口:类CL_FINS_ACDOC_CO_UTIL=========CM006的方法中, MAP_COMMON_ATTRIBUTES (CL_FINS_ACDOC_CO_UTIL)。这里笔者给出的判断条件是,WBS和采购订单不为空同是满足和2个条件,跳过这个消息。做此类增强的原则,一定要将条件约束做到精准,这样最大限度不影响已有的功能。

验证

跳转校验后,系统成功过账生成财务凭证,可以在交货单界面看到凭证流
在这里插入图片描述
在这里插入图片描述

小结

以上是使用隐式增强方式对Q库存公司间交易最后一步报错的强制干预,实现业务操作闭环。本质上,这是一种暴力改代码,对于过账的结果闲人是不担心的,主要能改代码,理论上都可以过去,但是对系统造成的影响,花费了较长时间去验证,目前来从财务账上看没有看出明显异常,但是后续和是否有其他问题,还需要经过财务月结全过程,来检验。

文章来源:https://blog.csdn.net/weixin_47375646/article/details/135062869
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。