Kap. 5.7: SAP R/3 - Transaktionsverwaltung und Dialogprogrammierung

Ähnliche Dokumente
11.3 Transaktionen und LUWs in SAP R/3

Kap SAP R/3 Dialogprogrammierung

11.3 Transaktionen und LUWs in SAP R/3

Kap. 12 Transaktionsverwaltung in ERP-Systemen

SAP R/3 Prozessübersicht

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

ajanzen.com Vorgehen zum Erstellen eines Dynpro- Splitters

9.2 SAP R/3: Datenmodell, Metadaten, &

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

Kap. 5.5: ABAP-Programmierung mit Open- und Native-SQL

Kap. 5.3: SAP-Datenmodell, Metadatenverwaltung

Geschäftsprozessmodellierung und implementierung am Beispiel SAP ERP

Anhang A: Einblick in Enterprise Resource Planning - Beispiel SAP R/3 -

ajanzen.com Verwendung des Custom Controls

10.3. ABAP-Programmierung mit Open- und Native SQL

Schnelleinstieg in ABAP. Dr. Boris Rubarth

Architektur + Entwicklung des SAP Basis Systems

Transaktionssystemeigenschaften im SAP System R/3

ABAP/4 - Die Programmiersprache von SAP

ajanzen.com Beispiel zur Verwendung des EASY SPLITTERS

Übung 4 ABAP. Übung Business Process Management" (MW31.2) Lisa Wenige SS2016

SAP R/3 Repository: Übersicht

Standardsoftware. Prozessarchitektur. Prof. Dr. Bernhard Schiefer 3-1

2 Wegweiser Projektbeschreibung...69

R/3 -Administration ADDISON-WESLEY PUBLISHING COMPANY

BC400. ABAP Workbench Grundlagen GLIEDERUNG DES KURSES. Version der Schulung: 16 Dauer der Schulung: 5 Tage

Die Erweiterung von PA-Infotypen mittels PM01

Kapitel 10: Datenbankzugriff & Pufferung 2

Viele SAP-Kunden nutzen die SAP-Statistik, um ihr System von nicht mehr benötigten Kundenobjekten zu bereinigen.

Inhalt. Vorwort zur dritten Auflage 15

ajanzen.com Vorgehen zur Verwendung des GUI Docking-Containers

Kapitel 9. Embedded SQL. Prof. Dr. Wolfgang Weber Vorlesung Datenbanken 1

