In everyday language, a transaction is a sequence of actions that logically belong together in a business sense and that either procure or process data. It covers a self-contained procedure, for example, generating a list of customers, creating a flight booking, or sending reminders to customers. From the user’s viewpoint, it forms a logical unit.
The completeness and correctness of data must be assured within this unit. In the middle of a transaction, the data will usually be inconsistent. For example, when you transfer an amount in financial accounting, this must first be deducted from one account before being credited to another. In between the two postings, the data is inconsistent, since the amount that you are posting does not exist in either account. It is essential for application programmers to know that their data is consistent at the end of the transaction. If an error occurs, it must be possible to undo the changes made within a logical process.
There are three relevant concepts in this context:
A database LUW is the mechanism used by the database to ensure that its data is always consistent.
An SAP LUW is a logical unit consisting of dialog steps, whose changes are written to the database in a single database LUW.
An SAP transaction is an ABAP application program that you start using a transaction code. It may contain one or more SAP LUWs.
The following sections of this documentation explain these three terms in more detail.