Różnica między wewnętrznym stołem a obszarem roboczym

różnica między wewnętrznym stołem a obszarem roboczym

Jaka jest różnica między wewnętrznym stołem a obszarem roboczym i jak działają?

tablica wewnętrzna jest tymczasową dwuwymiarową strukturą pamięci podobną do tabeli bazy danych. Możemy przechowywać wiele rekordów w internaltable, a także za pomocą wskaźników rekordów możemy wykonywać czynności,takie jak czytanie, dołączanie, usuwanie, modyfikowanie itp.

podczas gdy obszar roboczy jest zmienną zadeklarowaną z typem wewnętrznej tabeli lub tabeli bazy danych. Może przechowywać tylko jeden rekord na raz. Jest to jak deklaracja struktury w C. można w obszarze roboczym ustawić poszczególne kolumny z nazwami.

jeśli zadeklarujesz wewnętrzną tabelę z klauzulą „z linią nagłówka”, sama tabela wewnętrzna działa jako obszar roboczy. Na przykład twój ITAB jest obszarem roboczym, a ITAB jest wewnętrzną tabelą.

jeśli znasz ORACLE PLSQL, obszar roboczy jest podobny do % ROW_TYPE, a wewnętrzny jest podobny do typu tabeli.

więcej informacji na temat używania wewnętrznej tabeli z i bez linii nagłówka:

podczas tworzenia wewnętrznego obiektu tabeli można równieżdeklare linię nagłówka o tej samej nazwie. Możesz użyć obszaru roboczego linii nagłówka Asa podczas przetwarzania wewnętrznej tabeli. Instrukcje ABAP używane z wewnętrznymi tabelami mają krótkie formularze, których możesz użyć, jeśli twoja wewnętrzna tabela ma linię nagłówka. Instrukcje te automatycznie przyjmują linię nagłówka jako ukryty obszar roboczy. Poniższa tabela pokazuje parametry, których należy użyć dla tabel wewnętrznych bez linii nagłówka,oraz równoważne instrukcje, których można użyć dla tabel wewnętrznych bez linii nagłówka:

operacje bez linii nagłówka
operacje z linią nagłówka

operacje dla wszystkich typów tabel

Wstaw <wa> do tabeli <itab>.
WSTAW TABELĘ ITAB.

Zbierz< wa >do<itab >.
Zbierz < itab>.

Czytaj tabelę <itab>… Do<wa >.
Czytaj tabelę < itab>…

Zmień tabelę <itab> z < wa >…
Zmień tabelę < itab>…

<itab > z < wa >…Gdzie …
Modyfikuj < itab>… Gdzie …

Usuń tabelę <itab>z < wa >.
Usuń tabelę < itab>.

pętla w ITAB do< wa >…
LOOP W ITAB …

operacje dla tabel indeksowych

Dołącz <wa> do <itab>.
Dołącz < itab>.

Wstaw < wa > do< itab >…
Wstaw < itab>…

<itab > z < wa >…
Modyfikuj < itab>…

używanie linii nagłówka jako obszaru roboczego oznacza, że można używać krótszych instrukcji; jednak niekoniecznie są one łatwiejsze do zrozumienia,ponieważ nie można od razu rozpoznać pochodzenia i celu zadania.Ponadto fakt, że tabela i jej linia nagłówka mają taką samą nazwę, Może powodować zamieszanie w operacjach z całymi wewnętrznymi tabelami. Aby uniknąć nieporozumień, należy użyć tabel wewnętrznych z różnymi nazwamiobszary pracy.

poniższy przykład pokazuje dwa programy z tą samą funkcją. Jeden używa linii nagłówka, drugi nie.

z linią nagłówka:

typy: początek linii,
COL1 typ I,
COL2 typ I,
koniec linii.

DANE TYP ITAB HASZOWANA TABELA LINII Z UNIKALNYM KLUCZEM
COL1
Z LINIĄ NAGŁÓWKA.

ZRÓB 4 RAZY.
ITAB-COL1 = SY-INDEX.
ITAB-COL2 = SY-INDEX ** 2.
WSTAW TABELĘ ITAB.
ENDDO.

ITAB-COL1 = 2.
PRZECZYTAJ TABELĘ ITAB Z ITAB.

ITAB-COL2 = 100.
ZMIEŃ TABELĘ ITAB.

ITAB-COL1 = 4.
USUŃ TABELĘ ITAB.

LOOP W ITAB.
NAPISZ: / ITAB-COL1, ITAB-COL2.
ENDLOOP.

bez linii nagłówka:

typy: początek linii,
COL1 typ I,
COL2 typ I,
koniec linii.

dane: ITAB TYP HASZOWANA TABELA LINII Z UNIKALNYM KLUCZEM COL1, WA JAK LINIA ITAB.

ZRÓB 4 RAZY.
WA-COL1 = SY-INDEX.
WA-COL2 = SY-INDEX ** 2.
WSTAW WA DO TABELI ITAB.
ENDDO.

WA-COL1 = 2.
PRZECZYTAJ TABELĘ ITAB Z WA DO WA.

WA-COL2 = 100.
ZMIEŃ TABELĘ ITAB Z WA.

WA-COL1 = 4.
USUŃ TABELĘ ITAB Z WA.

PĘTLA W ITAB DO WA.
NAPISZ: / WA-COL1, WA-COL2.
ENDLOOP.

lista w obu przypadkach wygląda następująco:

1 1

2 100

3 9

instrukcje w programie, który nie używa nagłówka są łatwiejsze do zrozumienia. Jako kolejną miarę możesz mieć dodatkowy obszar roboczy tylko po to, aby określić klucz wewnętrznej tabeli, ale do którego przypisane są inne wartości z tabeli.

Czytaj także
przykład programu ListBox

lista książek ABAP
Książki certyfikacji ABAP/4,programowania, inteligentnych formularzy, skryptów Sapscripts i programowania obiektowego

Inteligentne formularze
SAP Smartforms

Menu ABAP:
ABAP Example Hintsand Tips

Return to Index:-
SAP ABAP/4 Programming,Basis Administration, Configuration Hints and Tips

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.