A Common Event for Data Model is a mechanism for executing standard or custom rules on Creating, Updating, or Deleting an Entity. For example, the ability to create custom operations every time an Entity is created, or to validate that all information is correct before creating an Entity.


Configuring a Common Event

Common Events for Data Models are configured in the DCM Setup by navigating to DCM Setup → Master Data Management → Data Models → select a Data Model → Common Events tab.

When are Common Events Executed

A Common Event can be an ACTION or a VALIDATION. They can be fired BEFORE or AFTER the following moments in a Create/Update/Delete Entity operation:

ContextMoment
GENERIC_MODEL

Create Entity

GENERIC_MODEL

Update Entity

GENERIC_MODELDelete Entity

Type of Common Events

The only action allowed to be executed is Execute Rule

Overview of Custom Rules for Common Events

The most popular use case for Common Events is to execute some sort of custom logic either to validate a user action or to do additional processing after the action has been completed.

Below is an example of how Common Events work for the Create Case process. Similar to all Common Events, the order that they get executed can be diagrammed below.


First any VALIDATION custom rules gets executed. If any of the validation rules returns an error, then the user will not be able to the create a Case and the user will see an error message on their screen.

Second any ACTION - BEFORE custom rules get executed. All custom rules deployed as SQL FUNCTIONs will execute synchronously. All NON-SQL FUNCTION rules such a C# or SQL NonQuery will execute through the AppBase Queue asynchronously. Errors are suppressed.

Third the actual process of Case Create occurs.

Fourth any ACTION - AFTER custom rules get executed. All custom rules deployed as SQL FUNCTIONs will execute synchronously. All NON-SQL FUNCTION rules such a C# or SQL NonQuery will execute through the AppBase Queue asynchronously. Errors are suppressed.


Supported custom rule types

Not all types of rules are supported for every type of Common Event. For example, a VALIDATION rule can only be an SQL FUNCTION. While an ACTION can be any type of AppBase rule. 

An SQL FUNCTION will always execute synchronously, while all other rule types will execute through the AppBase Queue asynchronously. 

MomentSQL NonQuery FunctionSQL NonQueryC#
AFTER - ACTION

YES

YES

YES

BEFORE - ACTION

YES

NO

NO

BEFORE - VALIDATION

YES

NO

NO