SAP ABAP Interne Tabelle
SAP ABAP interne Tabelle ist ein dynamischer sequenzieller Datensatz, in dem alle Datensätze die gleiche Struktur und einen Schlüssel haben. Die internen Tabellen werden als Arrays verwendet. Sie können einzelne Datensätze der internen Tabelle entweder mit dem Index oder dem Schlüssel mit der READ-Anweisung lesen. Sie können auch die interne Tabelle durchlaufen, um alle Datensätze einzeln zu lesen.
Der Datentyp einer internen Tabelle wird vollständig durch den Zeilentyp, den Schlüssel und den Tabellentyp angegeben.
Es gibt drei Arten von internen Tabellen. Sie sind – Standardtabellen, sortierte Tabellen und Hash-Tabellen.
Der Unterschied zwischen Standardtabellen, sortierter Tabelle und Hash-Tabellen ist –
Standardtabelle
– Es hat einen internen linearen Index.
– Das System kann auf Datensätze zugreifen, indem es entweder den Tabellenindex oder den Schlüssel verwendet.
– Die Antwortzeit für den Schlüsselzugriff ist proportional zur Anzahl der Einträge in der Tabelle.
– Sie können keinen eindeutigen Schlüssel angeben. Es hat immer einen nicht eindeutigen Schlüssel.
Sortierte Tabelle
– Sortierte Tabellen werden immer nach dem Schlüssel sortiert gespeichert. Sie haben auch einen internen Index.
– Das System kann auf Datensätze zugreifen, indem es entweder den Tabellenindex oder den Schlüssel verwendet.
– Die Antwortzeit für den Schlüsselzugriff ist logarithmisch proportional zur
Anzahl der Tabelleneinträge, da das System eine binäre Suche verwendet.
– Der Schlüssel einer sortierten Tabelle kann entweder eindeutig oder nicht eindeutig sein. Wenn Sie
die Tabelle definieren, müssen Sie angeben, ob der Schlüssel EINDEUTIG oder NICHT EINDEUTIG sein soll.
Hash-Tabelle
-Hash-Tabellen haben keinen linearen Index. Sie können nur mit ihrem Schlüssel auf eine Hash-Tabelle zugreifen.
– Die Antwortzeit ist unabhängig von der Anzahl der Tabelleneinträge und konstant,
da das System mit einem Hash-Algorithmus auf die Tabelleneinträge zugreift.
– Der Schlüssel einer Hash-Tabelle muss eindeutig sein.
– Wenn Sie die Tabelle definieren, müssen Sie den Schlüssel als EINDEUTIG angeben.
Was ist das? Wie unterscheidet es sich von der internen Tabelle?
Extrakte sind dynamische sequenzielle Datensätze, in denen verschiedene Zeilen unterschiedliche Strukturen haben können. Jedes ABAP-Programm darf derzeit nur über einen einzigen Extrakt-Datensatz verfügen. Sie können nicht mit Schlüssel oder Index auf die einzelnen Datensätze in einem Extrakt zugreifen. Stattdessen verarbeiten Sie sie immer mit einer Schleife.
Wie unterdrückt man die Zuweisung von Zeilen in der LOOP-Anweisung?
Wenn Sie den Inhalt der internen Tabellenzeile nicht in einen Arbeitsbereich übertragen oder einem Feldsymbol zuordnen möchten, können Sie die folgende Anweisung verwenden:
LOOP AT itab -NO FIELDS condition.