写点什么

CRM 中间件里的发布 - 订阅者模式

用户头像
Jerry Wang
关注
发布于: 2021 年 05 月 23 日
CRM中间件里的发布-订阅者模式

从事务码 SMW01 里能观察到一个 BDOC 可能被发送往不止一个目的 site 去,比如下图所示的 5 个 site 都会收到该 site,而高亮显示的 SMOF_ERPSITE 代表 ERP 系统 QI3 的 client 504 会接收到这个 BDOC。



所以上图列表里的 site 是从哪里读取出来的?


以 BDOCPRODUCT_MAT 为例,在视图 SMW3FDBDOC 里维护回调函数:



第一个回调 SMOH_REPLICATION_WRAPPER_MSG 负责决定需要从 CRM 将该 BDOC 发送到哪些 site 去。



这个回调是自动生成的:



在我的系统里,一共决定出了有 6 个 site 需要接收:




上图的 ABAP 代码里使用了 guid A17123B82C2DD5118BC8080006277F8D 来查询表 smohsubsit,那么这个 guid 到底指什么东西?


可以在表 SMOHPUBL 里查询到 guid 对应的对象描述:Product Materials(MESG)



到这里我们发现它就是我们熟悉的在事务码 SMOEAC 里为某个 site 订阅它希望监听的众多对象之一。如下图,QI3/504 的 site 注册了"Product Materials(MESG)"的发布,意味着一旦 CRM 的 Product 发生了修改,对应的 BDOC 就会发送到 QI3/504.



要获取更多 Jerry 的原创技术文章,请关注公众号"汪子熙":



发布于: 2021 年 05 月 23 日阅读数: 6
用户头像

Jerry Wang

关注

个人微信公众号:汪子熙 2017.12.03 加入

SAP成都研究院开发专家,SAP社区导师,SAP中国技术大使。

评论

发布
暂无评论
CRM中间件里的发布-订阅者模式