Consultor Eletrônico



Kbase P17830: How to handle system failure for procedures runnning on batc
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   6/12/2003
Status: Unverified

GOAL:

Is there a way to manipulate system failure in a 4GL procedures

FIX:

When System Failures (like a network problem) or a software failure (a crash) happen, Progress undoes partially completed transactions for all users.
This is the fundamental difference between transactions and subtransactions:
Progress undoes a partially completed transaction after a system failure, including work done in any complete or incomplete subtransactions encompassed within the transaction.

Also, if the user presses STOP, Progress undoes the current transaction and returns control to the startup procedure if one is still active, or to the Editor.

When Progress loses a database connection and does the following happen:
- Raises the STOP condition. For this special instance of the STOP condition you cannot change the default processing. Any ON STOP phrases are ignored.
So it means that it cannot be handle by a 4GL procedure.
- Deletes any persistent procedures that reference the disconnected database.
Progress undoes 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 ore sequences in the lost database.
- Progress changes to the normal STOP condition. From this point, any further ON STOP phrases you have coded are used.
- Progress 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.