对于紧急订单相关的批次库存,进行SO拆分时,确认数量将为零。

2020-09-24 19:57发布

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

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


从VA01/Web服务创建销售订单时,如果订单数量为100,则

[mchb1-clabs] 75用于ZTAN-1第一行项目,[mkol1-slabs] 25用于ZVN第二行项目(使用userexit_move_field_to_vbak创建)。 如果是Web服务,我们将使用BAP_MATERIAL_AVAILABILITY更新已确认的数量。当没有输入批次时,这很好用,我们将引用mard-labst和mard-klabs。 当我们传递批号时,我们将对两个订单项使用相同的批次,即使我们传递正确的可用数量。在某个时候变为零,并以零确认数量创建计划。

我们是否缺少任何东西。我们已经对材料和配置中的批次库存进行了检查,我们已经进行了交叉验证,不会看到我们缺少任何东西。
想知道是否将同一销售订单中的2个订单项允许使用同一批次 因此,为什么确认的数量变为零。
我们尝试将确认的数量传递到userexit_move_field_to_vbep中,但是稍后会更改。


通过调试器深入了解:在以下调用中确认数量变为0
* Liefergruppen korrelieren
使用verarb_immer执行liefergruppendatum_setzen(sapfv45v)。

执行XVBEP_AENDERN。

任何提示,技巧建议都可以满足要求。

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

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


从VA01/Web服务创建销售订单时,如果订单数量为100,则

[mchb1-clabs] 75用于ZTAN-1第一行项目,[mkol1-slabs] 25用于ZVN第二行项目(使用userexit_move_field_to_vbak创建)。 如果是Web服务,我们将使用BAP_MATERIAL_AVAILABILITY更新已确认的数量。当没有输入批次时,这很好用,我们将引用mard-labst和mard-klabs。 当我们传递批号时,我们将对两个订单项使用相同的批次,即使我们传递正确的可用数量。在某个时候变为零,并以零确认数量创建计划。

我们是否缺少任何东西。我们已经对材料和配置中的批次库存进行了检查,我们已经进行了交叉验证,不会看到我们缺少任何东西。
想知道是否将同一销售订单中的2个订单项允许使用同一批次 因此,为什么确认的数量变为零。
我们尝试将确认的数量传递到userexit_move_field_to_vbep中,但是稍后会更改。


通过调试器深入了解:在以下调用中确认数量变为0
* Liefergruppen korrelieren
使用verarb_immer执行liefergruppendatum_setzen(sapfv45v)。

执行XVBEP_AENDERN。

任何提示,技巧建议都可以满足要求。

付费偷看设置
发送
5条回答
小熊yu生菜
1楼 · 2020-09-24 20:26.采纳回答

SCN的帮助很大,我们能够从下面的帖子中解决我们的问题。

https://archive.sap.com/discussions/thread/1680647

如果无法打开,这里有上述线程中提到的解决方案:

如果线程未打开,解决方案如下。
为了将来将解决方案提供给所有读者。 我终于找到了解决方法。

我向SAP写了一条OSS消息,他们以这种方式回答我:

"尊敬的客户,

在BAPI中,ATP检查在后台执行。

由于系统正在执行可用性检查

在后台,无法执行可用性屏幕。

因此它无法做出有关饱满的决定

交货,交货建议...在这种情况下,系统使用

在OVZJ中找到的配置。 如果您有空检查

OVZJ中的规则为空,系统将选择完全交付。

抱歉,但是我不能为您提供更好的自定义解决方案

OVZJ,如果您希望分批交货。"

在自定义交易中,我们插入了值" E",并且也从VA01和BAPI中创建了部分交货。

SAP小菜
2楼-- · 2020-09-24 20:06

当我们手动创建时,会出现一个用于ATP检查的屏幕, 无论我们选择显示的确认数量是多少,问题都会是当我们通过webservices/BAPI运行时得到的确认数量为零。我们不想运行模拟和检查,因为该服务是针对5个设备的,因此我们希望在后端进行处理。

粗暴的香蕉
3楼-- · 2020-09-24 20:15

尝试使用相同的输入参数从VA01手动创建并查看系统如何工作。

宇峰Kouji
4楼-- · 2020-09-24 20:13

抱歉,仍不清楚您在VA01中进行的测试是否完全是 与FM下订单时相同。

在VA01中,您是否还输入100 EA,它又以某种方式分为两行? 究竟是什么导致分裂? 到什么时候您会获得ATP屏幕? 您在其中看到什么以及哪些项目?

我在VA01 ATP检查中猜测有2个单独的项目,而不是100个EA。 那你给BAPI_MATERIAL_AVAILABILITY什么参数? 自然,您不会在BAPI中获得任何屏幕。 仅根据传递到BAPI的任何值进行调度。 如果您刚刚检查了库存情况,然后立即下达订单,但它说没有库存,则说明您没有将相同的数据提供给BAPI或该订单中的其他数据会影响ATP检查,或者存在错误。 从逻辑上讲,实际上没有其他选择。

同样,请确保搜索SAP Notes,因为BAPI和事务之间的此类不一致是已知问题。 如果注释中未提及,则运行两种完全相同的方案,获取结果,记录此结果,并使用SAP引发事件。 如果通常给VA01和BAPI提供相同的确切值,则应该期望得到相同的结果(同样,除非注释中已对此加以说明)。

这是所有定制ABAP开发甚至定制项目类别,因此我不确定您可以在SCN上获得多少帮助。 这些事情需要系统访问才能进行故障排除。

My梦
5楼-- · 2020-09-24 20:07

故事中有一些漏洞,但这是我了解情况的方式。 您正在使用某种Web服务来创建销售订单(我猜这里涉及FM和BAPI_SALESORDER ...吗?)。 作为FM/BAPI的输入,您提供100 EA,并且应该以某种方式将用户出口分为75和25。您说的是这与预期不符,并且与输入100时不一样 VA01中的EA?

在这种情况下,仅使用FM(或SAP中的任何Web服务调用)调试用户出口并将其与VA01进行比较似乎是唯一的选择。 另外,请确保检查BAPI提供的可用性数据是否符合预期。

这种基于可用性将数量分成两个订单项的设计在总体上似乎不是一个好主意。 为什么不只有一条生产线,让ATP完成工作并创建多条计划生产线呢? 如果可用性发生变化怎么办?

编辑:有一个SAP注释,说明SD BAPI与事务的工作方式不同。 我不确定这里是否是这种情况,但是找到并阅读它不会受到伤害。

一周热门 更多>