Hashed Tabellen und Sorted Tabellen

Aus SAP-Wiki
Wechseln zu: Navigation, Suche

Hashed Tabellen und Sorted Tabellen können mit der gleichen Syntax gefüllt werden.

Es ist performanter Datensätze zu einer Hashed-Tabelle hinzuzufügen. Die Datensätze stehen ungeordnet in der Hash-Tabelle und neue Sätze können einfach ans Ende der Tabelle hinzugefügt werden. Sortierte Tabelle müssen jeweils an der richtigen Stelle einsortiert werden, was aber durch "INSERT wa INTO TABLE itab" automatisch passiert. Bei "INSERT wa INTO itab" (ohne Zusatz TABLE) muss die Position "von außen" mit einem Index bestimmt werden.

Die Hashed Tabelle eignet sich dann optimal, wenn nach dem vollständigen Schlüssel der Tabelle gefragt wird.

Coding Hash Tabelle

Typisierung und Data Felder

Types: begin of ty_hash,
       feld1 type char1,
       feld2 type char2,
       end of ty_hash.

Data: lt_hash type hashed table of ty_hash 
                   with unique key feld1,       "feld1 wird hier als Key der Hashtabelle definiert
      ls_hash type ty_hash.

Tabelle füllen

read table lt_hash into ls_hash with feld1 = 'T'.

"Aufwendig zu lesende Daten, da diese noch nicht gepuffert sind
if sy-subrc <> 0.
 ls_hash-feld1 = ...
 ls_hash-feld2 = ...
 INSERT ls_hash INTO TABLE lt_hash.         "Datensatz wird zur Hashtabelle hinzugefügt
endif.

Tabelle lesen

read table lt_hash into ls_hash with key feld1 = 'T'.

if sy-subrc = 0.
  "performante Operation mit interner Tabelle
else.
  "Füllen Hash Tabelle
endif.

Web-Links