Hintergrundjob in SAP ERP einfach einrichten – SM36 und SM37

Hintergrundjobs (Batch-Jobs) sind für die Wartung und den Betrieb des SAP ERP bzw. SAP S/4HANA-Systems sehr wichtig. Was ein Hintergrundjob bzw. Job ist und wie man ihn am einfachsten einrichtet, erfährst Du in diesem Artikel.

Hintergrundjob einfach erklärt

Ein Hintergrundjob ist eine Ausführung von einem ABAP-Report im Hintergrund, also vom SAP ERP bzw. SAP S/4HANA-System selbst. Meistens bezeichnet man einen Hintergrundjob auch als Batch-Job oder Job.

Somit ist es nicht mehr notwendig, dass ein SAP-Benutzer aktiv einen ABAP-Report bzw. -Programm im Vordergrund, also manuell über die Programmausführung SA38 ausführt.

Man kann bei der Einrichtung des Hintergrundjobs das Intervall der Ausführung mit angeben. Somit ist es möglich, dass der ABAP-Report regelmäßig zu einer festen Uhrzeit oder nach einem Zeitabstand ausgeführt wird.

Beispiele für Hintergrundjobs:

  • Aufräumarbeiten
  • fehlerhafte IDocs erneut verarbeiten
  • Prüfung auf Wareneingang
  • Stammdaten prüfen und bei Unstimmigkeiten Mail versenden

Jobklasse

Jeder Job wird mit einer Jobklasse bzw. Priorität angelegt. Hierbei kann einer der folgenden Prioritäten vergeben werden:

  • A – Prio hoch
  • B – Prio mittel
  • C – Prio niedrig

Die Jobklasse bzw. Priorität legt die Reihenfolge der Ausführung fest. Es werden zuerst Jobs der Priorität A ausgeführt und dann B. Nur wenn alle Jobs mit den Prioritäten A und B ausgeführt wurden, wird ein Job der Priorität C gestartet.

Status

Außerdem enthält jeder Job einen Status. Der Status definiert den Zustand, in dem sich der Job befindet. Hierbei kann man zwischen folgenden Status unterscheiden

  • Geplant
  • Freigegeben
  • Bereit
  • Aktiv
  • Fertig
  • Abgebrochen

Hintergrundjob einrichten

Einen Hintergrundjob kann man sehr einfach in der Transaktion SM36 einrichten. Insgesamt sind dabei folgende Schritte notwendig:

  1. Transaktion SM36 aufrufen
  2. Jobname angeben
  3. Startbedingungen festlegen
    1. Startterminwerte angeben
    2. Periodenwerte angeben, falls periodisch ausgeführt
  4. Steps festlegen
  5. Speichern

Zuerst ruft man die Transaktion SM36 auf und gibt seinen gewünschten Jobnamen im Feld “Jobname” ein. Unter diesem Namen wird zukünftig der Job ausgeführt. Außerdem gibt man die Jobklasse an mit welcher Priorität der Job ausgeführt werden soll.

Als nächstes definiert man die Startbedingungen. Hierbei wird angegeben, wann der Job das erste Mal ausgeführt werden soll. Zudem hinaus kann man festlegen, dass der Job periodisch (also in einem bestimmten Zeitintervall) regelmäßig das ABAP-Programm ausführt. Dafür klickt man auf den Button “Startbedingung angeben” oder die F5-Taste.

Im erscheinenden Fenster werden die Startterminwerte festgelegt. Hierbei kann man z.B. den Job sofort, an einem bestimmten Datum zu einer festen Uhrzeit oder nach einem anderen Job ausführen.

Möchte man den Job periodisch ausführen, wählt man die Checkbox “Job periodisch ausführen” aus und klickt auf den Button “Periodenwerte”, um die einzelnen Zeiteinheiten für die Ausführung anzugeben. Nach dem Klick auf den Speichern-Button oder “Strg + S” sind die Startbedingungen festgelegt.

Ales nächstes definiert man die Startbedingungen. Hierbei wird angegeben, wann der Job das erste mal ausgeführt werden soll. Zudem hinaus kann man festlegen, dass der Job periodisch (also in einem bestimmten Zeitintervall) regelmäßig das ABAP-Programm ausführt. Dafür klickt man auf den Button "Startbedingung angeben" oder die F5-Taste.

Nachdem man nun definiert hat, wann und in welchem Zeitabstand der Job ausgeführt werden soll, muss man noch festlegen, was genau ausgeführt werden soll. Generell kann man zwischen folgenden drei Möglichkeiten wählen:

  • ABAP-Programm
  • Externes Kommando
  • Externes Programm

