SAP ABAP-gegevenswoordenboek (SE11)
⚡ Slimme samenvatting
SAP Het ABAP-gegevenswoordenboek (SE11) centraliseert alle metadatadefinities die worden gebruikt door SAP toepassingen. Deze pagina legt de drie herbruikbare niveaus uit: domeinen, gegevenselementen en tabellen, plus geaggregeerde objecten zoals weergaven, zoekhulpen en vergrendelingsobjecten.
Wat is gegevenswoordenboek?
Data Dictionary is een centrale informatiebron voor de gegevens in een informatiemanagementsysteem. De belangrijkste functie ervan is het ondersteunen van de creatie en het beheer van datadefinities (of “metadata”).
In SAPDeze centrale opslagplaats wordt het ABAP-woordenboek genoemd en wordt beheerd met transactie SE11. Elke tabel, elk veld, elke weergave en elke vergrendeling die door een ABAP-programma wordt gebruikt, wordt hier eenmaal beschreven en vervolgens overal hergebruikt, zodat een definitie nooit in afzonderlijke programma's hoeft te worden herhaald.
Bovenstaand scherm toont het beginscherm van SE11, waar elk type woordenboekobject wordt geselecteerd voordat het wordt weergegeven of gewijzigd. Voordat we naar die objecttypen kijken, is het handig om te begrijpen waarom. SAP Zorgt ervoor dat deze metadata buiten de programma's blijft die er gebruik van maken.
Waarom het ABAP-woordenboek belangrijk is
Het ABAP-woordenboek bestaat omdat SAP Dit scheidt de beschrijving van de gegevens van de programma's die ze verwerken. Een veld zoals het inkoopdocumentnummer wordt precies één keer beschreven, en elk rapport, scherm en functiemodule dat het nodig heeft, verwijst terug naar die ene beschrijving.
Deze centrale definitie biedt vier praktische voordelen. Consistentie is gegarandeerd, omdat een wijziging in een domein direct doorwerkt in elk veld dat er via een gegevenselement naar verwijst. Redundantie verdwijnt, omdat ontwikkelaars bestaande definities hergebruiken in plaats van nieuwe te bedenken. Integrity Het is beveiligd, omdat waardebereiken, controletabellen en externe sleutels worden gevalideerd door het woordenboek in plaats van door applicatiecode. Ten slotte is het woordenboek database-onafhankelijk, waardoor een tabel die in SE11 is gedefinieerd, automatisch in de onderliggende database wordt aangemaakt met de juiste native gegevenstypen.
Het woordenboek is ook actief tijdens de uitvoering. Schermen lezen hun veldlabels, helpteksten en waardebereiken er rechtstreeks uit, waardoor een F1-help of een F4-waardelijst verschijnt zonder dat er ook maar één regel extra code nodig is. Inzicht in de drie onderstaande niveaus verklaart hoe dat hergebruik is georganiseerd.
ABAP Woordenboek 3 niveaus
Objecten in het ABAP-woordenboek bevonden zich op drie niveaus die hun herbruikbaarheid ondersteunen. Deze niveaus zijn:
- Klantgroepen
- Gegevenselementen
- Tabellen en structuren
Elk niveau bouwt voort op het voorgaande: een domein levert de technische kenmerken, een gegevenselement geeft die kenmerken een zakelijke betekenis en een tabel of structuur groepeert de gegevenselementen in een record. Laten we ze eens nader bekijken –
Klantgroepen
- Beschrijft de technische kenmerken van een tabelveld
- Specificeert een waardebereik dat toegestane gegevenswaarden voor de velden beschrijft
- Velden die naar hetzelfde domein verwijzen (via de daaraan toegewezen data-elementen) worden gewijzigd wanneer er een wijziging aan het domein wordt aangebracht
- Zorgt voor consistentie
Ex. Aankoopdocumentnummer (EBELN)
Het bovenstaande domeinscherm definieert alleen het gegevenstype en de lengte. De zakelijke betekenis van die waarde wordt bepaald door het volgende niveau, het gegevenselement.
Gegevenselementen
- Beschrijft de rol die een vakgebied speelt in een technische context
- Velden met dezelfde semantische betekenis kunnen naar hetzelfde gegevenselement verwijzen
- Bevat de veldinformatie
Ex. Aankoopdocumentnummer (EBELN)
Het gegevenselementscherm bevat de veldlabels en documentatie die gebruikers op het scherm zien. De gegevenselementen worden vervolgens gecombineerd tot tabellen.
Tafels
- Vertegenwoordig de databasetabellen waar gegevens zich daadwerkelijk bevinden.
- Tabellen kunnen onafhankelijk van de database worden gedefinieerd in het ABAP-woordenboek.
- De velden van de tabel worden gedefinieerd met hun (database-onafhankelijke) SAP ABAP-gegevenstypen en lengtes.
Structuren
- Zijn recorddeclaraties die NIET overeenkomen met een databasetabel.
- Net als een door de gebruiker gedefinieerd gegevenstype.
- Gedefinieerd als een tabel en kan vervolgens worden aangesproken vanuit ABAP-programma's.
- Structuren bevatten alleen gegevens tijdens de looptijd van een programma.
De tabel hieronder geeft een overzicht van de drie niveaus.
| Niveau | Wat het definieert | Slaat gegevens op? | Typisch voorbeeld |
|---|---|---|---|
| Domein | Technische kenmerken: gegevenstype, lengte, waardebereik | Nee | EBELN (CHAR 10) |
| Gegevenselement | Semantische betekenis: veldlabels, documentatie, F1-help | Nee | EBELN — Inkoopdocumentnummer |
| tafel | Een record van velden dat in de database wordt aangemaakt. | Ja, aanhoudend. | EKKO — Koptekst inkoopdocument |
| Structuur | Een overzicht van velden die alleen binnen een programma worden gebruikt. | Ja, alleen tijdens de uitvoering. | Werkgebied voor een interne tafel |
Geaggregeerde objecten van ABAP-woordenboek
Geaggregeerd betekent dat het uit meerdere componenten bestaat. In het ABAP-woordenboek zijn geaggregeerde objecten objecten die afkomstig zijn uit verschillende transparante tabellen.
- Weergaves
- Zoek hulp
- Objecten vergrendelen
Laten we ze in detail bekijken
Weergaves
- Uitzicht in SAP ABAP wordt gebruikt om gegevens samen te vatten die over meerdere tabellen zijn verdeeld.
- De gegevens van een weergave worden niet daadwerkelijk fysiek opgeslagen. De gegevens van een weergave worden in plaats daarvan afgeleid van een of meer andere tabellen
- Het is afgestemd op de behoeften van een specifieke toepassing
Zoek hulp
- Een zoekhulp is een hulpmiddel waarmee u naar gegevensrecords in het systeem kunt zoeken
- Een efficiënte en gebruiksvriendelijke zoekfunctie helpt gebruikers waarbij de sleutel van een record onbekend is
Objecten vergrendelen
- Gelijktijdige toegang tot hetzelfde gegevensrecord door twee gebruikers in de SAP Het systeem wordt gesynchroniseerd door een vergrendelingsmechanisme.
- Vergrendelingen worden ingesteld en vrijgegeven door bepaalde functiemodules aan te roepen. Deze functiemodules worden automatisch gegenereerd op basis van de definitie van zogenaamde lock-objecten in het ABAP/4-woordenboek
Functie modules : In wachtrij_ – om de tafel uit de wachtrij te vergrendelen_ – om de vergrendeling te ontgrendelen
⚠️ Waarschuwing: Een vergrendeling die met ENQUEUE is ingesteld en nooit met DEQUEUE is vrijgegeven, blijft actief totdat de gebruikerssessie eindigt. Roep altijd de DEQUEUE-module aan, ook in het foutpad van het programma.
Nu de objecttypen duidelijk zijn, passen we ze in het volgende gedeelte toe door een transparante tabel in SE11 te creëren.
Hoe maak je een transparante tabel in SE11?
Een transparante tabel is het meest voorkomende woordenboekobject, omdat deze een één-op-één-relatie heeft met een fysieke tabel in de database. De onderstaande stappen maken er een helemaal zelf.
- Open SE11: Voer transactie SE11 in en selecteer de Databasetabel Selecteer het keuzeradiobutton, typ een naam in de klantnaamruimte (beginnend met Z of Y) en kies creëren.
- Voer de korte omschrijving en de bezorgmethode in: Op de Attributen tab, voeg een korte tekst toe en stel de bezorgklasse in, die aangeeft SAP Hoe de gegevens zich gedragen tijdens een clientkopie of een upgrade. Leveringsklasse A wordt gebruikt voor applicatiegegevens en C voor aanpassingsgegevens.
- Stel het onderhoudskenmerk in: Kies Bezichtiging/onderhoud toegestaan Zo kan later met SE55 of SM30 een onderhoudsoverzicht worden gegenereerd.
- Definieer de velden: Op de Velden Voeg op het tabblad MANDT toe als het eerste sleutelveld met het gegevenselement MANDT, en voeg vervolgens de bedrijfssleutelvelden toe. Elk veld is getypeerd door een gegevenselement, dat op zijn beurt verwijst naar een domein, waardoor de drie eerder beschreven niveaus worden hergebruikt in plaats van opnieuw gedefinieerd.
- Behoud de technische instellingen: Klik Technische instellingen (transactie SE13) en stel de gegevensklasse in, bijvoorbeeld APPL0 voor stamgegevens, samen met de verwachte groottecategorie. Deze waarden bepalen de tablespace en de initiële grootte in de database.
- Activeren: Media ActiverenActivering genereert de fysieke tabel in de database en maakt de definitie bruikbaar in ABAP-programma's.
💡Tip: Maak voor elk veld dat aan een controletabel moet worden getoetst, een externe sleutel aan. Het woordenboek zorgt er vervolgens automatisch voor dat de relatie wordt gewaarborgd, waardoor er geen validatiecode in het programma nodig is.
Zodra de tabel actief is, kan deze rechtstreeks vanuit een ABAP-programma worden aangesproken met SQL openenHet onderstaande voorbeeld leest de standaardwoordenboektabel SCARR in een interne tabel en geeft de inhoud ervan weer.
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.
Omdat de interne tabel is getypeerd met TYPE STANDARD TABLE OF scarr, zijn alle veldlengtes en gegevenstypen afkomstig uit het woordenboek. Als de tabeldefinitie verandert, neemt het programma de wijziging na activering over zonder dat er aanpassingen nodig zijn.
Essentiële ABAP-woordenboektransactie Codes
De volgende transacties hebben betrekking op de dagelijkse werkzaamheden van het definiëren, controleren en onderhouden van woordenboekobjecten.
| transactie | Doel |
|---|---|
| SE11 | Beginscherm van het gegevenswoordenboek (alleen SE12-weergave) |
| SE13 | ABAP-woordenboek: Technische instellingen |
| SE14 | Databasehulpprogramma |
| SE15 | Repository-informatiesysteem |
| SE16 | Gegevensbrowser |
| SE17 | Algemene tabelweergave |
| SE55 | Tabelweergave Onderhoud |
| SM30 | Tafel onderhoud |









