Kap. 12 Einblick in ausgewählte Produkte - Beispiel SAP R/3

Werbung
Kap. 12 Einblick in ausgewählte Produkte
- Beispiel SAP R/3 ●
Inhalt: Wertneutraler Überblick über SAP R/3 aus
Infrastruktur/Informationssysteme-Sicht
◆
◆
◆
◆
◆
●
Architektur
Datenmodell
Datenbankschnittstellen und Metadaten-Verwaltung
Konfiguration
Transaktionsverwaltung
Ziel:
◆
Verstehen der Konzepte von SAP R/3 und deren
Einordnung in den Kontext der Datenbanktechnologie
Einblick in ausgewählte Produkte: SAP R/3 - 1
IS-K
12.1 SAP R/3 vs. DBMS
●
Problemstellung
◆ C. Lever von der Firma Competence Ltd. möchte ein
Informationssystem zur Büromaterialverwaltung
einsetzen
◆ Anforderungen
– Lagerbestandsverwaltung
– Automatisierung von Bestellvorgängen
–…
●
Alternativen
◆ Datenbanklösung
◆ SAP R/3
IS-K
Einblick in ausgewählte Produkte: SAP R/3 - 2
1
Datenbanklösung …
●
C. Lever kauft
Modellierungswerkzeug
◆ Datenbanksystem
◆ Entwicklungswerkzeug
◆ GUI-Builder
◆
◆
●
…
Was erhält er davon für die Materialverwaltung ?
◆
Nichts !
Einblick in ausgewählte Produkte: SAP R/3 - 3
IS-K
… Datenbanklösung
●
Was muss C. Lever noch tun ?
Informationsmodellierung
◆ Export in Datenbankschema
◆ Implementierung aller
◆
– Funktionen
– Prozesse
IS-K
◆
Oberflächenprogrammierung
◆
...
Einblick in ausgewählte Produkte: SAP R/3 - 4
2
Materialverwaltung von SAP R/3 …
●
C. Lever kauft
◆
●
SAP R/3
Was erhält er davon für
die Materialverwaltung ?
Datenmodell
◆ Funktionen
◆ Prozesse
◆
◆
….
FUNCTION CO_RU_UNIT_CONVERSION.
DATA: TMP_D ECIMALS LIKE T006-ANDEC,
TMP _MEINS LIKE MAR A-MEINS,
TMP _MENGE_F T YPE F.
CALL FUNCTION 'UNIT_CONV ERSION_WITH_FACTOR'
EXPORTING
ADD_CONST
=0
DENOMINATOR
= UM REZ
INPUT
= TMP_ME NGE_F
NUMERATOR
= UMREN
IMPORTING
OUTPUT
= TMP_MENGE_F
EXCEPTIONS
DIVISION_BY_ZERO = 03
OVERFLOW
= 04
TYPE_INVALID = 07.
IF SY-S UBRC <> 0.
PERFORM CONVERSIO N_ERROR USING M EINH MEINS.
END IF.
ENDIF.
IF SY-SUBRC <> 0.
CLEAR T006.
T006-MSEHI = MEIN S.
SELECT SINGLE * F ROM T006 WH ERE MSEHI = T006-MSEHI.
IF SY-S UBRC = 0.
...
Einblick in ausgewählte Produkte: SAP R/3 - 5
IS-K
… Materialverwaltung von SAP R/3
●
Was muss C. Lever noch tun ?
◆ SAP R/3 verstehen bzw. sich
Consultants engagieren
IS-K
◆
Konfiguration des Systems
◆
Customizing: Auswahl und
Anpassung der ausgelieferten
branchen- und unternehmensneutralen Funktionen/Prozesse
◆
Eigenentwicklungen: Zusätzliche
unternehmensspezifische Erweiterungen
Einblick in ausgewählte Produkte: SAP R/3 - 6
3
12.2 SAP R/3 Produkt und Architektur
●
Betriebswirtschaftliche Standard-Software
◆
◆
◆
Deckt grossen Teil betriebswirtschaftlicher
Anwendungsfunktionalität ab
Unternehmens- und branchenneutral
Möglichkeit/Notwendigkeit der Kundenanpassung
(Customizing)
Basierend auf relationalem Datenbanksystem
● Kernsystem (Laufzeitsystem) implementiert in C
● Anwendungen implementiert in ABAP (eigene 4GLSprache)
● Grösse des Systems: ~7 Mio LOC (in 1994)
●
Einblick in ausgewählte Produkte: SAP R/3 - 7
IS-K
Dreistufige Client/Server-Architektur von
SAP R/3
SAPGUI
SAP Client
Library
Betriebssystem
Client
thin
Server
Betriebssystem
SAP Server
Library
SAP R/3Anwendungen
DB Client
Library
Betriebssystem
Client
thick
Präsentation
IS-K
Anwendungslogik
Server
Betriebssystem
DB Server
Library
DB
Server
Datenhaltung
Einblick in ausgewählte Produkte: SAP R/3 - 8
4
R/3 Anwendungsmodule im Überblick
QM
PM
PP
PS
IS
Qualitätsmanagement
Instandhaltung
Produktionsplanung
Projektsystem
Branchenlösungen
PA
HR
MM
Personaladministration
Personalplanung
& -entwicklung
Materialwirtschaft
Vertrieb
Treasury
Investitionsmanagement
FI
Finanzwesen
EC
SD
Unternehmens
Controlling
SAPTRR/3- IM
Anwendungen
AA
Anlagenwirtschaft
CO
Controlling
CA
Anwendungsübergreifende Funktionen
BC
Basisfunktionen
Einblick in ausgewählte Produkte: SAP R/3 - 9
IS-K
SAP R/3 Prozessübersicht
Präsentation
SAPGUIProzess
SAPGUIProzess
X-Server
PC
Dispatcher
BatchWorkprozess
Anwendungsserver
SpoolWorkprozess
DialogWorkprozess
VerbuchungsWorkprozess
Datenbankserver
IS-K
EnqueueWorkprozess
RDBMS
Einblick in ausgewählte Produkte: SAP R/3 - 10
5
Dienste und Prozesse …
Präsentation
●
SAPGUI-Prozess (1 pro Benutzersession)
Anwendungsserver (ρ 1 pro R3-System)
●
Dispatcher (1 pro Anwendungsserver)
Zentraler Prozess auf Anwendungsebene
◆ Zuweisung von Workprozessen
◆
●
Dialog-Workprozess (ρ 1 pro Anwendungsserver)
ABAP/4-Interpreter
◆ DynPro-Prozessor
◆
●
Batch-Workprozess (ρ 1 pro R3-System)
◆
Hintergrundverarbeitung
Einblick in ausgewählte Produkte: SAP R/3 - 11
IS-K
… Dienste und Prozesse ...
●
Enqueue-Workprozess (genau 1 pro R3-System)
Sperrverwaltung für SAP-Objekte
◆ Verwendet eigene Sperrtabelle, unabhängig von
unterliegender Datenbank
◆
●
Verbuchungs-Workprozess (ρ 1 pro R3-System)
◆
●
Spool-Workprozess (1 pro Rechner)
◆
IS-K
Durchführung von Datenbank-Änderungen
Druckaufbereitung
Einblick in ausgewählte Produkte: SAP R/3 - 12
6
… Dienste und Prozesse
Datenbankserver (1 pro R3-System)
●
Datenbankprozesse
◆
Multiple Server
– Ein Datenbankprozess pro Workprozess
– Beispiel: Oracle
◆
Monolithischer Server
– Ein Datenbankprozess pro System
– Separater Thread pro Workprozess
– Beispiel: ADABAS-D
Einblick in ausgewählte Produkte: SAP R/3 - 13
IS-K
Unterstützte Hardware und Systemsoftware
Sprachen
Dialog
SAPGUI
ABAP/4,
++,,(Business)
ABAP/4,C,
C,CC++
(Business)HTML,
HTML,Java
Java
Windows 3.1, Windows 95, Windows 98, Windows NT
OSF/Motif, OS/2 Presentation Manager, Macintosh, Java VM
ADABAS D, ORACLE,
MS SQL Server
Betriebssysteme
AIX, Digital UNIX,
HP-UX, Sinix, Solaris
Windows
WindowsNT
NT
OS/400
OS/400
Hardware
Bull, Digital, HP,
IBM, SNI, SUN
Bull/Zenith, Compaq,
Digital, HP (Intel), NCR,
IBM (Intel), SNI, ...
IBM
AS/400
Unix-Systeme
IS-K
DB2 für
AS/400
ADABAS D, DB2 für AIX,
Informix Online, ORACLE
Datenbanken
Einblick in ausgewählte Produkte: SAP R/3 - 14
7
12.3 Datenmodell: SAP-SERM
●
●
SERM = Structured Entity Relationship Model
Data Modeler: Beschreibung des kompletten
SAP-Datenmodells in SERM (s. Online-Demo)
Einkaufsinformation
15032
Einkaufsinformation
H
15035
Einkaufsorganisation Einkaufsinformation
15028
H
Bestellpreisentwicklung
15077
Einkaufsorganisation Einkaufsinfosubcontracting
Einblick in ausgewählte Produkte: SAP R/3 - 15
IS-K
SAP-SERM-Notation
●
Beziehungstypen
Hierarchisch
Aggregation
H
A
IS-A
Referentiell
R
●
IS-K
Kardinalitäten
1:1
1:c
c ε {0,1}
1:m
m>0
1:cm
cm ρ 0
Einblick in ausgewählte Produkte: SAP R/3 - 16
8
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 (DB- und temporäre Tabellen)
sonstige Schemaobjekte
– Indizes
– Fremdschlüssel
– Views, …
◆
Zusätzlich Links zu
– Datenbankinhalt
– Programmbibliothek
(Data Browser)
(Verwendungsnachweis)
Einblick in ausgewählte Produkte: SAP R/3 - 17
IS-K
12.4 SAP R/3 als Client des RDBMS
●
Aus Sicht der Datenbank existiert nur ein einziger
Benutzer (SAPR3) als Eigentümer aller DatenbankObjekte
●
Alle Sourcen des Systems in Datenbank abgelegt
◆
◆
●
IS-K
Diese Tabellen jedoch im Data Dictionary nicht sichtbar
sowohl Quellcode als auch Bytecode in der DB
SAP-Tabellen mit gleichen Schema oder mit logisch
zusammengehörenden Daten werden zum Teil in die
selbe physische Tabelle des unterliegenden RDBMS
abgebildet. (Pool- und Cluster-Tabellen)
Einblick in ausgewählte Produkte: SAP R/3 - 18
9
12.5 ABAP: SAP R/3-Programmiersprache
●
ABAP:
◆
Advanced Business Application Programming
Language
Interpretative Abarbeitung (via Zwischencode)
● 4GL-Sprache, erweitert um Datenbankoperationen
●
◆
Datenbankzugriff
– Open SQL
– Native SQL
Dialogorientiert (DynPro-Konzept)
● Entwicklungsumgebung im System integriert
(ABAP-Workbench)
●
Einblick in ausgewählte Produkte: SAP R/3 - 19
IS-K
Datenbankschnittstellen in SAP R/3
Dialog-Workprozess
Dialog-Workprozess
Dialog-Workprozess
Shared Memory
DynPro-Interpreter
DynPro-Interpreter
DynPro-Interpreter
ABAP-Interpreter
ABAP-Interpreter
ABAP-Interpreter
Native SQL
Open SQL
Native SQL
Open SQL
Native SQL
Open SQL
DatenbankDatenbankDatenbankSchnittstelle
Schnittstelle
Schnittstelle
Data
Dictionary
Tabellenpuffer
RDBMS
IS-K
Einblick in ausgewählte Produkte: SAP R/3 - 20
10
Open SQL vs. Native SQL
●
Open SQL
◆
◆
●
SQL-Dialekt von SAP, datenbankunabhängig
Nutzt SAP-internes Data Dictionary und Tabellenpuffer
auf Anwendungsserver-Ebene
Native SQL
◆
◆
◆
SQL-Dialekt der unterliegenden DB
Mächtiger als Open-SQL
Ohne Verwendung des SAP-internen Data Dictionary
– Kein Zugriff auf Pool-Tabellen und Cluster-Tabellen
– Nur Zugriff auf Anwendungsdaten möglich
– Umgehung der anwendungsspezifischen
betriebswirtschaftlichen Konsistenzprüfungen
– Umgehung der SAP-Transaktionsverwaltung
Einblick in ausgewählte Produkte: SAP R/3 - 21
IS-K
DynPro-Konzept
Dialogprogramm = Folge von Dialogschritten
● Jeder Dialogschritt entspricht einem DynPro (dynamisches
Programm)
● DynPro-Ablauflogik
●
◆
◆
PBO (Process Before Output)
– Bereitet Bildschirmbild zur Ausgabe vor
PAI (Process After Input)
– Verarbeitung der Benutzereingaben
OutputModul
PBO
DynPro
IS-K
Bildschirmausgabe
Benutzereingabe
InputModul
OutputModul
PAI
PBO
…
Einblick in ausgewählte Produkte: SAP R/3 - 22
11
12.6 Transaktionen in SAP/R3
●
Transaktionen heissen in SAP/R3 Logical Unit of Work (LUW). Eine
LUW besteht aus zwei Teilen:
◆ der SAP-Transaktion: Zusammenfassung der vorbereitenden
Dialogschritte Di und der
◆ SAP-Verbuchung: eigentliche Ausführung der vorbereiteten
Schritte.
Sperrdauer für SAP- Objekte
SAP-LUW
SAP-Objekte
DB-Objekte
SAP-Transaktion
SAP-Verbuchung
D1
D2
D3
D4
t1
t2
t3
t4
t5
DB-Transaktionen
Einblick in ausgewählte Produkte: SAP R/3 - 23
IS-K
Transaktionen in SAP/R3 - 2 ●
●
●
IS-K
Dialogschritte und Verbuchung werden jeweils als DB-Transaktionen
ausgeführt. Die Ausführung der Dialogschritte entspricht einem
Enqueue der Aufträge und die Verbuchung ist die Durchführung als
eine DB-Transaktion.
SAP-Objekte werden für die Dauer der SAP-LUW gesperrt, DB-Objekte
nur während der DB-Transaktion, also kurz.
Die SAP Transaktionsverwaltung kann daher als ein Zwei-SchedulerStapel aufgefasst werden.
SAP- Scheduler
Sperrverwaltung für
SAP-Objekte
DB- Scheduler
Sperrverwaltung für
DB-Objekte
Einblick in ausgewählte Produkte: SAP R/3 - 24
12
12.7 Individuelle Systemkonfiguration
(Customizing)
Customizing = “Anpassung des ausgelieferten R/3Systems an branchen- und unternehmensspezifische
Anforderungen ohne Änderung der Programmlogik”
●
Globale Systemeinstellungen festlegen (Konfiguration)
●
Auswahl relevanter Funktionen und Prozesse mit Hilfe des
Referenzmodells (Business Navigator)
◆ Dokumentation des kompletten Systems: Datenmodell
(Data Modeler), Prozesse, Funktionen,
Organisationsstrukturen,…
●
Schnittstellen zu Fremdsystemen einrichten
◆ Einmalige Datenübernahme (Urladung)
◆ Permanente Schnittstellen (dezentrale Systeme)
IS-K
Einblick in ausgewählte Produkte: SAP R/3 - 25
Referenzmodell
IS-K
Einblick in ausgewählte Produkte: SAP R/3 - 26
13
Spezifische Systemerweiterungen
●
Ohne Änderung der Anwendungslogik
◆
Customer Exits
– Vordefinierte Stellen für eigene Implementierungen
◆
Erweiterung von SAP-Tabellen
– Append-Strukturen
◆
Neuentwicklung kundenspezifischer Komponenten
– ABAP-Programmierung (Berechtigungskonzept und
Namenskonventionen sind zu beachten)
●
Mit Änderung der Anwendungslogik
◆
◆
Änderung der ABAP-Sourcen in der ABAP Development
Workbench
Prinzipiell möglich, aber nicht ratsam (zusätzlich: SAPBerechtigungskonzept zu beachten)
Einblick in ausgewählte Produkte: SAP R/3 - 27
IS-K
Literatur
●
R. Buck-Emden, J. Galimow: Die Client/Server-Technologie
des SAP-Systems R/3. Dritte Auflage, Addison-Wesley,
1996.
●
B. Heht: SAP R/3 Basissystem - Systemarchitektur,
Administration, Basistechnologie. Markt & Technik-Verlag,
1996.
●
L. Will, C. Hienger, F. Straßenburg, R. Himmer:
Administration des SAP-Systems R/3. Zweite Auflage,
Addison-Wesley, 1997.
●
R. Kretschmer, W. Weiss: SAP-R/3-Entwicklung mit ABAP/4.
Zweite Auflage, Sybex, 1997.
●
SAP White Papers, http://www.sap-ag.de
IS-K
Einblick in ausgewählte Produkte: SAP R/3 - 28
14
Herunterladen