tabela wewnętrzna SAP ABAP
tabela wewnętrzna SAP ABAP jest dynamicznym sekwencyjnym zestawem danych, w którym wszystkie rekordy mają tę samą strukturę i klucz. Tabele wewnętrzne są używane jako tablice. Można odczytać poszczególne rekordy wewnętrznej tabeli używając indeksu lub klucza używając instrukcji READ. Możesz również zapętlić wewnętrzną tabelę, aby odczytać wszystkie rekordy jeden po drugim.
typ danych wewnętrznej tabeli jest w pełni określony przez jej typ linii, klucz i typ tabeli.
istnieją trzy rodzaje tabeli wewnętrznej . Są to-stoły standardowe, stoły posortowane i stoły Haszowane.
różnica pomiędzy tabelami standardowymi, tabelami posortowanymi i tabelami haszowanymi to –
tabela Standardowa
– posiada wewnętrzny indeks liniowy.
– system może uzyskać dostęp do rekordów za pomocą indeksu tabeli lub klucza.
– Czas odpowiedzi na dostęp do klucza jest proporcjonalny do liczby wpisów w tabeli.
– nie można określić unikalnego klucza. Ma zawsze nie unikalny klucz.
posortowana tabela
– posortowane tabeli są zawsze zapisywane posortowane według klucza. Mają również wewnętrzny indeks.
– system może uzyskać dostęp do rekordów za pomocą indeksu tabeli lub klucza.
– Czas odpowiedzi na dostęp do klucza jest logarytmicznie proporcjonalny do liczby wpisów w tabeli
, ponieważ system wykorzystuje wyszukiwanie binarne.
– klucz posortowanej tabeli może być unikalny lub nie unikalny. Gdy zdefiniujesz tabelę
, musisz określić, czy klucz ma być unikalny,czy nie.
tabela Haszowana
– tabele Haszowane nie mają indeksów liniowych. Dostęp do tabeli haszowanej można uzyskać tylko za pomocą jej klucza.
– Czas odpowiedzi jest niezależny od ilości wpisów w tabeli i jest stały,
ponieważ system uzyskuje dostęp do wpisów w tabeli za pomocą algorytmu haszującego.
– klucz tabeli haszowanej musi być unikalny.
– podczas definiowania tabeli należy określić klucz jako unikalny.
co to jest ekstrakt? Czym różni się od stołu wewnętrznego?
ekstrakty są dynamicznymi sekwencyjnymi zestawami danych, w których różne linie mogą mieć różne struktury. Każdy program ABAP może obecnie posiadać tylko jeden zbiór danych. Nie można uzyskać dostępu do poszczególnych rekordów w wyciągu za pomocą klucza lub indeksu. Zamiast tego zawsze przetwarzasz je za pomocą pętli.
Jak wyłączyć przypisywanie wierszy w instrukcji LOOP?
jeśli nie chcesz przenosić zawartości wewnętrznej linii tabeli do obszaru roboczego lub nie chcesz przypisać jej do symbolu pola, możesz użyć następującego polecenia:
LOOP AT itab TRANSPORTING NO FIELDS condition.