9.2 SAP R/3: Datenmodell, Metadaten, Abbildung auf

24
Kapitel 9: Datenmodell & -Abbildung – 10 Objektverwaltung 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)

Transcript of 9.2 SAP R/3: Datenmodell, Metadaten, Abbildung auf

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

QQ

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)