Table Expressions

READ TABLE … INDEX

alte Schreibweise

neue Schreibweise

READ TABLE … USING KEY

alte Schreibweise

neue Schreibweise

READ TABLE … WITH KEY

alte Schreibweise

neue Schreibweise

READ TABLE … WITH KEY COMPONENTS

alte Schreibweise

neue Schreibweise

Existiert der Datensatz?

alte Schreibweise

neue Schreibweise

Index ermitteln

alte Schreibweise

neue Schreibweise

Hinweis

Bei der Verwendung von Table Expressions gilt es zu beachten:

  1. Die Tabelle kann aus tiefen Strukturen und Untertabellen bestehen.
  2. Der Wertvergleich ist case sensitive, lt_data[ name = ‚NAME_2‘ ] ist anders als lt_data[ name = ‚Name_2‘ ]
  3. Wird die Zeile nicht gefunden, wird die Exception CX_SY_ITAB_LINE_NOT_FOUND ausgelöst
  4. SY-SUBRC bleibt unverändert, egal ob die Zeile gefunden wurde oder nicht.
  5. Werden mehrere Komponenten einer Zeile benötigt, so sollte die ganze Zeile in eine lokale Workarea übertragen werden. Andernfalls erfolgt der Datenzugriff für jede Komponente einzeln. Dies wirkt sich negativ auf die Laufzeit aus.
  6. Entsprechen mehrere Zeilen der Expression, so wird immer nur auf die erste zugegriffen.
  7. Wird das Ergebnis einer Table Expression einem Feldsymbol zugewiesen (ASSIGN itab[ feld = ‚1‘] to <fs> ), kann die Prüfung auf erfolgreiche Zuweisung entfallen, da eine Exception ausgelöst wird, falls die Zeile nicht existiert.

Links:

https://weberpatrick.de/abap-740-table-expressions/

https://blogs.sap.com/2015/10/25/abap-740-quick-reference/