ITPub博客

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

原创 服务器/存储 作者:i042416 时间:2018-03-07 20:38:03 0 删除 编辑

从事务码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的原创技术文章,请关注公众号"汪子熙"或者扫描下面二维码:

请登录后发表评论 登录
全部评论

注册时间:2018-01-20

  • 博文量
    351
  • 访问量
    74686