6 min Lesezeit

Hintergrundverarbeitung in SAP leicht gemacht - automatische SAP Jobs einrichten und verwalten

Wozu dient ein SAP Job und wie ist dieser aufgebaut?

Hintergrundjobs finden in vielen Bereichen Anwendung, wo Prozesse ohne manuelles Zutun automatisch vom System zu bestimmten Zeitpunkten ausgeführt werden. Im Bereich von Unix-Systemen kennt man das Konzept von Cron Jobs und auf Windows-Rechnern kann man Hintergrundprozesse mit dem Aufgabenplaner (engl.: Task Scheduler) einrichten. Auch SAP hat eine entsprechende Hintergrundverarbeitung für Prozesse – so genannte SAP Jobs.

SAP Jobs können einmalig oder wiederkehrend ausgeführt werden – z. B. jeden Tag um Mitternacht. Dadurch können beispielsweise resourcenintensive Verarbeitungen in der Nacht ausgeführt werden, wenn wenig bis keine Benutzer am System angemeldet sind. Ein anderes Anwendungsbeispiel ist das wiederkehrende Abholen von neuen EDI-Nachrichten von einem externen B2B Integration Hub, wie im Falle von ecosio.

Im Folgenden stellen wir die wichtigsten Merkmale vor und zeigen wie die Einrichtung. Anschließend gehen wir darauf ein, wie man bestehende SAP Jobs ändert und wie man Verarbeitungs-Logs von SAP Jobs liest. Wie Sie sich die IDoc-Nummer eines SD-Auftrages anzeigen lassen können, erläutern wir übrigens in diesem Artikel.

White Paper – Wie eine erfolgreiche EDI/ERP-Integration gelingt

Eigenschaften von SAP Jobs

SAP Jobs werden mit Hilfe von Transaktion SM36 eingerichtet. Die folgende Abbildung zeigt einen exemplarischen SAP Job.


Überblick über SAP Job
Überblick über SAP Job

Es gibt eindeutige Jobnamen, der frei vergeben werden kann. Es empfiehlt sich aus Gründen der Übersichtlichkeit die Einhaltung einer einheitlichen systemweiten Namenskonvention.

SAP Job-Klassen

Ein SAP Job muss beim Anlegen einer bestimmten Jobklasse zugeordnet werden. Jobklassen definieren die Priorität, mit welcher ein Hintergrund-Job ausgeführt wird. Dabei wird zwischen den folgenden drei Klassen unterschieden.

Klasse A – Hohe Priorität

Dringende oder kritische Hintergrund-Jobs können mit Klasse A geplant werden. Diese Jobs werden bevorzugt ausgeführt, bevor Jobs der Klasse B oder C ausgeführt werden.

Klasse B – Mittlere Priorität

Sobald Jobs der Klasse A abgearbeitet sind, werden Job der Klasse B gestartet.

Klasse C – Niedrige Priorität

Jobs der Klasse C haben die niedrigste Priorität und werden erst gestartet, wenn Jobs der Klasse A und B abgearbeitet wurden.

Status

Neben der vergebenen Prioritätsklasse, gibt es einen bestimmten Status. Die möglichen Zustände sind dabei wie folgt:

  1. Geplant
    Der Job ist nur eingeplant, hat aber noch keine Startbedingung, kein Enddatum, keine Durchführungsfrequenz usw. und wird daher nie laufen.
  2. Freigegeben
    Der Job hat zugewiesene Prozessschritte und alle Parameter für eine Durchführung sind vorhanden. Der Job wartet darauf das erste Mal ausgeführt zu werden, sobald die Startbedingung erfüllt ist – zB eine bestimmte Uhrzeit.
  3. Bereit
    Der Job ist bereit für die Durchführung und wurde vom Job-Scheduler in die Durchführungs-Queue gelegt. Sobald ein Hintergrundverarbeitungsprozess frei ist, wird der Job durchgeführt.
  4. Aktiv
    Der Job läuft im Hintergrund. Der Status des Jobs kann während der Durchführung nicht mehr geändert werden.
  5. Fertig
    Der Job ist erfolgreich durchgeführt worden.
  6. Abgebrochen
    Der Job wurde abgebrochen. Der Abbruch kann dabei manuell durch einen Administrator herbeigeführt worden sein, oder es ist während der Durchführung des Jobs ein Problem aufgetreten. Die genauen Details lassen sich in den Job Logs und im Spool auslesen (siehe Beschreibung weiter unten).

