Leseprobe
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 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 Start eines Jobs ist durch die Angabe eines Periodenwertes () möglich (siehe Abbildung 2.4).
Abbildung 2.4: Startbedingung für einen Job
2.1.2 Batch-Scheduler
Der Batch-Scheduler ist ein in regelmäßigen Abständen in einem SAP-System ablaufendes Systemprogramm, das für jeden zur Ausführung eingeplanten Job überprüft, ob die Startbedingung erfüllt ist. Wenn das Ergebnis positiv ausfällt, erhalten diese Jobs den Status »bereit«. Der zeitliche Abstand zwischen zwei Starts des Schedulers wird durch den Parameter rdisp/btctime festgelegt; der Standardwert beträgt 60 Sekunden.
Der Scheduler verteilt die zur Ausführung fertigen Jobs auf die zur Verfügung stehenden Hintergrundprozesse. Ein Hintergrundprozess führt einen Job immer in Gänze aus (sofern er nicht abbricht), d.h., der Prozess steht während einer Jobausführung nicht für andere Aufgaben zur Verfügung. In der Konsequenz können nicht mehr Jobs gleichzeitig ablaufen als Hintergrundprozesse vorhanden sind. Die in einer Instanz nutzbaren Hintergrundprozesse werden durch den Parameter rdisp/wp_no_btc festgelegt.
Betriebsarten
Mithilfe der Definition sogenannter Betriebsarten ist es möglich, die Anzahl der zur Verfügung stehenden Hintergrundprozesse flexibel zu gestalten (siehe Transaktion RZ04/SM63). So können z.B. für den Nachtbetrieb mehr Hintergrundprozesse als für den Tagesbetrieb bereitgestellt werden.
Haben zur Ausführungszeit des Schedulers mehr Jobs den Status »bereit« als Hintergrundprozesse vorhanden sind, können nicht alle Jobs wie geplant gestartet werden. In diesem Fall bietet sich eine Priorisierung dieser Jobs mithilfe der Jobklasse an, die einem Job bei der Definition zugewiesen wird () (siehe Abbildung 2.5). Bei gleicher Jobklasse werden zudem Jobs für die Startfreigabe bevorzugt, für die unter Ausführungsziel eine Instanz mit Hintergrundprozessen eingetragen ist (). Voraussetzung ist natürlich, dass genau die angegebene Instanz noch über freie Hintergrundprozesse verfügt.
Abbildung 2.5: Jobklasse (Priorität)
Für die Vergabe der Jobklasse gelten die in Tabelle 2.1 aufgelisteten Empfehlungen:
Jobklasse | Empfehlung |
---|---|
A | Für den Betrieb unbedingt notwendige und zeitkritische Jobs. Beispiel: Job RDDIMPD für die Steuerung der Importe von Transportaufträgen. |
B | Regelmäßig, mit kürzeren Wiederholungsperioden (z.B. stündlich) laufende Jobs, die nur mit geringer Verzögerung gestartet werden sollen. |
C | Jobs, die keine erhöhte Priorität erfordern. Jobklasse »C« ist die Standardklasse. |
Tabelle 2.1: Jobklassen
Reservierung von Hintergrundprozessen für Klasse »A«
Bei der Definition von Betriebsarten (Transaktion RZ04) haben Sie die Möglichkeit, Hintergrundprozesse speziell für Jobs der Klasse »A« zu reservieren (siehe in Abbildung 2.6). Beachten Sie aber unbedingt: Wird in einem auf diese Weise reservierten Prozess ein Job der Klasse »A« gestartet und ist gleichzeitig ein weiterer Hintergrundprozess verfügbar, wird dieser sofort für einen anderen Klasse-A-Job reserviert, damit der nächste anstehende Job dieser Klasse nach Möglichkeit sofort starten kann.
Abbildung 2.6: Reservierung von Hintergrundprozessen für Klasse »A«
Schlechtes Beispiel für Klasse-A-Reservierung
Ihnen stehen vier Hintergrundprozesse zur Verfügung, von denen zwei für die Klasse »A« reserviert werden. Wenn nun zeitgleich zwei Klasse-A-Jobs laufen, ist eine Ausführung von Jobs der Klassen »B« und »C« nicht mehr möglich.
Alle Inhalte. Mehr Informationen. Jetzt entdecken.
et.training - Ihre Lernplattform für SAP-Software
- Zugriff auf alle Lerninhalte1
- Regelmäßige Neuerscheinungen
- Intelligenter Suchalgorithmus
- Innovatives Leseerlebnis
- Maßgeschneidere Lernpfade
- Zertifikate & QA-Tests2
1 Sie erhalten Zugriff auf alle Lerninhalte. Online-Trainings, Zertifikate sind NICHT Teil der Flatrate.
2 Weitere Informationen auf Anfrage.