SAP ABAP intern tabell
SAP ABAP intern tabell är en dynamisk Sekventiell dataset där alla poster har samma struktur och en nyckel. De interna tabellerna används som en arrays. Du kan läsa enskilda poster av intern tabell med hjälp av antingen index eller nyckeln med hjälp av läs uttalande. Du kan också slinga den interna tabellen för att läsa alla poster en efter en.
datatypen för en intern tabell specificeras fullständigt av dess linjetyp, nyckel och tabelltyp.
det finns tre typer av interna bord. De är-standardtabeller, sorterade tabeller och hashade tabeller.
skillnaden mellan standardtabeller, sorterade tabeller och hashade tabeller är –
standardtabell
-den har ett internt linjärt index.
– systemet kan komma åt poster antingen genom att använda tabellindex eller nyckeln.
-svarstiden för nyckelåtkomst är proportionell mot antalet poster i tabellen.
– du kan inte ange en unik nyckel. Det har alltid icke-unik nyckel.
sorterad tabell
– sorterad tabell sparas alltid sorterad efter nyckeln. De har också ett internt index.
– systemet kan komma åt poster antingen genom att använda tabellindex eller nyckeln.
-svarstiden för nyckelåtkomst är logaritmiskt proportionell mot
antalet tabellposter, eftersom systemet använder en binär sökning.
-nyckeln till en sorterad tabell kan vara antingen unik eller icke-unik. När du definierar tabellen
måste du ange om nyckeln ska vara unik eller icke-unik.
hashad tabell
– hashade tabeller har inget linjärt index. Du kan bara komma åt ett hashat bord med dess nyckel.
-svarstiden är oberoende av antalet tabellposter och är konstant,
eftersom systemet kommer åt tabellposterna med en hashalgoritm.
-nyckeln till en hashad tabell måste vara unik.
– när du definierar tabellen måste du ange nyckeln som unik.
Vad är extrakt? Hur det skiljer sig från interna bord?
extrakt är dynamiska sekventiella datamängder där olika linjer kan ha olika strukturer. Varje ABAP-program kan för närvarande bara ha en enda extraktdataset. Du kan inte komma åt de enskilda posterna i ett utdrag med nyckel eller index. Istället bearbetar du dem alltid med en slinga.
hur man undertrycker tilldelningen av linjer i LOOP-uttalande?
om du inte vill överföra innehållet i den interna tabellraden till ett arbetsområde eller inte vill tilldela dem till en fältsymbol kan du använda följande uttalande:
LOOP på itab transporterar inga FÄLTVILLKOR.