Tabele interne

tipul de date al unui tabel intern este complet specificat de tipul său de linie, cheie și tip de tabel.

tip de linie

tipul de linie al unui tabel intern poate fi orice tip de date. Tipul de date al unui tabel intern este în mod normal o structură. Fiecare componentă a structurii este o coloană din tabelul intern. Cu toate acestea, tipul de linie poate fi, de asemenea, elementar sau un alt tabel intern.

cheie

cheia identifică rândurile tabelului. Există două tipuri de chei pentru tabelele interne – cheia standard și o cheie definită de utilizator. Puteți specifica dacă cheia trebuie să fie unică sau non-unică. Tabelele interne cu o cheie unică nu pot conține intrări duplicate. Unicitatea depinde de metoda de acces la masă.

la tabelele cu tip de rând structurat, cheia standard este formată din toate coloanele de tip caracter ale tabelului intern. Dacă un tabel are un tip de linie elementară, cheia implicită este întreaga linie. Cheia implicită a unui tabel intern al cărui tip de linie este un tabel intern, cheia implicită este goală. La mesele cu tip de rând nestructurat, cheia standard constă din întregul rând. Dacă tipul de rând este, de asemenea, un tabel, este definită o cheie goală.

cheia definită de utilizator poate conține orice coloane ale tabelului intern care nu sunt ele însele tabele interne și nu conțin tabele interne. Referințele sunt permise ca chei de tabel. Tabelele interne cu o cheie definită de utilizator se numesc tabele cheie. Când definiți cheia, secvența câmpurilor cheie este semnificativă. Ar trebui să vă amintiți acest lucru, de exemplu, dacă intenționați să sortați tabelul în funcție de cheie.

tip tabel

tipul tabelului determină modul în care ABAP va accesa intrările individuale ale tabelului. Tabelele interne pot fi împărțite în trei tipuri:

tabelele Standard au un indice liniar intern. De la o anumită dimensiune în sus, indicii tabelelor interne sunt administrați ca arbori. În acest caz, cheltuielile generale de administrare a indicelui cresc în relație logaritmică și nu liniară cu numărul de linii. 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. Cheia unui tabel standard este întotdeauna non-unică. Nu puteți specifica o cheie unică. Aceasta înseamnă că tabelele standard pot fi întotdeauna completate foarte repede, deoarece sistemul nu trebuie să verifice dacă există deja intrări existente.

tabelele sortate sunt întotdeauna salvate sortate 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ă. Tabelele Standard și tabelele sortate sunt cunoscute generic ca tabele index.

tabelele hash nu au un 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ă.

tabele interne generice

spre deosebire de alte tipuri de date locale din programe, nu trebuie să specificați complet tipul de date al unui tabel intern. În schimb, puteți specifica o construcție generică, adică cheia sau cheia și tipul de linie al unui tip de date de tabel intern pot rămâne nespecificate. Puteți utiliza tabele interne generice pentru a specifica tipurile de simboluri de câmp și parametrii de interfață ai procedurilor . Nu le puteți utiliza pentru a declara obiecte de date.

Leave a Reply