SAP als große Datenbankanwendung Datenbanken III SP2 Organisatorisches Termin? Übungsgruppen? Prüfungsleistung? Material? 1 Überblick SAP was ist das? Architektur SAP Intern SAP auf Oracle Softwarelogistik Installation Programmierung (ABAP,BSP) SAP was ist das? Die Firma Das ERP-System R/3 Betriebswirtschaftliche Sicht Technische Sicht BW – BI Netweaver SAP in der Lehre? SAP-Sprache 2 Kernaufgaben Aufgaben mit Beteiligung der Basis-Administration SAP+Java Backup&Recovery Performance Monitoring Landschaftsplanung Installation Applikationsserver Mandantenkopie Entwicklung der Systemlandschaft Wartung Oracle Kernaufgaben der Basis-Administration MM Transporte SAP-BW PP Customizing Benutzerverwaltung Infrastruktur Transportwesen CRM Anwendungsentwicklung Einführung neuer SAP-Produkte Aufgaben außerhalb der Basis-Administration 3 4.6C Monolith Applikation und Basis Trennung von Appl. und Basis 4.6D Applikation Basis 4.7 Applikation Basis 6.10 Applikation Basis 6.20 App 4.7 Basis 6.2 ICM NetWeaver04 ECC 5.0 6.40 Basis 6.4 ICM J2EE ITS in Kern integriert NetWeaver04s ECC 6.0 7.00 Basis 7.0 ICM J2EE IS-Solution in ECC (neu), Unicode (zwingend), Space + EES = Enterprise Extension Set EES + primär zur Evaluation, kaum Produktivsysteme ICM + J2EE erstes NetWeaver Release ECC = Enterprise Core Components mysapERP = ECC + SRM (ab 6.40) 4 GUI GUI GUI GUI GUI GUI GUI AS AS AS DBMS DBMS DBMS (b) (c) (a) Softwarekomponente Rechner, Server GUI GUI GUI AS DBMS (c) Softwarekomponente GUI GUI GUI AS AS AS DBMS (d) Rechner, Server 5 Look & Feel Übung Melden Sie sich bei SAP an Starten Sie die Transaktion su01 Tragen Sie ihre persönlichen Daten ein Beruhigen Sie sich wieder… 6 Standardsoftware – Individualsoftware Individualsoftware: für einen speziellen Anwendungsfall entwickelt Standardsoftware: in vielen ähnlichen Anwendungsfällen nutztbar (Informatiker of irritiert: SAP von ISO, DIN oder OSI standardisiert) Skalierbarkeit Wozu? Definition Möglichkeiten Hardware Ausprägung der Architektur Parametrisierung Æ Adaptive Computing? Lastbalancierung 7 Applikationsserver: Prozesse Dispatcher Dialog-Workprozesse Batch-Workprozesse Verbucher Enqueue-Prozess Spool-Prozess Message-Server Gateway-Prozess Internet Communication Manager Top 8 Dispatcher GUI GUI ENQ SPOOL DISP DIA 0 DIA 1 GUI Roll-Puffer Disp. Queue DIA 2 ABAP-Puffer DIA 3 Tabellenpuffer GTW Server, Rechner DBMS DIA 1 Prozess, Programm PU Puffer, Spiecherstr. GUI DISP Screen, Transaktionsschritt DIA 0 Task-Handler Dynpro-Prozessor ABAP-Aufruf ABAP-Prozessor SAP Open-SQL DB-Schnittstelle DIA 2 DIA 1 ENQ SPOOL GTW Native SQL, von z.B. Oracle DBMS 9 GUI 1 2 DISP 3 Disp. Queue 15 Dynpro-Prozessor 5 10 DB-Schnittstelle 9 Rollpuffer 14 13 ABAP-Prozessor 7 4 6 ABAP-Puffer 8 11 Tabellenpuffer 12 DBMS SAP-Transaktionen vs . DB-Transaktionen ACID A C I D LUW- Logical Unit of Work Dauer, Objekte 10 LUW start Transkation schreibe Daten commit Benutzer gibt Daten ein Start Ende + Sichern DIA DB-LUW Schreiben in VB* SAP-LUW Liest VB* Speichert in Ziel-Tabellen UPD PBO PAI PBO Code n Code n+1 PAI PBO Code n+2 Code 3 DIA 1 Code 1 Screen 1 Screen n+1 t Screen n+2 PAI PBO PAI PBO Code 1 Code 2 Code n+1 Code n+2 DIA 2 t Screen 2 Screen 3 PAI PBO PAI Code 2 Code 3 Code 3 DIA 3 1. Änderung PBO 2. Änderung PBO PAI Code 1 Code 2 Code 2 DP2 DB LUW commit DP: PBO: PAI: LUW: DB LUW: Dialog Prozess Process Before Output Process After Input Logical Unit of Work Database Logical Unit of Work PAI Screen 3 Screen 2 Code 1 DP1 DB LUW Speichern PBO PAI Screen 1 t Code 3 commit DP3 DB LUW commit SAP Logical Unit of Work t Code 3 DP3 DB LUW commit WORK V DB LUW 11 Transaktionscodes sm50 sm51 sm21 rz10 sm04 Modus EasyAccess-Menü Übung: Wissen über das eigene System Ermitteln Sie die folgenden Systemeigenschaften Betriebsystem (Version) SAP-Version Datenbanksystem, Version Installationsnummer Servername, IP Maschinentyp Lizenzablaufdatum Patch-Level Kernel-Release Up-Time des Systems 12 ABAP-Stichworte ABAP-Sprache Entwicklungsumgebung (ähnlich Eclipse) Bibliothek Laufzeitumgebung Object-Navigator: SE80 Namensraum Z zz##progname Kein Top-Include Lokales Objekt (wir wollen nicht transportieren) Entwicklungsklasse Æ Paket (4.7) Pretty-Printer Vorwärtsnavigation Systemfelder Vorwärtsnavigation 13 Kein Top-Include Kaufm. Rechnen 14 Lokales Objekt Æ eingeschränkte Transportierbarkeit Änderbarkeit aktivieren: Nun geht es los Achtung: Das ist kein Schmutz auf dem Bildschirm! 15 Entwicklung des ABAP-Programms Hallo Welt, Syntax, Kenntensatz PrüfenÆAktivierenÆAusführen (F8) Hallo Welt mit sy Hallo Welt mit Parametereingabe Pretty Printer Nun Abflugort aus SPFLI Æ Vorwärtsnavigation, like Æ Wertehilfe funktioniert!!! Datenbankabfrage Hallo Welt… *&-------------------------------------------------------------------*& Report ZZ38HALLO *& *&-------------------------------------------------------------------*& Erstes ABAP-Programm im HCC-Kurs *& im März 2005 (M. Höding) *&-------------------------------------------------------------------REPORT zz38hallo. Globale Deklaration Parameters eingabe1(22) type c default 'Brandenburg'. START-OF-SELECTION. Ausführungsteil wird von der Laufzeitumgebung aufgerufen WRITE: 'Hallo ', eingabe1. Sogenannter Kettensatz 16 Komplettes Beispiel mit DB-Zugriff REPORT zz38hallo. PARAMETERS abflugo LIKE spfli-cityfrom. DATA waspfli LIKE spfli. START-OF-SELECTION. WRITE: 'Hallo ', abflugo,/. SELECT * FROM spfli INTO waspfli WHERE cityfrom = abflugo. WRITE: waspfli-cityto,waspfli-carrid,waspfli-fltime,/. ENDSELECT. Übungsaufgaben Anzeige des Transaktioncodes SE80: Wechseln Sie im Object Navigator auf das Repository Infosystem und wählen Sie im Objektlistenbereich den Eintrag Weitere Objekte Æ Transaktion aus. Suchen Sie nach dem Transaktionscode *SE8* (die Suche mit Platzhaltern funktioniert) und lassen Sie sich die Details anzeigen. a) Zu welchem Paket gehört die Transaktion SE80? b) Welche Transaktionsklassifikation hat die Transaktion SE80? c) Mit welchen GUI arbeitet die Transaktion SE80? Schreiben Sie analog der Demonstration ein ‚Hallo Welt‘-Programm. Modifizieren Sie das Programm so, dass Sie zwei Zahlen als Parameter eingeben können und eine Berechnung durchführen Geben Sie mit Hilfe der Systemfelder den Mandanten und den Nutzernamen aus 17 Übungsaufgaben Kennen lernen des Object Navigator Rufen Sie den Object Navigator auf: Transaktion SE80 Wie ist der Pfad? Verschaffen Sie sich einen Überblick über die von der SAP ausgelieferten Hilfen und Beispiele a) Unter Umfeld Æ Beispiele gibt es eine umfangreiche Sammlung von Quelltexten zu den Themen Ergonomie, Performance, Controls und ABAP-Beispielen b) Wählen Sie im Bereich „Performance Beispiele“ die Gegenüberstellungen von einzelnen Ausdrücken und Programmierbeispielen und messen Sie jeweils die Laufzeit (sofern möglich) der vorgestellten Beispiele und lesen Sie die Erläuterungen zu den Beispielen, warum einige Programmierbefehle eher genutzt werden sollten als andere bzw. in welchen Situationen die Verwendung welches Befehls besser geeignet ist: b1) Select ...Where vs. Select + Check 18