Event handlers define microflows that handle certain events related to the entity. Depending on the chosen moment and type, a microflow is executed before or after creating, committing, deleting, or rolling back an object.
Event handlers should be used moderately, as they will be triggered each and every time the corresponding event is raised, so they must be for things you want to always happen. If you just want something to happen on a certain page, you can use a local microflow there (for example, on a customized Save button).
Event handlers are not triggered in a particular order. So, make sure events do not depend on each other in any way (also with regard to events in generalizations and specializations).
This property defines whether the microflow is executed Before or After the specified event occurs.
This property defines the event that triggers execution of the microflow.
|Create||The microflow is executed when an object of this entity is created. This happens when the user clicks Create on a grid or when an object is created in a microflow. In a microflow-create action, an after-create action is executed after the object is initialized with its default values, but before any change items specified in the action are applied.|
|Commit||The microflow is executed when an object of this entity is committed. This happens when the user clicks Save on a page or when an object is committed in a microflow.|
|Delete||The microflow is executed when an object of this entity is deleted. This happens when a user clicks Delete in a grid or when an object is deleted in a microflow.|
|Rollback||The microflow is executed when an object of this entity is rolled back. This happens when a user clicks Cancel on a page or when an object is rolled back in a microflow.|
2.2.1 Pass Event Object
This option defines if the configured microflow (see Microflow below) for this event will have the object (which has been or will be created, committed, deleted, or rolled back) as an argument. This is useful if you want to do some checks in your event handler on the object being committed, for example.
If you set this to No, you can only specify a microflow with no parameters.
This property defines the microflow that is executed for the specified event. The microflow is required to have a certain parameter and return type depending on the moment and event of the event handler:
- Microflows of all event handlers except Before + Create get the object on which the event occurs as parameter.
- Microflows that are executed before the event should return a Boolean value that specifies whether the event should continue (true) or be cancelled (false). When multiple microflows handle the same event, it is cancelled immediately when one of the microflows returns false. In that case, some microflows might not be executed at all. Using this feature, it is possible to cancel committing an object when a certain condition is not met, for example.
|Moment||Event||Gets Object as Parameter||Returns a Boolean Value|
2.2.3 Raise an Error When the Microflow Returns False
This is only relevant if the Moment is set as Before.
If this option is enabled, the event handler raises an error when the microflow returns false. You can then use error handling to detect whether the event handler returned false. This makes Before + Commit event handlers more like native validation. If this option is disabled, a Before + Commit event handler can only stop the commit from happening, but the rest of the microflow will still be executed.