Try OpenEdge Now
skip to main content
Guide for New Developers
An overview of ABL : Accessing Data : Transactions


A transaction is a unit of work that is either completed as a unit or undone as a unit. Proper transaction processing is critical to maintaining the integrity of your databases.
A transaction is a set of changes to the database, which the system either completes or discards, leaving no modification to the database. The terms physical transaction and commit unit refer to the same concept as the Progress transaction.
Example: While entering new customer records into your database, you have completed entering 98 records and are working on entering the 99th customer record, when your machine goes down. OpenEdge in such a scenario keeps the first 98 records in the database and discards the partial 99th record.
Each iteration of the REPEAT block above is a transaction. The transaction is undone (or backed out) if:
*The system goes down (or crashes).
*The user presses STOP (CTRL–BREAK on Windows; usually CTRL–C on UNIX).
In either of these cases, OpenEdge undoes all work it performed since the start of the transaction.