24
Einblick in ausgewählte Produkte: SAP R/3 - 1 IS-K 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 Kap. 12 Einblick in ausgewählte Produkte - Beispiel SAP R/3 - Einblick in ausgewählte Produkte: SAP R/3 - 2 IS-K 12.1 SAP R/3 vs. DBMS Vorüberlegung: (Schnaps?)Idee: Welt wird einmal modelliert und das Ergebnis (das Weltschema) wird in einer (grossen) Datenbank gespeichert. Anwender kaufen das Weltschema, also alle Objekte, Beziehungen, Methoden. Sie identifizieren den für sie relevanten Anteil, passen ihn für ihre Belange an und bevölkern diesen Anteil mit Daten als Instanzen des Teilschema. Schemaänderungen erfordern kontinuierliche Anpassungen durch den Hersteller des Weltschema... Ist das Weltschema realistisch? Frage bleibt offen! Jedoch: Modellierung von Branchen, wichtigen Anwendungsbereichen, z.B. betriebliche Anwendungen. Jeder Betrieb braucht Buchhaltung, Personalführung, Lohnabrechnung, usw... Dies war offensichtlich eine sehr erfolgreiche Idee!

Kap. 12 Einblick in ausgewählte Produkte - Beispiel SAP R/3 · 2005-02-10 · IS-K Einblick in ausgewählte Produkte: SAP R/3 - 9 Einige Fakten zu SAP (Stand 02/02) SAP = Systeme,

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Kap. 12 Einblick in ausgewählte Produkte - Beispiel SAP R/3 · 2005-02-10 · IS-K Einblick in ausgewählte Produkte: SAP R/3 - 9 Einige Fakten zu SAP (Stand 02/02) SAP = Systeme,

Einblick in ausgewählte Produkte: SAP R/3 - 1IS-K

Inhalt: Wertneutraler Überblick über SAP R/3 ausInfrastruktur/Informationssysteme-Sicht

ArchitekturDatenmodellDatenbankschnittstellen und Metadaten-VerwaltungKonfigurationTransaktionsverwaltung

Ziel:Verstehen der Konzepte von SAP R/3 und derenEinordnung in den Kontext der Datenbanktechnologie

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

Einblick in ausgewählte Produkte: SAP R/3 - 2IS-K

12.1 SAP R/3 vs. DBMSVorüberlegung:

(Schnaps?)Idee: Welt wird einmal modelliert und das Ergebnis (das Weltschema) wird in einer (grossen) Datenbank gespeichert. Anwender kaufen das Weltschema, also alle Objekte, Beziehungen, Methoden. Sie identifizieren den für sie relevantenAnteil, passen ihn für ihre Belange an und bevölkern diesen Anteil mit Daten als Instanzen des Teilschema. Schemaänderungen erfordern kontinuierliche Anpassungen durch den Hersteller des Weltschema...

Ist das Weltschema realistisch? Frage bleibt offen!

Jedoch: Modellierung von Branchen, wichtigen Anwendungsbereichen, z.B. betriebliche Anwendungen. Jeder Betrieb braucht Buchhaltung, Personalführung, Lohnabrechnung, usw...Dies war offensichtlich eine sehr erfolgreiche Idee!

Page 2: Kap. 12 Einblick in ausgewählte Produkte - Beispiel SAP R/3 · 2005-02-10 · IS-K Einblick in ausgewählte Produkte: SAP R/3 - 9 Einige Fakten zu SAP (Stand 02/02) SAP = Systeme,

Einblick in ausgewählte Produkte: SAP R/3 - 3IS-K

Motivationsbeispiel

ProblemstellungC. Lever von der Firma Competence Ltd. möchte einInformationssystem zur BüromaterialverwaltungeinsetzenAnforderungen

– Lagerbestandsverwaltung– Automatisierung von Bestellvorgängen– …

AlternativenDatenbanklösungERP-Lösung (z.B. SAP R/3)

Einblick in ausgewählte Produkte: SAP R/3 - 4IS-K

Datenbanklösung …C. Lever kauft

ModellierungswerkzeugDatenbanksystemEntwicklungswerkzeugGUI-Builder

Was erhält er davon für die Materialverwaltung ?

Zunächst Nichts !

Page 3: Kap. 12 Einblick in ausgewählte Produkte - Beispiel SAP R/3 · 2005-02-10 · IS-K Einblick in ausgewählte Produkte: SAP R/3 - 9 Einige Fakten zu SAP (Stand 02/02) SAP = Systeme,

Einblick in ausgewählte Produkte: SAP R/3 - 5IS-K

… DatenbanklösungWas muss C. Lever noch tun ?

InformationsmodellierungExport in DatenbankschemaImplementierung aller

– Funktionen– Prozesse

Oberflächenprogrammierung

...

