Datenmodellierung in SAP

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
Nicht verwechseln

ABAP Dictionary und was oft damit gleichgesetzt wird

ABAP Dictionary gegen Domäne und Datenelement

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.

ABAP Dictionary gegen CDS Views

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.

ABAP Dictionary gegen Datenbank-Katalog

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
In der Praxis

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.

Häufige Fragen

Warum ein Datenelement statt eines direkten Typs im Programm?
Weil du damit einmal zentral änderst statt an dreißig Stellen. Zusätzlich stammen die Spaltenüberschriften in Listen und die Feldbeschriftungen auf Oberflächen aus dem Datenelement, ebenso die Erklärung in der F1-Hilfe.
Wie erweitere ich eine Standardtabelle von SAP?
Über eine Append-Struktur, deren Felder im Kundennamensraum liegen, oder über die dafür vorgesehenen Include-Strukturen. Die Tabellendefinition selbst bleibt unangetastet, deshalb bereitet das nächste Upgrade keine Nacharbeit.
Was ist eine Suchhilfe?
Eine Suchhilfe versorgt ein Eingabefeld mit der Wertehilfe, also der Liste, die beim Klick auf das kleine Symbol erscheint. Hängen lässt sie sich an ein Datenelement, an ein Tabellenfeld oder direkt an ein Bildschirmfeld.
Persönlich für dich da

Deine Ansprechpartner

Du willst das Thema nicht nur nachschlagen, sondern anwenden können? Wir beraten dich persönlich und kostenlos.

Yves Hoppe

Yves Hoppe

Weiterbildung & Beratung

Ordnet mit dir ein, welcher Kurs zu deinem Vorwissen passt.

Norbert Jansen

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.