Ansicht
Dokumentation

ABENABAP_SQL_STREAMING - ABAP SQL STREAMING

ABENABAP_SQL_STREAMING - ABAP SQL STREAMING

SUBST_MERGE_LIST - merge external lists to one complete list with #if... logic for R3up   General Data in Customer Master  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

- Streaming

unterstützt das Streaming für LOBs in Datenquellen.

Systemklassen und -Interfaces für Lese- und Schreibströme

Die Systemklassen für die verschiedenen Arten von möglichen Datenströmen sind:

Dazu gibt es die speziellen Interfaces

für den vom Stromtyp unabhängigen Zugriff auf die Lese- und Schreibströme. Für weitere ressourceunabhängige Klassen und Interfaces sowie die Hierarchie der Objekttypen siehe die Abbildung und Erklärung unter Streaming.

Wichtige Methoden

Die Methoden für das Streaming in sind die gleichen wie beim allgemeinen Streaming.

Datenquellen und Datensenken

Als Datenquellen bzw. Datensenken kommen LOBs in DDIC-Datenbanktabellen in Frage, die im ABAP Dictionary deklariert sind. Die Instanzen obiger Klassen sind Datenströme, die an LOBs angebunden sind. Sie gehören zu den LOB-Handles und implementieren die entsprechenden Interfaces. Die Verwendung in erfolgt über Referenzvariablen, die auf solche LOB-Handles zeigen.

Datenströme für LOBs erzeugen

Leseströme

Ein mit einem LOB verbundener Lesestrom, d.h., eine Instanz der Klasse CL_ABAP_DB_C_READER oder CL_ABAP_DB_X_READER kann nur dadurch erzeugt werden, dass in der INTO-Klausel der Anweisung SELECT ein LOB der Ergebnismenge einer Referenzvariable für einen Lesestrom zugewiesen wird.

Siehe SELECT - LOB-Handles.

Schreibströme

Ein mit einem LOB verbundener Schreibstrom, d.h., eine Instanz der Klasse CL_ABAP_DB_C_WRITER bzw. CL_ABAP_DB_X_WRITER kann nur dadurch erzeugt werden, dass in den Anweisungen INSERT, UPDATE oder MODIFY eine Referenzvariable für einen Schreibstrom als Quelle angegeben wird. Allgemeinere Referenzvariablen können nicht angegeben werden.

Siehe INSERT, UPDATE, MODIFY dbtab - LOB-Handles.

Datenströme für LOBs schließen

Da die Anzahl gleichzeitig geöffneter Datenströme auf 16 beschränkt ist, sollten sie so bald wie möglich mit ihrer Methode CLOSE geschlossen werden. Unabhängig davon werden Leseströme implizit am Ende eines Durchgangs einer SELECT-Schleife und am Ende einer Datenbank-LUW geschlossen. Ein offener Schreibstrom wird nur durch einen Datenbank-Rollback implizit geschlossen. Bei einem Datenbank-Commit führt ein offener Schreibstrom dagegen zu dem Laufzeitfehler COMMIT_STREAM_ERROR.

Beispiele






RFUMSV00 - Advance Return for Tax on Sales/Purchases   BAL Application Log Documentation  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 6636 Date: 20240523 Time: 165101     sap01-206 ( 66 ms )