基于文件创建/更改的S/4 HANA中的自定义通知

2020-08-22 13:37发布

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

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


在文档创建或更改后,我们想在S/4 HANA中发送通知到另一个系统(例如,通过调用OData服务或其他方法)时可以使用什么? 例如,创建了一个销售订单,我们希望将确认发送到某个外部系统。 我们在哪里可以插入?

在旧的ECC中,我们可以使用工作流或输出来执行此操作,但是S/4 HANA中是否有更好的机制?

我一直在阅读有关网关通知,但我不知道文档创建(或任何其他业务流程)将如何准确触发它们。 有一个示例报告可以创建一个声明要声明的通知 采购订单,但它与实际的订单创建没有任何关系。 它实际上只是将文本放入并触发通知。

在我的案例中,主要挑战不是如何发送通知(我自己可以写此通知,因为无论如何它都不适合Fiori),而是如何使销售订单创建(VA01/BAPI/etc。)触发它。

这些通知是否需要配置工作流程(在这种情况下我不感兴趣)还是缺少某些内容? 还有其他可以使用的(ECC中不存在)吗?

谢谢!

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

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


在文档创建或更改后,我们想在S/4 HANA中发送通知到另一个系统(例如,通过调用OData服务或其他方法)时可以使用什么? 例如,创建了一个销售订单,我们希望将确认发送到某个外部系统。 我们在哪里可以插入?

在旧的ECC中,我们可以使用工作流或输出来执行此操作,但是S/4 HANA中是否有更好的机制?

我一直在阅读有关网关通知,但我不知道文档创建(或任何其他业务流程)将如何准确触发它们。 有一个示例报告可以创建一个声明要声明的通知 采购订单,但它与实际的订单创建没有任何关系。 它实际上只是将文本放入并触发通知。

在我的案例中,主要挑战不是如何发送通知(我自己可以写此通知,因为无论如何它都不适合Fiori),而是如何使销售订单创建(VA01/BAPI/etc。)触发它。

这些通知是否需要配置工作流程(在这种情况下我不感兴趣)还是缺少某些内容? 还有其他可以使用的(ECC中不存在)吗?

谢谢!

付费偷看设置
发送
12条回答
haha101010
1楼 · 2020-08-22 14:13.采纳回答

Jelena,您好

我认为使用SAP Netweaver Gateway进行通知是您要实现的目标的可能解决方案。 (我做同样的事情来通知网站订单更改)

尽管要使这种情况正常运行,您仍需要:

要注意的另一重要事项是,仅在创建订阅后才发送通知。 (通常是由接收方发起的,方法是向您实施的服务的订阅集合发送发布请求)

如果接收器已经具有您需要使用特定格式(例如JSON)调用的API,则您还可以创建一个ABAP守护程序。 使用ABAP守护程序,您有两种可能的解决方案:

  • 收听来自用户出口/BADI的通知。 收到通知后(例如带有订单号的通知),您将准备数据并将POST请求发送到所需的端点,例如,类cl_http_client。 (我本人是使用SAP Cloud Platform IoT REST API将命令发送到传感器的)
  • 使ABAP守护程序定期检查订单上的相关更改,并以与先前解决方案相同的方式发送数据。 (这里唯一的优点是您不需要实施任何用户出口/BADI)

最诚挚的问候

Geert-Jan Klaps

Doze时光
2楼-- · 2020-08-22 14:16

非常感谢您提供一个非常彻底的答案,Geert-Jan!

以我为例,预计SAP将调用特定的外部服务,因此很遗憾,我们无法告诉另一方订阅和收听我们的通知。 感谢您指出ABAP守护程序。 在这一点上,我对它们只有很基础的知识,因此我将花一些时间来探索该选项。

可悲的是,这两种情况仍然需要从业务文档中实际触​​发某些操作(例如用户出口/BADI)。 这是我希望有更好/不同解决方案的地方,但是where ...

无论如何,再次感谢您的回答,它非常有帮助。

亦是此间程序员
3楼-- · 2020-08-22 13:56

DRF数据复制 框架可能是一个选择。 交易DRFIMG。 出站实施114_1(销售订单复制)。 这是标准分配给类CL_SD_SLS_DRF_SO_PROCESSING的标准。 在接口方法SEND_MESSAGE中,这将触发对销售订单代理CL_BS_SOA_ASYNCPRX_OUT的SOAP消息调用。 DRF类的客户变体可以创建JSON调用而不是SOAP调用。

追夢秋陽
4楼-- · 2020-08-22 14:08

谢谢,Jocelyn!

悠然的二货
5楼-- · 2020-08-22 14:19

嗨 Jelena,

基于Jocelyn的评论和帮助链接,似乎S/4HANA内部还支持Business Events,因此可能值得针对您的情况进行评估。

大道至简
6楼-- · 2020-08-22 14:08
# p#

谢谢,格雷戈尔! 这是一个老问题,我已经继续讲了:)(看起来有人的评论已经复活了),但是还是感谢您的答复。

我检查了"帮助"链接,它说:"您可以发布 SAP S/4HANA应用程序触发的事件,并在 使用SAP Cloud Platform Enterprise在SAP Cloud Platform Cloud Foundry上构建的应用程序 消息传递"。我怀疑这又是我试图避免的"订阅"模型。这些事情似乎是相当"以SAP为中心"的:SAP引发了一个事件,应该坐下来等待其他事件。但是,不幸的是, ,在许多情况下,来自第三方的要求大致如下:"在SAP中更改订单时,您需要发送此HTTP请求。"我想这意味着,除了在SAP中引发事件之外,我们还 d需要一个"侦听器"应用程序(或某些中间件),该应用程序将从SAP接收该事件并将其传递给第三方,但是我想避免这些额外的工作。

这不是

再次感谢!

一周热门 更多>