SAP ABAP Daten-Dictionary (SE11)

โšก Intelligente Zusammenfassung

SAP Das ABAP Data Dictionary (SE11) zentralisiert alle Metadatendefinitionen, die von SAP Anwendungen. Diese Seite erlรคutert die drei wiederverwendbaren Ebenen โ€“ Domรคnen, Datenelemente und Tabellen โ€“ sowie aggregierte Objekte wie Ansichten, Suchhilfen und Sperrobjekte.

  • ๐Ÿ“š Kerndefinition: Das ABAP Dictionary ist der zentrale Speicher fรผr Metadaten, der beschreibt, wie jedes Feld, jede Tabelle und jede Sicht definiert und in der gesamten Architektur wiederverwendet wird. SAP System.
  • ๐Ÿงฑ Drei wiederverwendbare Ebenen: Domรคnen enthalten technische Attribute, Datenelemente fรผgen semantische Bedeutung hinzu, und Tabellen oder Strukturen fassen diese Elemente zu Datensรคtzen zusammen.
  • ๐Ÿ”— Aggregierte Objekte: Ansichten kombinieren Daten aus mehreren Tabellen, Suchfunktionen erleichtern die Eingabe, und Sperrobjekte schรผtzen Datensรคtze bei gleichzeitigem Zugriff.
  • ๐Ÿ”’ Verriegelungsmechanismus: Die Funktionsbausteine โ€‹โ€‹ENQUEUE und DEQUEUE werden aus Sperrobjekten generiert und mรผssen die Sperre nach der Verarbeitung immer freigeben.
  • ๏ธ Erstellungsablauf: Mit der Transaktion SE11 werden transparente Tabellen erstellt, indem Felder, Lieferklasse und technische Einstellungen definiert und anschlieรŸend das Objekt aktiviert wird.
  • ๐Ÿงญ Wichtige Transaktionen: SE11, SE13, SE14, SE16 und SM30 umfassen Definition, technische Einstellungen, Datenbank-Dienstprogramme, Datenanzeige und Wartung.

SAP ABAP-Datenwรถrterbuch SE11

Was ist ein Datenwรถrterbuch?

Das Data Dictionary ist eine zentrale Informationsquelle fรผr die Daten in einem Informationsmanagementsystem. Seine Hauptfunktion besteht darin, die Erstellung und Verwaltung von Datendefinitionen (oder โ€žMetadatenโ€œ) zu unterstรผtzen.

In SAPDieser zentrale Speicher wird ABAP Dictionary genannt und wird mit der Transaktion SE11 gepflegt. Jede Tabelle, jedes Feld, jede Sicht und jede Sperre, die von einem ABAP-Programm verwendet wird, wird hier einmal beschrieben und dann รผberall wiederverwendet, sodass eine Definition innerhalb einzelner Programme nie wiederholt werden muss.

ABAP-Datenwรถrterbuch

Der obige Bildschirm zeigt den Startbildschirm von SE11, auf dem jeder Wรถrterbuchobjekttyp ausgewรคhlt wird, bevor er angezeigt oder geรคndert wird. Bevor man sich diese Objekttypen ansieht, ist es hilfreich zu verstehen, warum. SAP Diese Metadaten bleiben auรŸerhalb der Programme gespeichert, die sie verwenden.

Warum das ABAP-Wรถrterbuch wichtig ist

Das ABAP Dictionary existiert, weil SAP Die Datenbeschreibung wird von den Programmen, die diese Daten verarbeiten, getrennt. Ein Feld wie die Einkaufsbelegnummer wird genau einmal beschrieben, und jeder Bericht, jede Ansicht und jedes Funktionsmodul, das diese Beschreibung benรถtigt, verweist auf diese eine Beschreibung.

Diese zentrale Definition bietet vier praktische Vorteile. Konsistenz ist gewรคhrleistet, da eine ร„nderung an einer Domรคne sofort alle Felder erreicht, die รผber ein Datenelement darauf verweisen. Redundanz wird vermieden, da Entwickler bestehende Definitionen wiederverwenden, anstatt neue zu erstellen. Integrity Der Schutz ist gewรคhrleistet, da Wertebereiche, Prรผftabellen und Fremdschlรผssel vom Datenwรถrterbuch und nicht vom Anwendungscode validiert werden. Zudem ist das Datenwรถrterbuch datenbankunabhรคngig, sodass eine in SE11 definierte Tabelle automatisch mit den korrekten nativen Datentypen in der zugrunde liegenden Datenbank erstellt wird.

