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.

  • 📚 Kerndefinitie: Het ABAP-woordenboek is de centrale opslagplaats voor metadata en beschrijft hoe elk veld, elke tabel en elke weergave is gedefinieerd en hergebruikt. SAP systeem.
  • 🧱 Drie herbruikbare niveaus: Domeinen bevatten technische kenmerken, gegevenselementen voegen semantische betekenis toe en tabellen of structuren bundelen die elementen tot records.
  • 🔗 Geaggregeerde objecten: Weergaven combineren gegevens uit meerdere tabellen, zoeken helpt bij het invoeren en vergrendelde objecten beschermen records tijdens gelijktijdige toegang.
  • 🔒 Vergrendelmechanisme: De functiemodules ENQUEUE en DEQUEUE worden gegenereerd vanuit vergrendelingsobjecten en moeten de vergrendeling na verwerking altijd vrijgeven.
  • ️ Creatieproces: Transactie SE11 creëert transparante tabellen door velden, leveringsklasse en technische instellingen te definiëren en vervolgens het object te activeren.
  • 🧭 Belangrijkste transacties: SE11, SE13, SE14, SE16 en SM30 behandelen definities, technische instellingen, databasehulpprogramma's, gegevensweergave en onderhoud.

SAP ABAP-gegevenswoordenboek SE11

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.

ABAP-gegevenswoordenboek

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:

  1. Klantgroepen
  2. Gegevenselementen
  3. 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)

Woordenboek: weergavedomeinen

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)

Woordenboek: gegevenselementen weergeven

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.

Woordenboek: Tabellen weergeven

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.

Woordenboek: weergavestructuren

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.

  1. Weergaves
  2. Zoek hulp
  3. 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

Woordenboek: Weergaveweergaven

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

Woordenboek: Zoekhulp weergeven

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

Woordenboek: Vergrendelobjecten weergeven

⚠️ 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.

  1. 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.
  2. 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.
  3. Stel het onderhoudskenmerk in: Kies Bezichtiging/onderhoud toegestaan Zo kan later met SE55 of SM30 een onderhoudsoverzicht worden gegenereerd.
  4. 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.
  5. 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.
  6. 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

Veelgestelde vragen

SE11 beheert de definitie van een woordenboekobject, zoals de velden en sleutels van een tabel. SE16 toont en filtert de gegevensrijen die in die tabel zijn opgeslagen. De ene behandelt metadata, de andere records.

Ja. Een gegevenselement kan direct een vooraf gedefinieerd type aannemen in plaats van te verwijzen naar een domein. Een domein wordt echter nog steeds aanbevolen, omdat het het waardebereik centraliseert en ervoor zorgt dat één wijziging alle velden beïnvloedt die het gebruiken.

Een transparante tabel komt één-op-één overeen met een fysieke databasetabel. Een gepoolde tabel deelt één databasetabel met veel kleine woordenboektabellen, waardoor deze alleen met OpenSQL kan worden gelezen en nooit met native SQL.

AI-assistenten zoals SAP Joule en code-assistenten in ABAP-ontwikkeltools suggereren veldnamen, stellen gegevenselementen voor een nieuwe tabel voor, leggen onbekende standaardtabellen uit en signaleren ontbrekende externe sleutels voordat het object wordt geactiveerd.

AI kan de veldenlijst, gegevenstypen en naamgeving opstellen, maar de definitie moet nog steeds door een ontwikkelaar worden gecontroleerd en geactiveerd. Leveringsklasse, technische instellingen en externe sleutels vereisen menselijke validatie vóór verzending.

Vat dit bericht samen met: