Composite Events

This document describes how to create a composite event, that is, how to add additional information to an existing event. For example, if you want to capture changes applied to a supplier in 'Supplier. Define Purchase & Financial' (CRS624) (field CIDVEN) for real suppliers only, that is, Supplier Type = 0. Since supplier type only exists in table CIDMAS you must create a composite event and attach information from both CIDVEN and CIDMAS to the new event.

Create M3 event subscription

In 'Event Subscription. Open' (CMS045) add a subscription to the M3 BE table to be used for the composite event. The name of the M3 BE table is used as the event name and M3 as the publisher.

Define the composite event

When defining a composite event in 'Composite Events. Open' (CMS042), define the event to listen to first along with the name of the new composite event.

Execution of the composite event

Define when the composite event should be executed using logical expression filters such as 'Value Changed, 'Equal to' etc. for specific fields.

From both a performance and volume perspective, it is important that filters are defined correctly and thoroughly tested in an environment with fewer transactions than a production environment. Since a normal M3 environment generates several hundred events per second, poorly defined filters can quickly generate large volumes of composite events.

Adding additional information to the Composite event

Connect up to a maximum of 3 related tables from which additional information can be returned in the composite event.

Field values from the master event are defined like this: ITNO=<ITNO>. Hard coded values are defined like this: WHLO=001. Field values from the related tables are defined like this: ITNO=<MITBAL.ITNO>

The additional fields that should be attached to the composite events are defined according to their 4 character id, for example ITNO.

The field values in the outgoing composite event are always logged as <field including table prefix>, for example for MITBAL the ITNO field is displayed as MBITNO. This is true for both the main table and the related tables. This allows the same composite event to listen to several tables but always generate the same type of output.

Post definition steps

Once the composite event has been defined, the corresponding auto job must be restarted before the updated subscriptions become active in the Event Hub and the new definitions are updated to cache.

Restart the auto job in 'Subsystem. Open' (MNS050) and select related option 11='Job in subsystem' for the auto job subsystem, which is normally named ASJ.

Find the auto job CMS914 (Composite events) in the list.

End it and once stopped, start it again.