Skillnad mellan internt bord och arbetsområde

skillnad mellan internt bord och arbetsområde

Vad är skillnaden mellan internt bord och ettarbetsområde och hur fungerar de?

intern tabell är en tillfällig tvådimensionell minnesstrukturliknar databastabellen. Vi kan lagra flera poster i interntabellen och även använda rekordpekare kan vi göra aktiviteter som att läsa,lägga till, ta bort, ändra etc.

medan arbetsområde är en variabel som deklareras med typen av en intern tabell eller en databastabell. Den kan bara lagra en posti taget. Det är som en strukturdeklaration i C. Du kanhänvisa till enskilda kolumner i arbetsområdet med namnen.

om du deklarerar en intern tabell med ”med rubrikrad” – klausul fungerar den interna tabellen som ett arbetsområde. Till exempel är din itab ett arbetsområde och itab är det interna bordet.

om du är bekant med ORACLE PLSQL är arbetsområdet similarto %ROW_TYPE och internt liknar TABELLTYP.

mer information om användning av intern tabell med och utan headerline:

när du skapar ett internt tabellobjekt kan du ocksåförklara en rubrikrad med samma namn. Du kan använda rubrikraden somarbetsområde när du bearbetar den interna tabellen. ABAP-uttalandena som du använder med interna tabeller har korta formulär som du kan använda om dinintern tabell har en rubrikrad. Dessa uttalanden antar automatisktrubriklinjen som ett implicit arbetsområde. Följande tabell visar de uttalanden som du måste använda för interna tabeller utan en rubrikrad och motsvarande satser som du kan använda för interna tabeller med en rubrikrad:

operationer utan rubrikrad
operationer med rubrikrad

operationer för alla tabelltyper

infoga<wa > i tabell<itab >.
INFOGA TABELL ITAB.

samla <wa> till <itab>.
samla <itab>.

läs tabell <itab> … Till < wa>.
läs tabell <itab > …

ändra tabell <itab> från <wa> …
ändra tabell <itab> …

ändra <itab> från <wa> …DÄR …
ändra <itab> … DÄR …

ta bort tabell <itab> från <wa>.
ta bort tabell<itab >.

slinga vid itab till<wa > …
LOOP PÅ ITAB …

operationer för Indextabeller

Lägg till<wa > till<itab >.
Lägg till <itab>.

infoga <wa> i <itab> …
infoga <itab> …

ändra <itab> från <wa> …
ändra <itab> …

att använda rubrikraden som ett arbetsområde betyder att du kanAnvänd kortare uttalanden; de är dock inte nödvändigtvis lättare att förstå,eftersom du inte omedelbart kan känna igen uppdragets ursprung och mål.Dessutom kan det faktum att tabellen och dess rubrikrad har sammanamn orsaka förvirring i operationer med hela interna tabeller. För attundvik förvirring bör du använda interna tabeller med olika namnarbetsområden.

följande exempel visar två program med sammafunktion. Man använder en rubrikrad, den andra inte.

med rubrikrad:

typer: början av raden,
COL1 typ i,
COL2 typ i,
slutet av raden.

DATA ITAB TYP HASHED TABELL ÖVER RAD MED UNIK NYCKEL
COL1
MED RUBRIKRAD.

GÖR 4 GÅNGER.
ITAB-COL1 = SY-INDEX.
ITAB-COL2 = SY-INDEX * * 2.
INFOGA TABELL ITAB.
ENDDO.

ITAB-COL1 = 2.
LÄS TABELL ITAB FRÅN ITAB.

ITAB-COL2 = 100.
ÄNDRA TABELL ITAB.

ITAB-COL1 = 4.
TA BORT TABELL ITAB.

LOOP PÅ ITAB.
SKRIV: / ITAB-COL1, ITAB-COL2.
ENDLOOP.

utan rubrikrad:

typer: början av raden,
COL1 typ i,
COL2 typ i,
slutet av raden.

DATA: ITAB TYP HASHED TABELL ÖVER LINJER MED UNIKA NYCKEL COL1,VAR OM LINJE AV ITAB.

GÖR 4 GÅNGER.
WA-COL1 = SY-INDEX.
WA-COL2 = SY-INDEX * * 2.
SÄTT IN WA I TABELL ITAB.
ENDDO.

WA-COL1 = 2.
LÄS TABELL ITAB FRÅN WA TILL WA.

WA-COL2 = 100.
ÄNDRA TABELL ITAB FRÅN WA.

WA-COL1 = 4.
TA BORT TABELL ITAB FRÅN WA.

SLINGA VID ITAB TILL WA.
SKRIV: / WA-COL1, WA-COL2.
ENDLOOP.

listan visas i båda fallen enligt följande:

1 1

2 100

3 9

uttalandena i programmet som inte använder en headerline är lättare att förstå. Som en ytterligare åtgärd kan du ha en vidarearbetsområde bara för att ange nyckeln till den interna tabellen, men till vilken ingenandra värden från tabellen tilldelas.

Läs också
ett exempel på ett ListBox-Program

ABAP Books List
ABAP / 4 certifiering, programmering, Smartforms, Sapscripts och objektorienterade Programmeringsböcker

Smart Forms
SAP Smartforms

ABAP-menyn:
ABAP Example Hintsand Tips

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

Lämna ett svar

Din e-postadress kommer inte publiceras.