Ansicht
Dokumentation

DB_SET_ISOLATION_LEVEL - Db-unabhaengiger FB, definiert den Isolationlevel bei Parallelverarbeitung

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 R3up  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

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_NAME

Ausnahmen

CONNECTION_ERROR
INTERNAL_ERROR
NOT_SUPPORTED

Funktionsgruppe

SDB4

CL_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 )