See Also: Get_Attribute, Set_Attribute, Begin_Transaction, End_Transaction, Abort_Transaction, Lock, Reread, Unlock
Indicates whether the last transaction was aborted.
Global
Boolean, temporary
Read only
True, False
The attribute indicates whether the last transaction was aborted.
DataFlex supports two types of transactions: Explicit and Implicit. An implicit transaction is a transaction that is started via the Lock or Reread command and ended via the Unlock command. An explicit transaction is started by the Begin_Transaction command and ended by the End_Transaction command.
Any error condition inside of an explicit transaction forces the transaction to be rolled back, thus setting the DF_TRANSACTION_ABORT attribute to true. An error condition in an implicit transaction only forces the transaction to be rolled back if DF_TRANABORT_ONERROR is set to true. If that is the case the DF_TRANSACTION_ABORT attribute is set to true.
Procedure ShowUncommitted
Handle hTable
Boolean bCommitted
Boolean bAborted
String sTable
Get_Attribute DF_TRANSACTION_ABORT To bAborted
If (bAborted) Begin
Showln "Tables that are uncommitted are:"
Move 0 To hTable
Repeat
Get_Attribute DF_FILE_NEXT_OPENED Of hTable To hTable
If (hTable > 0) Begin
Get_Attribute DF_FILE_COMMITTED Of hTable To bCommitted
If (Not(bCommitted)) Begin
Get_Attribute DF_FILE_LOGICAL_NAME Of hTable To sTable
Showln " " sTable
End
End
Until (hTable = 0)
End
End_Procedure // ShowUncommitted
The sample procedure above check if the last transaction was successful and shows a list of tables that have not been committed.