Diese Einstellungen ruft man über den Button “Steps definieren” oder der F6-Taste auf. Anschließend gibt man sein ABAP-Programm, die Variante und Sprache an. Die Variante muss dabei nicht angegeben werden. Auch diese Einstellungen werden über den Sichern-Button der “Strg + S” übernommen.

Diese Einstellungen ruft man über den Button "Steps definieren" oder der F6-Taste auf. Anschließend gibt man sein ABAP-Programm, die Variante und Sprache an. Die Variante muss dabei nicht angegeben werden. Auch diese Einstellungen werden über den Sichern-Button der "Strg + S" übernommen.

Wichtig ist hierbei auch das Feld “Benutzer”. Dieser SAP-Benutzer wird den Job und damit das ABAP-Programm ausführen. Der Ersteller muss nicht zwangsläufig der Ausführer sein. Achte hierbei darauf, dass der Ausführer ausreichende Berechtigungen besitzt.

Nachdem man auf den Speichern-Button in der Step-Definition geklickt hat, landet man im Steplistenüberblick. Hier kann man weitere Steps angeben, die bestehenden Steps ändern oder die Eingaben übernehmen, indem man zurückgeht oder die F3-Taste drückt.

Nachdem man auf den Speichern-Button in der Step-Definition geklickt hat, landet man im Steplistenüberblick. Hier kann man weitere Steps angeben, die bestehenden Steps ändern oder die Eingaben übernehmen, indem man zurück geht oder die F3-Taste drückt.

Wen man mehrere Steps definiert, werden diese nacheinander ausgeführt.

In der angezeigten Übersicht kann man noch einmal erkennen, dass der Starttermin, die Wiederholungsperiode und die Job-Steps angegeben wurden. Passen die Angaben, kann man den Job erstellen, indem man den Speichern-Button oder “Strg + S” nutzt. Anschließend ändert sich der Status von “geplant” auf “freigegeben”.

In der angezeigten Übersicht kann man noch einmal erkennen, dass der Starttermin, die Wiederholungsperiode und die Job-Steps angegeben wurden. Passen die Angaben, kann man den Job erstellen, indem man auf den Speichern-Button oder "Strg + S" nutzt. Anschließend ändert sich der Status von "geplant" auf "freigegeben".

Nun wird der Job nach dem Starttermin und der Wiederholungsperiode ausgeführt.

Hintergrundjobs überwachen

In der Transaktion SM37 oder in der Transaktion SM36 über den Button “Jobauswahl: alle Jobs” bzw. “Umschalt + F1” kann man die Hintergrundjobs überwachen.

Dabei kann man die Jobübersicht nach bestimmten Selektionskriterien filtern. Kennt man den Jobnamen ist das die einfachste Möglichkeit, nach dem Job zu filtern. Ansonsten empfehle ich nach dem Job-Step bzw. dem ABAP-Programm zu suchen.

Dabei kann man die Jobübersicht nach bestimmten Selektionskriterien filtern. Kennt man den Jobnamen ist das die einfachste Möglichkeit, nach dem Job zu filtern. Ansonsten empfehle ich nach dem Job-Step bzw. dem ABAP-Programm zu suchen.

Nachdem man die Jobauswahl ausgeführt hat, erscheint die Jobübersicht. Hier erhält man eine Übersicht über alle Jobs gemäß den eingestellten Jobstatus und Selektionskriterien.

Nachdem man die Jobauswahl ausgeführt hat, erscheint die Jobübersicht. Hier erhält man eine Übersicht über alle Jobs gemäß den eingestellten Jobstatus.

Hintergrundjob ändern

Es kann durchaus vorkommen, dass man einen Hintergrundjob, der periodisch ausgeführt wird, ändern möchte. Hierfür startet man die Jobübersicht, wählt den gewünschten Job aus, indem man die Checkbox auf der linken Seite anklickt und wählt im Menü die Funktion “Job > Ändern” oder “Strg + F11”.

Anschließend kann man die Startbedingung oder die Steps ändern.

Es kann durchaus vorkommen, dass man einen Hintergrundjob, der periodisch ausgeführt wird, ändern möchte. Hierfür startet man die Jobübersicht, wählt den gewünschten Job aus, indem man die Checkbox auf der linken Seite anhakt und wählt im Menü die Funktion "Job > Ändern" oder "Strg + F11".

