About Suspension
Suspension occurs when a requested operation is sent to the application event system for completion at a later time. This occurs when the event handler has the
option selected and contains an adjourning action.Suspension is possible only with certain framework events. You cannot create custom events that can be suspended. Currently, these application events can be suspended:
- IdoOnItemInsert
- IdoOnItemUpdate
- IdoOnItemDelete
Suspension occurs when the system generates an application event that:
- Is one of these framework events that can be suspended
- Has the check box selected (on the form) for at least one handler that applies to the generated event’s object and initiator
When an application event is suspended
When both conditions are met, Windows client passes control of the requested update (insertion, update, or deletion) to the application event system. The application event system then ensures that the event handlers can all execute successfully before actually committing the system and the data to execute the event actions.
There are two stages: suspend-validating stage and suspend-committing stage.
When an application event is not suspended
When an application event that can be suspended is not suspended (that is, no event handler for that application event that applies to that event’s object and initiator has the
check box selected), the system executes the application event using this process:- The system performs a database update.
- The application event system executes all effective event handlers, returning either success or failure.
- The system handles failures as errors and exits the application event.