Praxishandbuch SAP-Basis – Troubleshooting in der Systemadministration. Manfred Sprenger
alt="CalloutCaption"/>) eines Workprozesses (siehe Abbildung 1.7).
Abbildung 1.7: Workprozessübersicht mit »dpmon«
Komfortabler als dpmon ist sicherlich die SAP Management Console (SAP MMC). Sie kann z.B. mit der Portnummer »5<Instanz>13« per Browser geöffnet werden (sofern die Firewall-Einstellungen dies zulassen und der Browser Applets unterstützt).
Die Workprozessübersicht (
) steht Ihnen unter AS ABAP WP Table () zur Verfügung (siehe Abbildung 1.8).Abbildung 1.8: Workprozess in SAP MMC
2 Abbruch oder verzögerte Ausführung von Jobs
Es gibt in jedem SAP-System eine Vielzahl wiederkehrender Aufgaben, die in regelmäßigen Abständen und zu bestimmten Zeiten auszuführen sind. Diese Aufgaben werden der SAP-Hintergrundverarbeitung übertragen. Diese bietet mit der zeitgesteuerten Ausführung zudem die Möglichkeit, lang laufende Anwendungen in Zeiten zu verlagern, in denen das System über ausreichende Ressourcen verfügt. Da bei der Hintergrundverarbeitung Fehler- oder Problemmeldungen nicht an Dialoganwender gesendet werden, ist ein Monitoring außerordentlich wichtig. In diesem Kapitel erläutere ich Ihnen zunächst die Funktionsweise der SAP-Hintergrundverarbeitung und zeige Ihnen anschließend, welche typischen Probleme auftreten können und wie man diese erkennt und beseitigt.
Die im Rahmen der SAP-Hintergrundverarbeitung ausgeführten Programme laufen in Hintergrundworkprozessen und nicht in Dialogworkprozessen. Daraus resultieren folgende Vorteile:
Für Hintergrundworkprozesse existiert, anders als für Dialogworkprozesse, keine Laufzeitbegrenzung, d.h. der Parameter rdisp/max_wprun ist irrelevant.
Hintergrundworkprozessen steht mehr Speicher zur Verfügung, d.h., es können darin größere Datenmengen verarbeitet werden.
Programme können zu lastarmen Zeiten gestartet werden.
Aber auch im Rahmen der Hintergrundverarbeitung können Probleme auftreten, wie etwa »Job wurde abgebrochen« oder »Job wird gar nicht oder stark verzögert gestartet«. Im Folgenden erhalten Sie zunächst nähere Informationen zur Funktionsweise der Hintergrundverarbeitung. Anschließend werden typische Fehlersituationen sowie die zur Fehleranalyse geeigneten Werkzeuge vorgestellt.
2.1 Konzept der Hintergrundverarbeitung
2.1.1 Job und Job-Step
Die SAP-Hintergrundverarbeitung führt Jobs aus, die aus einem oder mehreren Job-Steps bestehen. Die Job-Steps werden gemäß der im Job festgelegten Reihenfolge ausgeführt. Im Normalfall erfolgt die Verarbeitung synchron, d.h., erst wenn ein Step beendet wurde, wird der nächste gestartet. Bei Abbruch eines Steps bricht der gesamte Job ab.
Datenbankänderungen bei Jobabbrüchen
Beachten Sie, dass Änderungen, die von einem Step durchgeführt und mit COMMIT bestätigt wurden, durch den Abbruch nicht zurückgesetzt werden.
Ein Job-Step kann durch ein ausführbares ABAP-Programm, ein externes Kommando oder durch ein externes Programm realisiert werden. Daher erfahren Sie zunächst, was hinter diesen Begriffen steht, um dann zur Definition eines Jobs überzugehen.
Ausführbares ABAP-Programm
Hierbei handelt es sich um ein ABAP-Programm vom Typ 1 (siehe Abbildung 2.1).
Abbildung 2.1: Ausführbares Programm
Ungeeignete Programmtypen für Job-Steps
Dialogtransaktionen, d.h. Anwendungen, die auf ABAP-Programmen vom Typ M = Modulpool basieren, können – ebenso wenig wie Funktionsbausteine – nicht zur Definition eines Job-Steps verwendet werden.
Verfügt das für einen Job-Step infrage kommende ABAP-Programm über ein Selektionsdynpro, muss zumindest eine sogenannte Variante vorhanden sein. Diese beinhaltet die für den Startzeitpunkt des Job-Steps relevanten Werte für die Selektionsparameter des Programms. Bei der Definition des Job-Steps sind in diesem Fall der Name des Programms sowie der Variante anzugeben.
Externes Programm
Ein externes Programm ist eine ausführbare Datei auf Hostsystemen, auf die das SAP-System zugreifen kann. Zu diesen Systemen gehören insbesondere die Applikationsserver des SAP-Systems. Externe Programme werden, wenn sie Bestandteile eines Jobs sind, normalerweise vom Betriebssystembenutzer <SAP-Systemname>adm, also z.B. se1adm, ausgeführt. Beachten Sie, dass externe Programme betriebssystemabhängig benannt und parametrisiert sind. Um beispielsweise das Inhaltsverzeichnis eines Dateipfades abzurufen, müssen Sie bei Windows das Kommando dir
, bei Linux das Kommando ls
aufrufen.
Externes Kommando
Mit einem externen Kommando bietet die SAP die Möglichkeit, unter einem einheitlichen Kommandonamen für verschiedene Betriebssysteme das passende externe Programm zuzuordnen. Die Definition solcher externen Kommandos erfolgt mithilfe der Transaktion SM69. Abbildung 2.2 zeigt Beispiele für externe Kommandos.
Abbildung 2.2: Externe Kommandos
Definition von Jobs
Die Definition von Jobs erfolgt bevorzugt mithilfe der Transaktion SM36. In Abbildung 2.3 sehen Sie ein Beispiel für einen Job mit mehreren Steps.
Abbildung 2.3: Beispiel Job-Steps
Die Spalte Nr. zeigt an, in welcher Reihenfolge die Steps ausgeführt werden sollen. Zusätzlich finden Sie in der Abbildung folgende Informationen:
Name des ABAP-Programms bzw. des externen Kommandos
Programmtyp (ABAP oder externes Kommando)
Name der Variante (falls zur Ausführung erforderlich)
Benutzer, unter dessen Kennung der Step gestartet wird
Zu verwendende Anmeldesprache für die Ausführung
Einem auszuführenden Job muss eine Startbedingung zugeordnet werden (
). Der wiederkehrende