A service is constructed of one or more UTM transactions. The structure is determined by the program units of the service. A program unit opens a DB transaction when required, i.e. if it is necessary to read or modify the database.
Figure: UTM transactions and DB transactions in a service
Multi-step transactions
A multi-step transaction consists of several UTM dialog steps within a transaction. It is often impossible to modify the data records of a dialog in a single processing step. You need a first processing step to display the data and a second to enter the modifications. By locking the data records for both processing steps you can extend the lock to a multi-step transaction.
The time between the processing steps is monitored by a timer which you specify with the KDCDEF generation tool at generation. After the timer has expired the transaction is rolled back and the locked data released.
The database systems also manage the locking period themselves and roll back the DB transactions to release the locks. The service is informed at the next DB call.
When using multi-step transactions you should note that each rollback may result in the repetition of multiple processing steps, depending on how recent the last synchronization point is.