Das Wรถrterbuch ist auch zur Laufzeit aktiv. Bildschirme lesen ihre Feldbezeichnungen, Hilfetexte und Wertebereiche direkt daraus, weshalb eine F1-Hilfe oder eine F4-Werteliste ohne zusรคtzliche Codezeile angezeigt wird. Das Verstรคndnis der drei unten aufgefรผhrten Ebenen erklรคrt, wie diese Wiederverwendung organisiert ist.

ABAP-Wรถrterbuch 3 Ebenen

Objekte im ABAP Dictionary befanden sich auf drei Ebenen, die ihre Wiederverwendbarkeit unterstรผtzen. Diese Ebenen sind:

  1. Domains
  2. Datenelemente
  3. Tabellen und Strukturen

Jede Ebene baut auf der vorhergehenden auf: Eine Domรคne liefert die technischen Attribute, ein Datenelement gibt diesen Attributen eine geschรคftliche Bedeutung, und eine Tabelle oder Struktur gruppiert die Datenelemente zu einem Datensatz. Schauen wir uns das genauer an โ€“

Domains

  • Beschreibt die technischen Eigenschaften eines Tabellenfeldes
  • Gibt einen Wertebereich an, der zulรคssige Datenwerte fรผr die Felder beschreibt
  • Felder, die (รผber die ihnen zugeordneten Datenelemente) auf dieselbe Domรคne verweisen, werden bei einer ร„nderung der Domรคne geรคndert
  • Sorgt fรผr Konsistenz

Ex. Einkaufsbelegnummer (EBELN)

Wรถrterbuch: Anzeigedomรคnen

Der obige Domรคnenbildschirm definiert lediglich Datentyp und Lรคnge. Die geschรคftliche Bedeutung dieses Wertes wird durch die nรคchste Ebene, das Datenelement, bereitgestellt.

Datenelemente

  • Beschreibt die Rolle eines Feldes in einem technischen Kontext
  • Felder gleicher semantischer Bedeutung kรถnnen sich auf dasselbe Datenelement beziehen
  • Enthรคlt die Feldinformationen

Ex. Einkaufsbelegnummer (EBELN)

Wรถrterbuch: Datenelemente anzeigen

Der Datenelementbildschirm enthรคlt die Feldbezeichnungen und die Dokumentation, die Benutzern auf dem Bildschirm angezeigt werden. Datenelemente werden anschlieรŸend zu Tabellen zusammengefasst.

Tische

  • Stellen Sie die Datenbanktabellen dar, in denen sich die Daten tatsรคchlich befinden.
  • Tabellen kรถnnen unabhรคngig von der Datenbank im ABAP Dictionary definiert werden.
  • Die Felder der Tabelle werden mit ihren (datenbankunabhรคngigen) SAP ABAP-Datentypen und Lรคngen.

Wรถrterbuch: Tabellen anzeigen

Strukturen

  • Sind Datensatzdeklarationen, die NICHT einer Datenbanktabelle entsprechen.
  • Genau wie ein benutzerdefinierter Datentyp.
  • Wird wie eine Tabelle definiert und kann dann aus ABAP-Programmen angesprochen werden.
  • Strukturen enthalten Daten nur zur Laufzeit eines Programms.

Wรถrterbuch: Anzeigestrukturen

Die folgende Tabelle vergleicht die drei Ebenen auf einen Blick.

Niveau Was es definiert Speichert Daten? Typisches Beispiel
Domain Technische Attribute: Datentyp, Lรคnge, Wertebereich Nein EBELN (CHAR 10)
Datenelement Semantische Bedeutung: Feldbezeichnungen, Dokumentation, F1-Hilfe Nein EBELN โ€” Einkaufsbelegnummer
Tisch Ein Datensatz von Feldern, der in der Datenbank erstellt wird Ja, beharrlich EKKO โ€” Kopfzeile des Einkaufsbelegs
Struktur Eine Liste von Feldern, die nur innerhalb eines Programms verwendet werden. Ja, nur zur Laufzeit. Arbeitsbereich fรผr einen interne Tabelle

