从事务码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的原创技术文章,请关注公众号"汪子熙":

SAP CRM 中间件里的发布-订阅者模式相关推荐

  1. SAP CRM 中间件Request download里,遇到/SAPPSPRO/S_MAT_ENHANC_COMM 错误的解决办法

    SAP CRM 中间件Request download里,遇到/SAPPSPRO/S_MAT_ENHANC_COMM 错误的解决办法 When I perform product request do ...

  2. 给用过SAP CRM中间件的老哥老姐们讲讲SAP CPI

    最近Jerry由于项目需要,又得学习一个新工具:SAP Cloud Platform Integration,简称CPI,以前又叫做HCI - HANA Cloud Platform Integrat ...

  3. Spring Boot基础学习笔记25:RabbitMQ - 发布/订阅工作模式

    文章目录 零.学习目标 一.准备工作 (一)创建Spring Boot项目 - PublishSubscribeDemo (二)在应用属性文件里配置RabbitMQ 二.基于API进行消息发布和订阅 ...

  4. JavaScript设计模式 -发布订阅者模式

    1. 定义 发布订阅者模式又叫观察者模式,他定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得将得到通知 案例: 小明最近看上了一套房子,到了售楼处之后才被告知,该楼 ...

  5. JavaScript发布订阅者模式

    假如你要建立一个网站,通常来说会有许多用户.你作为一名管理者,有时候需要将重要的消息发布给你的用户.在软件开发领域,开发此功能往往用到发布订阅者模式.下面我以简单的javascript来说明. 定义发 ...

  6. ActiveMQ之发布- 订阅消息模式实现

    一.概念 发布者/订阅者模型支持向一个特定的消息主题发布消息.0或多个订阅者可能对接收来自特定消息主题的消息感兴趣.在这种模型下,发布者和订阅者彼此不知道对方.这种模式好比是匿名公告板.这种模式被概括 ...

  7. Publish/SubScribe(发布/订阅)模式

    前言 上一篇文章中,我们讲了如何利用Observer(观察者)模式实现多选框的全选, 本篇文章将带来Publish/SubScribe模式,并且利用该模式实现一个简易的消息通知功能,文章的最后还与Ob ...

  8. JavaScript 发布订阅者模式和观察者模式及区别

    一.发布订阅模式 发布订阅模式其实是一种对象间一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都将得到状态改变的通知. 多方订阅,一方发布,订阅放会收到通知 举例:教学楼中每个教室都有 ...

  9. 发布订阅者模式和观察者模式的区别

    发布订阅者模式和观察者模式的区别 1.什么是观察者模式 定义:当对象之间存在一对多的依赖关系时,其中一个对象的状态发生改变,所有依赖它的对象都会收到通知,这就是观察者模式. 在观察者模式中,只有两种主 ...

最新文章

  1. 【剑指Offer专题】链表系列:从尾到头打印链表、反转链表、回文链表、合并两个排序的链表(C++和Python实现)...
  2. 【按住你的心】——Android开发运行属于自己的Hello,World!
  3. python爬虫项目实例-Python爬虫实例项目
  4. GTK在Windows下开发和运行的一些设置问题
  5. 人的执念真的是非常的可怕
  6. Modbus协议栈开发笔记之二:Modbus消息帧的生成
  7. Perl中的替换(七)
  8. Magento教程 23:如何获取销售报表?
  9. POJ 2728 Desert King(最优比率生成树)
  10. [SimplePlayer] 6. 音频同步
  11. Spring中注册Bean的方式有哪些?
  12. 30个外贸业务员常用邮件模板案例分享
  13. 如何将origin pro的界面切换变成中文显示?
  14. 台北三日自助游攻略(转载)
  15. javascript库概念与连缀
  16. 创新创业大赛计算机,计算机学院第六届创新创业大赛圆满结束
  17. Python数据分析面试实战
  18. 华为od统一考试B卷【5键键盘】Java 实现
  19. Windows环境下redis的集群部署
  20. 【工具】Github copilot 安装扩展后无图标问题

热门文章

  1. Django从理论到实战(part21)--自定义模板过滤器
  2. 第三次学JAVA再学不好就吃翔(part79)--并发修改异常产生的原因及解决方案
  3. created不能异步_mpvue里created里异步请求结果,如何在beforeMount里获取到呢
  4. 绝望:对不完的数,加不完的班
  5. 15 款Python编辑器的优缺点,别再问我“选什么编辑器”啦!
  6. SAP Spartacus的pagination$ -默认的分页设置10
  7. SAP Spartacus CmsService的CmsActions.LoadCmsComponent
  8. SAP Fiori Elements list report filter - implemented by framework
  9. 使用代码创建SAP CRM服务请求文档的subject测试数据
  10. SAP Hybris Commerce product读取的调试截图