ABAP - BOPF Knoten definieren
Heute geht es um die Definition eines Knotens im Datenmodell, welche Strukturen werden definiert und was bedeutet das im Einzelnen. Mehr dazu im Artikel.
Inhaltsverzeichnis
Im letzten Artikel haben wir dir gezeigt wie eine Struktur aus den verschiedenen Knoten in einem BOPF aussehen kann, wie sie verbunden sind und was man alles mit ihnen machen kann. Im heutigen Artikel wollen wir einen Knoten anlegen, in diesem Fall den Wurzelknoten.
Die Wurzel
Alles beginnt im Datenmodell mit dem Wurzelknoten und den eigentlichen Kopfdaten. Nach Anlage eines neuen Modells ist auch immer sofort ein Wurzelknoten angelegt, da dieser benötigt wird. Standardmäßig heißt der Wurzelknoten ROOT, kann aber jederzeit angepasst und umbenannt werden, um der eigenen Datenstruktur zu passen.
Begriffe
Das Datenmodell besteht aus verschiedenen Strukturen, Tabellentypen und Tabellen. Dazu eine kurze Erklärung der Begriffe die immer wieder fallen werden:
- Persistente Struktur - Entspricht der Datenstruktur die am Ende auf der Datenbank abgelegt wird, hier werden alle zu speichernden Datenfelder definiert.
- Transiente Struktur - Umfasst Felder die zur Laufzeit oder Selektion dazugelesen werden. Diese Felder werden nicht auf der Datenbank gesichert und müssen manuell befüllt werden. Dies sind meistens Felder, die sich aus bestehenden Stammdaten ergeben.
- Kombinierte Struktur - Wie der Name sagt, ist dies eine Struktur, die persistente und transiente Daten miteinander Verknüpft und dem Nutzer zur Verfügung stellt.
- Kombinierter Tabellentyp - Ist der Tabellentyp zur kombinierten Struktur.
- Datenbank - Der Name der Datenbank unter der die persistenten Daten abgelegt werden.
Definition
Am Beispiel des Wurzelknotens wollen wir dir die Anlage durchführen und die einzelnen Schritte mit dir durchgehen. Neben den Kopfdaten die auf der Datenbank gespeichert werden, wollen wir noch ein Feld in die transienten Daten übernehmen, welches zur Laufzeit nachgelesen werden soll.
Im ersten Schritt müssen wir die Namen der einzelnen Strukturen und Tabellentypen festlegen. Dazu bietet SAP eine nette Funktion, die uns das Denken abnimmt. Über den Menüpunkt "Zusätze -> Repository-Namen vorschlagen" erhältst du ein Popup, über das du dir alle Namen generieren lassen kannst. Markiere die Checkboxen wie unten im Bild, um alle nötigen Namen vorschlagen zu lassen.
Nach Bestätigung des Popups erhältst du die Vorschläge für alle Strukturen.
Per Doppelklick Navigation legen wir im ersten Schritt die Datenstruktur an, die die Daten auf der Datenbank halten soll. Für das Beispiel verwenden wir eine Vertragsnummer, den Kreditor und das Anlagedatum. In der transienten Struktur wollen wir den Namen des Kreditor aus den Stammdaten nachlesen. Nach Aktivierung der beiden Strukturen musst du nur noch die Datentype und die Datenbanktabelle aktivieren. Auch hierfür hat SAP bereits eine Funktion hinterlegt. Wieder über "Zusätze -> Dictionary-Elemente generieren" wird das folgende Popup angezeigt.
Die Checkboxen kombinierte Struktur und Tabellentyp sollten aktiviert sein, ebenso wie die Datenbank. Damit werden die letzten Objekte automatisch erzeugt und wir haben hier keine Arbeit mehr. Die beiden Strukturen und die fertige Datenbanktabelle findest du in den folgenden Bildern.
Wie du an der Tabelle siehst, wurde der Mandant und der Datenbankschlüssel für die Kopftabelle automatisch generiert. Die Datenstruktur die wie erzeugt haben, hat im initialen Zustand keinen Schlüssel. In einem späteren Artikel werden, wir aber noch einen Schlüssel anlegen.
Fazit
SAP stellt bereits einige Funktionen zur Verfügung, die dir die Arbeit mit BOPF erleichtern und dir bei der Generierung der Dictionary Objekte helfen. Die Anlage der Knoten und dahinterliegenden Datenstruktur ist mit etwas Übung in kurzer Zeit erledigt und wir können uns den eigentlichen Programmiertätigkeiten zuwenden.