Verschil tussen interne tabel en werkgebied

verschil tussen interne tabel en werkgebied

Wat is het verschil tussen interne tabel en werkgebied en hoe werken deze?

interne tabel is een tijdelijke tweedimensionale geheugenstructuur vergelijkbaar met database tabel. We kunnen meerdere records op te slaan in de internaltable en ook met behulp van record pointers kunnen we de activiteiten zoals het lezen,toevoegen, verwijderen, wijzigen enz.

terwijl werkgebied een variabele is die is gedeclareerd met het type van een interne tabel of een databasetabel. Het kan slechts één record per keer opslaan. Het is als een structuurdeclaratie in C. U kunt individuele kolommen in het werkgebied met de namen verwijzen.

als u een interne tabel declareert met de”WITH HEADER LINE” – clausule, fungeert de interne tabel zelf als een werkgebied. Bijvoorbeeld, uw ITAB is een werkgebied en ITAB is de interne tabel.

als u bekend bent met Oracle PLSQL, is het werkgebied gelijk aan %ROW_TYPE en intern is vergelijkbaar met het TABELTYPE.

meer informatie over het gebruik van interne tabel met en zonder headerline:

wanneer u een intern tabelobject maakt, kunt u ook een kopregel met dezelfde naam verwijderen. U kunt de header line als werkgebied gebruiken wanneer u de interne tabel verwerkt. De ABAP-statements die u gebruikt met interne tabellen hebben korte formulieren die u kunt gebruiken als uw interne tabel een header-regel heeft. Deze verklaringen nemen automatisch de kopregel aan als een impliciet werkgebied. De volgende tabel toont de statements die u moet gebruiken voor interne tabellen zonder kopregel, en de equivalente statements die u kunt gebruiken voor interne tabellen met een kopregel:

bewerkingen zonder kopregel
bewerkingen met kopregel

bewerkingen voor alle Tabeltypes

voeg <wa> in tabel <itab>in.
VOEG TABEL ITAB IN.

COLLECT < wa> INTO <itab>.
COLLECT <itab>.

READ TABLE <itab> … In <wa>.
READ TABLE <itab> …

tabel<itab > wijzigen van<wa > …Tabel <wijzigen itab> …

wijzigen<itab > van<wa > …WAAR …
wijzigen<itab > … WAAR …

tabel <itab> verwijderen van <wa>.
tabel<ITAB >schrappen.

LOOP bij ITAB in < wa> …
LOOP OP ITAB …

bewerkingen voor Indextabellen

voeg < wa> toe aan <itab>.
APPEND <itab>.

INSERT <wa> INTO <itab> …
INSERT <itab> …

wijzigen<itab > van<wa > …
wijzigen<itab > …

het gebruik van de kopregel als werkgebied betekent dat u kortere statements kunt gebruiken; ze zijn echter niet per se gemakkelijker te begrijpen,omdat je de oorsprong en het doel van de opdracht niet onmiddellijk kunt herkennen.Bovendien kan het feit dat de tabel en de kopregel dezelfde naam hebben verwarring veroorzaken in operaties met volledige interne tabellen. Om verwarring te voorkomen, moet u interne tabellen gebruiken met werkgebieden met verschillende namen.

het volgende voorbeeld toont twee programma ‘ s met dezelfde functie. De ene gebruikt een kopregel, de andere niet.

met kopregel:

typen: begin van regel,
COL1 TYPE I,
COL2 TYPE I,
einde van regel.

DATA ITAB-TYPE GEHASHTE REGELTABEL MET UNIEKE SLEUTEL
COL1
MET KOPREGEL.

4 KEER DOEN.
ITAB-COL1 = SY-INDEX.
ITAB-COL2 = SY-INDEX * * 2.
VOEG TABEL ITAB IN.
ENDDO.

ITAB-COL1 = 2.
LEES TABEL ITAB VAN ITAB.

ITAB-COL2 = 100.
TABEL ITAB WIJZIGEN.

ITAB-COL1 = 4.
TABEL ITAB VERWIJDEREN.

LOOP OP ITAB.
SCHRIJF: / ITAB-COL1, ITAB-COL2.
ENDLOOP.

zonder kopregel:

typen: begin van regel,
COL1 type I,
COL2 TYPE I,
einde van regel.

gegevens: ITAB TYPE GEHASHTE TABEL VAN LIJN MET UNIEKE SLEUTEL COL1, WA ALS LIJN VAN ITAB.

4 KEER DOEN.
WA-COL1 = SY-INDEX.
WA-COL2 = SY-INDEX * * 2.
VOEG WA IN TABEL ITAB.
ENDDO.

WA-COL1 = 2.
TABEL ITAB LEZEN VAN WA NAAR WA.

WA-COL2 = 100.
WIJZIG TABEL ITAB VAN WA.

WA-COL1 = 4.
TABEL ITAB VERWIJDEREN UIT WA.

LOOP BIJ ITAB IN WA.
SCHRIJF: / WA-COL1, WA-COL2.
ENDLOOP.

de lijst ziet er in beide gevallen als volgt uit::

1 1

2 100

3 9

de statements in het programma die geen headerline gebruiken zijn gemakkelijker te begrijpen. Als een verdere maatregel, kunt u een verder werkgebied alleen maar om de sleutel van de interne tabel te specificeren, maar waaraan geen andere waarden uit de tabel zijn toegewezen.

Lees ook
een voorbeeld van een ListBox-programma

ABAP-boekenlijst
ABAP / 4 certificering, programmering, Smartforms, Sapscripts en objectgeoriënteerde Programmeerboeken

Smart Forms
SAP Smartforms

ABAP-Menu:
ABAP Example Hintsand Tips

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

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.