Was ist das ABAP Dictionary?
Data Dictionary (DDIC)
Das ABAP Dictionary ist die zentrale Stelle im SAP-System, an der Tabellen, Views, Strukturen, Datenelemente und Domänen definiert werden. Jedes Programm greift auf diese Definitionen zu, statt eigene Datentypen zu erfinden, und deshalb wirkt eine Änderung dort systemweit.
Sobald eine Tabelle im SAP-System ein längeres Feld bekommt, ändert sich dieselbe Definition in jedem Programm, das sie verwendet, und ob das glattgeht, entscheidet sich beim Aktivieren.
KI-generiertDieses Bild wurde mit KI erzeugt · Yves Hoppe / KI / cmt
- Auch genannt
- Data Dictionary, kurz DDIC
- Enthält
- Tabellen, Views, Strukturen, Datenelemente, Domänen
- Drei Ebenen
- Domäne, Datenelement, Tabellenfeld
- Kritischer Moment
- Das Aktivieren, es ändert die Datenbank
Die drei Ebenen, die den Unterschied machen
Ganz unten steht die Domäne. Dort ist das Technische festgelegt: Datentyp, Länge, Nachkommastellen, gegebenenfalls eine Liste erlaubter Festwerte. Darüber liegt das Datenelement, das die fachliche Bedeutung trägt, dazu die Feldbezeichner in kurz, mittel und lang sowie die Dokumentation, die Anwender später über die F1-Hilfe sehen.
Ganz oben steht das Tabellenfeld, das ein Datenelement verwendet. Weil mehrere Datenelemente dieselbe Domäne nutzen können, wird eine technische Änderung an einer Stelle wirksam, ohne dass die fachliche Bedeutung durcheinandergerät. Genau darin liegt der Sinn dieser Dreiteilung, die Neulinge im ersten Moment als überflüssige Bürokratie empfinden.
Was noch im Dictionary liegt
Neben Tabellen und Strukturen findest du hier Views, die Daten mehrerer Tabellen zusammenführen, Tabellentypen für interne Tabellen, Suchhilfen für die Wertehilfe an einem Eingabefeld sowie Sperrobjekte. Aus einem Sperrobjekt erzeugt das System zwei Funktionsbausteine, mit denen Programme einen Datensatz für die Bearbeitung sperren und wieder freigeben.
Ebenfalls im Dictionary werden Fremdschlüssel gepflegt. Damit landen in einem Feld nur Werte, die in der Prüftabelle vorhanden sind, und die Oberfläche bekommt gleich die passende Auswahlliste mitgeliefert.
Aktivieren ist der kritische Moment
Eine Definition wirkt erst, wenn sie aktiviert ist. Beim Aktivieren erzeugt das System die Laufzeitbeschreibung und passt die Tabelle auf der Datenbank an. Bei kleinen Ergänzungen läuft das unbemerkt im Hintergrund, bei Änderungen an Typ oder Länge muss die Tabelle konvertiert werden.
Genau dort liegt das Risiko. Eine Konvertierung kopiert die Daten um, braucht bei großen Tabellen viel Zeit und kann bei einem Abbruch einen inkonsistenten Zustand hinterlassen, der über das Datenbankutility repariert werden muss. Solche Änderungen gehören deshalb in ein geplantes Fenster und nicht zwischen zwei Termine.
Der zweite typische Fehler ist die Modifikation einer SAP-Standardtabelle. Eigene Felder gehören in eine Append-Struktur im Kundennamensraum, dann bleibt die Tabelle upgradefähig und deine Erweiterung überlebt das nächste Release.
KI-generiertDieses Bild wurde mit KI erzeugt · Yves Hoppe / KI / cmt
ABAP Dictionary und was oft damit gleichgesetzt wird
Die Domäne beschreibt die Technik, das Datenelement die Bedeutung. Eine Währungsdomäne kann von vielen Datenelementen genutzt werden, die im Programm trotzdem für unterschiedliche Beträge stehen.
CDS Views werden im Quelltext definiert und in Eclipse gepflegt, sind aber im Dictionary sichtbar. Für neue Entwicklungen haben sie die klassischen Dictionary-Views weitgehend abgelöst, weil sie mehr können und versionierbar sind.
Die Definition im Dictionary ist führend, die Datenbank folgt ihr beim Aktivieren. Wer Strukturen direkt auf der Datenbank ändert, bringt beide auseinander, denn das System kennt dann eine andere Wahrheit als die Datenbank.
KI-generiertDieses Bild wurde mit KI erzeugt · Yves Hoppe / KI / cmt
Domäne, Datenelement und Feld werden verwechselt, und dann wird an der falschen Stelle geändert
Die Domäne legt fest, wie ein Wert technisch aussieht, also Typ, Länge und erlaubte Werte. Das Datenelement gibt ihm eine fachliche Bedeutung samt Feldbezeichnern und Dokumentation. Erst das Tabellenfeld verwendet dann ein Datenelement. Wer eine Feldbezeichnung ändern will und dafür die Domäne anfasst, trifft alle Felder, die dieselbe Domäne teilen.
Beim Aktivieren einer geänderten Tabelle entscheidet das System, ob die Änderung im laufenden Betrieb möglich ist oder ob die Daten umgesetzt werden müssen. Eine Umsetzung kopiert den Bestand in eine Zwischentabelle und wieder zurück, und bei großen Tabellen ist das eine Wartungsaufgabe mit eigenem Zeitfenster und nichts, was man nebenbei einplant.
Auch Suchhilfen und Festwerte liegen hier. Wer sie am Dictionary-Objekt pflegt, bekommt sie in jeder Oberfläche, die dieses Feld benutzt, ohne eine einzige Zeile Programmcode. Genau deshalb lohnt sich vor der ersten Eigenentwicklung die Suche danach, ob es das passende Datenelement im Standard längst gibt.
ABAP Dictionary lernen
Wie du Tabellen, Views und Suchhilfen anlegst, ohne dir beim Aktivieren die Daten zu zerlegen, zeigen die Trainings zur Datenmodellierung im SAP System am eigenen Übungssystem.
Kurse, die ABAP Dictionary behandeln
Häufige Fragen
Warum ein Datenelement statt eines direkten Typs im Programm?
Wie erweitere ich eine Standardtabelle von SAP?
Was ist eine Suchhilfe?
Deine Ansprechpartner
Du willst das Thema nicht nur nachschlagen, sondern anwenden können? Wir beraten dich persönlich und kostenlos.
Yves Hoppe
Weiterbildung & Beratung
Ordnet mit dir ein, welcher Kurs zu deinem Vorwissen passt.
Norbert Jansen
Beratung & Inhouse
Plant Inhouse-Trainings, die an euren eigenen Daten und Abläufen ansetzen.
ABAP Dictionary im Kurs statt im Lexikon
Nachschlagen bringt dich bis zum Verstehen. Anwenden lernst du an echten Aufgaben.