Ansicht
Dokumentation
DB_SET_ISOLATION_LEVEL - Db-unabhaengiger FB, definiert den Isolationlevel bei Parallelverarbeitung
ROGBILLS - Synchronize billing plans SUBST_MERGE_LIST - merge external lists to one complete list with #if... logic for R3upDiese Dokumentation steht unter dem Copyright der SAP AG.
Funktionalität
Der Aufruf dieses Funktionsbausteins schaltet die Isolationsebene (Isolation Level) der laufenden Datenbanktransaktion auf "committed read" um. Standardmäßig ist im AS ABAP die Isolationsebene auf "uncommitted read" eingestellt. Die Einstellung "committed read" bedeutet, dass die Ergebnismenge einer Datenbankselektion nur solche Datensätze enthält, die bereits auf der Datenbank durch ein Commit festgeschrieben wurden. Im Unterschied zum "uncommitted read" gewährleistet die Isolationsebene "committed read" also ein "phantomfreies" Lesen, d.h. es werden keine Datensätze gelesen, die von einer anderen Transaktion verändert, aber noch nicht per Commit festgeschrieben wurden.
Die vom AS ABAP unterstützten DB-Plattformen verwenden unterschiedliche Techniken, um die Isolationsebene "committed read" zu realisieren. Als Anwendungsprogrammierer müssen sie aber davon ausgehen, dass die Datenbank Lesesperren setzt. Dies kann unter Umständen zu Wartesituationen führen, z.B. wenn die lesende Transaktion warten muss bis eine parallele Transaktion ihre Änderungen durch ein Commit festgeschrieben hat.
Die Einstellung der Isolationsebene auf "committed read" gilt bis zum Ende der laufenden Datenbanktransaktion, danach wird automatisch wieder auf "uncommitted read" umgeschaltet. Durch Aufruf des Funktionsbausteins DB_RESET_ISOLATION_LEVEL kann die Isolationsebene auch vor dem Transaktionsende explizit wieder auf den Default "uncommited read" zurückgesetzt werden.
Mit dem optionalen Parameter CON_NAME kann die Datenbankverbindung angegeben werden, für die das Umschalten der Isolationsebene gelten soll. Wird der Parameter beim Aufruf nicht angegeben, dann wird die Isolationsebene auf der Default-Datenbankverbindung des AS ABAP umgeschaltet.
Beispiel
Hinweise
Der Aufruf des Bausteins hat keine Auswirkungen auf das Verhalten beim Zugriff auf gepufferte Tabellen. Auch im “committed read” Modus können Daten, die aus dem Tabellenpuffer gelesen werden, veraltet sein, wenn sie nach der letzten Puffersynchronisation auf der Datenbank geändert wurden. Es ist lediglich garantiert, dass die Daten festgeschrieben (=committed) wurden, d.h. das Lesen von „Phantomdaten“ ist ausgeschlossen. Wenn eine Anwendung jedoch aktuelle Daten aus gepufferten Tabellen benötigt, dann muss eine SELECT-Anweisung auch im Modus „committed read“ mit dem Zusatz BYPASSING BUFFER versehen werden.
Weiterführende Informationen
Siehe auch Funktionsbaustein DB_RESET_ISOLATION_TO_DEFAULT
Parameter
CON_NAMEAusnahmen
CONNECTION_ERRORINTERNAL_ERROR
NOT_SUPPORTED
Funktionsgruppe
SDB4CL_GUI_FRONTEND_SERVICES - Frontend Services General Data in Customer Master
Diese Dokumentation steht unter dem Copyright der SAP AG.
Length: 3174 Date: 20240523 Time: 132346 sap01-206 ( 86 ms )