Schritte

Jeder SAP Job besteht aus einem oder mehreren Verarbeitungsschritten – so genannten Steps. Die folgende Abbildung zeigt einen exemplarischen Step.


SAP Job - Prozessschritt
SAP Job – Prozessschritt

Ein Step in einem SAP Job kann drei verschiedene Ausprägungen haben:

  1. ABAP-Programm
    In diesem Fall wird ein ABAP-Programm gestartet, wobei eine Variante und die Sprache übergeben werden können. Im oben angeführten Screenshot wird beispielsweise das ABAP-Programm /EPO1/EXC_ECOSIO_FETCH mit der Variante FETCH ausgeführt, welches periodisch Nachrichten vom ecosio Integration Hub abholt.
  2. Externes Kommando
    Mit dieser Funktion kann ein durch den Systemadministrator vordefiniertes Kommando aufgerufen werden und zusätzlich können zum Aufruf  Parameter übergeben werden.
  3. Externes Programm
    In diesem Fall wird ein externes Programm gestartet, wobei auch hier Parameter übergeben werden können.

Einrichten

Im ersten Schritt werden, wie bereits angeführt, in Transaktion SM36 der Jobname und die Jobklasse definiert. Anschließend werden die einzelnen Steps des Jobs definiert, welche nach der Reihe ausgeführt werden – von oben nach unten.

Im nächsten Schritt wählt man die Startbedingung des Jobs aus.


SAP Job Startbedingung
SAP Job Startbedingung

Üblicherweise wählt man als Startbedingung eine bestimmte Uhrzeit, ab wann der Job ausgeführt werden soll, sowie ein Wiederhol-Intervall – zB alle 10 Minuten. Gibt man keine Uhrzeit an, so bleibt der Job im Zustand „geplant“ und wird nicht ausgeführt.

Nach der Angabe einer Uhrzeit und einer Wiederholfrequenz speichert man den Job. Anschließend wechselt dieser auf „freigegeben“ und wartet auf seine erste Ausführung. Alternativ kann ein Job auch mit einem Klick auf „Sofort“ sofort ausgeführt werden.

Ändern

Um einen SAP Job zu ändern, wechselt man in Transaktion SM37. Dort kann man sich einen Überblick über alle Jobs in den verschiedenen Zuständen verschaffen. Um einen bereits freigegebenen Job zu ändern, markiert man diesen in der Übersicht und wählt anschließend in der Menüleiste „Job > Freigegeben – Geplant“.


SAP Job Übersicht
SAP Job Übersicht

Damit kann der Job nun wieder bearbeitet und dann erneut freigegeben werden.

Logs einsehen

Genau wie bei einem regulär ausgeführten Prozess, kann auch bei einem SAP Job eine Verarbeitung unerwartet abbrechen. In diesem Fall empfiehlt sich ein Blick in die Logs. Auch hier erfolgt der Einstieg wieder über Transaktion SM37. Im ersten Schritt markiert man einen der bereits durchgeführten Jobs und wählt anschließend „Spool“ oder „Job-Log“.


Logdaten eines SAP Jobs
Logdaten eines SAP Jobs

Mit Hilfe dieser beiden Funktionen erhält man einen Überblick über die Logs selbst sowie der einzelnen Prozessschritte. Voraussetzung ist natürlich, dass die Prozessschritte auch Verarbeitungslogs schreiben.

Übrigens: mit der Einführung von SAP S/4HANA erfährt das IDoc-Format einige Änderungen. Welche das sind, erfahren Sie im Detail in diesem Artikel.

Noch Fragen?

Sie haben noch Fragen zum Thema SAP Jobs oder der Anbindung von externen Systemen an das SAP ERP oder SAP S/4HANA-System? Zögern Sie nicht und nehmen Sie mit uns Kontakt auf. Wir stehen Ihnen jederzeit gerne für Fragen zur Verfügung.

Themen

Meistgelesen

Weiterlesen

Wir verwenden Cookies, um ein optimales Website-Erlebnis zu bieten. Sie entscheiden, welche Sie zulassen möchten. Je nach Einstellung stehen Ihnen aber womöglich nicht alle Funktionalitäten zur Verfügung. Datenschutzhinweise & Impressum.