To implement an automatic transaction, you provide a specially-coded remote procedure (transaction initiating procedure) that initializes a transaction object in the PAS for OpenEdge session where it executes. This transaction object is a permanent object in the session context that provides methods and attributes on a transaction object handle that allow the server session to commit, rollback, or set and check the status of an automatic transaction.
Because an automatic transaction terminates when the context of the transaction initiating procedure is deleted, you must execute the transaction initiating procedure persistently to make practical use of the transaction that it initiates. Also, because this type of transaction must be initiated using a persistent procedure, you can implement an automatic transaction most appropriately for a client connected in the session-managed application model, which is then bound to the server session at least until the persistent procedure is deleted.