Einblick in ausgewählte Produkte: SAP R/3 - 6IS-K

Materialverwaltung von SAP R/3 …

SAP R/3

Datenmodell

Was erhält er davon fürdie Materialverwaltung ?

FunktionenProzesse

….

FUNCTION CO_RU_UNIT_CONVERSION.

DATA: TMP_DECIMALS LIKE T006-ANDEC,TMP_MEINS LIKE MARA-MEINS,TMP_MENGE_F TYPE F.

CALL FUNCTION 'UNIT_CONVERSION_WITH_FACTOR'EXPORTING

ADD_CONST = 0DENOMINATOR = UMREZINPUT = TMP_MENGE_FNUMERATOR = UMREN

IMPORTINGOUTPUT = TMP_MENGE_F

EXCEPTIONSDIVISION_BY_ZERO = 03OVERFLOW = 04TYPE_INVALID = 07.

IF SY-SUBRC <> 0.PERFORM CONVERSION_ERROR USING MEINH MEINS.

ENDIF.ENDIF.

IF SY-SUBRC <> 0.CLEAR T006.T006-MSEHI = MEINS.SELECT SINGLE * FROM T006 WHERE MSEHI = T006-MSEHI.IF SY-SUBRC = 0.

...

C. Lever kauft

Page 4: Kap. 12 Einblick in ausgewählte Produkte - Beispiel SAP R/3 · 2005-02-10 · IS-K Einblick in ausgewählte Produkte: SAP R/3 - 9 Einige Fakten zu SAP (Stand 02/02) SAP = Systeme,

Einblick in ausgewählte Produkte: SAP R/3 - 7IS-K

… Materialverwaltung von SAP R/3 Was muss C. Lever noch tun ?

SAP R/3 verstehen bzw. sichConsultants engagieren

Konfiguration des Systems

Customizing: Auswahl und Anpassung der ausgeliefertenbranchen- und unternehmens-neutralen Funktionen/Prozesse

Eigenentwicklungen: Zusätzlicheunternehmensspezifische Erweiterungen

Einblick in ausgewählte Produkte: SAP R/3 - 8IS-K

12.2 SAP R/3 Produkt und Architektur

Betriebswirtschaftliche Standard-SoftwareDeckt grossen Teil betriebswirtschaftlicherAnwendungsfunktionalität abUnternehmens- und branchenneutralMöglichkeit/Notwendigkeit der Kundenanpassung(Customizing)

Basierend auf relationalem DatenbanksystemKernsystem (Laufzeitsystem) implementiert in CAnwendungen implementiert in ABAP (eigene 4GL-Sprache)

Page 5: Kap. 12 Einblick in ausgewählte Produkte - Beispiel SAP R/3 · 2005-02-10 · IS-K Einblick in ausgewählte Produkte: SAP R/3 - 9 Einige Fakten zu SAP (Stand 02/02) SAP = Systeme,

Einblick in ausgewählte Produkte: SAP R/3 - 9IS-K

Einige Fakten zu SAP (Stand 02/02)SAP = Systeme, Anwendungen und Produkte in der

Datenverwaltung (Walldorf, D, seit 1972)Mehr als 21.800 R/3 InstallationenDrittgrösster Softwarehersteller weltweitMarktführer in ERP-Systemen (ca. 36 %)Über 13.500 Kunden in über 120 LändernWeltweit ~28.400 Mitarbeiter (davon ca. 7.500 in R&D)Umsatz der SAP AG im FY 2001: 7,34 Mrd. €Umsatz der SAP AG in 2000: ca. 6,25 Mrd. €

Ca. 15 GB pro Installation (ohne operationale Daten)Ca. 7 Millionen Programmzeilen8681 vordefinierte Tabellen im DB-Server bei unserer DBS/ETHZ Installation

Lesesto

Einblick in ausgewählte Produkte: SAP R/3 - 10IS-K

DBServer

Betriebssystem

SAP ClientLibrary

Betriebssystem

SAP R/3-Anwendungen

DB ClientLibrary

Betriebssystem Betriebssystem

SAP ServerLibrary

Client

Server

Anwendungslogik

Client

Server

Dreistufige Client/Server-Architektur von SAP R/3

Präsentation Datenhaltung

DB ServerLibrary

SAPGUI

thick

thin

Page 6: Kap. 12 Einblick in ausgewählte Produkte - Beispiel SAP R/3 · 2005-02-10 · IS-K Einblick in ausgewählte Produkte: SAP R/3 - 9 Einige Fakten zu SAP (Stand 02/02) SAP = Systeme,

Einblick in ausgewählte Produkte: SAP R/3 - 11IS-K

R/3 Anwendungsmodule im Überblick

SAP R/3-Anwendungen

QMQualitäts-

management

COControlling

AAAnlagen-wirtschaft

