Transaktionen und Logical Units of Work 

Im allgemeinen Sprachgebrauch ist eine Transaktion eine Folge betriebswirtschaftlich zusammenhängender Aktionen, die entweder Daten besorgt oder manipuliert. Sie umfaßt einen abgeschlossenen Vorgang, wie zum Beispiel das Erzeugen einer Liste bestimmter Kunden, das Erstellen einer Flugreservierung oder das Mahnen von Kunden. Sie ist aus der Sicht des Benutzers eine logisch zusammenhängende Einheit.

Die inhaltliche Korrektheit und Vollständigkeit der Daten muß im Rahmen dieser Einheit gegeben sein. Die Daten befinden sich im Verlauf einer Transaktion in der Regel in einem inkonsistenten Zustand. Beispielsweise wird bei einer Überweisung im Finanzwesen ein Betrag erst von einem Konto abgebucht und danach auf ein anderes Konto gutgeschrieben. Zwischen den beiden Buchungsschritten ist der Datenzustand inkonsistent, da der zu verbuchende Betrag nicht im Datenbestand vorhanden ist. Für den Anwendungsprogrammierer ist es notwendig, die Konsistenz der Daten am Ende der Transaktion bestätigen zu können. Im Fehlerfall muß es möglich sein, Datenänderungen für einen logisch abgeschlossenen Vorgang zurückzunehmen.

Im R/3-System unterscheiden wir in diesem Zusammenhang die folgenden drei Begriffe:

Datenbank-LUW

Eine Datenbank-LUW (Logical Unit of Work) ist der Mechanismus, der von dem Datenbanksystem zur Erhaltung konsistenter Datenzustände zur Verfügung gestellt wird.

SAP-LUW

Eine SAP-LUW (Logical Unit of Work) ist eine logisch zusammenhängende Einheit von Dialogschritten, deren Änderungen innerhalb einer einzigen Datenbank-LUW ausgeführt werden.

SAP-Transaktion

Eine SAP-Transaktion ist die Ausführung eines R/3-Anwendungsprogramms über einen Transaktionscode. Im Lauf dieser Ausführung können eine oder mehrere SAP-LUWs verarbeitet werden.

In den folgenden Abschnitten wird näher auf diese drei Begriffe eingegangen.