Hashed table is useful when your have to work with very big internal
table and to read it with
"READ TABLE WITH KEY ..."
The time access is constant !
Definition of a Hashed Table:
"Defines the table as one that is managed with an internal hash procedure.
You can imagine a hashed table as a set, whose elements you can address
using their unique key. Unlike standard and sorted tables, you cannot access
hash tables using an index. All entries in the table must have a unique
key.
Access time using the key is constant, regardless
of the number of table entries.
You can only access a hashed table using the generic key operations
or other generic operations (SORT, LOOP, and so on). Explicit or implicit
index operations (such as LOOP ... FROM to INSERT itab within a LOOP) are
not allowed."
As long as your records has unique key(s), using hash table will give
you a huge performance gain when dealing with large dataset. assuming in
your case, 10000 record , and if the key is unique, use hash table.
The main use of hash tables is for looking up fixed information from a
key. So if you have a report that has personnel number and you want to
display their name, you could use a hash table.
Code:
types: begin of typ_pernr,
pernr like pa0001-pernr,
ename like pa0001-ename,
end of typ_pernr.
data: ls_pernr type typ_pernr,
lt_pernr type hashed table
of typ_pernr with unique key pernr.
...
select pernr ename into table lt_pernr from pa0001.
...
loop at itab.
read table lt_pernr with table key pernr
= itab-pernr
into ls_pernr.
write: ls_pernr-ename, itab-data.
endloop.
Serkan AKKAVAK
Computer Engineer
ABAP Developer & SAP MM SD Consultant
Contact : serkurumsal@yandex.com
Social Plugin