SDVertrieb

MMMaterial-wirtschaft

TRTreasury

HRPersonalplanung& -entwicklung

PSProjekt-system

PMInstand-haltung

PPProduktions-

planung

ISBranchen-lösungen

FIFinanz-wesen

IMInvestitions-management

ECUnternehmens

Controlling

PAPersonal-

administration

CAAnwendungsübergreifende Funktionen

BCBasisfunktionen

Einblick in ausgewählte Produkte: SAP R/3 - 12IS-K

Branchenspezifische R/3 Module

21 Branchenlösungen (IS, Industrial Solutions bzw. mySAP „...“), u.a.:Haushaltsführung/ Finanzplanung für öffentl. Verwaltungen (mySAP Public Sector)

Gesundheitswesen (mySAP Healthcare)

Universitätsverwaltung (mySAP Higher Education & Research)

Abonnentenverwaltung für Verlage (mySAP Media)

Telekommunikation (mySAP Telecommunications)

Versicherungen (mySAP Insurance)

Bankenwesen (mySAP Banking)

Chemische Industrie (mySAP Chemicals)

Öl- und Gas-Industrie (mySAP Oil & Gas)

Pharmazeutische Industrie (mySAP Pharmaceuticals)

Energieversorger (mySAP Utilities)

Automobilindustrie (mySAP Automotive)

Luftfahrt (mySAP Aerospace & Defense)

Maschinenbau (mySAP Engineering & Construction)

Warenwirtschaftssystem (mySAP Retail)

Page 7: Kap. 12 Einblick in ausgewählte Produkte - Beispiel SAP R/3 · 2005-02-10 · IS-K Einblick in ausgewählte Produkte: SAP R/3 - 9 Einige Fakten zu SAP (Stand 02/02) SAP = Systeme,

Einblick in ausgewählte Produkte: SAP R/3 - 13IS-K

BankwesenAutomobilindustrie

Chemie

Dienstleistungen

Gesundheitswesen

Einzelhandel

Maschinenbau

Öffentl.Verwaltungen

Pharmazie

Verbrauchsgüter

Metall, Holz & Papier

Elektronik

TelekommunikationMedien Versicherungen

Sonstige

Einsatz von SAP R/3 nach Branchen

Quelle: SAP Corporate Profile, August ´99

Einblick in ausgewählte Produkte: SAP R/3 - 14IS-K

Architektur von SAP R/3: Prozess-orientierte Sichtweise

SAPGUI-Prozess

SAPGUI-ProzessX-Server PC

Dispatcher

Enqueue-Workprozess

Verbuchungs-Workprozess

Dialog-Workprozess

Batch-Workprozess

Spool-Workprozess

Datenhaltung

Präsentation

Anwendungslogik

Page 8: Kap. 12 Einblick in ausgewählte Produkte - Beispiel SAP R/3 · 2005-02-10 · IS-K Einblick in ausgewählte Produkte: SAP R/3 - 9 Einige Fakten zu SAP (Stand 02/02) SAP = Systeme,

Einblick in ausgewählte Produkte: SAP R/3 - 15IS-K

Dienste und Prozesse …

PräsentationSAPGUI-Prozess (1 pro Benutzersession)

Anwendungsserver (>= 1 pro R3-System)

Dispatcher (1 pro Anwendungsserver)Zentraler Prozess auf AnwendungsebeneZuweisung von Workprozessen

Dialog-Workprozess (>= 1 pro Anwendungsserver)ABAP/4-InterpreterDynPro-Prozessor

Batch-Workprozess (>=1 pro R3-System)Hintergrundverarbeitung

Einblick in ausgewählte Produkte: SAP R/3 - 16IS-K

… Dienste und Prozesse ...Enqueue-Workprozess (genau 1 pro R3-System)

Sperrverwaltung für SAP-ObjekteVerwendet eigene Sperrtabelle, unabhängig von unterliegender Datenbank

Verbuchungs-Workprozess (>= pro R3-System)Durchführung von Datenbank-Änderungen

Spool-Workprozess (1 pro Rechner)Druckaufbereitung

Page 9: Kap. 12 Einblick in ausgewählte Produkte - Beispiel SAP R/3 · 2005-02-10 · IS-K Einblick in ausgewählte Produkte: SAP R/3 - 9 Einige Fakten zu SAP (Stand 02/02) SAP = Systeme,

Einblick in ausgewählte Produkte: SAP R/3 - 17IS-K

… Dienste und Prozesse

Datenbankserver (1 pro R3-System)

DatenbankprozesseMultiple 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 - 18IS-K

Unterstützte Hardware und Systemsoftware

HardwareUnix-SystemeBull, Digital, HP,IBM, SNI, SUN

Bull/Zenith, Compaq, Digital, HP (Intel), NCR,

IBM (Intel), SNI, ...

