SAP ABAP Data Dictionary (SE11)
โก Smart sammanfattning
SAP ABAP Data Dictionary (SE11) centraliserar alla metadatadefinitioner som anvรคnds av SAP applikationer. Den hรคr sidan fรถrklarar de tre รฅteranvรคndbara nivรฅerna โ domรคner, dataelement och tabeller โ plus aggregerade objekt som vyer, sรถkhjรคlp och lรฅsobjekt.

Vad รคr Data Dictionary?
Data Dictionary รคr en central informationskรคlla fรถr data i ett informationshanteringssystem. Dess huvudsakliga funktion รคr att stรถdja skapandet och hanteringen av datadefinitioner (eller "metadata").
In SAP, denna centrala lagringsplats kallas ABAP Dictionary, och den underhรฅlls med transaktion SE11. Varje tabell, fรคlt, vy och lรฅs som anvรคnds av ett ABAP-program beskrivs hรคr en gรฅng och รฅteranvรคnds sedan รถverallt, sรฅ en definition behรถver aldrig upprepas inuti enskilda program.
Skรคrmen ovan visar SE11:s startskรคrm, dรคr varje objekttyp i ordboken vรคljs innan den visas eller รคndras. Innan man tittar pรฅ dessa objekttyper รคr det bra att fรถrstรฅ varfรถr SAP hรฅller dessa metadata utanfรถr de program som anvรคnder dem.
Varfรถr ABAP-ordboken รคr viktig
ABAP-ordboken finns eftersom SAP separerar beskrivningen av data frรฅn de program som bearbetar den. Ett fรคlt som inkรถpsdokumentnumret beskrivs exakt en gรฅng, och varje rapport, skรคrmbild och funktionsmodul som behรถver det hรคnvisar tillbaka till den enda beskrivningen.
Denna centrala definition ger fyra praktiska fรถrdelar. Konsekvens garanteras, eftersom en รคndring som gรถrs i en domรคn omedelbart nรฅr varje fรคlt som refererar till den genom ett dataelement. Redundans fรถrsvinner, eftersom utvecklare รฅteranvรคnder befintliga definitioner istรคllet fรถr att uppfinna nya. Integrity รคr skyddad, eftersom vรคrdeintervall, kontrolltabeller och frรคmmande nycklar valideras av ordboken snarare รคn av applikationskod. Slutligen รคr ordboken databasoberoende, sรฅ en tabell definierad i SE11 skapas automatiskt i den underliggande databasen med korrekta nativa typer.
Ordboken รคr ocksรฅ aktiv under kรถrning. Skรคrmarna lรคser sina fรคltetiketter, hjรคlptexter och vรคrdeintervall direkt frรฅn den, vilket รคr anledningen till att en F1-hjรคlp eller en F4-vรคrdelista visas utan en enda rad extra kodning. Att fรถrstรฅ de tre nivรฅerna nedan fรถrklarar hur den รฅteranvรคndningen รคr organiserad.
ABAP Dictionary 3 nivรฅer
Objekt i ABAP Dictionary fanns pรฅ tre nivรฅer som stรถdjer deras รฅteranvรคndbarhet. Dessa nivรฅer รคr:
- domรคner
- Dataelement
- Tabeller och strukturer
Varje nivรฅ bygger pรฅ den fรถregรฅende: en domรคn tillhandahรฅller de tekniska attributen, ett dataelement ger dessa attribut en affรคrsmรคssig innebรถrd och en tabell eller struktur grupperar dataelementen i en post. Lรฅt oss titta nรคrmare pรฅ dem โ
domรคner
- Beskriver de tekniska egenskaperna hos ett tabellfรคlt
- Anger ett vรคrdeintervall som beskriver tillรฅtna datavรคrden fรถr fรคlten
- Fรคlt som hรคnvisar till samma domรคn (via de dataelement som tilldelats dem) รคndras nรคr en รคndring gรถrs pรฅ domรคnen
- Sรคkerstรคller konsekvens
Ex. Inkรถpsdokumentnummer (EBELN)
Domรคnskรคrmen ovan definierar endast datatyp och lรคngd. Den affรคrsmรคssiga betydelsen av det vรคrdet tillhandahรฅlls av nรคsta nivรฅ, dataelementet.
Dataelement
- Beskriver den roll ett fรคlt spelar i ett tekniskt sammanhang
- Fรคlt med samma semantiska betydelse kan referera till samma dataelement
- Innehรฅller fรคltinformationen
Ex. Inkรถpsdokumentnummer (EBELN)
Skรคrmen fรถr dataelement innehรฅller fรคltetiketterna och dokumentationen som anvรคndarna ser pรฅ en skรคrm. Dataelementen kombineras sedan till tabeller.
Bord
- Representera de databastabeller dรคr data faktiskt finns.
- Tabeller kan definieras oberoende av databasen i ABAP Dictionary.
- Fรคlten i tabellen definieras med sina (databasoberoende) SAP ABAP-datatyper och lรคngder.
Strukturer
- รr postdeklarationer som INTE motsvarar en databastabell.
- Precis som anvรคndardefinierad datatyp.
- Definierat som en tabell och kan sedan adresseras frรฅn ABAP-program.
- Strukturer innehรฅller endast data under ett programs kรถrtid.
Tabellen nedan jรคmfรถr de tre nivรฅerna i korthet.
| Nivรฅ | Vad det definierar | Lagrar data? | Typiskt exempel |
|---|---|---|---|
| Domรคn | Tekniska attribut: datatyp, lรคngd, vรคrdeintervall | Nej | EBELN (CHAR 10) |
| Dataelement | Semantisk betydelse: fรคltetiketter, dokumentation, F1-hjรคlp | Nej | EBELN โ Inkรถpsdokumentnummer |
| Bord | En post med fรคlt som skapas i databasen | Ja, ihรฅllande | EKKO โ Inkรถpsdokumenthuvud |
| Structure | En post รถver fรคlt som endast anvรคnds inuti ett program | Ja, bara vid kรถrning | Arbetsomrรฅde fรถr en inre bord |
Aggregerade objekt i ABAP Dictionary
Aggregerade medel som bestรฅr av flera komponenter. I ABAP Dictionary รคr aggregerade objekt objekt som kommer frรฅn flera olika transparenta tabeller.
- Visningar
- Sรถk hjรคlp
- Lรฅs objekt
Lรฅt oss titta pรฅ dem i detalj
Visningar
- Visningar i SAP โ ABAP anvรคnds fรถr att sammanfatta data som รคr fรถrdelad รถver flera tabeller
- Data fรถr en vy lagras faktiskt inte fysiskt. Data fรถr en vy hรคrleds istรคllet frรฅn en eller flera andra tabeller
- Den รคr skrรคddarsydd efter behoven fรถr en specifik applikation
Sรถk hjรคlp
- En sรถkhjรคlp รคr ett verktyg som hjรคlper dig att sรถka efter dataposter i systemet
- En effektiv och anvรคndarvรคnlig sรถkning hjรคlper anvรคndare dรคr nyckeln till en post รคr okรคnd
Lรฅs objekt
- Samtidig รฅtkomst av samma datapost av tvรฅ anvรคndare i SAP systemet synkroniseras med en lรฅsmekanism.
- Lรฅs stรคlls in och frigรถrs genom att anropa vissa funktionsmoduler. Dessa funktionsmoduler genereras automatiskt frรฅn definitionen av sรฅ kallade lรฅsobjekt i ABAP/4-ordboken
Funktionsmoduler : Enqueue_ โ fรถr att lรฅsa bordet dequeue_ โ fรถr att frigรถra lรฅset
โ ๏ธ Varning: Ett lรฅs som sรคtts med ENQUEUE och aldrig upphรคvs med DEQUEUE fรถrblir aktivt tills anvรคndarsessionen avslutas. Anropa alltid DEQUEUE-modulen, inklusive i programmets felsรถkvรคg.
Nรคr objekttyperna รคr fรถrstรฅdda tillรคmpas de i nรคsta avsnitt genom att skapa en transparent tabell i SE11.
Hur man skapar en transparent tabell i SE11
En transparent tabell รคr det vanligaste ordboksobjektet, eftersom den har en ett-till-ett-relation med en fysisk tabell i databasen. Stegen nedan skapar en frรฅn grunden.
- รppet SE11: Ange transaktion SE11, vรคlj Databastabell alternativknappen, skriv ett namn i kundens namnrymd (som bรถrjar med Z eller Y) och vรคlj Skapa.
- Ange den korta beskrivningen och leveransklassen: Pรฅ attribut flik, lรคgg till en kort text och ange leveransklassen, vilket anger SAP hur data beter sig under en klientkopia eller en uppgradering. Leveransklass A anvรคnds fรถr applikationsdata och C anvรคnds fรถr att anpassa data.
- Stรคll in underhรฅllsattributet: Vรคlja Visning/underhรฅll tillรฅtet sรฅ en underhรฅllsvy kan senare genereras med SE55 eller SM30.
- Definiera fรคlten: Pรฅ Fรคlt Tab, lรคgg till MANDT som det fรถrsta nyckelfรคltet med dataelementet MANDT och lรคgg sedan till affรคrsnyckelfรคlten. Varje fรคlt skrivs av ett dataelement, vilket i sin tur refererar till en domรคn, sรฅ de tre nivรฅerna som beskrivits tidigare รฅteranvรคnds snarare รคn omdefinieras.
- Underhรฅll tekniska instรคllningar: Klicka Tekniska instรคllningar (transaktion SE13) och ange dataklassen, till exempel APPL0 fรถr masterdata, tillsammans med den fรถrvรคntade storlekskategorin. Dessa vรคrden bestรคmmer tabellutrymmet och den initiala storleken i databasen.
- Aktivera: Klicka AktiveraAktivering genererar den fysiska tabellen i databasen och gรถr definitionen anvรคndbar i ABAP-program.
๐ก Tips: Skapa frรคmmande nycklar fรถr varje fรคlt som mรฅste valideras mot en kontrolltabell. Ordboken tillรคmpar sedan relationen automatiskt, och ingen valideringskod behรถvs inuti programmet.
Nรคr tabellen รคr aktiv kan den adresseras direkt frรฅn ett ABAP-program med รppna SQLExemplet nedan lรคser in standardordbokstabellen SCARR i en intern tabell och listar dess innehรฅll.
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.
Eftersom den interna tabellen รคr typad med TYPE STANDARD TABLE OF scarr, kommer varje fรคltlรคngd och datatyp frรฅn ordboken. Om tabelldefinitionen รคndras, hรคmtar programmet รคndringen efter aktivering utan nรฅgon redigering.
Viktig ABAP-ordbokstransaktion Codes
Fรถljande transaktioner tรคcker det dagliga arbetet med att definiera, kontrollera och underhรฅlla ordboksobjekt.
| transaktion | Syfte |
|---|---|
| SE11 | Startskรคrm fรถr datalexikon (endast SE12-skรคrm) |
| SE13 | ABAP-ordbok: Tekniska instรคllningar |
| SE14 | Databasverktyg |
| SE15 | Informationssystem fรถr arkivet |
| SE16 | Datalรคsare |
| SE17 | Allmรคn tabellvisning |
| SE55 | Underhรฅll av tabellvy |
| SM30 | Bordunderhรฅll |








