* Zeile (Struct) per Index
TRY.
DATA(wa) = itab[ idx ].
...
CATCH cx_sy_itab_line_not_found.
...
ENDTRY.
* Zelle per Index
TRY.
DATA(var) = itab[ 1 ]-colname.
...
CATCH cx_sy_itab_line_not_found.
...
ENDTRY.
* Suche mit Keys
* Suche mit TE ist Case-Sensitiv
* es wird immer nur die erste gefundene Zeile der Ergebnismenge geliefert
TRY.
DATA(wa) = itab[ colname = 'abc' ].
DATA(wa2) = itab[ colname = 'ABC' colname2 = '123' ].
* Zugriff per Secondary Key mit Komponenten
DATA(wa3) = itab[ KEY sec_key COMPONENTS colname = '123' ].
...
CATCH cx_sy_itab_line_not_found.
...
ENDTRY.
* Prüfen, ob Eintrag existiert
IF line_exists( itab[ colname = 'abc' ] ).
...
ENDIF.
* Arbeit mit Feldsymbolen um Faktor 2-3 schneller
DATA: itab TYPE ...
FIELD-SYMBOLS: <fs_data> TYPE ...
DO 100000 TIMES.
ASSIGN itab[ col = sy-index ] TO <fs_data>.
<ls_data>...
ENDDO.
Weiterführende Infos: Link, Link und Link