Post on 16-Mar-2018
Kapitel 10: Datenmodell & -Abbildung – 1Objektverwaltung höherer Ordnung (OHO) – SS 2002
Kap. 10 Datenmodellierung und –verwaltung10.1 Abbildung von Anwendungsobjekten auf
Datenbankobjekte in ERP-Systemen10.2 Workshop: Datenmodell, Metadaten, & Abbildung
auf RDBMS in SAP R/3
Kapitel 10: Datenmodell & -Abbildung – 2Objektverwaltung höherer Ordnung (OHO) – SS 2002
10.1 Anwendungsobjekte oberhalb von DB-Objekten
Komplexe betriebswirtschaftliche Anwendungen erfordern in der Regel ein spezielles Datenmodell auf Anwendungsebene (Anwendungsobjekte bzw. Business Objects)• „Objektverwaltung höherer Ordnung“
Anwendungsobjekte werden in einer oder in mehreren Datenbanken gespeichert• Abbildung von Anwendungsobjekten auf Datenbankobjekte
(Relationen, DB-Objekte) • Da zumeist mehrere Datenbanksysteme unterstützt werden,
muss diese Abbildung herstellerunabhängig geschehen(jeder DB-Hersteller hat eine proprietäre Schnittstelle zur Datenbank, eigene Datentypen, usw.)
Kapitel 10: Datenmodell & -Abbildung – 3Objektverwaltung höherer Ordnung (OHO) – SS 2002
Anwendungsobjekte DB-ObjekteDatenbank-Abstraktions-Schicht innerhalb des ERP-Systems, zwischen Anwendungslogik und Datenbank, gewährleistet Unabhängigkeit vom Datenbankprodukt• z.B. durch Einführung eines eigenen SQL-Dialekts, der in den
speziellen Dialekt der verwendeten DB umgesetzt wird
Meta-Daten zur Objektverwaltung • Die Business Objects müssen auf der Anwendungsebene verwaltet
werden• Dazu ist Meta-Information nötig
– Zur Beschreibung der existierenden Anwendungsobjekte– Zur Abbildung auf Datenbankobjekte
Data Dictionary
Kapitel 10: Datenmodell & -Abbildung – 4Objektverwaltung höherer Ordnung (OHO) – SS 2002
Anwendungsobjekte DB-Objekte
…
Betriebswirtschaftliche Anwendungslogik
Datenbank-Abstraktion
Betriebswirtschaftliche Anwendungslogik
Client-GUI
DataDictionary
Client-GUI Client-GUI Client-GUI
Kapitel 10: Datenmodell & -Abbildung – 5Objektverwaltung höherer Ordnung (OHO) – SS 2002
10.2 SAP R/3: Datenmodell, Metadaten, & Abbildung auf RDBMS
SAP R/3 RepositoryAnalyse: Datenmodell von SAP R/3• SAP-SERM
Metadatenverwaltung• Data Dictionary
Abbildung von SAP-Tabellen auf Tabellen des RDBMS
Vorbereitung der praktischen Übung (Ü7)• Bankanwendung in SAP R/3 (Teil I)
Kapitel 10: Datenmodell & -Abbildung – 6Objektverwaltung höherer Ordnung (OHO) – SS 2002
SAP R/3 Repository: Übersicht
SAP R/3Anwender
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
SAP R/3Administrator/
Entwickler/Consultant
TabellenProgramme
etc.
definiert /passt an
Kapitel 10: Datenmodell & -Abbildung – 7Objektverwaltung höherer Ordnung (OHO) – SS 2002
Integriertes SAP R/3 RepositoryRepository 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 10: Datenmodell & -Abbildung – 8Objektverwaltung höherer Ordnung (OHO) – SS 2002
R/3 Repository: Konzepte & Sprachen
Implementation
ABAP/4
(Open & Native)SQL
Entwicklungs-klasse
Design
Data Dictionary
BusinessEngineering
Analyse
SAP Module(FI, HR, …)
SAP SERM
EPK(Ereignis-gesteuerte
Prozessketten)
prozess-orientierteSicht
funktions-orientierteSicht
daten-orientierteSicht
Kapitel 10: Datenmodell & -Abbildung – 9Objektverwaltung höherer Ordnung (OHO) – SS 2002
R/3 Repository: Objekte
ImplementationDesignAnalyse
ManuelleÜbersetzung
Tool-unterstützte Übersetzung
Entitäten,Beziehungen
Tabellen,Domänen,
Fremdschlüssel,...
DB-Tabelleninterne TabellenABAP-Variablen,
…
Programm,Report,
…
Funktion,Ereignis,
… Workflow Transaktionen
prozess-orientierteSicht
Ü9
funktions-orientierteSicht
Ü8
daten-orientierteSicht
Ü7
Kapitel 10: Datenmodell & -Abbildung – 10Objektverwaltung höherer Ordnung (OHO) – SS 2002
Tools des R/3 RepositoryData Modeler• Datenmodellierung
Data Dictionary• Metadatenverwaltung
Data Browser• Zugriff auf Datenbanktabellen (nur Anwendungsdaten)
Object Navigator• Zugriff auf sämtliche Programmobjekte
Entwicklungswerkzeuge• ABAP-Editor• Screen Painter• Menu Painter (Definition von Buttons & Menüeinträgen)
Kapitel 10: Datenmodell & -Abbildung – 11Objektverwaltung höherer Ordnung (OHO) – SS 2002
Datenmodell: SAP-SERM …
15032
Einkaufs-information
Einkaufs-organisation -Einkaufs-information
15035
Einkaufsinformation
H HBestellpreis-entwicklung
15028
subcontracting
15077Einkaufs-organisation -Einkaufsinfo-
SERM = Structured Entity Relationship ModelTool-Unterstützung: Data Modeler
Kapitel 10: Datenmodell & -Abbildung – 12Objektverwaltung höherer Ordnung (OHO) – SS 2002
… Datenmodell: SAP-SERMModifiziertes 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 10: Datenmodell & -Abbildung – 13Objektverwaltung höherer Ordnung (OHO) – SS 2002
SAP-SERM-Beziehungstypen: Hierarchisch Hierarchische Beziehung
QQH
ZZSERM
• 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
EERM
bzw.Q Z
keyQ keyQ keyZ
(1,1)Q ZZ
Kapitel 10: Datenmodell & -Abbildung – 14Objektverwaltung höherer Ordnung (OHO) – SS 2002
SAP-SERM-Beziehungstypen: AggregierendAggregierende Beziehung:
SERM
Q1
Z
keyQ1
keyZ
(1,1)
QnkeyQn
...(1,1)
keyQ1
keyQn
EERM
Q1Q1
QnQn
ZZA
...
• Analog zur hierarchischen Beziehung, nur ist die Zielentität vonmehreren Quellentitäten existenzabhängig
Kapitel 10: Datenmodell & -Abbildung – 15Objektverwaltung höherer Ordnung (OHO) – SS 2002
SAP-SERM-Beziehungstypen: ReferentiellReferentielle Beziehung
Z
Z
RSERM
• 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
EERM
Q Z
keyQ keyZ
(0,1)keyQ
Foreign keyreferences Q.keyQ
Kapitel 10: Datenmodell & -Abbildung – 16Objektverwaltung höherer Ordnung (OHO) – SS 2002
SAP-SERM-Beziehungstypen: IS-AIS-A-Beziehung
• Analogon zur IS-A-Beziehung des EERM• Eigenschaften: vollständig überdeckend und disjunkt• Allerdings: keine automatische Umsetzung in entsprechende
Konsistenzregeln
SERM
General
Special
EERM
GeneralGeneral SpecialSpecial
Kapitel 10: Datenmodell & -Abbildung – 17Objektverwaltung höherer Ordnung (OHO) – SS 2002
SAP-SERM-Notation: KardinalitätenKardinalitä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 10: Datenmodell & -Abbildung – 18Objektverwaltung höherer Ordnung (OHO) – SS 2002
SAP R/3-TabellenTabelle wichtigste Datenstruktur in SAP R/3• Jede Entität im Datenmodell entspricht einer SAP-Tabelle
bzw. einer ViewData 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 10: Datenmodell & -Abbildung – 19Objektverwaltung höherer Ordnung (OHO) – SS 2002
Rückblick: Architektur von SAP R/3
Dispatcher
HTTP
Web Server
DynPro-InterpreterABAP-Interpreter
Datenbank-Schnittstelle
SAP-Tabellen
…SAPGUI(Business Client)
SAPGUI(Business Client) Web-Client Präsentation
Datenhaltung
Anwendungslogik• Anwendungen
(ABAP)• Data Dictionary
DB-Tabellen
Kapitel 10: Datenmodell & -Abbildung – 20Objektverwaltung höherer Ordnung (OHO) – SS 2002
Rückblick: Dialog-Workprozess
Shared Memory
Tabellen-puffer
DynPro-Interpreter
Dialog-Workprozess
Native SQL Open SQL
ABAP-InterpreterData
Dictionary
Datenbank-Schnittstelle
Kapitel 10: Datenmodell & -Abbildung – 21Objektverwaltung höherer Ordnung (OHO) – SS 2002
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 10: Datenmodell & -Abbildung – 22Objektverwaltung höherer Ordnung (OHO) – SS 2002
… 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
A DB-Tabellen
AA
AAAA
BB
B
BB
Kapitel 10: Datenmodell & -Abbildung – 23Objektverwaltung höherer Ordnung (OHO) – SS 2002
… Von R/3-Tabellen zu DB-Tabellen• Cluster-Tabellen
– Mehrere, logisch zusammengehörende SAP-Tabellen in einerDB-Tabelle (objektweise Speicherung)
– Voraussetzung: zusammengehörende Datensätze (Tupel der SAP-Tabellen) über gemeinsame Primärschlüssel identifizierbar
DB-Tabellen
Keypqrs
SAP-Tabellen
AKeypqrs
BKeypqrs
Key Cpqrs
Kapitel 10: Datenmodell & -Abbildung – 24Objektverwaltung höherer Ordnung (OHO) – SS 2002
Unterscheidung: Tabellen, Datenelemente, Domänen
Lohnauszahlung
KtoNr Monat Betrag
Buchung
Kto-von
BuchNr Kto-nach
Betrag
Konto
Konto-Stand
KtoNr Zins-satz
Tabellen
(technische Angaben)
Kontostandin CHF
Betrag mit zweiNachkommastellen
CURR (Währungsfeld, abgelegt als DEC)
Datentyp: CURRStellen: 12Dezimalst.: 2Werteber.: > -500,00
SAP-Basisdatentypen
DomänenBETRAG
BUCHUNGSBETRAG KONTOSTANDDatenelemente Buchungsbetrag
in CHF(technische & betriebs-wirtschaftliche Angaben)
Kapitel 10: Datenmodell & -Abbildung – 25Objektverwaltung höherer Ordnung (OHO) – SS 2002
Umsetzung der Basis-DatentypenDie SAP-Basisdatentypen (Domänen-Datentypen) werden automatisch durch die Datenbankschnittstelle und dasData Dictionary auf die Datentypen des jeweils verwendeten RDBMS umgesetzt
Datenbank-Datentypen
automatische Übersetzung
SAP-Basisdatentypen
automatische Übersetzung
ABAP-Datentypen
Domänen-Datentypen und ABAP-Datentypen stimmen ebenfalls nicht direkt überein. Daher auch hier automatische Übersetzung im Data Dictionary
Kapitel 10: Datenmodell & -Abbildung – 26Objektverwaltung höherer Ordnung (OHO) – SS 2002
RDBMS von SAP R/3Aus 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 10: Datenmodell & -Abbildung – 27Objektverwaltung höherer Ordnung (OHO) – SS 2002
Praktische Übung (Allg.)Implementierung des Transfer-Szenarios (OHO-Bank) innerhalb von SAP R/3Jeder OHO-Teilnehmer erhält ein SAP-Account (dbsxx) mit Entwickler-Berechtigung (xx entspricht dabei der Nummer des Oracle-Accounts ohoxx)• “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 ZOHOxx ablegen
(Sammlung von logisch zusammengehörenden Objekten).Dies erleichtert das Wiederauffinden der eigenen Objekte
Kapitel 10: Datenmodell & -Abbildung – 28Objektverwaltung höherer Ordnung (OHO) – SS 2002
Praktische Übung (Ü7)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
(0,*) (1,1) (0,*) (1,1)ZOHOxxKUN ZOHOxxKTO ZOHOxxBUCH