Nutzung Hilfstabellen als Sekundärindex

Aus SAP-Wiki
Zur Navigation springenZur Suche springen

Erstrebenswert ist bei einer Suche mit "Read Table itab" immer der Zusatz "binary search". Allerdings ist die interne Tabelle itab nicht immer nach den passenden Feldern sortiert. Wenn das nicht möglich oder nicht sinnvoll ist, kann eine Hilfstabelle aufgebaut werden, die als Sekundärindex dient.

Es ist allerdings kritisch zu prüfen, ob nicht die Haupttabelle itab sortierbar ist und ob sich der zusätzliche Verwaltungsaufwand mit den benötigten Datentransporten durch die Performancesteigerung des Sekundärindex wieder hereingeholt werden kann.

Loop at itab assing <fs>.

  ls_index-index = sy-tabix.
  ls_index-netwr = <fs>-netwar.
  ls_index-waerk = <fs>-waerk.
  append ls_index to lt_index.

endloop.

sort lt_index by netwar waerk.
 
*die interne Tabelle LT_INDEX muss nach den Feldern NETWR und WAERK sortiert sein. 
*sonst ergibt der Zusatz BINARY SEARCH kein korrektes Ergebnis.
read table lt_index into ls_index 
           with key netwr = Betrag
                    waerk = 'EUR'
           binary search.

*Schnelles Lesen der internen Tabelle LS_ITAB mit einem Index
read table itab into ls_itab with index ls_index-index.