Aggregierte Objekte des ABAP Dictionary

Aggregiert bedeutet, dass es aus mehreren Komponenten besteht. Aggregierte Objekte sind im ABAP Dictionary Objekte, die aus mehreren verschiedenen transparenten Tabellen stammen.

  1. Aufrufe
  2. Suchen Hilfe
  3. Objekte sperren

Schauen wir sie uns im Detail an

Aufrufe

  • Ansichten ein SAP โ€“ ABAP werden verwendet, um Daten zusammenzufassen, die auf mehrere Tabellen verteilt sind.
  • Die Daten einer Ansicht werden nicht tatsรคchlich physisch gespeichert. Die Daten einer Ansicht werden stattdessen aus einer oder mehreren anderen Tabellen abgeleitet
  • Es ist auf die Bedรผrfnisse einer bestimmten Anwendung zugeschnitten

Wรถrterbuch: Anzeigeansichten

Suchen Hilfe

  • Eine Suchhilfe ist ein Hilfsmittel, das Sie bei der Suche nach Datensรคtzen im System unterstรผtzt
  • Eine effiziente und benutzerfreundliche Suche hilft Benutzern, wenn der Schlรผssel eines Datensatzes unbekannt ist

Wรถrterbuch: Suchhilfe anzeigen

Objekte sperren

  • Gleichzeitiger Zugriff auf denselben Datensatz durch zwei Benutzer im SAP Das System wird durch einen Verriegelungsmechanismus synchronisiert.
  • Sperren werden durch den Aufruf bestimmter Funktionsbausteine โ€‹โ€‹gesetzt und aufgehoben. Diese Funktionsbausteine โ€‹โ€‹werden automatisch aus der Definition sogenannter Sperrobjekte im ABAP/4 Dictionary generiert

Funktionsmodule : In die Warteschlange stellen_ โ€“ um die Tabelle dequeue_ zu sperren โ€“ um die Sperre zu lรถsen

Wรถrterbuch: Sperrobjekte anzeigen

โš ๏ธ Warnung: Eine mit ENQUEUE gesetzte und nie mit DEQUEUE freigegebene Sperre bleibt bis zum Ende der Benutzersitzung aktiv. Rufen Sie daher immer das DEQUEUE-Modul auf, auch im Fehlerbehandlungspfad des Programms.

Nachdem die Objekttypen erlรคutert wurden, werden sie im nรคchsten Abschnitt durch die Erstellung einer transparenten Tabelle in SE11 angewendet.

Wie man in SE11 eine transparente Tabelle erstellt

Eine transparente Tabelle ist das gebrรคuchlichste Wรถrterbuchobjekt, da sie eine Eins-zu-Eins-Beziehung zu einer physischen Tabelle in der Datenbank hat. Die folgenden Schritte erstellen eine solche Tabelle von Grund auf.

  1. SE11 รถffnen: Geben Sie die Transaktion SE11 ein und wรคhlen Sie die Datenbanktabelle Klicken Sie auf das Optionsfeld, geben Sie einen Namen im Kundennamensraum ein (beginnend mit Z oder Y) und wรคhlen Sie Erschaffung.
  2. Geben Sie die Kurzbeschreibung und die Lieferklasse ein: Auf dem Attribute Klicken Sie auf die Registerkarte, fรผgen Sie einen kurzen Text hinzu und legen Sie die Zustellungsklasse fest, die Folgendes mitteilt SAP Wie sich die Daten wรคhrend einer Clientkopie oder eines Upgrades verhalten. Die Bereitstellungsklasse A wird fรผr Anwendungsdaten und C fรผr kundenspezifische Daten verwendet.
  3. Wartungsattribut festlegen: Wรคhlen Ausstellung/Wartung erlaubt So kann spรคter mit SE55 oder SM30 eine Wartungsansicht generiert werden.
  4. Definieren Sie die Felder: Auf dem Felder Fรผgen Sie im Reiter โ€žSchlรผsselโ€œ das Feld โ€žMANDTโ€œ als erstes Schlรผsselfeld mit dem Datenelement โ€žMANDTโ€œ hinzu und anschlieรŸend die Geschรคftsschlรผsselfelder. Jedes Feld wird durch ein Datenelement typisiert, das wiederum auf eine Domรคne verweist. Die drei zuvor beschriebenen Ebenen werden daher wiederverwendet, anstatt neu definiert zu werden.
  5. Technische Einstellungen beibehalten: Klicken Sie auf Technische Einstellungen (Transaktion SE13) und legen Sie die Datenklasse fest, beispielsweise APPL0 fรผr Stammdaten, zusammen mit der erwarteten GrรถรŸenkategorie. Diese Werte bestimmen den Tabellenbereich und die anfรคngliche GrรถรŸe in der Datenbank.
  6. Aktivieren Sie: Presse Mehr erfahrenDie Aktivierung erzeugt die physische Tabelle in der Datenbank und macht die Definition in ABAP-Programmen nutzbar.

