Ansicht
Dokumentation

ABAPTYPES_LOB_HANDLE - TYPES LOB HANDLE

ABAPTYPES_LOB_HANDLE - TYPES LOB HANDLE

PERFORM Short Reference   Addresses (Business Address Services)  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

TYPES, LOB HANDLE

Kurzreferenz



TYPES dtype TYPE dbtab$|view
                 lob_handle_type FOR lob_handle_columns
                $[ lob_handle_type FOR lob_handle_columns
                 ...                                   $].


Wirkung

Ableitung einer LOB-Handle-Struktur als Arbeitsbereich für den Umgang mit Streaming und Lokatoren in. Für dbtab muss eine im ABAP Dictionary definierte transparente DDIC-Datenbanktabelle oder für view eine im ABAP Dictionary definierte DDIC-Datenbank-View angegeben werden.

Mit Spaltenangaben lob_handle_columns werden LOBs aus dbtab bestimmt. Die Anweisung erzeugt eine tiefe Struktur, die für alle nicht durch die Spaltenangaben erfassten Spalten genauso wie bei einem normalen TYPE-Bezug auf dbtab aufgebaut ist. Für die durch die Spaltenangaben erfassten LOBs wird eine namensgleiche Komponente als LOB-Handle-Komponente angelegt. Der statische Typ der LOB-Handle-Komponenten ist eine Klasse oder ein Interface, das durch die Typangabe lob_handle_type bestimmt wird, der die jeweilige Spaltenangabe zugeordnet ist.

Die Kombinationsmöglichkeiten der unter lob_handle_columns und lob_handle_type angegeben Zusätze wird durch folgende Regeln bestimmt:

  • Eine LOB-Handle-Struktur darf entweder nur für lesende oder nur schreibende -Anweisungen abgeleitet werden.

  • Eine Struktur für schreibende Zugriffe kann nur die Typangaben WRITER und LOCATOR enthalten.

  • Die Definition der LOB-Handle-Komponenten muss widerspruchsfrei sein, d.h. Spalten dürfen bespielsweise nicht unpassenden Typen zugeordnet werden oder eine Spalte darf nicht mehreren Typen zugeordnet werden.
  • Die Definition der LOB-Handle-Komponenten muss redundanzfrei sein. Eine Menge von LOB-Handle-Komponenten muss für jede Angabe vom folgenden erzeugt werden:
... lob_handle_type FOR lob_handle_columns ...
Diese Menge muss sich nicht mit der Menge von LOB-Handle-Komponenten einer anderen Angabe überschneiden.
  • Die Definition der LOB-Handle-Komponenten muss mit einer minimalen Anzahl von Angaben geschehen. Wenn eine Angabe die gleiche Menge von LOB-Handle-Komponenten erzeugen kann wie mehrere Angaben, muss die umfassendere Angabe verwendet werden.

Neben den unter lob_handle_columns und lob_handle_type aufgeführten Regeln ergeben sich daraus noch folgende allgemeine Einschränkungen:

  • Es muss mindestens eine Spaltenangabe gemacht werden.
  • Die Typangaben für die ersten drei Spaltenangaben bei LOB-Handle-Komponenten für Lesezugriffe bzw. für die ersten 2 Spalten bei LOB-Handle-Komponenten für Schreibzugriffe müssen unterschiedlich sein.
  • Es kann jeweils nur eine einzige Spaltenangabe ALL ... COLUMNS geben, in der BLOB bzw. CLOB angegeben sind.
  • Die Spaltenangabe ALL BLOB$|CLOB COLUMNS umfasst alle BLOBs bzw. CLOBs. Bei ihrer Angabe darf nicht gleichzeitig ein einzelner BLOB bzw. CLOB in einer Spaltenangabe COLUMNS ... für den gleichen statischen Typ angegeben sein.
  • ,Die Spaltenangabe ALL OTHER COLUMNS umfasst alle nicht einzeln angegebenen Spalten. Bei ihrer Angabe dürfen nicht gleichzeitig ALL OTHER BLOB COLUMNS oder ALL OTHER CLOB COLUMNS angegeben werden.
  • Die Spaltenangabe ALL COLUMNS umfasst alle LOBs und kann deshalb nur alleine angegeben werden.

Hinweise

  • LOB-Handle-Strukturen können auch durch entsprechende Typisierung von Komponenten zwischen BEGIN OF und END OF definiert werden.
  • LOB-Handle-Strukturen können auch im ABAP Dictionary abgeleitet werden. Die Transaktion SE11bietet eine solche Funktion für DDIC-Datenbanktabellen oder Views, die LOBs beinhalten.
  • Wenn dbtab keine LOBs enthält, die zu den Spaltenangaben passen, werden keine LOB-Handle-Komponenten erzeugt und die Anweisung erzeugt einen normalen Arbeitsbereich.
  • Wenn dbtab später um LOBs erweitert wird, die zu Spaltenangaben ALL $[OTHER$] ... passen, werden für diese dann auch LOB-Handle-Komponenten erzeugt.

Beispiel

Deklaration von Typen für Arbeitsbereiche mit LOB-Handle-Komponenten für einen Schreibstrom und einen Lesestrom für die Spalte PICTURE und einen Lokator für alle LOBs der DDIC-Datenbanktabelle DEMO_BLOB_TABLE.

LOB-Handle-Strukturen ableiten






BAL Application Log Documentation   Addresses (Business Address Services)  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 8838 Date: 20240605 Time: 175911     sap01-206 ( 104 ms )