IBM AS/400

Windows NTWindows NT OS/400OS/400Betriebs-systeme

AIX, Digital UNIX,HP-UX, Sinix, Solaris

Datenbanken ADABAS D, DB2 für AIX,Informix Online, ORACLE

ADABAS D, ORACLE,MS SQL Server

DB2 fürAS/400

DialogSAPGUI

Windows 3.1, Windows 95, Windows 98, Windows NTOSF/Motif, OS/2 Presentation Manager, Macintosh, Java VM

ABAP/4, C, C++, (Business) HTML, JavaABAP/4, C, C++, (Business) HTML, JavaSprachen

Page 10: Kap. 12 Einblick in ausgewählte Produkte - Beispiel SAP R/3 · 2005-02-10 · IS-K Einblick in ausgewählte Produkte: SAP R/3 - 9 Einige Fakten zu SAP (Stand 02/02) SAP = Systeme,

Einblick in ausgewählte Produkte: SAP R/3 - 19IS-K

12.3 Datenmodell: SAP-SERM

15032

Einkaufs-information

Einkaufs-organisation -Einkaufs-information

15035

Einkaufsinformation

H HBestellpreis-entwicklung

15028

subcontracting

15077Einkaufs-organisation -Einkaufsinfo-

SERM = Structured Entity Relationship ModelData Modeler: Beschreibung des komplettenSAP-Datenmodells in SERM (s. Online-Demo)

Einblick in ausgewählte Produkte: SAP R/3 - 20IS-K

SAP-SERM-Beziehungstypen: Hierarchisch

Hierarchische Beziehung

QQ ZZH

SERM

Schlüssel der Zielentität Z (abhängige Entität) hängt vom Schlüssel der Quellentität Q abIm ER-Modell (ERM) entspricht daher Zeiner schwachen Entität

ERM

bzw.Q Z

keyQ keyQ keyZ

(1,1)Q ZZ

Page 11: Kap. 12 Einblick in ausgewählte Produkte - Beispiel SAP R/3 · 2005-02-10 · IS-K Einblick in ausgewählte Produkte: SAP R/3 - 9 Einige Fakten zu SAP (Stand 02/02) SAP = Systeme,

Einblick in ausgewählte Produkte: SAP R/3 - 21IS-K

SAP-SERM-Beziehungstypen: Aggregierend

Aggregierende Beziehung:

SERM

Q1

Z

keyQ1

keyZ

(1,1)

QnkeyQn

...

(1,1)

keyQ1

keyQn

ERM

Q1Q1

QnQn

ZZA

...

Analog zur hierarchischen Beziehung, nur ist die Zielentität vonmehreren Quellentitäten existenzabhängig

Einblick in ausgewählte Produkte: SAP R/3 - 22IS-K

SAP-SERM-Beziehungstypen: ReferentiellReferentielle Beziehung

QQ

ZZ

RSERM

ERM

Q Z

keyQ keyZ

(0,1)

keyQForeign keyreferences Q.keyQ

Ein Nicht-Schlüsselfeld der Zielentität Z (abhängige Entität)hängt vom Schlüssel der Quellentität Q abEntspricht einer Fremdschlüsselabhängigkeit im Relationenmodell

Page 12: Kap. 12 Einblick in ausgewählte Produkte - Beispiel SAP R/3 · 2005-02-10 · IS-K Einblick in ausgewählte Produkte: SAP R/3 - 9 Einige Fakten zu SAP (Stand 02/02) SAP = Systeme,

Einblick in ausgewählte Produkte: SAP R/3 - 23IS-K

SAP-SERM-Beziehungstypen: IS-AIS-A-Beziehung

Analogon zur IS-A-Beziehung des ERMEigenschaften: vollständig überdeckend und disjunktAllerdings: keine automatische Umsetzung in entsprechende Konsistenzregeln

SERM

General

Special

ERM

GeneralGeneral SpecialSpecial

Einblick in ausgewählte Produkte: SAP R/3 - 24IS-K

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 mindestens

eine 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

Page 13: Kap. 12 Einblick in ausgewählte Produkte - Beispiel SAP R/3 · 2005-02-10 · IS-K Einblick in ausgewählte Produkte: SAP R/3 - 9 Einige Fakten zu SAP (Stand 02/02) SAP = Systeme,

Einblick in ausgewählte Produkte: SAP R/3 - 25IS-K

SAP R/3-TabellenTabelle wichtigste Datenstruktur in SAP R/3

Jede Entität im Datenmodell entspricht einerSAP-Tabelle bzw. einer View

Data Dictionary: Verwaltung von Metadaten überSAP-Tabellen (DB- und temporäre Tabellen)sonstige Schemaobjekte

– Indizes– Fremdschlüssel

– Views, …

