Ansicht
Dokumentation
ABENITAB_ACCESS - ITAB ACCESS
General Data in Customer Master CL_GUI_FRONTEND_SERVICES - Frontend ServicesDiese Dokumentation steht unter dem Copyright der SAP AG.
- Zugriff auf interne Tabellen
Beim Zugriff auf interne Tabellen können entweder die ganze Tabelle oder Tabellenkörper , oder einzelne Zeilen adressiert werden.
- Der Zugriff auf die gesamte Tabelle erfolgt mit speziellen Anweisungen wie SORT, aber auch mit allgemeinen Anweisungen wo interne Tabellen an Operandenpositionen aufgeführt werden können. Beispiele sind Zuweisungen, Parameterübergaben, Ziel- oder Quellbereiche in und viele weitere Anweisungen, die tabellarische Daten zurück geben oder erwarten.
- Der Zugriff auf einzelne Zeilen erfolgt mit
- speziellen Anweisungen wie READ TABLE, LOOP AT oder MODIFY
- Tabellenausdrücken itab[ ... ].
- Mesh-Pfadausdrücken mesh_path
- Beim Zugriff auf einzelne Zeilen verwendet man entweder einen Arbeitsbereich, in den der Zeileninhalt gelesen bzw. aus dem er modifiziert werden kann, oder man verknüpft eine Zeile mit einem Feldsymbol oder einer Datenreferenzvariablen und greift über diese direkt auf die Zeile zu.
Für das Bearbeiten von internen Tabellen sind die Tabellenart und die Tabellenschlüssel wesentlich:
- Auf Indextabellen, d.h. Standardtabellen und sortierte Tabellen, sind Zugriffe über deren primären Tabellenindex möglich. Diese Tabellen haben immer einen primären Index.
- Auf sortierte Tabellen und Hash-Tabellen sind optimierte Zugriffe über deren primären Tabellenschlüssel möglich.
- Auf alle Tabellen, die einen sortierten sekundären Tabellenschlüssel haben, sind Zugriffe über deren sekundären Tabellenindex möglich.
- Auf alle Tabellen, die einen sekundären sortierten Schlüssel oder Hash-Schlüssel haben, sind entsprechend optimierte Zugriffe über den sekundären Tabellenschlüssel möglich.
Hinweise
- An Operandenpositionen für interne Tabellen müssen bei Ausführung der Anweisung interne Tabellen angegeben sein. Es dürfen nur Indextabellen an Operandenpositionen angegeben werden, die einen Indexzugriff enthalten.
- In Verarbeitungsanweisungen für interne Tabellen können die Operanden mit TYPE data oder TYPE any generisch typisiert werden, es sei denn es findet ein Zugriff auf einen Tabellenindex statt. Bei Indexzugriffen muss ein Operand mindestens mit TYPE index table typisiert werden.
- In Ausdrücken FOR expressions oder Tabellenausdrücken muss eine interne Tabelle mit mindestens TYPE any table typisiert werden.
- Hinweise Wenn der Zeilentyp von internen Tabellen Objektreferenzvariablen als Komponenten comp enthält, können die Attribute attr des Objekts, auf welches die jeweilige Referenz einer Zeile zeigt, als Schlüsselwerte beim Lesen, Sortieren und Ändern von Tabellenzeilen verwendet werden. Dies ist grundsätzlich bei Anweisungen möglich, bei denen einzelne Komponenten der Tabelle angesprochen werden.
- Bei allen ändernden Zugriffen auf einzelne Zeilen von sortierten Tabellen und Hash-Tabellen darf der Inhalt des primären Tabellenschlüssels nicht verändert werden. Wenn an Schreibpositionen auf eine gesamte Tabellenzeile solcher Tabellen zugegriffen wird z.B. als Zielfeld von Zuweisungen oder als Aktualparameter für Ausgabeparameter, kommt es immer zu einer Ausnahme. Ein Zugriff auf gesamte Tabellenzeilen ist über Feldsymbole, Datenreferenzen oder Tabellenausdrücke möglich.
Beispiel
Im folgenden Beispiel werden Daten mit in eine interne Tabelle geschrieben, eine Sortierung vorgenommen und Lesezugriffe mit der Anweisung READ TABLE und einem Tabellenausdruck demonstriert.
ROGBILLS - Synchronize billing plans ROGBILLS - Synchronize billing plans
Diese Dokumentation steht unter dem Copyright der SAP AG.
Length: 7702 Date: 20240523 Time: 174044 sap01-206 ( 106 ms )