简单介绍 SAP 中的消息订阅

作者:郑德鼎 约 5 分钟阅读 更新日期:2025-03-02 1 年前更新 标签:ABAP, Basis, Cloud Architecture, Data Engineering, PP, S/4HANA, 云架构, 工具, 开发, 技术, 数据工程, 生产, 系统管理
简单介绍 SAP 中的消息订阅 - 封面图
简单介绍 SAP 中的消息订阅 - 封面图
简单介绍 SAP 中的消息订阅 - 封面图
简单介绍 SAP 中的消息订阅 - 封面图

**简单介绍SAP中的消息订阅**

**背景**

设想一个问题,如何在SAP业务数据创建后立刻发送给第三方系统。我们SAP技术同事遇到这类需求都觉得比较头疼。常用的实现方式有:比如在SAP业务数据保存增强中触发第三方系统提供的接口将SAP数据发送给第三方系统,但这样实现对SAP系统开发改造比较大,而且如果在增强中误使用事务提交,会影响整个事务一致,严重时会导致生产环境数据不一致;其他方式比如使用IDOC方式实现异步传送,但和一些主流技术架构的第三方系统集成起来比较麻烦,因为他们通常支持协议是AMQP、JMS等。

现在我们可以依托SAP BTP平台,使用SAP Event Mesh服务,以事件驱动消息集成的方式满足这类需求。

**介绍**

SAP Event Mesh(原称Enterprise Messaging) 是SAP Business Technology Platform (SAP

BTP)的异步消息消息代理服务。它基于AMQP/MQTT/TCP通信协议,实现SAP系统间与第三方系统间的消息传送。与市面上主流的开源消息代理软件(RabbitMQ、RocketMQ)类似都实现了消息订阅,队列,事务处理等功能,而SAP

Event Mesh原生集成SAP产品SAP S/4HANA Event Enablement实现业务事件的消息发送。

简单介绍 SAP 中的消息订阅 - 封面图
简单介绍 SAP 中的消息订阅 - 封面图

**特点**

●原生支持SAP产品的业务事件功能。对S/4HANA On-Premise, S/4HANA Cloud, SuccessFactors , Concur

, Cloud for Customer等SAP产品提供预定义的配置。

●系统间数据交互的解耦。消息发送方和接收方的配置和数据流都集中到SAP Event Mesh中。

●方便扩展。消息集成是订阅式,只需要第三方系统支持AMQP协议并订阅SAP Event Mesh提供的接口即可扩充消息集成。

SAP Event Mesh 也可以集成SAP Cloud Platform Integration作为SAP云集成套件的一部分丰富SAP集成功能。

**例子**

下面介绍使用SAP S/4 HANA Event Enablement功能发布Business

Partner(BP)创建(Created)事件主题,并通过SAP Event Mesh将事件产生的消息内容分发给SAP BTP Cloud

Platform Integration, Workflow和邮件,实现触发审批流和推送通知。

**步骤一:**

在SAP BTP平台创建一个Event Mesh服务。

我们预先在SAP BTP平台中创建SAP Event Mesh服务,然后生成Service key。Service Key中包含了链接SAP Event

Mesh所需的连接信息。

简单介绍 SAP 中的消息订阅 - 封面图
简单介绍 SAP 中的消息订阅 - 封面图

**步骤二:**

我们需要在S/4HANA端配置与SAP Event Mesh服务通信。

1)在S/4HANA中使用上文创建的SAP Event Mesh服务的连接信息配置RFC Destination指向SAP Event Mesh 服务。

2) 使用Enterprise Event Enablement模块的Manage Channel and Parameters功能来配置Event

Channel。S/4HANA系统使用这个Channel的配置来发送消息。

3) 使用Enterprise Event Enablement模块的Maintain Event

Topics功能配置需要的发布事件主题,将BP事件主题发布出来。S/4HANA会根据Event Topics这个配置内容过滤需要发送的事件主题。

简单介绍 SAP 中的消息订阅 - 封面图
简单介绍 SAP 中的消息订阅 - 封面图

**步骤三:**

在SAP Event Mesh服务订阅中,配置消息队列和消息队列的主题订阅。接收方系统会监听这个消息队列获取消息内容。

这样我们完成了SAP Event Mesh & S/4HANA Event Enablement的配置内容。

**测试:**

我们使用SAP Cloud Platform Integration来监听这个消息队列。在SAP Cloud Platform

Integration中配置触发发送工作流和邮件发送。

简单介绍 SAP 中的消息订阅 - 封面图
简单介绍 SAP 中的消息订阅 - 封面图

在S/4HANA系统新建一个Business Partner。

简单介绍 SAP 中的消息订阅 - 封面图
简单介绍 SAP 中的消息订阅 - 封面图

打开SAP Event Mesh服务订阅,可以看到S/4HANA已经将消息推送到SAP Event Mesh配置的消息队列中。

简单介绍 SAP 中的消息订阅 - 封面图
简单介绍 SAP 中的消息订阅 - 封面图

SAP Cloud Platform Integration监听到了消息队列中的消息,启动了对应的CPI运行流程。

简单介绍 SAP 中的消息订阅 - 封面图
简单介绍 SAP 中的消息订阅 - 封面图

CPI中会将数据提交给BTP Workflow,触发工作流审批:

简单介绍 SAP 中的消息订阅 - 封面图
简单介绍 SAP 中的消息订阅 - 封面图

接着发送邮件通知相应人员:

简单介绍 SAP 中的消息订阅 - 封面图
简单介绍 SAP 中的消息订阅 - 封面图

至此上述举例的消息集成的功能流程完成。

\- E N D -

简单介绍 SAP 中的消息订阅 - 封面图
简单介绍 SAP 中的消息订阅 - 封面图

作者:张海华

审核:贾栋才

编辑:朱思聪

郑德鼎

关于作者:郑德鼎

企业信息化与 SAP 技术顾问,长期专注 SAP ABAP、FI/CO、MM、SD 等模块的技术分享与实战经验总结。查看更多介绍

来源说明:本文内容由「简单介绍SAP中的消息订阅.md」整理生成,仅用于内部技术分享与学习交流。