测试
全部博文(931)
分类: 架构设计与优化
2019-04-10 15:50:47
从事务码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的原创技术文章,请关注公众号"汪子熙"或者扫描下面二维码: