Kapitel 9: Datenmodell & -Abbildung – 10Objektverwaltung höherer Ordnung (OHO) – SS 2001
9.2 SAP R/3: Datenmodell, Metadaten, & Abbildung auf RDBMS
� SAP R/3 Repository� Analyse: Datenmodell von SAP R/3
• SAP-SERM
� Metadatenverwaltung• Data Dictionary
� Abbildung von SAP-Tabellen auf Tabellen des RDBMS
� Vorbereitung der praktischen Übung (Ü6)• Bankanwendung in SAP R/3 (Teil I)
Kapitel 9: Datenmodell & -Abbildung – 11Objektverwaltung höherer Ordnung (OHO) – SS 2001
SAP R/3 Repository: Übersicht
SAP R/3Anwender
SAP R/3Administrator/
Entwickler/Consultant
R/3 Repository
QMQualitäts-
management
COControlling
AAAnlagen-wirtschaft
SDVertrieb
MMMaterial-wirtschaft
TRTreasury
HRPersonalplang.& -entwicklung
PSProjekt-system
PMInstand-haltung
PPProduktions-
planung
ISBranchen-lösungen
FIFinanz-wesen
IMInvestitions-management
ECUnternehmens
Controlling
PAPersonal-
administration
benutzt
TabellenProgramme
etc.
definiert /passt an
Kapitel 9: Datenmodell & -Abbildung – 12Objektverwaltung höherer Ordnung (OHO) – SS 2001
Integriertes SAP R/3 Repository
� Repository enthält sämtliche Daten, Objekte sowie Metadaten, die das R/3-System beschreiben
� Verwendung• Analyse• Design• Implementation
� Orthogonal hierzu: Sichtweisen• Datenorientiert • Funktionsorientiert • Prozessorientiert
Kapitel 9: Datenmodell & -Abbildung – 13Objektverwaltung höherer Ordnung (OHO) – SS 2001
R/3 Repository: Konzepte & Sprachen
Analyse Design Implementation
SAP SERM
SAP Module(FI, HR, …)
EPK(Ereignis-gesteuerte
Prozessketten)
Data Dictionary
BusinessEngineering
(Open & Native)SQL
ABAP/4
Entwicklungs-klasse
prozess-orientierteSicht
funktions-orientierteSicht
daten-orientierteSicht
Kapitel 9: Datenmodell & -Abbildung – 14Objektverwaltung höherer Ordnung (OHO) – SS 2001
ImplementationDesignAnalyse
R/3 Repository: Objekte
Ü6
Ü7Ü8
Ü8Ü9 prozess-
orientierteSicht
Funktion,Ereignis,
…
Workflow Transaktionen
funktions-orientierteSicht
daten-orientierteSicht
Entitäten,Beziehungen
Tabellen,Domänen,
Fremdschlüssel,...
DB-Tabelleninterne TabellenABAP-Variablen,
…
Programm,Report,
…
ManuelleÜbersetzung
Tool-unterstützte Übersetzung
Kapitel 9: Datenmodell & -Abbildung – 15Objektverwaltung höherer Ordnung (OHO) – SS 2001
Tools des R/3 Repository
� Data Modeler • Datenmodellierung
� Data Dictionary
• Metadatenverwaltung� Data Browser
• Zugriff auf Datenbanktabellen (nur Anwendungsdaten)� Object Navigator
• Zugriff auf sämtliche Programmobjekte� Entwicklungswerkzeuge
• ABAP-Editor• Screen Painter, ...
� Business Workflow• Definitionswerkzeuge• Laufzeitwerkzeuge
Kapitel 9: Datenmodell & -Abbildung – 16Objektverwaltung höherer Ordnung (OHO) – SS 2001
Datenmodell: SAP-SERM …
15032
Einkaufs-information
Einkaufs-organisation -Einkaufs-information
15035
Einkaufsinformation
H HBestellpreis-entwicklung
15028
subcontracting
15077Einkaufs-organisation -Einkaufsinfo-
� SERM = Structured Entity Relationship Model� Tool-Unterstützung: Data Modeler
Kapitel 9: Datenmodell & -Abbildung – 17Objektverwaltung höherer Ordnung (OHO) – SS 2001
… Datenmodell: SAP-SERM
� Modifiziertes Entity-Relationship-Modell
� Setzt sich zusammen aus
• Entitätstypen• 4 unterschiedliche Beziehungstypen• Ohne Berücksichtigung der Attribute
� Strukturierung (S in SERM)• Beziehungen sind nur horizontal dargestellt, und nur von links nach rechts• Keine m:n-Beziehungen erlaubt• Erhöht die Lesbarkeit, führt aber zu recht „unförmigen” Datenmodellen
� Funktion des SAP-SERM• Primär: Dokumentation des Systems• Jedoch auch: (begrenzt) Unterstützung von kundenspezifischen
Erweiterungen/Anpassungen
Kapitel 9: Datenmodell & -Abbildung – 18Objektverwaltung höherer Ordnung (OHO) – SS 2001
SAP-SERM-Beziehungstypen: Hierarchisch
Hierarchische Beziehung
• Schlüssel der Zielentität Z (abhängige Entität) hängt vom Schlüssel der Quellentität Q ab
• Im erweiterten ER-Modell (EERM) entspricht daher Zeiner schwachen Entität
QQ ZZH
SERM
EERM
bzw.Q Z
keyQ keyQ keyZ
(1,1)Q Z
Kapitel 9: Datenmodell & -Abbildung – 19Objektverwaltung höherer Ordnung (OHO) – SS 2001
SAP-SERM-Beziehungstypen: Aggregierend
Aggregierende Beziehung:
• Analog zur hierarchischen Beziehung, nur ist die Zielentität vonmehreren Quellentitäten existenzabhängig
Q1
Z
keyQ1
keyZ
(1,1)
QnkeyQn
...
(1,1)
keyQ1
keyQn
SERM
EERM
Q1Q1
QnQn
ZZA
...
Kapitel 9: Datenmodell & -Abbildung – 20Objektverwaltung höherer Ordnung (OHO) – SS 2001
SAP-SERM-Beziehungstypen: Referentiell
Referentielle Beziehung
• Ein Nicht-Schlüsselfeld der Zielentität Z (abhängige Entität)hängt vom Schlüssel der Quellentität Q ab
• Entspricht einer Fremdschlüsselabhängigkeit im Relationenmodell
ZZ
RSERM
EERM
Q Z
keyQ keyZ
(0,1)
keyQForeign keyreferences Q.keyQ
Kapitel 9: Datenmodell & -Abbildung – 21Objektverwaltung höherer Ordnung (OHO) – SS 2001
SAP-SERM-Beziehungstypen: IS-A
IS-A-Beziehung
• Analogon zur IS-A-Beziehung des EERM• Eigenschaften: vollständig überdeckend und disjunkt• Allerdings: keine automatische Umsetzung in entsprechende
Konsistenzregeln
General
Special
SERM
EERM
GeneralGeneral SpecialSpecial
Kapitel 9: Datenmodell & -Abbildung – 22Objektverwaltung höherer Ordnung (OHO) – SS 2001
SAP-SERM-Notation: Kardinalitäten
� Kardinalitäten sind in die Darstellung der Beziehungstypen integriert (ausser bei IS-A-Beziehungen)
• Quellentität besitzt genau eineabhängige Entität
• Quellentität besitzt mindestenseine abhängige Entität
• Quellentität besitzt höchstenseine abhängige Entität
• Quellentität besitzt beliebig vieleabhängige Entitäten
1:cc ∈∈∈∈ {0,1}
1:mm > 0
1:cmcm ≥ 0
1:1
Kapitel 9: Datenmodell & -Abbildung – 23Objektverwaltung höherer Ordnung (OHO) – SS 2001
SAP R/3-Tabellen
� Tabelle wichtigste Datenstruktur in SAP R/3• Jede Entität im Datenmodell entspricht einer SAP-Tabelle
bzw. einer View� Data Dictionary: Verwaltung von Metadaten über
• SAP-Tabellen• Sonstige SAP-Schemaobjekte
– Domänen
spezifische Ausprägungen der 23 SAP-internen Basisdatentypen,evtl. ergänzt um Wertebereichsbeschränkungen
– Datenelemente (semantische Domänen)Basisdatentypen angereichert mit zusätzlicher Semantik: Beschreibung, Formatierung, etc.
• Aber auch Schema-Objekte der unterliegenden Datenbank– Views– Indizes– Fremdschlüssel, ...
Kapitel 9: Datenmodell & -Abbildung – 24Objektverwaltung höherer Ordnung (OHO) – SS 2001
Rückblick: Architektur von SAP R/3
…SAPGUI(Business Client) Web-Client
Datenhaltung
Präsentation
Anwendungslogik
Dispatcher
HTTP
Web Server
• Anwendungen(ABAP)
• Data Dictionary
DynPro-Interpreter
ABAP-Interpreter
SAPGUI(Business Client)
Datenbank-Schnittstelle
SAP-Tabellen
DB-Tabellen
Kapitel 9: Datenmodell & -Abbildung – 25Objektverwaltung höherer Ordnung (OHO) – SS 2001
Shared Memory
Tabellen-puffer
DynPro-Interpreter
Dialog-Workprozess
Native SQL Open SQL
ABAP-Interpreter
Rückblick: Dialog-Workprozess
Data
Dictionary
Datenbank-Schnittstelle
Kapitel 9: Datenmodell & -Abbildung – 26Objektverwaltung höherer Ordnung (OHO) – SS 2001
Von R/3-Tabellen zu DB-Tabellen …
� Abbildung der logischen SAP-Tabellen auf physische Tabellen des unterliegenden RDBMS• Transparente Tabellen
– 1:1 Abbildung, d.h. eine Datenbankrelation pro Tabelle– Anwendungsdaten
SAP-Tabellen
DB-Tabellen
Kapitel 9: Datenmodell & -Abbildung – 27Objektverwaltung höherer Ordnung (OHO) – SS 2001
… Von R/3-Tabellen zu DB-Tabellen …
• Pool-Tabellen– Mehrere SAP-Tabellen mit gleichem Schema in einer DB-Tabelle– In der Datenbank wird zu jedem Tupel gespeichert, zu welcher
SAP-Tabelle es gehört
SAP-Tabellen
DB-TabellenA
B
AA
AA
AA
BB
B
B
Kapitel 9: Datenmodell & -Abbildung – 28Objektverwaltung höherer Ordnung (OHO) – SS 2001
… Von R/3-Tabellen zu DB-Tabellen
• Cluster-Tabellen– Mehrere, logisch zusammengehörende SAP-Tabellen in einer
DB-Tabelle (objektweise Speicherung) – Voraussetzung: zusammengehörende Datensätze (Tupel der SAP-
Tabellen) über gemeinsame Primärschlüssel identifizierbar
SAP-Tabellen
DB-TabellenAKey
BKey
Key C
p
p
p
q
q
q
r
r
r
s
s
s
Keypqrs
Kapitel 9: Datenmodell & -Abbildung – 29Objektverwaltung höherer Ordnung (OHO) – SS 2001
Unterscheidung: Tabellen, Datenelemente, Domänen
(technische Angaben)
Kontostandin CHF
Betrag mit zweiNachkommastellen
Konto
Konto-Stand
KtoNr Zins-satz
CURR (Währungsfeld, abgelegt als DEC)
Datentyp: CURRStellen: 12Dezimalst.: 2Werteber.: > -500,00
SAP-Basisdatentypen
DomänenBETRAG
Buchungsbetragin CHF
Datenelemente
(technische & betriebs-wirtschaftliche Angaben)
Buchung
Kto-von
BuchNr Kto-nach
Betrag
KONTOSTAND
TabellenLohnauszahlung
KtoNr Monat Betrag
BUCHUNGSBETRAG
Kapitel 9: Datenmodell & -Abbildung – 30Objektverwaltung höherer Ordnung (OHO) – SS 2001
Umsetzung der Basis-Datentypen� Die SAP-Basisdatentypen (Domänen-Datentypen) werden
automatisch durch die Datenbankschnittstelle und dasData Disctionary auf die Datentypen des jeweils verwendeten RDBMS umgesetzt
� Domänen-Datentypen und ABAP-Datentypen stimmen ebenfalls nicht direkt überein. Daher auch hier automatische Übersetzung im Data Dictionary
SAP-Basisdatentypen
Datenbank-Datentypen
automatische Übersetzung
ABAP-Datentypen
automatische Übersetzung
Kapitel 9: Datenmodell & -Abbildung – 31Objektverwaltung höherer Ordnung (OHO) – SS 2001
RDBMS von SAP R/3
� Aus Sicht der Datenbank existiert nur ein einziger Benutzer (SAPR3) als Eigentümer aller Datenbank-Objekte
� Alle Sourcen des Systems sind in der Datenbank abgelegt• Diese Tabellen sind jedoch im Data Dictionary nicht sichtbar
� Z.B. Verwaltung der ABAP-Programme(sowohl Quellcode als auch Bytecode)• Datenbanktabellen SAPR3.D010S, SAPR3.D010T, SAPR3.D010Y, ...• Code als LONG RAW Feld gespeichert
Kapitel 9: Datenmodell & -Abbildung – 32Objektverwaltung höherer Ordnung (OHO) – SS 2001
Praktische Übung (Allg.)
� Implementierung des Transfer-Szenarios innerhalb von SAP R/3(OHO-Bank)
� Jeder OHO-Teilnehmer erhält ein SAP-Account (dbsxx) mit Entwickler-Berechtigung• “Normale” Benutzer werden lokal verwaltet• Entwickler müssen jedoch bei SAP in Walldorf registriert werden
(in Form eines benutzerspezifischen Entwicklerschlüssels)• Zusätzlich: Registrierung für jedes zu ändernde SAP-Objekt benötigt
(des Original-SAP-Systems)� Entwicklungen in SAP R/3
• Begrenzter Namensraum: Y… oder Z…• Konvention für die Übung
– Benennung: ZOHOxx… wobei xx die Login-Nr aus dbsxx ist– Alle Entwicklungen in privater Entwicklungsklasse Z_OHO_DBSxx
ablegen (Sammlung von logisch zusammengehörenden Objekten).Dies erleichtert das Wiederauffinden der eigenen Objekte
Kapitel 9: Datenmodell & -Abbildung – 33Objektverwaltung höherer Ordnung (OHO) – SS 2001
Praktische Übung (Ü6)
� Datenmodell der OHO-Bank in SAP-SERM umsetzen
� dabei die bestehende Kundentabelle KNA1 in Form einer View übernehmen, die Konto- und die Buchungstabelle neu imData Dictionary anlegen
ZOHOxxKUN ZOHOxxKTO ZOHOxxBUCH(0,*) (1,1) (0,*) (1,1)