销售订单定价-在代码中更改XKOMV

2020-09-09 20:28发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)全部 我有如下要求 创建销售...

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

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


全部

我有如下要求

创建销售订单项目时,将创建带有相应价格的标准条件类型。

当用户输入手动条件时,此条件应优先于标准条件并使该条件无效。 价格和税金应按照新价格正确计算。

这里的问题是,有4种手动条件...用户可以同时输入所有4种价格不同的价格,并且系统应接受价格最低的一种,并使其他条件无效。 然后应根据此价格最低的条件计算税金和净价。

用户还可以手动输入一组折扣条件。 此折扣条件应根据标准条件计算价格。 然后,系统应比较手动条件的价格与折扣条件的价格,并保持一个具有最小价格的条件处于活动状态,并使其余条件变为非活动状态。

另一个要注意的是,还有3个其他手动条件,但它们会超越上述所有条件。

在这种情况下编写逻辑的最佳方法是什么。

我尝试将逻辑放在USEREXIT_PRICING_PREPARE_TKOMP中,以有选择地激活和停用条件,但是税额计算不正确。 此外,净价不能正确反映。 通过修改XKOMV完成所有操作

在设计此解决方案时的任何建议都会受到赞赏。

谢谢

4条回答
代楠1984
2020-09-09 21:11

我无法评论代码的正确性,但是功能顾问为何决定不使用条件排除来代替 退出以激活和停用条件?

可以通过配置实现业务用户所要求的内容,该逻辑对最终用户而言更加透明,因此上线后更易于支持。

税项是一个相当宽泛的术语,但是如果您指的是某种MWST,则在标准系统中,其条件库是NETWR + XWORKD的总和(公式16)。 如果使用相同的基础,则可能至少其中之一是不正确的,一个可能的原因可能是您提到通过退出而不是使用配置或VOFM例程来设置和重置条件的不活动指示器。 既然您提到NETPR也是不正确的,那么NETWR很可能是错误的,但是检查XWORKD也很有意义。

通过出口直接修改NETWR和NETPR可能是不明智的,原因有很多,其中一些 这是您的问题中描述的副作用。 这些出口(USEREXIT_PRICING_PREPARE_TKOMK和USEREXIT_PRICING_PREPARE_TKOMP)用于在定价结构中添加字段,以便可以在定价程序中使用它们,这意味着您的某些计算可能会被覆盖或不考虑在内,尤其是因为NETWR和NETWR被 应该根据整体定价结果进行计算。

如果您是我,我将与功能顾问联系,以讨论结合使用标准配置和(也许)几个VOFM例程的可行性。

一周热门 更多>