SAP ABAP Data Dictionary (SE11)
โก Smart opsummering
SAP ABAP Data Dictionary (SE11) centraliserer alle metadatadefinitioner, der bruges af SAP applikationer. Denne side forklarer de tre genanvendelige niveauer โ domรฆner, dataelementer og tabeller โ plus aggregerede objekter sรฅsom visninger, sรธgehjรฆlp og lรฅseobjekter.

Hvad er Data Dictionary?
Data Dictionary er en central informationskilde for dataene i et informationsstyringssystem. Dens hovedfunktion er at understรธtte oprettelsen og styringen af โโdatadefinitioner (eller "metadata").
In SAP, dette centrale lager kaldes ABAP Dictionary, og det vedligeholdes med transaktion SE11. Hver tabel, felt, visning og lรฅs, der bruges af et ABAP-program, beskrives her รฉn gang og genbruges derefter overalt, sรฅ en definition aldrig behรธver at gentages i individuelle programmer.
Skรฆrmen ovenfor viser SE11's startskรฆrm, hvor hver ordbogsobjekttype vรฆlges, fรธr den vises eller รฆndres. Fรธr man ser pรฅ disse objekttyper, er det nyttigt at forstรฅ, hvorfor SAP holder disse metadata uden for de programmer, der bruger dem.
Hvorfor ABAP-ordbogen er vigtig
ABAP-ordbogen eksisterer fordi SAP adskiller beskrivelsen af โโdata fra de programmer, der behandler dem. Et felt som f.eks. indkรธbsdokumentnummeret beskrives prรฆcis รฉn gang, og hver rapport, skรฆrm og funktionsmodul, der har brug for det, refererer tilbage til den ene beskrivelse.
Denne centrale definition giver fire praktiske fordele. Konsistens er garanteret, fordi en รฆndring foretaget i et domรฆne รธjeblikkeligt nรฅr alle felter, der refererer til det via et dataelement. Redundans forsvinder, da udviklere genbruger eksisterende definitioner i stedet for at opfinde nye. Integrity er beskyttet, da vรฆrdiomrรฅder, kontroltabeller og fremmednรธgler valideres af ordbogen snarere end af applikationskode. Endelig er ordbogen databaseuafhรฆngig, sรฅ en tabel defineret i SE11 oprettes automatisk i den underliggende database med de korrekte native typer.
Ordbogen er ogsรฅ aktiv under kรธrsel. Skรฆrme lรฆser deres feltnavne, hjรฆlpetekster og vรฆrdiintervaller direkte fra den, hvilket er grunden til, at en F1-hjรฆlp eller en F4-vรฆrdiliste vises uden en eneste linje ekstra kodning. Forstรฅelse af de tre niveauer nedenfor forklarer, hvordan denne genbrug er organiseret.
ABAP Ordbog 3 niveauer
Objekter i ABAP-ordbogen befandt sig pรฅ tre niveauer, der understรธtter deres genanvendelighed. Disse niveauer er:
- domรฆner
- Dataelementer
- Tabeller og strukturer
Hvert niveau bygger videre pรฅ det foregรฅende: et domรฆne leverer de tekniske attributter, et dataelement giver disse attributter en forretningsmรฆssig betydning, og en tabel eller struktur grupperer dataelementerne i en post. Lad os se nรฆrmere pรฅ dem โ
domรฆner
- Beskriver de tekniske karakteristika for et tabelfelt
- Angiver et vรฆrdiinterval, som beskriver tilladte datavรฆrdier for felterne
- Felter, der refererer til det samme domรฆne (via de tildelte dataelementer) รฆndres, nรฅr der foretages en รฆndring af domรฆnet
- Sikrer sammenhรฆng
Eks. Kรธbsdokumentnummer (EBELN)
Domรฆneskรฆrmen ovenfor definerer kun datatypen og -lรฆngden. Den forretningsmรฆssige betydning af denne vรฆrdi leveres af det nรฆste niveau, dataelementet.
Dataelementer
- Beskriver den rolle et felt spiller i en teknisk sammenhรฆng
- Felter med samme semantiske betydning kan referere til det samme dataelement
- Indeholder feltinformationen
Eks. Kรธbsdokumentnummer (EBELN)
Dataelementskรฆrmen indeholder de feltnavne og den dokumentation, som brugerne ser pรฅ en skรฆrm. Dataelementer kombineres derefter til tabeller.
tabeller
- Reprรฆsenter de databasetabeller, hvor data faktisk findes.
- Tabeller kan defineres uafhรฆngigt af databasen i ABAP Dictionary.
- Tabellens felter er defineret med deres (database-uafhรฆngige) SAP ABAP datatyper og lรฆngder.
Strukturer
- Er journalerklรฆringer, der IKKE svarer til en databasetabel.
- Ligesom brugerdefineret datatype.
- Defineres som en tabel og kan derefter adresseres fra ABAP-programmer.
- Strukturer indeholder kun data i lรธbet af et program.
Tabellen nedenfor sammenligner de tre niveauer med et hurtigt overblik.
| Niveau | Hvad det definerer | Gemmer data? | Typisk eksempel |
|---|---|---|---|
| Domรฆne | Tekniske attributter: datatype, lรฆngde, vรฆrdiinterval | Ingen | EBELN (CHAR 10) |
| Dataelement | Semantisk betydning: feltnavne, dokumentation, F1-hjรฆlp | Ingen | EBELN โ Indkรธbsdokumentnummer |
| Bordlampe | En registrering af felter, der oprettes i databasen | Ja, vedvarende | EKKO โ Indkรธbsdokumenthoved |
| Struktur | En oversigt over felter, der kun bruges i et program | Ja, kun under kรธrsel | Arbejdsomrรฅde for en indvendigt bord |
Aggregerede objekter af ABAP Dictionary
Aggregerede midler bestรฅende af flere komponenter. I ABAP Dictionary er aggregerede objekter objekter, der kommer fra flere forskellige gennemsigtige tabeller.
- Views
- Sรธg i Hjรฆlp
- Lรฅs objekter
Lad os se nรฆrmere pรฅ dem
Views
- Visninger i SAP โ ABAP bruges til at opsummere data, der er fordelt pรฅ flere tabeller
- Dataene for en visning er faktisk ikke fysisk lagret. Dataene for en visning er i stedet afledt fra en eller flere andre tabeller
- Den er skrรฆddersyet til behovene for en specifik applikation
Sรธg i Hjรฆlp
- En sรธgehjรฆlp er et vรฆrktรธj til at hjรฆlpe dig med at sรธge efter dataposter i systemet
- En effektiv og brugervenlig sรธgning hjรฆlper brugere, hvor nรธglen til en post er ukendt
Lรฅs objekter
- Samtidig adgang til den samme datapost af to brugere i SAP systemet er synkroniseret af en lรฅsemekanisme.
- Lรฅse sรฆttes og frigรธres ved at kalde visse funktionsmoduler. Disse funktionsmoduler genereres automatisk ud fra definitionen af โโsรฅkaldte lรฅseobjekter i ABAP/4-ordbogen
Funktionsmoduler : Kรธ_ โ for at lรฅse bordet dequeue_ โ for at udlรธse lรฅsen
โ ๏ธ Advarsel: En lรฅs, der er indstillet med ENQUEUE og aldrig frigivet med DEQUEUE, forbliver aktiv, indtil brugersessionen slutter. Kald altid DEQUEUE-modulet, inklusive i programmets fejlsti.
Nรฅr objekttyperne er forstรฅet, anvender nรฆste afsnit dem ved at oprette en transparent tabel i SE11.
Sรฅdan opretter du en gennemsigtig tabel i SE11
En transparent tabel er det mest almindelige ordbogsobjekt, fordi den har en en-til-en-relation med en fysisk tabel i databasen. Trinene nedenfor opretter en fra bunden.
- ร ben SE11: Indtast transaktion SE11, vรฆlg Databasetabel alternativknappen, skriv et navn i kundens navneomrรฅde (begyndende med Z eller Y), og vรฆlg Opret.
- Indtast den korte beskrivelse og leveringsklasse: Pรฅ Attributter faneblad, tilfรธj en kort tekst og angiv leveringsklassen, som fortรฆller SAP hvordan dataene opfรธrer sig under en klientkopi eller en opgradering. Leveringsklasse A bruges til applikationsdata, og C bruges til tilpasning af data.
- Angiv vedligeholdelsesattributten: Vรฆlg Visning/vedligeholdelse tilladt sรฅ en vedligeholdelsesvisning senere kan genereres med SE55 eller SM30.
- Definer felterne: Pรฅ Fields I fanen skal du tilfรธje MANDT som det fรธrste nรธglefelt med dataelementet MANDT, og derefter tilfรธje forretningsnรธglefelterne. Hvert felt er skrevet af et dataelement, som igen refererer til et domรฆne, sรฅ de tre niveauer, der er beskrevet tidligere, genbruges i stedet for at blive omdefineret.
- Vedligehold tekniske indstillinger: Klik Tekniske indstillinger (transaktion SE13) og angiv dataklassen, for eksempel APPL0 for stamdata, sammen med den forventede stรธrrelseskategori. Disse vรฆrdier bestemmer tablespacet og den oprindelige stรธrrelse i databasen.
- Aktiver: Presse AktivereAktivering genererer den fysiske tabel i databasen og gรธr definitionen brugbar i ABAP-programmer.
๐ก Tip: Opret fremmednรธgler for hvert felt, der skal valideres mod en kontroltabel. Ordbogen hรฅndhรฆver derefter relationen automatisk, og der krรฆves ingen valideringskode i programmet.
Nรฅr tabellen er aktiv, kan den adresseres direkte fra et ABAP-program med ร bn SQLEksemplet nedenfor lรฆser standardordbogstabellen SCARR ind i en intern tabel og viser dens indhold.
REPORT zdemo_ddic_read. * Internal table typed directly from the dictionary table SCARR DATA: lt_scarr TYPE STANDARD TABLE OF scarr, ls_scarr TYPE scarr. SELECT carrid carrname currcode FROM scarr INTO TABLE lt_scarr. LOOP AT lt_scarr INTO ls_scarr. WRITE: / ls_scarr-carrid, ls_scarr-carrname, ls_scarr-currcode. ENDLOOP.
Da den interne tabel er skrevet med TYPE STANDARD TABLE OF scarr, kommer hver feltlรฆngde og datatype fra ordbogen. Hvis tabeldefinitionen รฆndres, registrerer programmet รฆndringen efter aktivering uden nogen redigering.
Essentiel ABAP-ordbogstransaktion Codes
De fรธlgende transaktioner dรฆkker det daglige arbejde med at definere, kontrollere og vedligeholde ordbogsobjekter.
| transaktion | Formรฅl |
|---|---|
| SE11 | Startskรฆrm for dataordbog (kun SE12-skรฆrm) |
| SE13 | ABAP-ordbog: Tekniske indstillinger |
| SE14 | Databasevรฆrktรธj |
| SE15 | Informationssystem for arkivet |
| SE16 | Databrowser |
| SE17 | Generel tabelvisning |
| SE55 | Vedligeholdelse af bordvisning |
| SM30 | Bordvedligeholdelse |








