IDOC:XK05之后,BAPI_PO_CHANGE中的错误"供应商被阻止"

2020-08-31 04:58发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)专家您好, 我在使用BAPI_...

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

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


专家您好,

我在使用BAPI_PO_CHANGE进行IDOC处理时遇到问题。

让我提供一些背景信息。 我们有一个ECC6入站接口,正在接收ORDERS05类型的Idocs。 这些包含采购订单的数据。 业务需求是检查那些PO中现有项目的"最终发票"标志。

但是,如果阻止了PO中的供应商(LFA1-SPERM或LFM1-SPERM),则标准SAP行为将不允许任何更改。 为了避免此问题,我们采用了以下解决方案(如OSS注释2512364中所建议):

1。 删除所有供应商阻止标志==>通过呼叫交易" XK05"

2。 等待3秒

3。 致电BAPI_PO_CHANGE

4。 通过调用事务" XK05"还原供应商阻止标志==>

出现2个问题:

-BAPI_PO_CHANGE(第3步)将抛出一个错误,指出供应商已被阻止,尽管事实上该供应商的更改文档(第1步)表明该供应商已成功解除封锁

-上述错误不是系统性的,它似乎是在同时接收多个Idocs时随机触发的(在我们上次运行的600个中,有150个idocs失败)。 Idocs与多个供应商有关。 此外,稍后通过BD87手动运行时,失败的Idocs将被成功处理。

关于BAPI_PO_CHANGE为什么仍然认为供应商被阻止的任何想法?

我们甚至尝试了一种解决方案,以逻辑上锁定当前由活动Idoc处理的供应商,以避免多个Idocs同时在同一供应商上工作。

现在,我们正在跟踪XK05程序缓冲区干扰BAPI_PO_CHANGE的可能性...

预先感谢您的帮助。

此致

丹尼尔

3条回答
huskylover
2020-08-31 05:49

HelloFrédéric,

感谢您的帮助。 不过,我认为该过程应该可行。 单独运行时,将正确集成Idocs,并且SAP建议的过程运行正常。

我们现在正在测试一种解决方案,其中处理Idoc的FM等待直到解除与当前供应商相关的锁条目为止。 只有这样,我们才能假定供应商的更新已完成。

此致

Daniel

一周热门 更多>