Interní tabulky

datový typ interní tabulky je plně určen typem řádku, klíčem a typem tabulky.

typ řádku

typ řádku interní tabulky může být libovolný datový typ. Datový typ interní tabulky je obvykle struktura. Každá součást struktury je sloupec ve vnitřní tabulce. Typ řádku však může být také elementární nebo jiná interní tabulka.

klíč

klíč identifikuje řádky tabulky. Existují dva druhy klíčů pro interní tabulky-standardní klíč a uživatelem definovaný klíč. Můžete určit, zda má být klíč jedinečný nebo NEUNIKÁTNÍ. Interní tabulky s jedinečným klíčem nemohou obsahovat duplicitní položky. Jedinečnost závisí na metodě přístupu k tabulce.

u tabulek se strukturovaným typem řádku je standardní klíč vytvořen ze všech sloupců typu znaků vnitřní tabulky. Pokud má tabulka základní typ řádku, výchozí klíč je celý řádek. Výchozí klíč interní tabulky, jejíž typ řádku je interní tabulka, výchozí klíč je prázdný. U tabulek s nestrukturovaným typem řádku se standardní klíč skládá z celého řádku. Pokud je typ řádku také tabulkou, je definován prázdný klíč.

uživatelem definovaný klíč může obsahovat libovolné sloupce vnitřní tabulky, které samy o sobě nejsou žádnou vnitřní tabulkou a neobsahují vnitřní tabulky. Odkazy jsou povoleny jako klávesy tabulky. Interní tabulky s uživatelem definovaným klíčem se nazývají klíčové tabulky. Při definování klíče je sekvence klíčových polí významná. Měli byste si to pamatovat, například pokud máte v úmyslu třídit tabulku podle klíče.

typ tabulky

typ tabulky určuje, jak bude ABAP přistupovat k jednotlivým položkám tabulky. Vnitřní tabulky lze rozdělit do tří typů:

standardní tabulky mají vnitřní lineární index. Od určité velikosti nahoru jsou indexy vnitřních tabulek spravovány jako stromy. V tomto případě se režie správy indexu zvyšuje v logaritmickém a ne lineárním vztahu k počtu řádků. Systém může přistupovat k záznamům buď pomocí indexu tabulky nebo klíče. Doba odezvy pro přístup ke klíči je úměrná počtu položek v tabulce. Klíč standardní tabulky je vždy jedinečný. Nelze zadat jedinečný klíč. To znamená, že standardní tabulky lze vždy vyplnit velmi rychle, protože systém nemusí kontrolovat, zda již existují položky.

seřazené tabulky jsou vždy uloženy seřazené podle klíče. Mají také interní index. Systém může přistupovat k záznamům buď pomocí indexu tabulky nebo klíče. Doba odezvy pro přístup ke klíči je logaritmicky úměrná počtu položek tabulky, protože systém používá binární vyhledávání. Klíč tříděné tabulky může být jedinečný nebo neunikátní. Při definování tabulky musíte určit, zda má být klíč jedinečný nebo NEUNIKÁTNÍ. Standardní tabulky a tříděné tabulky jsou obecně známé jako indexové tabulky.

Hashované tabulky nemají lineární index. K hashované tabulce můžete přistupovat pouze pomocí jejího klíče. Doba odezvy je nezávislá na počtu položek tabulky a je konstantní, protože systém přistupuje k položkám tabulky pomocí hash algoritmu. Klíč hashovaného stolu musí být jedinečný. Když definujete tabulku, musíte zadat klíč jako jedinečný.

obecné interní tabulky

na rozdíl od jiných lokálních datových typů v programech nemusíte datový typ interní tabulky specifikovat úplně. Místo toho můžete určit obecnou konstrukci, to znamená, že klíč nebo klíč a typ řádku datového typu interní tabulky mohou zůstat nespecifikovány. Pomocí obecných Interních tabulek můžete určit typy symbolů polí a parametry rozhraní procedur . Nelze je použít k deklarování datových objektů.

Leave a Reply