复合事件
本文档介绍了如何创建复合事件,即如何向现有事件中添加附加信息。例如,如果要提取仅适用于实际供应商的供应商。定义采购和财务 (CRS624)(字段 CIDVEN)中供应商的更改,即供应商类型 = 0。由于供应商类型仅存在于表 CIDMAS 中,因此您必须创建复合事件并将来自 CIDVEN 和 CIDMAS 的信息附加到新事件。
创建 M3 事件订阅
在事件订阅。打开 (CMS045) 中,添加对要用于复合事件的 M3 BE 表的订阅。M3 BE 表的名称用作事件名称,而 M3 用作发布者。
定义复合事件
在组合事件。打开 (CMS042) 中定义复合事件时,定义要首先侦听的事件以及新复合事件的名称。
执行复合事件
定义何时应该使用逻辑表达式筛选器执行组合事件,例如对于特定字段的“值已更改”、“等于”等。
从性能和数量的角度看,重要的是筛选器的定义正确,并且在交易数量少于生产环境的环境中进行了全面测试。由于正常的 M3 环境每秒生成几百个事件,因此定义不明确的筛选器会快速生成大量复合事件。
将其他信息添加到复合事件
最多可连接到 3 个相关表,可以在复合事件中从这些表内返回其他信息。
主事件的字段值定义如下:ITNO=<ITNO>。硬编码值的定义如下:WHLO=001。相关表的字段值定义如下:ITNO=<MITBAL.ITNO>
应该附加到复合事件的附加字段根据其 4 字符 id(例如,ITNO)进行定义。
输出组合事件中的字段值始终记录为 <包括表前缀的字段>,例如对于 MITBAL,ITNO 字段显示为 MBITNO。主表和相关表都是如此。这允许同一复合事件侦听多个表,但始终生成同一类型的输出。
发布定义步骤
定义了复合事件后,必须先重启相应的自动作业,然后已更新的订阅才能在 Event Hub 中激活并且新定义更新为缓存。
在子系统。打开 (MNS050) 中重新启动自动作业,并为自动作业子系统选择相关选项 11 =“子系统中的作业”,通常命名为 ASJ。
在列表中找到自动作业 CMS914(复合事件)。
结束该作业,并在其停止后将其重启。