Zusätzlich Links zu– Datenbankinhalt (Data Browser)– Programmbibliothek (Verwendungsnachweis)

Einblick in ausgewählte Produkte: SAP R/3 - 26IS-K

12.4 SAP R/3 als Client des RDBMS

Aus Sicht der Datenbank existiert nur ein einzigerBenutzer (SAPR3) als Eigentümer aller Datenbank-Objekte

Alle Sourcen des Systems in Datenbank abgelegtDiese Tabellen jedoch im Data Dictionary nicht sichtbarsowohl Quellcode als auch Bytecode in der DB

Page 14: Kap. 12 Einblick in ausgewählte Produkte - Beispiel SAP R/3 · 2005-02-10 · IS-K Einblick in ausgewählte Produkte: SAP R/3 - 9 Einige Fakten zu SAP (Stand 02/02) SAP = Systeme,

Einblick in ausgewählte Produkte: SAP R/3 - 27IS-K

12.5 ABAP: SAP R/3-ProgrammierspracheABAP:

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 - 28IS-K

Datenbankzugriff in SAP R/3

Open SQL SQL-Dialekt von SAP, Datenbank-unabhängig Nutzt SAP-internes Data Dictionary (zur Auflösung von Views, Überprüfung von Konsistenzbedingungen, etc.) und Tabellenpuffer(Zwischenspeichern von Datensätzen auf Anwendungsserver-Ebene)

Native SQLSQL-Dialekt der unterliegenden DatenbankAnfragen werden –an der DB-Schnittstelle vorbei– direkt an die Datenbank weitergeleitetOhne Verwendung des SAP-internen Data Dictionarys

– Kein Zugriff auf Pool-Tabellen und Cluster-Tabellen,da die Semantik der Abbildung nicht verfügbar ist

– Nur Zugriff auf Anwendungsdaten möglich– Umgehung der anwendungsspezifischen betriebswirtschaftlichen

Konsistenzprüfungen

Page 15: Kap. 12 Einblick in ausgewählte Produkte - Beispiel SAP R/3 · 2005-02-10 · IS-K Einblick in ausgewählte Produkte: SAP R/3 - 9 Einige Fakten zu SAP (Stand 02/02) SAP = Systeme,

Einblick in ausgewählte Produkte: SAP R/3 - 29IS-K

Datenbankschnittstellen in SAP R/3

RDBMS

Shared Memory

Data Dictionary

Tabellen-puffer

DynPro-Interpreter

Dialog-Workprozess

Datenbank-Schnittstelle

Native SQL Open SQL

ABAP-Interpreter

DynPro-Interpreter

Dialog-Workprozess

Datenbank-Schnittstelle

Native SQL Open SQL

ABAP-Interpreter

DynPro-Interpreter

Dialog-Workprozess

Datenbank-Schnittstelle

Native SQL Open SQL

ABAP-Interpreter

Einblick in ausgewählte Produkte: SAP R/3 - 30IS-K

SAP R/3-Dialogschritte: DynPro-KonzeptDialogprogramm = Folge von DialogschrittenJeder Dialogschritt entspricht einem DynPro(dynamisches Programm)

DynPro-AblauflogikPBO (Process Before Output)

– Bereitet Bildschirmbild zur Ausgabe vorPAI (Process After Input)

– Verarbeitung der Benutzereingaben

DynPro

OutputModul(PBO)

Bildschirm-ausgabe

Benutzer-eingabe

InputModul(PAI)

…OutputModul(PBO)

Page 16: Kap. 12 Einblick in ausgewählte Produkte - Beispiel SAP R/3 · 2005-02-10 · IS-K Einblick in ausgewählte Produkte: SAP R/3 - 9 Einige Fakten zu SAP (Stand 02/02) SAP = Systeme,

Einblick in ausgewählte Produkte: SAP R/3 - 31IS-K

12.6 SAP/R3: Transaktionen, Verbuchung und LUWs

Di: Dialogschritte (DynPros)Vi: Verbuchungsschritteti: DB-Transaktionen

SAP-Objekte

DB-Objekte

SAP-Transaktion SAP-Verbuchung

D1 D4D3D2 V1 V2

t1

Co

mm

it

t2C

om

mit

t3

Co

mm

it

t4

Co

mm

it

t5

Co

mm

it

t6

Co

mm

it

Sperrdauer für SAP- Objekte

SAP-Logical Unit of Work (LUW)

Sperrdauer für Datenbank-Objekte

Einblick in ausgewählte Produkte: SAP R/3 - 32IS-K

SAP-LUWs vs. Datenbank-Transaktionen

Jedes DynPro kann von einem unterschiedlichen Workprozessbearbeitet werdenDialogtransaktion und Verbuchung werden durch unterschiedliche Prozesse bearbeitet

