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:
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.
|Moment||SQL NonQuery Function||SQL NonQuery||C#|
|AFTER - ACTION|
|BEFORE - ACTION|
|BEFORE - VALIDATION|