SAP ABAP interní tabulka
SAP ABAP interní tabulka je dynamická sekvenční datová sada, ve které mají všechny záznamy stejnou strukturu a klíč. Interní tabulky se používají jako pole. Jednotlivé záznamy vnitřní tabulky můžete číst pomocí indexu nebo klíče pomocí příkazu čtení. Můžete také smyčku vnitřní tabulku číst všechny záznamy jeden po druhém.
datový typ interní tabulky je plně určen typem řádku, klíčem a typem tabulky.
existují tři typy vnitřní tabulky. Jsou to-standardní tabulky, tříděné tabulky a Hashované tabulky.
rozdíl mezi standardními tabulkami, tříděnou tabulkou a hashovanými tabulkami je –
standardní tabulka
– má vnitřní lineární 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 úměrná počtu záznamů v tabulce.
– nelze zadat jedinečný klíč. Má vždy jedinečný klíč.
seřazená tabulka
– 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í. Když
definujete tabulku, musíte určit, zda má být klíč jedinečný nebo NEUNIKÁTNÍ.
Hashovaná tabulka
– 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é tabulky musí být jedinečný.
– při definování tabulky musíte zadat klíč jako jedinečný.
co jsou výtažky? Jak se liší od vnitřní tabulky?
extrakty jsou dynamické sekvenční datové sady, ve kterých různé řádky mohou mít různé struktury. Každý program ABAP může mít v současné době pouze jednu datovou sadu extraktu. K jednotlivým záznamům v výpisu nelze přistupovat pomocí klíče nebo indexu. Místo toho je vždy zpracováváte pomocí smyčky.
jak potlačit přiřazení řádků v příkazu smyčky?
pokud nechcete přenést obsah řádku interní tabulky do pracovní oblasti nebo je nechcete přiřadit symbolu pole, můžete použít následující příkaz:
smyčka v itab přeprava bez polí podmínka.