SAP ABAP Internal Table
SAP ABAP internal table este un set de date secvențial dinamic în care toate înregistrările au aceeași structură și o cheie. Tabelele interne este folosit ca o matrice. Puteți citi înregistrările individuale ale tabelului intern utilizând fie indexul, fie cheia utilizând instrucțiunea de citire. De asemenea, puteți bucla tabelul intern pentru a citi toate înregistrările unul câte unul.
tipul de date al unui tabel intern este complet specificat de tipul său de linie, cheie și tip de tabel.
există trei tipuri de tabel intern. Acestea sunt – tabele Standard, tabele sortate și tabele hash.
diferența dintre tabelele standard, tabelul sortat și tabelele hash sunt –
tabelul Standard
-are un indice liniar intern.
– sistemul poate accesa înregistrările fie utilizând indexul tabelului, fie cheia.
– timpul de răspuns pentru accesul la cheie este proporțional cu numărul de intrări din tabel.
-nu puteți specifica o cheie unică. Ea are întotdeauna cheie non-unic.
tabel sortat
-tabelul sortat este întotdeauna salvat sortat după cheie. De asemenea, au un indice intern.
– sistemul poate accesa înregistrările fie utilizând indexul tabelului, fie cheia.
– timpul de răspuns pentru accesul la cheie este logaritmic proporțional cu numărul
de intrări în tabel, deoarece sistemul folosește o căutare binară.
– cheia unui tabel sortat poate fi unică sau non-unică. Când
definiți tabelul, trebuie să specificați dacă cheia trebuie să fie unică sau non-unică.
tabel hash
– tabelele hash nu au indice liniar. Puteți accesa doar un tabel hash folosind cheia acestuia.
– timpul de răspuns este independent de numărul de intrări în tabel și este constant,
deoarece sistemul accesează intrările din tabel folosind un algoritm hash.
– cheia unui tabel hash trebuie să fie unică.
-când definiți tabelul, trebuie să specificați cheia ca unică.
ce este extractele? Cum este diferit de tabelul intern?
extractele sunt seturi de date secvențiale dinamice în care diferite linii pot avea structuri diferite. Fiecare program ABAP poate avea în prezent doar un singur set de date extras. Nu puteți accesa înregistrările individuale dintr-un extras folosind cheia sau indexul. În schimb, le procesați întotdeauna folosind o buclă.
cum de a suprima atribuirea de linii în declarație buclă?
dacă nu doriți să transferați conținutul liniei interne de tabel într-o zonă de lucru sau nu doriți să le atribuiți unui simbol de câmp, puteți utiliza următoarea instrucțiune:
buclă la itab transportarea condiției fără câmpuri.