Wenn SAP-LUW identisch mit DB-Transaktion wäre, dann müssten in der DB-Sperren über Prozessgrenzen hinweg weitergegeben werden

DynPro-Wechsel löst automatisch DB-Commit aus.Ein einzelnes DynPro entspricht also einer DB-Transaktion

Für den Fehlerfall sind keine Kompenationsoperationen(Inverse) der Änderungsoperationen verfügbar

Alle Änderungen müssen im Verbuchungs-Workprozesszusammengefasst werden, um ACID zu garantieren

Page 17: Kap. 12 Einblick in ausgewählte Produkte - Beispiel SAP R/3 · 2005-02-10 · IS-K Einblick in ausgewählte Produkte: SAP R/3 - 9 Einige Fakten zu SAP (Stand 02/02) SAP = Systeme,

Einblick in ausgewählte Produkte: SAP R/3 - 33IS-K

Transaktionen in SAP/R3 - 2 -Dialogschritte und Verbuchung werden jeweils als DB-Transaktionenausgeführt. Die Ausführung der Dialogschritte entspricht einemEnqueue der Aufträge und die Verbuchung ist die Durchführung alseine DB-Transaktion. SAP-Objekte werden für die Dauer der SAP-LUW gesperrt, DB-Objektenur während der DB-Transaktion, also kurz.Die SAP Transaktionsverwaltung kann daher als ein Zwei-Scheduler-Stapel aufgefasst werden.

SAP- Scheduler

DB- Scheduler

Sperrverwaltung fürSAP-Objekte

Sperrverwaltung fürDB-Objekte

Einblick in ausgewählte Produkte: SAP R/3 - 34IS-K

Zeitachse

Dialog- und Verbuchungs-WPs

Verbuchungs-Workprozess

LUW 1 (durch zwei unterschiedliche Dialog-WP ausgeführt)

LUW 2 (Transaktion wird durch LUW 3 unterbrochen)

LUW 3 (Verbuchung wird vom Dialog-WP ausgeführt)

Dialog-Workprozess 1 D31

D11Transaktion 1

Transaktion 2 D22

Dialog-Workprozess 2 D12

D21

Transaktion 3

Page 18: Kap. 12 Einblick in ausgewählte Produkte - Beispiel SAP R/3 · 2005-02-10 · IS-K Einblick in ausgewählte Produkte: SAP R/3 - 9 Einige Fakten zu SAP (Stand 02/02) SAP = Systeme,

Einblick in ausgewählte Produkte: SAP R/3 - 35IS-K

Datenbank-Interaktion: Gebündelt

Gebündelte AktualisierungDB-Änderungen werden in eine Protokollsatzdatei geschrieben DB-Verbuchung erfolgt erst am Ende der SAP-TransaktionAsynchrone Verbuchung (Standard-Verfahren):Abarbeitung von Funktionsbausteinen durch spezielle Verbuchungs-Workprozesse

– V1: Primäre Verbuchungskomponenten, für die ACIDgefordert wird

– V2: Sekundäre Verbuchungskomponenten. Werden nach denV1-Komponenten durchgeführt. Fehler der V2-Komponentenführen NICHT zum Fehlschlagen der LUW.

– V1 bzw. V2 ist Eigenschaft des aufgerufenen FunktionsbausteinsSynchrone Verbuchung: Änderungen in der Datenbank erfolgen im Dialog-Workprozess (Aufruf der Funktionsbausteine durch Dialog-WP)

Einblick in ausgewählte Produkte: SAP R/3 - 36IS-K

Datenbank-Interaktion: UngebündeltUngebündelte Aktualisierung

Datenbank-Änderungen erfolgen direkt im PAI-ModulAllerdings: da nach jedem DynPro-Wechsel automatisch ein Commit erfolgt …

– … ist die ungebündelte Verbuchung nur dann möglich, wenn die LUW aus einem einzigen DynPro besteht

– Ansonsten sind keine ACID-Garantien möglich(Kompensation zur Fehlerbehebung wird nicht berücksichtigt)

Page 19: Kap. 12 Einblick in ausgewählte Produkte - Beispiel SAP R/3 · 2005-02-10 · IS-K Einblick in ausgewählte Produkte: SAP R/3 - 9 Einige Fakten zu SAP (Stand 02/02) SAP = Systeme,

Einblick in ausgewählte Produkte: SAP R/3 - 37IS-K

SAP-Transaktion

Beispiel: Asynchrone gebündelte Verbuchung

Commit

Work

PBO PAI

SELECT …FROM … C

om

mit

Dialog-WP1

Verbuchung

SAP-LUW

Protokollsatzdatei

Funktion A (V1)

CALL FUNCTION AIN UPDATE TASK EXPORTING ...

Verb.-WP Vx

Co

mm

it

INSERT…UPDATE…

Funktion A

Funktion C

V1

