Rolling back transactions
Some conditions can cause the system to set the
setting on a new event state row:- FireApplicationEvent() detects an enclosing transaction.
- FireEventSp, FireApplicationEvent(), PostEventSp, or PostEvent() receives a setting.
This event state setting signals the system administrator that when this event state is finished and not rolled back, everything happened that was expected to happen.
In a synchronous multi-event situation, to encode the proper information in the Rolled Back setting, an enclosing transaction that contains one or more FireApplicationEvent() calls must perform these actions:
If this is neglected, the system administrator
cannot determine why database actions that appear to have finished successfully
according to the status forms are not reflected in the database.
In asynchronous situations and when a failure is detected by the Application Event System (AES), the Rolled Back setting for the failing transactional event is set by the AES.