๐Ÿ’ก Tipp: Erstellen Sie Fremdschlรผssel fรผr jedes Feld, das anhand einer Prรผftabelle validiert werden muss. Das Wรถrterbuch stellt die Beziehung dann automatisch sicher, und es ist kein Validierungscode im Programm erforderlich.

Sobald die Tabelle aktiv ist, kann sie direkt aus einem ABAP-Programm angesprochen werden mit ร–ffnen Sie SQLDas folgende Beispiel liest die Standard-Wรถrterbuchtabelle SCARR in eine interne Tabelle ein und listet deren Inhalt auf.

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 die interne Tabelle mit TYPE STANDARD TABLE OF scarr typisiert ist, stammen alle Feldlรคngen und Datentypen aus dem Datenwรถrterbuch. ร„ndert sich die Tabellendefinition, รผbernimmt das Programm die ร„nderung nach der Aktivierung automatisch, ohne dass eine Bearbeitung erforderlich ist.

Wesentliche ABAP-Wรถrterbuchtransaktion Codes

Die folgenden Transaktionen umfassen die tรคgliche Arbeit des Definierens, รœberprรผfens und Pflegens von Wรถrterbuchobjekten.

Transaktion Zweck
SE11 Startbildschirm des Datenwรถrterbuchs (nur SE12-Anzeige)
SE13 ABAP-Wรถrterbuch: Technische Einstellungen
SE14 Datenbankdienstprogramm
SE15 Repository-Informationssystem
SE16 Datenbrowser
SE17 Allgemeine Tabellenanzeige
SE55 Tabellenansicht-Wartung
SM30 Tabellenpflege

Hรคufig gestellte Fragen

SE11 verwaltet die Definition eines Wรถrterbuchobjekts, beispielsweise die Felder und Schlรผssel einer Tabelle. SE16 zeigt die in dieser Tabelle gespeicherten Datenzeilen an und filtert sie. SE11 verarbeitet Metadaten, SE16 Datensรคtze.

Ja. Ein Datenelement kann direkt einen vordefinierten Typ annehmen, anstatt auf eine Domรคne zu verweisen. Die Verwendung einer Domรคne ist jedoch weiterhin empfehlenswert, da sie den Wertebereich zentralisiert und sicherstellt, dass eine ร„nderung alle Felder erreicht, die diesen Typ verwenden.

Eine transparente Tabelle entspricht einer physischen Datenbanktabelle. Eine gepoolte Tabelle teilt sich eine Datenbanktabelle mit vielen kleinen Wรถrterbuchtabellen und kann daher nur mit Open SQL, niemals mit nativem SQL gelesen werden.

KI-Assistenten wie SAP Joule und Code-Assistenten in ABAP-Entwicklungswerkzeugen schlagen Feldnamen vor, unterbreiten Datenelemente fรผr eine neue Tabelle, erklรคren unbekannte Standardtabellen und kennzeichnen fehlende Fremdschlรผssel, bevor das Objekt aktiviert wird.

KI kann die Feldliste, Datentypen und Namensgebung entwerfen, die Definition muss jedoch noch von einem Entwickler geprรผft und aktiviert werden. Auslieferungsklasse, technische Einstellungen und Fremdschlรผssel mรผssen vor der รœbertragung manuell validiert werden.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: