Anfang des Inhaltsbereichs

SAP-Transaktionen Dokument im Navigationsbaum lokalisieren

SAP-LUWs sind logisch zusammenhängende Einheiten von Dialogschritten, deren Änderungen innerhalb jeweils einer einzigen Datenbank-LUW ausgeführt werden. In Anwendungsprogrammen wird eine SAP-LUW durch die ABAP-Anweisungen COMMIT WORK oder ROLLBACK WORK beendet. 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 enthalten sein. Wenn die Anweisungen COMMIT WORK oder ROLLBACK WORK nicht am Ende des letzten Dialogschritts der SAP-Transaktion ausgeführt werden, wird z.B. automatisch eine neue SAP-LUW geöffnet.

Wenn es aufgrund der Anwendungslogik notwendig ist, komplexe Transaktionen zu programmieren, bietet es sich häufig an, logisch abgeschlossene Vorgänge innerhalb einer SAP-Transaktion in eine ganze Reihe von SAP-LUWs zu unterteilen. SAP-Transaktionen können dabei wie folgt strukturiert werden:

Um dies zu erreichen dürfen im Anwendungsprogramm ausschließlich Verarbeitungsblöcke (Dialogmodule, Ereignisblöcke und Routinen) aufgerufen werden. Außerdem sollte sichergestellt sein, daß durch den Aufruf von externen Unterprogrammen oder Funktionsbausteinen nicht unbeabsichtigt die ABAP-Anweisungen COMMIT WORK und ROLLBACK WORK ausgeführt werden.

Mit den ABAP-Befehlen CALL TRANSACTION (Aufruf einer Transaktion), SUBMIT (Aufruf eines ausführbaren Programms) und CALL FUNCTION ... DESTINATION (RFC-Aufruf eines Funktionsbausteins) wird eine zweite SAP-LUW geöffnet. Ein aufgerufenes Programm öffnet immer eine eigene SAP-LUW. Der Aufruf eines Programms beendet nicht die LUW der rufenden SAP-Transaktion, d.h. ein COMMIT WORK oder ein ROLLBACK WORK bezieht sich jeweils nur auf die aufgerufene SAP-LUW. Nach ihrem Ende wird die erste SAP-LUW fortgesetzt.

Mit CALL FUNCTION ... STARTING NEW TASK wird ein Funktionsbaustein asynchron in einem neuen Modus gestartet. Im Gegensatz zum normalen Funktionsbausteinaufruf setzt die aufrufende SAP-Transaktion sofort ihre Verarbeitung fort, sobald der Funktionsbaustein im Zielsystem gestartet wurde und wartet nicht auf das Ende des Funktionsbausteins. Der Aufruf ist somit asynchron. Der aufgerufene Funktionsbaustein kann nun eigene Bildschirme aufrufen und damit in Interaktion mit dem Benutzer treten.

 

Ende des Inhaltsbereichs