Interne Tabeller

datatypen for en intern tabell er fullstendig angitt av linjetype, nøkkel og tabelltype.

Linjetype

linjetypen for en intern tabell kan være hvilken som helst datatype. Datatypen for en intern tabell er normalt en struktur. Hver komponent i strukturen er en kolonne i det indre bordet. Linjetypen kan imidlertid også være elementær eller en annen intern tabell.

Nøkkel

nøkkelen identifiserer tabellrader. Det finnes to typer nøkkel for interne tabeller-standardnøkkelen og en brukerdefinert nøkkel. Du kan angi om nøkkelen skal VÆRE UNIK eller IKKE-UNIK. Interne tabeller med en unik nøkkel kan ikke inneholde like oppføringer. Unikheten avhenger av tabelltilgangsmetoden.

ved tabeller med strukturert radtype dannes standardnøkkelen fra alle tegntypekolonner i den interne tabellen. Hvis en tabell har en elementær linjetype, er standardnøkkelen hele linjen. Standardnøkkelen for en intern tabell hvis linjetype er en intern tabell, er standardnøkkelen tom. Ved bord med ikke-strukturert radtype består standardnøkkelen av hele raden. Hvis radtypen også er en tabell, defineres en tom nøkkel.

den brukerdefinerte nøkkelen kan inneholde alle kolonner i den interne tabellen som ikke er en intern tabell, og som ikke inneholder interne tabeller. Referanser er tillatt som tabellnøkler. Interne tabeller med en brukerdefinert nøkkel kalles nøkkeltabeller. Når du definerer nøkkelen, er sekvensen av nøkkelfeltene betydelig. Du bør huske dette, for eksempel hvis du har tenkt å sortere tabellen i henhold til nøkkelen.

Tabelltype

tabelltypen bestemmer HVORDAN ABAP vil få tilgang til individuelle tabelloppføringer. Interne tabeller kan deles inn i tre typer:

Standardtabeller har en intern lineær indeks. Fra en bestemt størrelse oppover administreres indeksene til interne tabeller som trær. I dette tilfellet øker indeksadministrasjonen overhead i logaritmisk og ikke lineær forhold til antall linjer. Systemet kan få tilgang til poster enten ved hjelp av tabellindeksen eller nøkkelen. Responstiden for nøkkeltilgang er proporsjonal med antall oppføringer i tabellen. Nøkkelen til et standardbord er alltid ikke-unikt. Du kan ikke angi en unik nøkkel. Dette betyr at standardtabeller alltid kan fylles veldig raskt, siden systemet ikke trenger å sjekke om det allerede finnes eksisterende oppføringer.

Sorterte tabeller lagres alltid sortert etter nøkkelen. De har også en intern indeks. Systemet kan få tilgang til poster enten ved hjelp av tabellindeksen eller nøkkelen. Responstiden for nøkkeltilgang er logaritmisk proporsjonal med antall tabelloppføringer, siden systemet bruker et binært søk. Nøkkelen til en sortert tabell kan enten være unik eller ikke-unik. Når du definerer tabellen, må du angi om nøkkelen skal VÆRE UNIK eller IKKE-UNIK. Standard tabeller og sorterte tabeller er generelt kjent som indeks tabeller.

Hashede tabeller har ingen lineær indeks. Du kan bare få tilgang til et hashed-bord ved hjelp av nøkkelen. Responstiden er uavhengig av antall tabelloppføringer, og er konstant, siden systemet får tilgang til tabelloppføringene ved hjelp av en hash-algoritme. Nøkkelen til et hashed-bord må være unikt. Når du definerer tabellen, må du angi nøkkelen SOM UNIK.

Generiske Interne Tabeller

I Motsetning til andre lokale datatyper i programmer, trenger du ikke å angi datatypen for en intern tabell fullt ut. I stedet kan du angi en generisk konstruksjon, det vil si at nøkkelen eller nøkkel-og linjetypen for en intern tabelldatatype kan forbli uspesifisert. Du kan bruke generiske interne tabeller til å angi typene feltsymboler og grensesnittparametrene for prosedyrer . Du kan ikke bruke dem til å deklarere dataobjekter.

Leave a Reply