Sie haben 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.
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.
Eigenschaften von SAP Jobs
SAP Jobs werden mit Hilfe von Transaktion SM36 eingerichtet. Die folgende Abbildung zeigt einen exemplarischen SAP Job.
© 2020. SAP SE oder ein SAP-Konzernunternehmen. Alle Rechte vorbehalten. Mit Genehmigung der SAP SE verwendet.
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:
- Geplant
Der Job ist nur eingeplant, hat aber noch keine Startbedingung, kein Enddatum, keine Durchführungsfrequenz usw. und wird daher nie laufen. - 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. - 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. - Aktiv
Der Job läuft im Hintergrund. Der Status des Jobs kann während der Durchführung nicht mehr geändert werden. - Fertig
Der Job ist erfolgreich durchgeführt worden. - 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.
© 2020. SAP SE oder ein SAP-Konzernunternehmen. Alle Rechte vorbehalten. Mit Genehmigung der SAP SE verwendet.
Ein Step in einem SAP Job kann drei verschiedene Ausprägungen haben:
- 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 von der ecosio cloudbasierten EDI Lösung (unser Integration Hub) abholt. - Externes Kommando
Mit dieser Funktion kann ein durch den Systemadministrator vordefiniertes Kommando aufgerufen werden und zusätzlich können zum Aufruf Parameter übergeben werden. - 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.
© 2020. SAP SE oder ein SAP-Konzernunternehmen. Alle Rechte vorbehalten. Mit Genehmigung der SAP SE verwendet.
Ü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“.
© 2020. SAP SE oder ein SAP-Konzernunternehmen. Alle Rechte vorbehalten. Mit Genehmigung der SAP SE verwendet.
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“.
© 2020. SAP SE oder ein SAP-Konzernunternehmen. Alle Rechte vorbehalten. Mit Genehmigung der SAP SE verwendet.
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.
SAP ERP und SAP S/4HANA sind die Marken oder eingetragenen Marken der SAP SE oder ihrer verbundenen Unternehmen in Deutschland und mehreren anderen Ländern.