Co

mm

it

INSERT…UPDATE…

Funktion B

V2

Verb.-WP Vy

Funktion B (V2)

PBO PAI

SELECT …FROM … C

om

mit

Dialog-WP3

PBO PAI

SELECT …FROM … C

om

mit

Funktion C (V1)

Dialog-WP1

Einblick in ausgewählte Produkte: SAP R/3 - 38IS-K

DialogprogrammDialogprogramm

ProtokollsatzdateiProtokollsatzdatei

VerbuchungsprogrammVerbuchungsprogramm

DatenbankDatenbank

Protokollsatzdatei: Lokale Version der LUW

PBO

PAI

Page 20: Kap. 12 Einblick in ausgewählte Produkte - Beispiel SAP R/3 · 2005-02-10 · IS-K Einblick in ausgewählte Produkte: SAP R/3 - 9 Einige Fakten zu SAP (Stand 02/02) SAP = Systeme,

Einblick in ausgewählte Produkte: SAP R/3 - 39IS-K

SAP-SperrmechanismusUm ungewollte und inkorrekte Wechselwirkungen paralleler Zugriffe auf gemeinsame Daten zu vermeiden, müssen sowohl Lese- als auch Schreiboperationen auf SAP-Objekten mit Sperren gekapselt werdenDies erfolgt jedoch nicht –wie im Falle eines DBMS–automatisch und transparent für den Benutzer

Sperren müssen explizit im Anwendungsprogramm (ABAP)gesetzt werden

Zentrale Sperrverwaltung (Enqueue-Workprozess)

Sperr-anforderung(ABAP-Befehl)

Daten-zugriff

(Open SQL-Befehl)

Sperr-freigabe

(ABAP-Befehl)

Einblick in ausgewählte Produkte: SAP R/3 - 40IS-K

Sperrmodi und Weitergabe

SAP sieht drei verschiedene Modi für Sperren vor: MODE_...Schreibsperren (X)

– Exklusiver Zugriff auf die gesperrten ObjekteLesesperren (S)

– Gleichzeitiger lesender Zugriff erlaubt– Nicht verträglich mit X oder E-Sperren

Erweiterte Schreibsperren (E) („kumulative Sperren“)– Wie X ebenfalls exklusiver Zugriff– Allerdings darf derselbe Anwender weitere E-Sperren auf einem Objekt,

das er selbst mit E gesperrt hat, kumulierenEbenso existieren drei verschiedene Optionen für die Weitergabe von Sperren zwischen Dialog- und Verbuchungsprozess (_SCOPE)

_SCOPE = 1: Sperren werden nicht an Verbucher weitergegeben_SCOPE = 2: Sperre wird an Verbucher abgegeben; Dialog-WP gibt die

Sperre dabei auf_SCOPE = 3: Sperre wird an Verbucher weitergegeben, bleibt aber auch

gleichzeitig beim Dialog-WP

Page 21: Kap. 12 Einblick in ausgewählte Produkte - Beispiel SAP R/3 · 2005-02-10 · IS-K Einblick in ausgewählte Produkte: SAP R/3 - 9 Einige Fakten zu SAP (Stand 02/02) SAP = Systeme,

Einblick in ausgewählte Produkte: SAP R/3 - 41IS-K

SAP-Sperrobjekte

Sperrobjekte beinhalten eine (oder mehrere) Tabelle(n), ausdenen betriebswirtschaftlich zusammengehörende Datensätze gleichzeitig gesperrt werden sollenSperrobjekte werden im ABAP Dictionary angelegtAus dem Sperrobjekt werden automatisch zwei Sperrbausteine generiert

Enqueue-Baustein: SperranforderungDequeue-Baustein: Sperrfreigabe

EZOHO00KTOSperrobjekt; umfasst die TabellenZOHO00KTO und ZOHO00BUCH

ENQUEUE_EZOHO00KTO

DEQUEUE_EZOHO00KTO

ABAP-Funktionsbausteinfür Sperranforderung

ABAP-Funktionsbausteinfür Sperrfreigabe

automatischgeneriert

Einblick in ausgewählte Produkte: SAP R/3 - 42IS-K

Sperranforderung …

Shared Memory

ABAP-Interpreter

Dialog-/ Batch- oderVerbuchungs-WP

BEGIN… Call

FunctionEZOHOxxKT

O…

…END

BEGIN… Call

FunctionEZOHOxxKT

O…

ENDFUNCTION

ENQUEUE_

EZOHO00KTO.…

ENDFUNCTION.

…FUNCTION

ENQUEUE_

EZOHO00KTO.…

ENDFUNCTION.

1

Anwendungsserver A

Programm-Puffer

Anwendungsserver B

Enqueue-Workprozess

2

Shared Memory

Sperrtabelle3

