SAP R/3 Repository: Übersicht

Werbung
9.2 SAP R/3: Datenmodell, Metadaten, &
Abbildung auf RDBMS
G
G
G
SAP R/3 Repository
Analyse: Datenmodell von SAP R/3
•
SAP-SERM
Metadatenverwaltung
•
Data Dictionary
G
Abbildung von SAP-Tabellen auf Tabellen des RDBMS
G
Vorbereitung der praktischen Übung (Ü6)
•
Bankanwendung in SAP R/3 (Teil I)
Objektverwaltung höherer Ordnung (OHO) – SS 2001
Kapitel 9: Datenmodell & -Abbildung – 10
SAP R/3 Repository: Übersicht
SAP R/3
Administrator/
Entwickler/
Consultant
SAP R/3
Anwender
definiert /
passt an
benutzt
QM
Qualitätsmanagement
PM
Instandhaltung
PP
Produktionsplanung
PS
Projektsystem
IS
Branchenlösungen
MM
Materialwirtschaft
SD
Vertrieb
Unternehmens
Controlling
PA
HR
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 2001
Kapitel 9: Datenmodell & -Abbildung – 11
Integriertes SAP R/3 Repository
G
G
Repository enthält sämtliche Daten, Objekte sowie Metadaten,
die das R/3-System beschreiben
Verwendung
•
•
•
G
Analyse
Design
Implementation
Orthogonal hierzu: Sichtweisen
•
•
•
Datenorientiert
Funktionsorientiert
Prozessorientiert
Objektverwaltung höherer Ordnung (OHO) – SS 2001
Kapitel 9: Datenmodell & -Abbildung – 12
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 2001
(Open & Native)
SQL
datenorientierte
Sicht
Kapitel 9: Datenmodell & -Abbildung – 13
R/3 Repository: Objekte
Ü9
Ü8
Analyse
Design
Funktion,
Ereignis,
…
Workflow
Ü8
Ü7
Entitäten,
Beziehungen
Ü6
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 2001
Kapitel 9: Datenmodell & -Abbildung – 14
Tools des R/3 Repository
G
Data Modeler
G
Data Dictionary
G
Data Browser
G
Object Navigator
G
Entwicklungswerkzeuge
G
•
•
•
•
•
•
Datenmodellierung
Metadatenverwaltung
Zugriff auf Datenbanktabellen (nur Anwendungsdaten)
Zugriff auf sämtliche Programmobjekte
ABAP-Editor
Screen Painter, ...
Business Workflow
•
•
Definitionswerkzeuge
Laufzeitwerkzeuge
Objektverwaltung höherer Ordnung (OHO) – SS 2001
Kapitel 9: Datenmodell & -Abbildung – 15
Datenmodell: SAP-SERM …
G
G
SERM = Structured Entity Relationship Model
Tool-Unterstützung: Data Modeler
Einkaufsinformation
15032
Einkaufsinformation
H
15035
Einkaufsorganisation Einkaufsinformation
15028
H
Bestellpreisentwicklung
15077
Einkaufsorganisation Einkaufsinfosubcontracting
Objektverwaltung höherer Ordnung (OHO) – SS 2001
Kapitel 9: Datenmodell & -Abbildung – 16
… Datenmodell: SAP-SERM
G
G
G
G
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
Objektverwaltung höherer Ordnung (OHO) – SS 2001
Kapitel 9: Datenmodell & -Abbildung – 17
SAP-SERM-Beziehungstypen: Hierarchisch
Hierarchische Beziehung
•
•
H
Q
Q
SERM
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
keyZ
Z
(1,1)
bzw.
Objektverwaltung höherer Ordnung (OHO) – SS 2001
Q
Z
Kapitel 9: Datenmodell & -Abbildung – 18
SAP-SERM-Beziehungstypen: Aggregierend
Aggregierende Beziehung:
Q
Q11
A
ZZ
...
SERM
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 2001
keyQ1
Z
(1,1)
keyZ
keyQn
Kapitel 9: Datenmodell & -Abbildung – 19
SAP-SERM-Beziehungstypen: Referentiell
Referentielle Beziehung
SERM
•
•
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
EERM
keyQ
keyZ
Q
Z
keyQ
Foreign key
references Q.keyQ
(0,1)
Objektverwaltung höherer Ordnung (OHO) – SS 2001
Kapitel 9: Datenmodell & -Abbildung – 20
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 2001
Kapitel 9: Datenmodell & -Abbildung – 21
SAP-SERM-Notation: Kardinalitäten
G
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 2001
Kapitel 9: Datenmodell & -Abbildung – 22
SAP R/3-Tabellen
G
G
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 2001
Kapitel 9: Datenmodell & -Abbildung – 23
Rückblick: Architektur von SAP R/3
SAPGUI
SAPGUI
(Business Client)
(Business Client)
…
Web-Client
Präsentation
HTTP
Dispatcher
Web Server
DynPro-Interpreter
ABAP-Interpreter
• Anwendungen
(ABAP)
• Data Dictionary
SAPTabellen
Anwendungslogik
Datenbank-Schnittstelle
DBTabellen
Objektverwaltung höherer Ordnung (OHO) – SS 2001
Datenhaltung
Kapitel 9: Datenmodell & -Abbildung – 24
Rückblick: Dialog-Workprozess
Dialog-Workprozess
Shared Memory
DynPro-Interpreter
ABAP-Interpreter
Native SQL
Open SQL
DatenbankSchnittstelle
Objektverwaltung höherer Ordnung (OHO) – SS 2001
Data
Dictionary
Tabellenpuffer
Kapitel 9: Datenmodell & -Abbildung – 25
Von R/3-Tabellen zu DB-Tabellen …
G
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 2001
Kapitel 9: Datenmodell & -Abbildung – 26
… 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 2001
DB-Tabellen
A
A
B
B
A
A
B
A
A
B
Kapitel 9: Datenmodell & -Abbildung – 27
… 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
Key
p
q
r
s
B
Key
p
q
r
s
Key
p
q
r
s
C
Objektverwaltung höherer Ordnung (OHO) – SS 2001
Kapitel 9: Datenmodell & -Abbildung – 28
Unterscheidung: Tabellen, Datenelemente, Domänen
Lohnauszahlung
Tabellen
KtoNr Monat
Betrag
Buchung
BuchNr Betrag Ktovon
BUCHUNGSBETRAG
Datenelemente
(technische & betriebswirtschaftliche Angaben)
Buchungsbetrag
in CHF
Konto
Ktonach
KtoNr
KontoStand
Zinssatz
KONTOSTAND
Kontostand
in CHF
BETRAG
Domänen
(technische Angaben)
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 2001
Kapitel 9: Datenmodell & -Abbildung – 29
Umsetzung der Basis-Datentypen
G
Die SAP-Basisdatentypen (Domänen-Datentypen) werden
automatisch durch die Datenbankschnittstelle und das
Data Disctionary auf die Datentypen des jeweils verwendeten
RDBMS umgesetzt
Datenbank-Datentypen
automatische Übersetzung
SAP-Basisdatentypen
automatische Übersetzung
ABAP-Datentypen
G
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 2001
Kapitel 9: Datenmodell & -Abbildung – 30
RDBMS von SAP R/3
G
G
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
•
G
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 2001
Kapitel 9: Datenmodell & -Abbildung – 31
Praktische Übung (Allg.)
G
G
Implementierung des Transfer-Szenarios innerhalb von SAP R/3
(OHO-Bank)
Jeder OHO-Teilnehmer erhält ein SAP-Account (dbsxx) mit
Entwickler-Berechtigung
•
•
•
G
“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
Objektverwaltung höherer Ordnung (OHO) – SS 2001
Kapitel 9: Datenmodell & -Abbildung – 32
Praktische Übung (Ü6)
G
Datenmodell der OHO-Bank in SAP-SERM umsetzen
ZOHOxxKUN
ZOHOxxKTO
(0,*)
G
(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 2001
Kapitel 9: Datenmodell & -Abbildung – 33
Herunterladen