SAP-LUW und Datenbank-LUW

Aus SAP-Wiki
Wechseln zu: Navigation, Suche

Die kleinste Einheit, in der etwas auf der Datenbank fortgeschrieben wird, nennt sich LUW-Datenbank (LUW = Logical Unit of Work). Eine logisch zusammenhängende Einheit von Dialogschritten, deren Änderungen innerhalb einer einzigen Datenbank-LUW ausgeführt werden, wird als SAP-LUW bezeichnet.

Insert, Update, Modify, Delete

  • Mit den Open SQL-Anweisungen INSERT, UPDATE, MODIFY und DELETE können Datenbankänderungen über mehrere Dialogschritte verteilt programmiert werden. Sie werden vor einem commit work jedoch nicht auf die Datenbank geschrieben.
  • Das ist sinnvoll, wenn diese Operationen nur alle zusammen fortgeschrieben werden sollen oder gar nicht.

Expliziter und impliziter Commit

  • Ein Programm kann einen expliziten Commit auslösen und damit die LUW schließen.
commit work.
  • Wird ein Programm Remote ausgeführt, kann der Commit work durch den Funktionsbaustein ABAP4_COMMIT_WORK ausgeführt werden.
  • Im Programm auch ein impliziter Commit ausgelöst werden bei einem Dynprowechsel, der den Commit bewirkt
  • man muss auch aufpassen, z. B. einen Funktionsbaustein aufzurufen, der einen Commit macht, wenn man das zu diesem Zeitpunkt noch nicht möchte.

Rollback

  • sollen die angemeldeten Änderungen auf der Datenbank nicht vorgenommen werden, darf kein Commit ausgelöst werden. Um die angemeldeten Änderungen zu verwerfen, kann der Befehl „Rollback work“ ausgeführt
Rollback work.
  • Eine Error-Message bewirkt ebenfalls ein Rollback.

Web-Links