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.

  • ๐Ÿ“š Kernedefinition: ABAP-ordbogen er det centrale lager af metadata, der beskriver, hvordan hvert felt, hver tabel og hver visning defineres og genbruges pรฅ tvรฆrs af SAP system.
  • ๐Ÿงฑ Tre genanvendelige niveauer: Domรฆner indeholder tekniske attributter, dataelementer tilfรธjer semantisk betydning, og tabeller eller strukturer samler disse elementer i poster.
  • ๐Ÿ”— Aggregerede objekter: Visninger kombinerer data fra flere tabeller, sรธgning hjรฆlper med input, og lรฅste objekter beskytter poster under samtidig adgang.
  • ๐Ÿ”’ Lรฅsemekanisme: Funktionsmodulerne ENQUEUE og DEQUEUE genereres fra lรฅseobjekter og skal altid oplรธse lรฅsen efter behandling.
  • ๐Ÿ› ๏ธ Oprettelsesarbejdsgang: Transaktion SE11 opretter transparente tabeller ved at definere felter, leveringsklasse, tekniske indstillinger og derefter aktivere objektet.
  • ๐Ÿงญ Nรธgletransaktioner: SE11, SE13, SE14, SE16 og SM30 dรฆkker definition, tekniske indstillinger, databasevรฆrktรธjer, datavisning og vedligeholdelse.

SAP ABAP-dataordbog SE11

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.

ABAP Data Dictionary

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:

  1. domรฆner
  2. Dataelementer
  3. 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)

Ordbog: Vis domรฆner

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)

Ordbog: Vis dataelementer

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.

Ordbog: Vis tabeller

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.

Ordbog: Displaystrukturer

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.

  1. Views
  2. Sรธg i Hjรฆlp
  3. 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

Ordbog: Vis visninger

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

Ordbog: Vis sรธgehjรฆlp

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

Ordbog: Vis lรฅseobjekter

โš ๏ธ 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.

  1. ร…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.
  2. 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.
  3. Angiv vedligeholdelsesattributten: Vรฆlg Visning/vedligeholdelse tilladt sรฅ en vedligeholdelsesvisning senere kan genereres med SE55 eller SM30.
  4. 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.
  5. 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.
  6. 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

Ofte Stillede Spรธrgsmรฅl

SE11 vedligeholder definitionen af โ€‹โ€‹et ordbogsobjekt, sรฅsom felterne og nรธglerne i en tabel. SE16 viser og filtrerer de datarรฆkker, der er gemt i tabellen. Den ene hรฅndterer metadata, den anden hรฅndterer poster.

Ja. Et dataelement kan tage en foruddefineret type direkte i stedet for at henvise til et domรฆne. Et domรฆne anbefales stadig, fordi det centraliserer vรฆrdiomrรฅdet og lader รฉn รฆndring nรฅ hvert felt, der bruger det.

En transparent tabel har et en-til-en-match med en fysisk databasetabel. En puljetabel deler รฉn databasetabel med mange smรฅ ordbogstabeller, sรฅ den kan kun lรฆses med Open SQL, aldrig med native SQL.

AI-assistenter som f.eks. SAP Joule- og kodeassistenter i ABAP-udviklingsvรฆrktรธjer foreslรฅr feltnavne, dataelementer til en ny tabel, forklarer ukendte standardtabeller og markerer manglende fremmednรธgler, fรธr objektet aktiveres.

AI kan udarbejde feltlisten, datatyperne og navngivningen, men definitionen skal stadig gennemgรฅs og aktiveres af en udvikler. Leveringsklasse, tekniske indstillinger og fremmednรธgler krรฆver menneskelig validering fรธr transport.

Opsummer dette indlรฆg med: