1. 程式人生 > >CRM中間件裏的發布-訂閱者模式

CRM中間件裏的發布-訂閱者模式

文章 pos 列表 mes mark AC 目的 view replicat

從事務碼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的原創技術文章,請關註公眾號"汪子熙"或者掃描下面二維碼:

技術分享圖片

技術分享圖片

CRM中間件裏的發布-訂閱者模式