7HVWHQYRQ6$3$QZHQGXQJHQPLWGHP([WHQGHG &RPSXWHU$LGHG7HVW7RROH&$77

Trainingsmanagement Gutschein Management. Beschreibung

Datenbankenseminar: SAP Reporting Vergleich ABAP vs. Quick View. Dipl. WiFo Sven Adolph

Eigenschaften von TAs: ACID-Prinzip

Auf einen Blick D ie We lt vo n SA P Der Einstieg ins System Mandanten SAP-Berechtigungen ABAP-Dictionary-Objekte SAP-Entwicklungsobjekte

SAP ABAP Debugger Workshop. Jürgen Schwaninger

SAP als große Datenbankanwendung

1 mysap.com und der Web Application Server 1

1. Schritt: Anlegen des Musters

BC400 ABAP Workbench Einführung

Kap. 11 Datenbankzugriff und Pufferung in SAP R/3

Teil I Das R/3-System - Struktur, Komponenten und Bedienung 1

ajanzen.com ALV-Grid-Anzeige mit eingabebereiten Zellen

BC414 Datenbankänderungen programmieren

Grundsätzliches. Transaktionscode. Voraussetzungen. Die Migrationsworkbench. Zum Verständnis geht dieses Buch davon aus, dass Sie

Technik der SAP-Anbindung Christian Aigner Team Entwicklung, Kranzberg

Online Dispoliste Benutzerhandbuch

Transaktionsverwaltung

Benutzerdefinierte Housekeepinglisten in SAP BW //

für Function Modules / BAPIs. Zusätzliche Strukturen und Parameter werden in den Mapping- Prozess eingesteuert.

Autoindex ProductInfo

Standardsoftware. SAP Basisarchitektur. Prof. Dr. Bernhard Schiefer 2-1

Der ausgewählte Text wird markiert und ausgegraut, so dass er nicht erneut ausgewählt werden kann.

Benutzerhandbuch Koala Editor

Client/Server-Systeme

6. Updates in SQL 6-1. Inhalt. 1. Update-Kommandos in SQL. 2. Transaktionen. 3. Gleichzeitige Zugriffe

SAP-Systeme mit externen Oracle-Datenbanken

Handbuch Listengenerator Listengenerator

Multimedia im Netz Wintersemester 2013/14. Übung 02 (Hauptfach)

DOKinform Splitbuchung für SAP-FI. Anwenderdokumentation

Lösungsansätze bei Themen zum Smartfinder / dem Sage Solr Dienst

quick documentation Inhalt Datenmodellierung

APEX Datenverwaltung Wo sind die Daten gerade?

GS-Programme 2014 SEPA mit dem Zahlungsverkehrsmodul

GS-Programme SEPA Zahlungsaufträge verarbeiten

Administration von Teilnehmern über Login MeinVodafone

Betriebswirtschaftliche Standardsoftware - Made for the WEB. ESS Enterprise Solution Server. Dokumentenablage. Release 6.0 Dokumentenablage 1

Verbuchung im SAP-System (BC-CST-UP)

In diesem Beispiel wird ein ALV-Grid aufgerufen, das jede Sekunde einen anderen Eintrag aus einer Tabelle anzeigt.

Architektur + Entwicklung des SAP Basis Systems

BC410. Benutzerdialoge mithilfe von klassischen Dynpros programmieren GLIEDERUNG DES KURSES. Version der Schulung: 16 Dauer der Schulung: 3 Tage

Kernfunktion: Definition und Konfiguration von individuellen Filter, Skripten und Auswertungen für die Info-Zentrale des combit Relationship Managers.

Wie erreiche ich was?

SAP-Sensoren für X-Monitors. (SapPrtg - SapOrion - SapGold - SapEyes) White Paper

Der Beginn einer wunderbaren Freundschaft von Stefan Schnell

Sage 50. SEPA mit dem Zahlungsverkehrsmodul. Impressum. Business Software GmbH Primoschgasse Klagenfurt

FINISS Support Team Konfiguration des Datafeed Zugriffs auf Markt Daten via FINISS

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin

Translation Tool für PBS archive add on - Entwicklerhandbuch -

ajanzen.com Aufruf eines Pop-Up-Containers

BMD NTCS STAPEL FÜR AUTOMATISCHE WEBUPDATES

Globaler IDOC - Monitor

HBCI Plus mit StarMoney 4.0

Query Result Caching. Optimierung des Datenbankzugriffs

TIPPS & TRICKS SAP CM Teil 2

Datenbank und Tabelle mit SQL erstellen

ajanzen.com Schnell programmierte ALV-GRID-Anzeige mit geänderten Spaltenüberschriften

Datenbankoberflächen Die Ausgangssituation. intecooffice. Anwenderfreundliche Datenbank-Oberflächen. Datenbankoberflächen Die Ausgangssituation

Newsletter erstellen

Praktische SQL-Befehle

10.6 Programmier-Exits für Workitems

S4D400. Einführung in die ABAP-Programmierung für SAP S/4HANA GLIEDERUNG DES KURSES. Version der Schulung: 10 Dauer der Schulung:

Webbasierte Informationssysteme

Dokumentation Down- und Upload Programm von ABAP und DDIC Elementen

Die Benutzung von Stata

Transkript:

Kap. 5.7: SAP R/3 - Transaktionsverwaltung und Dialogprogrammierung Transaktionsverwaltung in SAP R/3 Sperrverwaltung Verbuchung Dialogprogrammierung Dynpros Modul-Pools (Ablauflogik) Vorbereitung der praktischen Übung mit SAP R/3 (Teil III) Kap. 5.7-1 Datenbankschnittstellen in SAP R/3 Tabellenpuffer Dialog-Workprozess Dialog-Workprozess Dialog-Workprozess DynPro-Interpreter DynPro-Interpreter DynPro-Interpreter ABAP-Interpreter ABAP-Interpreter ABAP-Interpreter Native SQL Open SQL Native SQL Open SQL Native SQL Open SQL Datenbank- Datenbank- Schnittstelle Datenbank- Schnittstelle Schnittstelle Shared Memory Data Dictionary RDBMS Kap. 5.7-2 1

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 Output- Modul Input- Modul Output- Modul PBO DynPro Bildschirmausgabe Benutzereingabe PAI PBO Kap. 5.7-3 SAP-Transaktionen und LUWs SAP-Transaktion Folge von betriebswirtschaftlichen Dialogschritten Anwendungsorientierte Sichtweise SAP-LUW (Logical Unit of Work) Umfasst alle Dialogschritte einer Transaktion und die zugehörige Verbuchung in der Datenbank Systemorientierte Sichtweise SAP-Transaktion (Dialog-Workprozess) PBO PAI PBO PAI Verbuchung (Verbuchungs-WP) Update Task SAP-LUW Kap. 5.7-4 2

SAP-LUWs vs. Datenbank-Transaktionen Jedes DynPro kann von einem unterschiedlichen Workprozess bearbeitet werden Wenn SAP-LUW identisch mit DB-Transaktion wäre, dann müssten in der DB-Sperren über Prozessgrenzen hinweg weitergegeben werden Daher: Dynpro-Wechsel löst automatisch DB-Commit aus Ein einzelnes Dynpro entspricht daher einer Datenbank-Transaktion SAP-Transaktionen über DB-Transaktionen definiert Scheduling auf zwei Ebenen SAP implementiert eigene Sperrverwaltung Kap. 5.7-5 SAP-LUWs vs. Datenbank-Transaktionen SAP Logical Unit of Work Kap. 5.7-6 3

Sperrverwaltung in SAP R/3 Um ungewollte und inkorrekte Wechselwirkungen paralleler Zugriffe auf gemeinsame Daten zu vermeiden, müssen sowohl Lese- als auch Schreiboperationen mit Sperren gekapselt werden. Dies erfolgt jedoch nicht -wie im Falle eines DBMSautomatisch und transparent für den Benutzer. Es müssen vielmehr im ABAP-Programm explizit Sperren gesetzt werden Kap. 5.7-7 Sperrobjekte Sperrobjekte beinhalten eine oder mehrere Tabellen, aus denen betriebswitschaftlich zusammengehörende Datensätze gleichzeitig gesperrt werden sollen Aus dem Sperrobjekt, das im ABAP Dictionary angelegt wird, werden automatisch zwei Sperrbausteine generiert Enqueue-Baustein: Sperranforderung Dequeue-Baustein: Sperrfreigabe Kap. 5.7-8 4

Aufruf eines Sperrobjektes * Aufruf eines Sperrbausteins CALL FUNCTION 'ENQUEUE_EZOHO00KTO' EXPORTING * Angabe der Sperrparameter MODE_ZOHO00KTO = 'E' MODE_ZOHO00BUCH = 'E' MANDT = SY-MANDT KUNNR = ZOHO00KTO-KUNNR KONTONR = ZOHO00KTO-KONTONR EXCEPTIONS FOREIGN_LOCK = 1 SYSTEM_FAILURE = 2 OTHERS = 3. Kap. 5.7-9 SAP R/3 Prozessübersicht Präsentation SAPGUI- Prozess SAPGUI- Prozess X-Server PC Anwendungsserver Batch- Workprozess Verbuchungs- Workprozess Dispatcher Dialog- Workprozess Spool- Workprozess Enqueue- Workprozess Datenbankserver RDBMS Kap. 5.7-10 5

Sperranforderung Kap. 5.7-11 Sperranforderung 1 Aufruf des Enqueue-Funktionsbausteins (Sperranforderung) durch den Workprozess. Zusätzlich werden die Parameter der zu sperrenden Daten mitgegeben 2 Der Workprozess übermittelt den Sperrantrag an die zentrale Sperrtabelle 3 Der Enqueue-Workprozess überprüft, ob die gewünschten Sätze bereits gesperrt sind. Falls die Sperranforderung erfolgreich ist, wird die Sperre in der Sperrtabelle eingetragen; der aufrufende Workprozess kann daraufhin seine Arbeit fortsetzen Kap. 5.7-12 6

Sperrfreigabe Kann explizit erfolgen durch Aufruf des Dequeue- Funktionsbausteins CALL FUNCTION DEQUEUE_bausteinname Erfolgt automatisch bei Commit Work Rollback Work Ende der Dialogtransaktion Kap. 5.7-13 Datenbank-Interaktion in SAP-LUWs Ungebündelte Aktualisierung Datenbank-Änderungen direkt in PAI-Modul Nur möglich, wenn LUW aus einem einzigen Dynpro besteht, sonst keine ACID-Garantien Gebündelte Aktualisierung DB-Änderungen werden in Protokollsatzdatei (lokale Version der LUW) geschrieben DB-Verbuchung erfolgt erst am Ende der SAP- Transaktion durch spezielle Verbuchungs-Workprozesse CALL FUNCTION verbucher IN UPDATE TASK Kap. 5.7-14 7

Dialog- und Verbuchungs-WPs Verbuchungs- Workprozess Dialog- Workprozess Transaktion 1 Transaktion 3 Transaktion 2 Zeitachse LUW 1 LUW 2 (Transaktion wird durch LUW 3 unterbrochen) LUW 3 (Verbuchung wird vom Dialog-WP ausgeführt) Kap. 5.7-15 Protokollsatzdatei: Lokale Version der LUW Dialogprogramm Protokollsatzdatei Verbuchungsprogramm Datenbank Kap. 5.7-16 8

Verbuchungsprozess SAP-Transaktion PBO PAI DB- Commit Call function A in update task exporting... PBO PAI DB- Commit Protokollsatzdatei Funktion A Funktion B Funktion C PBO Commit Work PAI DB- Commit Verbuchung Verbuchungs- Prozess Funkt. A Funkt. B Funkt. C Commit SAP Logical Unit of Work Kap. 5.7-17 Änderungsoperationen in Open-SQL Tables definiert Tabellenarbeitsbereich (für EIN Tupel) Elemente des Tupels können beliebig gesetzt bzw. verändert werden Beispiel: TABLES zautor. ZAUTOR-Nachname = Frisch. ZAUTOR-Vorname = Friedrich. INSERT ZAUTOR. Fügt neues Tupel in DB ein ZAUTOR-Vorname = Max UPDATE ZAUTOR. ändert das Tupel Kap. 5.7-18 9

Komponenten von Dialogtransaktionen Modulpool (ABAP-Programm) Implementierung der PBO- und PAI-Module Dynpro (mehrere pro Dialog-TA) Definition der Bildschirmmaske Zuordnung von Modulen aus dem Modulpool an PBOund PAI-Zeitpunkt Festlegen der Felder der Maske und Zuordnung zu Variablen im Modulpool (gleiche Benennung!) Status (einmal pro Dynpro) Definition der aktiven Buttons der Dialogmaske Sperrbaustein Transaktion Kap. 5.7-19 Tools des R/3 Repository Data Modeler: Datenmodellierung Data Dictionary: Metadatenverwaltung Data Browser: Zugriff auf Datenbanktabellen (nur Anwendungsdaten) Repository Browser: Zugriff auf sämtliche Programmobjekte Entwicklungswerkzeuge: ABAP-Editor Screen Painter Status-Editor (Definition von Buttons & Menüeinträgen) Kap. 5.7-20 10

Onlineprogramm Für Reports Programmtypen nur Programme von diesem Typ können direkt abgearbeitet werden Modulpool Für Dialoganwendungen (Verarbeitungsschritte von DynPros) Nur über Transaktionsnummer aufrufbar Funktionsgruppe Sammlung von Funktionen Include-Programm Subroutinepool Kap. 5.7-21 Process Before Output Setzen des Dynpro-Status Welche Buttons sind aktiv Welche Funktion ist jeweils hinterlegt Initialisierung der Werte, die angezeigt werden sollen z.b. durch DB-Zugriff oder aus Vorgänger-Dynpro Kap. 5.7-22 11

Process After Input Verarbeitung der eingegebenen Daten Direkter Zugriff auf Datenbank Aufruf einer Verbuchungstask = Aufruf eines Funktionsbausteins (nicht im Modulpool definiert, sondern in Funktionsgruppe) CALL FUNCTION Verbuchung IN UPDATE TASK EXPORTING PARA1 = PARA2 =. Festlegen des Folge-Dynpros SET SCREEN 0200. Wechsel zum Folge-Dynpro Leave Screen. Kap. 5.7-23 Transaktion Einstiegspunkt in Dialogtransaktion Angabe von Programmname (Modulpool) und Nummer des ersten Dynpros Aufruf durch Transaktionsnummer /nzvb00 Weiterer Kontrollfluss innerhalb der Transaktion in den PAI-Modulen definiert Kap. 5.7-24 12

Praktische Übung Implementierung von Dialogtransaktionen Aufgabe 1: Einfacher Dialog, bestehend aus einem Dynpro Datenbankzugriff in PAI-Modul Skelett des Modulpools vorgegeben (ZOHO00SD) Aufgabe 2: Anlegen eines Sperrbausteins Aufgabe 3: Dialog bestehend aus vier Dynpros Verwendung des Sperrbausteins Skelett ZOHO00DI vorgegeben Aufgabe 4: Verbuchung in Verbuchungsprozess (Funktionsbaustein) Kap. 5.7-25 Aufgabe 3: Ablauflogik Dynpro 0100 Eingabe der Kontonummer Selektion der Kontodaten Aufruf Sperrbaustein Dynpro 0200 Eingabe der Konto-Buchung Sperrkonflikt Insert direkt in DB Dynpro 0300 OK Fehler Dynpro 0400 Bestätigung Fehlermeldung Kap. 5.7-26 13

Aufgabe 4 Verbuchungsfunktionsbaustein Dynpro 0100 Eingabe der Kontonummer Selektion der Kontodaten Aufruf Sperrbaustein Dynpro 0200 Eingabe der Konto-Buchung Aufruf der Verbuchung Sperrkonflikt OK Dynpro 0300 Dynpro 0400 Commit Work Ausführen der Verbuchung Fehler Rollback Work Verwerfen des Protokollsatzes Kap. 5.7-27 14