Alternativ kann man einen Job ändern, indem man in der Jobübersicht auf den Button “Job-Details” oder die F2-Taste drückt und anschließend die Bearbeiten-Funktion im Menü benutzt.

Der Report BTC_MASS_JOB_CHANGE ist bei der Änderungen von mehreren Jobs sehr praktisch. Hierbei kann man bei mehreren Jobs das Programm, die Variante, den SAP-Benutzer und den Server ändern.

Der Report BTC_MASS_JOB_CHANGE ist bei der Änderungen von mehreren Jobs sehr zu empfehlen. Hierbei kann man bei mehreren Jobs das Programm, die Variante, den SAP-Benutzer und den Server ändern.

Hierfür muss man den SAP-Hinweis 1532884 beachten.

Job-Log auswerten

Es kann sehr gut vorkommen, dass man ein ausführliches Feedback über die Ausführung seines Jobs haben möchte, als es die Jobübersicht im Standard liefert.

Für diesen Anwendungsfall kann man das Job-Log benutzen. Man ruft einfach die Jobauswahl mit der Transaktion SM37 aus, sucht seinen ausgeführten Job in der Darstellung aus, wählt ihn an und klickt auf den Button “Job-Log anzeigen” oder “Strg + Umschalt + F11”.

Für diesen Anwendungsfall kann man das Job-Log benutzen. Man ruft einfach die Jobauswahhl mit der Transaktion SM37 aus, sucht seinen ausgeführten Job in der Darstellung aus, wählt ihn an und klickt auf den Button "Job-Log anzeigen" oder "Strg + Umschalt + F11".

Hintergrundjob debuggen

Möchte man einen fehlerhaften Job analysieren, ist das Debuggen ein sehr nützliches Tool für die Fehleranalyse. Hierbei gibt es zwei Möglichkeiten, einen Hintergrundjob zu debuggen:

  • Externen Breakpoint mit dem Ausführer verwenden
  • JDBG in dem Kommandofeld in der Jobübersicht eingeben

Zum einen kann man natürlich einen externen Breakpoint im auszuführenden ABAP-Programm setzen und den Breakpoint auf den Ausführer einstellen über “Hilfsmittel > Einstellungen > ABAP Editor > Debugging > Debuggen externer Requests”.

Sollte das Debuggen über diesen Weg nicht gestartet werden, kann man direkt die Jobausführung debuggen, indem man im Kommandofeld bzw. OK-Code-Feld JDBG eingibt. Dadurch startet sofort der Debugger in der Jobauswahl.

Hilfreiche Programme rund um Jobs

Es gibt zahlreiche ABAP-Programme, die einem bei der Einplanung und Wartung von Jobs unterstützen. In der ABAP-Programmausführung (Transaktion SA38) kann man diese ausführen oder sich per F4-Hilfe eine Übersicht verschaffen. Diese beginnen mit BTCAUX. Beispiel: BTCAUX01. Hier kann man einfach mithilfe von “BTCAUX*” nach allen wertvollen Programmen suchen.

Es gibt zahlreiche ABAP-Programme, die einem bei der Einplanung und Wartung von Jobs unterstützen. In der ABAP-Programmausführung (Transaktion SA38) kann man diese ausführen oder sich per F4-Hilfe eine Übersicht verschaffen. Diese beginnen mit BCAUX. Beispiel: BTCAUX01. Hier kann man einfach mit Hilfe von "BTCAUX*" nach allen wertvollen Programmen suchen.

Job löschen

Unter Umständen wird ein Job nicht mehr benötigt und soll gelöscht werden. Für diesen Anwendungsfall kann man einen ausgewählten Job in der Jobübersicht (Transaktion SM37) löschen über die Menüfunktion “Job > Löschen” oder “Umschalt + F2”.

Unter Umständen wird ein Job nicht mehr benötigt und soll gelöscht werden. Für diesen Anwendungsfall kann man einen ausgewählten Job in der Jobübersicht (Transaktion SM37) löschen über die Menüfunktion "Job > Löschen" oder "Umschalt + F2".

Über den Autor

Andreas Geiger

Schön, dass Du Dich für SAP ERP interessierst.

Mein Name ist Andreas Geiger und ich bin der Gründer von ERP-UP.de. Mein Ziel ist es, so viel nützliches Wissen wie möglich über das SAP ERP-System zu vermitteln. Ich möchte Dir damit einen Mehrwert bieten. Es freut mich, wenn ich Dir damit helfen kann.

Mehr zu ERP UP

Schreibe einen Kommentar