ABAP - Schlüsselwortdokumentation →  ABAP - Referenz →  Interne Daten verarbeiten →  Interne Tabellen →  Ausdrücke und Funktionen für interne Tabellen →  Tabellenfunktionen → 

line_index - Indexfunktion

Syntax

... line_index( table_exp  ) ...

Die Tabellenfunktion line_index gibt die Nummer der mit dem Tabellenausdruck table_exp gefundenen Zeile bezüglich des verwendeten Tabellenindex zurück. Der Rückgabewert ist vom Typ i.

Die über den Tabellenausdruck zu suchende Zeile itab_line muss über eine Schlüsselangabe festgelegt werden. Eine Indexangabe ist nicht erlaubt. Für table_exp können außer einzelnen Tabellenausdrücken auch alle Verkettungen angegeben werden, deren Resultat eine Zeile einer internen Tabelle ist, d.h. die mit einer eckigen Klammer enden. Das Ergebnis bezieht sich immer auf die in der letzten eckigen Klammer angegebene Zeile und die Beschränkung auf Schlüsselzugriffe gilt nur für diese eckige Klammer.

Innerhalb von line_index wird die explizite Angabe eines Tabellenschlüssels in der Angabe der Tabellenzeile table_line des Tabellenausdrucks wie die Angabe eines freien Suchschlüssels für diesen Tabellenschlüssel behandelt.

Der verwendete Tabellenindex richtet sich wie folgt nach der Schlüsselangabe:

Wenn die gesuchte Zeile nicht gefunden wird, wird keine Ausnahme ausgelöst, sondern immer der Wert 0 zurück gegeben. Bei einer Verkettung von Tabellenausdrücken führt der erste nicht erfolgreiche Zugriff von links zu diesem Wert.

Hinweise

Beispiel

Eine Anwendung der Indexfunktion auf verkettete Tabellenausdrücke kann wie folgt aussehen, wobei auf die geschachtelte interne Tabelle aus dem Beispiel für Verkettungen mit Tabellenausdrücken zugegriffen wird. Der erste Zugriff gibt den Wert 1 für die erste Zeile der innersten Tabelle zurück. Der zweite Zugriff gibt den Wert 0 zurück, da es für den Indexzugriff auf die äußerste Tabelle keine Zeile gibt.

DATA(idx1) = line_index(
               itab[ 2 ][ 2 ][ KEY primary_key table_line = 7 ] ).

DATA(idx2) = line_index(
               itab[ 9 ][ 2 ][ KEY primary_key table_line = 7 ] ).

Ausführbares Beispiel

Interne Tabellen, Indexfunktion



Weiterlesen
Example Interne Tabellen, Indexfunktion