始终从物料主数据确定销售交货工厂

2020-08-18 23:28发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


在SAPMV45A中,我们向USEREXIT_SOURCE_DETERMINATION添加了代码,当将项目添加到文档时,该程序使程序从物料主数据(mvke-dwerk)中获取交货工厂,并且工作正常。

但是,当我们之后更改收货时,交货工厂将被存储在客户主数据中的值所覆盖。 我现在正在寻找避免这种情况的可能性。 我想知道是否有一种更好的方法可以影响路径,即用来确定交货工厂(物料/客户信息,客户主数据,物料主数据),将其更改为仅考虑物料主数据。

有什么建议吗?

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


在SAPMV45A中,我们向USEREXIT_SOURCE_DETERMINATION添加了代码,当将项目添加到文档时,该程序使程序从物料主数据(mvke-dwerk)中获取交货工厂,并且工作正常。

但是,当我们之后更改收货时,交货工厂将被存储在客户主数据中的值所覆盖。 我现在正在寻找避免这种情况的可能性。 我想知道是否有一种更好的方法可以影响路径,即用来确定交货工厂(物料/客户信息,客户主数据,物料主数据),将其更改为仅考虑物料主数据。

有什么建议吗?

付费偷看设置
发送
2条回答
hongfeng1314
1楼-- · 2020-08-19 00:26

可能我听不懂整个故事...

如果您希望 始终由物料主数据确定交货工厂-为什么要做 您根本需要自定义代码吗? 只是不要在CMIR中维护工厂, 客户主记录。

好吧,如果您打算覆盖 用户手动将订单设置为交货工厂,那么,是的,您需要 自定义代码,但这并不是一件很不错的事情。

如果您不打算使用工厂,为什么要在客户主数据中维护工厂?

还是该逻辑仅对您所有材料的一部分有效?

p>

可能我做错了,因为当我在ECC6沙箱中进行快速测试时,当您更改收货方并从弹出窗口中选择redetermine时,会触发出口中的逻辑。 如果您选择"不确定",则什么也不会改变,不会调用退出逻辑,但是如果您已经正确地确定了交付工厂,这应该不是问题。

我不是开发人员,我 实际上没有在出口中编写任何代码。 我要做的是:我在物料主数据中设置工厂,例如9620,为客户227创建了一个订单,为此我拥有工厂1200,将VBAP-WERKS更改为9620,保存了该订单。 然后,我更改了与客户228的收货方,为此我拥有9610工厂,再次将userexit_source_determination中的vbap-werks更改为9620 ...一切顺利。 我还尝试过在VA01中更改收货方-再次没有问题。

向您询问您可能已经研究过的内容表示歉意,但可能是交货工厂的价值是由其他地方的逻辑设置的 同样,例如 在mv45afzz中,userexit_move_field_to_vbap? 情况并非如此,但仍然如此-再次检查无害。

如果您发布一些代码示例,我可以尝试重现此问题(我很好奇是什么导致了所描述的行为) 。

空代码
2楼-- · 2020-08-19 00:24

感谢您的关心-您的怀疑没有错。 实际上,我省略了一个事实:当未设置物料的交货工厂时,应使用客户的工厂。 SAP反过来实施它:只有当客户没有交货工厂时,才使用物料的工厂。

问题是,您提到的弹出窗口没有出现在我们的一种使用案例中,在这种情况下,我们使用批处理输入触发了从报价中创建订单。 使用模式" E",我们使交易在VA01主屏幕上停止自动过程,从而使用户可以更改客户。 因此,事务处于批输入模式,并且不显示弹出窗口。 物品的运送工厂正在悄悄地改变。 也许我应该在这里寻找不同的解决方案。

我在问社区的问题是,是否有一种更简单的方法来覆盖标准逻辑,该标准逻辑将客户交付工厂比物料交付优先级更高 无需更改用户出口中的编码(太多)即可。

一周热门 更多>