在notif/order事件上触发的Badi实现为时过早。

2020-08-31 07:46发布

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

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


每当创建或更新通知或订单时,我就使用IF_EX_NOTIF_EVENT_POST和IF_EX_WORKORDER_UPDATE将消息发送到我们的中间件。 这使中间件知道需要提取哪些数据。 在SAP有机会保存数据之前,该更新甚至有可能打入我们的中间件并重新轮询数据。 发生这种情况时,我们看不到该对象的任何更改,并且未接收到更新的数据。

对于通知,我们在IF_EX_NOTIF_EVENT_POST〜CHECK_DATA_AT_POST方法实现中发送事件消息。 对于订单,如果事件消息正在更新,或者如果订单仍具有临时aufnr,则我们通过IF_EX_WORKORDER_UPDATE〜NUMBER_SWITCH发送事件消息。

似乎这些消息在更新过程中发送得太早了,但是由于存在这些错误,我不知道可以在此处解决此特定问题。 我不确定是否可以使用比我们晚一些的badi方法调用。 这可能是我们中间件如何轮询数据的问题。

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

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


每当创建或更新通知或订单时,我就使用IF_EX_NOTIF_EVENT_POST和IF_EX_WORKORDER_UPDATE将消息发送到我们的中间件。 这使中间件知道需要提取哪些数据。 在SAP有机会保存数据之前,该更新甚至有可能打入我们的中间件并重新轮询数据。 发生这种情况时,我们看不到该对象的任何更改,并且未接收到更新的数据。

对于通知,我们在IF_EX_NOTIF_EVENT_POST〜CHECK_DATA_AT_POST方法实现中发送事件消息。 对于订单,如果事件消息正在更新,或者如果订单仍具有临时aufnr,则我们通过IF_EX_WORKORDER_UPDATE〜NUMBER_SWITCH发送事件消息。

似乎这些消息在更新过程中发送得太早了,但是由于存在这些错误,我不知道可以在此处解决此特定问题。 我不确定是否可以使用比我们晚一些的badi方法调用。 这可能是我们中间件如何轮询数据的问题。

付费偷看设置
发送
2条回答
SAP小菜
1楼-- · 2020-08-31 08:19

现在,我正在事件触发期间使用IN Background TASK在rfc调用中调用send_event消息方法。 等待直到执行提交以创建消息之后。 我正在查看PERFORM ON COMMIT,以了解他们之间的优缺点。

暮风yp
2楼-- · 2020-08-31 08:27

嗨,Max,

我也有类似的要求,即我使用FM isq1_post_notification末尾的增强功能进行更改。

我能知道您如何将数据发送到另一个系统。 是通过idocs还是类似的东西?

此致

Aditya

一周热门 更多>