Page 22: Kap. 12 Einblick in ausgewählte Produkte - Beispiel SAP R/3 · 2005-02-10 · IS-K Einblick in ausgewählte Produkte: SAP R/3 - 9 Einige Fakten zu SAP (Stand 02/02) SAP = Systeme,

Einblick in ausgewählte Produkte: SAP R/3 - 43IS-K

… Sperranforderung1. Aufruf des Enqueue-Funktionsbausteins

(CALL FUNCTION 'ENQUEUE_EZOHOKTO') durch den Dialog-Workprozess

Mit Parametern der zu sperrenden Daten– Modus der Sperre– Auswahl der zu sperrenden Tupel (über deren

Primärschlüssel)2. Der Dialog-Workprozess übermittelt den Sperrantrag an den

Enqueue-Workprozess3. Der Enqueue-Workprozess überprüft anhand einer zentralen

Sperrtabelle, ob die gewünschten Sätze bereits gesperrt sindFalls nicht: Sperre wird in die Sperrtabelle eintragen; der aufrufende Dialog-Workprozess setzt seine Arbeit fortFalls bereits gesperrt: Entweder Warten auf Freigabe oder Abbruch (dieses Verhalten ist ebenfalls als Parameter im Enqueue-Aufruf spezifiziert)

Einblick in ausgewählte Produkte: SAP R/3 - 44IS-K

SperrfreigabeKann explizit erfolgen durch Aufruf des Dequeue-Funktionsbausteins

CALL FUNCTION 'DEQUEUE_EZOHOKTO'

Erfolgt automatisch beiCommit WorkRollback WorkEnde der Dialogtransaktion

Das Nicht-Berücksichtigen des expliziten Freigebens vonSAP-Sperren führt also zu keinen Problemen(im Gegensatz zur Sperranforderung)

Page 23: Kap. 12 Einblick in ausgewählte Produkte - Beispiel SAP R/3 · 2005-02-10 · IS-K Einblick in ausgewählte Produkte: SAP R/3 - 9 Einige Fakten zu SAP (Stand 02/02) SAP = Systeme,

Einblick in ausgewählte Produkte: SAP R/3 - 45IS-K

Zusammenfassung SAP-Transaktionsmodell

SAP R/3 verfolgt einen ZweischichtenansatzVerwendet eigene Sperrverwaltung auf Anwendungsebene Sperren auf Datenbankobjekten nur kurz gehaltenBesserer Ansatz als der anderer ERP-Systeme, die zumeist die triviale 1:1-Abbildung von A-Transaktionen auf D-Transaktionen verwenden

Aber: Programmierer müssen explizit Sperren setzen! (Dies ist, verglichen mit dem Stand der Technik, ein grosser Rückschritt, mindestens optional sollten automatisch Sperren gesetzt werden)

Es gibt keine Garantie des Systems, dass gemeinsame Zugriffe aufdieselbe Ressource (Datenbankobjekte) korrekt behandelt werden Der SAP-Transaktionsmanager kann durch Native SQL umgangen werden (man müsste föderierte Transaktionsverwaltung einsetzen,wenn man Native SQL zulässt)Es können (private) für andere Nutzer nicht sichtbare Versionen verwendet werden (über die Protokollsatzdatei)

Einblick in ausgewählte Produkte: SAP R/3 - 46IS-K

Zusammenspiel: Scheduling auf Anwendungs- und DB-Ebene

A: Menge von Anwendungs-Aktionen

CON: Konflikte zwischen A-Aktionen

(t, )

T: Ordnung der Aktionen inner-halb einerTransaktion T

T: Menge von Anwendungs-Transaktionen T

Anwendungs-Scheduler

(t, ): geordnete Menge von Datenbank-Transaktionen t

Datenbank-Scheduler

a: Menge von Datenbank-Aktionen

con: Konflikte zwischen DB-Aktionen

t: Ordnung der Aktionen inner-halb einerTransaktion t

(τ, )

Page 24: Kap. 12 Einblick in ausgewählte Produkte - Beispiel SAP R/3 · 2005-02-10 · IS-K Einblick in ausgewählte Produkte: SAP R/3 - 9 Einige Fakten zu SAP (Stand 02/02) SAP = Systeme,

Einblick in ausgewählte Produkte: SAP R/3 - 47IS-K

Literatur zu SAP R/3 und anderen ERP Systemen

R. Buck-Emden: „Die Technologie des SAP R/3 Systems”. Vierte Auflage, Addison-Wesley, 1999.B. Matzke: „ABAP/4“. Zweite Auflage, Addison-Wesley, 1998.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.ERP Online White Papers

SAP R/3: http://www.sap-ag.deBaan: http://www.baan.comeBPCS: http://www.ssax.comJDEdwards: http://www.jdedwards.comPeopleSoft: http://www.peoplesoft.com