Following a system hardware or hardware failure that it cannot recover from, the AVM undoes any partially completed transactions for all users. This includes any work done in any complete or incomplete subtransaction encompassed within the uncommitted transaction.
If OpenEdge loses a database connection (for example, because a remote server fails), client processing can still continue. In this case, the following actions occur:
The AVM raises the STOP condition. For this special instance of the STOP condition, you cannot change the default processing. the AVM ignores any ON STOP phrases.
The AVM deletes any running persistent procedure instances that reference the disconnected database.
The AVM undoes executing blocks, beginning with the innermost active block and working outward. It continues to undo blocks until it reaches a level above all references to tables or sequences in the disconnected database.
The AVM changes to the normal STOP condition. From this point on, the AVM observes any further ON STOP phrases it encounters in your procedures.
The AVM continues to undo blocks until it reaches an ON STOP phrase. If no ON STOP phrase is reached, it undoes all active blocks and restarts the top-level procedure.