Kapitel 10: "Datenmodellierung und

Werbung
Kap.10
ERP: Datenmodellierung und –verwaltung
10.1 Abbildung von Anwendungsobjekten auf
Datenbankobjekte in ERP-Systemen
10.2 Workshop: Datenmodell, Metadaten, & Abbildung
auf RDBMS in SAP R/3
Objektverwaltung höherer Ordnung (OHO) – SS 2003
Kapitel 10: ERP: Datenmodell & -Abbildung – 1
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 hersteller-unabhängig geschehen
(jeder DB-Hersteller hat eine proprietäre Schnittstelle zur Datenbank,
eigene Datentypen, usw.)
Objektverwaltung höherer Ordnung (OHO) – SS 2003
Kapitel 10: ERP: Datenmodell & -Abbildung – 2
Anwendungsobjekte « DB-Objekte
‰
Datenbank-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
Objektverwaltung höherer Ordnung (OHO) – SS 2003
Kapitel 10: ERP: Datenmodell & -Abbildung – 3
Anwendungsobjekte « DB-Objekte
Client-GUI
Client-GUI
Client-GUI
…
Client-GUI
Betriebswirtschaftliche
Betriebswirtschaftliche
Data
Anwendungslogik
Anwendungslogik
Dictionary
Datenbank-Abstraktion
Objektverwaltung höherer Ordnung (OHO) – SS 2003
Kapitel 10: ERP: Datenmodell & -Abbildung – 4
10.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 (Ü7)
•
Bankanwendung in SAP R/3 (Teil I)
Objektverwaltung höherer Ordnung (OHO) – SS 2003
Kapitel 10: ERP: Datenmodell & -Abbildung – 5
SAP R/3 Repository: Übersicht
SAP R/3
Administrator/
Entwickler/
Consultant
SAP R/3
Anwender
definiert /
passt an
benutzt
QM
Qualitätsmanagement
PA
PM
Instandhaltung
PP
Produktionsplanung
PS
Projektsystem
IS
Branchenlösungen
HR
MM
Materialwirtschaft
SD
Vertrieb
Unternehmens
Controlling
Personaladministration
Personalplang.
& -entwicklung
FI
Finanzwesen
AA
Anlagenwirtschaft
TR
Treasury
IM
Investitionsmanagement
Tabellen
Programme
etc.
EC
CO
Controlling
R/3 Repository
Objektverwaltung höherer Ordnung (OHO) – SS 2003
Kapitel 10: ERP: Datenmodell & -Abbildung – 6
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
Objektverwaltung höherer Ordnung (OHO) – SS 2003
Kapitel 10: ERP: Datenmodell & -Abbildung – 7
R/3 Repository: Konzepte & Sprachen
Analyse
EPK
(Ereignisgesteuerte
Prozessketten)
Design
Implementation
Business
Engineering
Entwicklungsklasse
prozessorientierte
Sicht
ABAP/4
funktionsorientierte
Sicht
SAP Module
(FI, HR, …)
SAP SERM
Data Dictionary
Objektverwaltung höherer Ordnung (OHO) – SS 2003
(Open & Native)
SQL
datenorientierte
Sicht
Kapitel 10: ERP: Datenmodell & -Abbildung – 8
R/3 Repository: Objekte
Analyse
Ü9
Design
Funktion,
Ereignis,
…
Workflow
Ü8
Ü7
Entitäten,
Beziehungen
Tabellen,
Domänen,
Fremdschlüssel,
...
Manuelle
Übersetzung
Implementation
Transaktionen
prozessorientierte
Sicht
Programm,
Report,
…
funktionsorientierte
Sicht
DB-Tabellen
interne Tabellen
ABAP-Variablen,
…
datenorientierte
Sicht
Tool-unterstützte
Übersetzung
Objektverwaltung höherer Ordnung (OHO) – SS 2003
Kapitel 10: ERP: Datenmodell & -Abbildung – 9
Tools des R/3 Repository
‰
Data Modeler
•
‰
Data Dictionary
•
‰
Zugriff auf Datenbanktabellen (nur Anwendungsdaten)
Object Navigator
•
‰
Metadatenverwaltung
Data Browser
•
‰
Datenmodellierung
Zugriff auf sämtliche Programmobjekte
Entwicklungswerkzeuge
•
•
•
ABAP-Editor
Screen Painter
Menu Painter (Definition von Buttons & Menüeinträgen)
Objektverwaltung höherer Ordnung (OHO) – SS 2003
Kapitel 10: ERP: Datenmodell & -Abbildung – 10
Datenmodell: SAP-SERM …
‰
‰
SERM = Structured Entity Relationship Model
Tool-Unterstützung: Data Modeler
Einkaufsinformation
15032
Einkaufsinformation
15028
15035
H
Einkaufsorganisation Einkaufsinformation
H
Bestellpreisentwicklung
15077
Einkaufsorganisation Einkaufsinfosubcontracting
Objektverwaltung höherer Ordnung (OHO) – SS 2003
Kapitel 10: ERP: Datenmodell & -Abbildung – 11
… Datenmodell: SAP-SERM
‰
Modifiziertes Entity-Relationship-Modell
‰
Setzt sich zusammen aus
•
•
•
‰
Strukturierung (S in SERM)
•
•
•
‰
Entitätstypen
4 unterschiedliche Beziehungstypen
Ohne Berücksichtigung der Attribute
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
Objektverwaltung höherer Ordnung (OHO) – SS 2003
Kapitel 10: ERP: Datenmodell & -Abbildung – 12
SAP-SERM-Beziehungstypen: Hierarchisch
Hierarchische Beziehung
Q
Q
SERM
•
•
H
ZZ
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 Z
einer schwachen Entität
EERM
keyQ
Q
keyQ
(1,1)
keyZ
Z
bzw.
Objektverwaltung höherer Ordnung (OHO) – SS 2003
Q
Z
Kapitel 10: ERP: Datenmodell & -Abbildung – 13
SAP-SERM-Beziehungstypen: Aggregierend
Aggregierende Beziehung:
Q
Q11
A
...
SERM
ZZ
Q
Qnn
•
EERM
Analog zur hierarchischen Beziehung, nur ist die Zielentität von
mehreren Quellentitäten existenzabhängig
keyQ1
Q1
(1,1)
...
keyQn
Qn
Objektverwaltung höherer Ordnung (OHO) – SS 2003
keyQ1
Z
(1,1)
keyZ
keyQn
Kapitel 10: ERP: Datenmodell & -Abbildung – 14
SAP-SERM-Beziehungstypen: Referentiell
Referentielle Beziehung
SERM
•
•
EERM
ZZ
R
Q
Q
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
keyQ
keyZ
Q
Z
(0,1)
Objektverwaltung höherer Ordnung (OHO) – SS 2003
keyQ
Foreign key
references Q.keyQ
Kapitel 10: ERP: Datenmodell & -Abbildung – 15
SAP-SERM-Beziehungstypen: IS-A
IS-A-Beziehung
SERM
•
•
•
EERM
General
General
Special
Special
Analogon zur IS-A-Beziehung des EERM
Eigenschaften: vollständig überdeckend und disjunkt
Allerdings: keine automatische Umsetzung in entsprechende
Konsistenzregeln
General
Special
Objektverwaltung höherer Ordnung (OHO) – SS 2003
Kapitel 10: ERP: Datenmodell & -Abbildung – 16
SAP-SERM-Notation: Kardinalitäten
‰
Kardinalitäten sind in die Darstellung der Beziehungstypen
integriert (ausser bei IS-A-Beziehungen)
•
1:1
Quellentität besitzt genau eine
abhängige Entität
•
1:m
m>0
Quellentität besitzt mindestens
eine abhängige Entität
•
1:c
c ∈ {0,1}
Quellentität besitzt höchstens
eine abhängige Entität
•
1:cm
cm ≥ 0
Quellentität besitzt beliebig viele
abhängige Entitäten
Objektverwaltung höherer Ordnung (OHO) – SS 2003
Kapitel 10: ERP: Datenmodell & -Abbildung – 17
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, ...
Objektverwaltung höherer Ordnung (OHO) – SS 2003
Kapitel 10: ERP: Datenmodell & -Abbildung – 18
Rückblick: Architektur von SAP R/3
SAPGUI
(Business Client)
SAPGUI
(Business Client)
…
Web-Client
Präsentation
HTTP
Dispatcher
• Anwendungen
(ABAP)
• Data Dictionary
Web Server
DynPro-Interpreter
ABAP-Interpreter
SAPTabellen
Anwendungslogik
Datenbank-Schnittstelle
DBTabellen
Objektverwaltung höherer Ordnung (OHO) – SS 2003
Datenhaltung
Kapitel 10: ERP: Datenmodell & -Abbildung – 19
Rückblick: Dialog-Workprozess
Dialog-Workprozess
Shared Memory
DynPro-Interpreter
ABAP-Interpreter
Native SQL
Open SQL
DatenbankSchnittstelle
Objektverwaltung höherer Ordnung (OHO) – SS 2003
Data
Dictionary
Tabellenpuffer
Kapitel 10: ERP: Datenmodell & -Abbildung – 20
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
Objektverwaltung höherer Ordnung (OHO) – SS 2003
Kapitel 10: ERP: Datenmodell & -Abbildung – 21
… 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
B
Objektverwaltung höherer Ordnung (OHO) – SS 2003
DB-Tabellen
A
A
B
B
A
A
B
A
A
B
Kapitel 10: ERP: Datenmodell & -Abbildung – 22
… 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 SAPTabellen) über gemeinsame Primärschlüssel identifizierbar
SAPTabellen
A
DB-Tabellen
Key
p
q
r
s
B
Key
p
q
r
s
Key
p
q
r
s
C
Objektverwaltung höherer Ordnung (OHO) – SS 2003
Key
p
q
r
s
Kapitel 10: ERP: Datenmodell & -Abbildung – 23
Unterscheidung: Tabellen, Datenelemente, Domänen
Lohnauszahlung
Tabellen
KtoNr
Monat
Betrag
Buchung
BuchNr Betrag Ktovon
BUCHUNGSBETRAG
Datenelemente
(technische & betriebswirtschaftliche Angaben)
(technische Angaben)
Ktonach
KtoNr
KontoStand
Zinssatz
KONTOSTAND
Buchungsbetrag
in CHF
Kontostand
in CHF
BETRAG
Domänen
Konto
Betrag mit zwei
Nachkommastellen
Datentyp:
Stellen:
Dezimalst.:
Werteber.:
CURR
12
2
> -500,00
SAP-Basisdatentypen CURR (Währungsfeld, abgelegt als DEC)
Objektverwaltung höherer Ordnung (OHO) – SS 2003
Kapitel 10: ERP: Datenmodell & -Abbildung – 24
Umsetzung der Basis-Datentypen
‰
Die SAP-Basisdatentypen (Domänen-Datentypen) werden
automatisch durch die Datenbankschnittstelle und das
Data 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
Objektverwaltung höherer Ordnung (OHO) – SS 2003
Kapitel 10: ERP: Datenmodell & -Abbildung – 25
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
Objektverwaltung höherer Ordnung (OHO) – SS 2003
Kapitel 10: ERP: Datenmodell & -Abbildung – 26
Praktische Übung (Allg.)
‰
‰
Implementierung des Transfer-Szenarios (OHO-Bank) innerhalb von
SAP R/3
Jeder OHO-Teilnehmer erhält ein SAP-Account (dbsxx) mit EntwicklerBerechtigung (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
Objektverwaltung höherer Ordnung (OHO) – SS 2003
Kapitel 10: ERP: Datenmodell & -Abbildung – 27
Praktische Übung (Ü7)
‰
Datenmodell der OHO-Bank in SAP-SERM umsetzen
ZOHOxxKUN
ZOHOxxKTO
(0,*)
‰
(1,1)
ZOHOxxBUCH
(0,*)
(1,1)
dabei die bestehende Kundentabelle KNA1 in Form einer View
übernehmen, die Konto- und die Buchungstabelle neu im
Data Dictionary anlegen
Objektverwaltung höherer Ordnung (OHO) – SS 2003
Kapitel 10: ERP: Datenmodell & -Abbildung – 28
Herunterladen