kap. 12 einblick in ausgewählte produkte - beispiel sap r/3 · 2005-02-10 · is-k einblick in...
Post on 03-Aug-2020
0 Views
Preview:
TRANSCRIPT
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!
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 !
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
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)
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
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)
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
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
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
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
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
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
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
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
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
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)
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
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
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)
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
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
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
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)
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
(τ, )
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
top related