SAP-Jobs

SAP-Jobs starten und überwachen Prozesse im SAP-Zielsystem. Sie können Anweisungen enthalten, die mehrere Prozesse (untergeordnete Jobs) starten. Diese Jobstruktur kann im Automic Web Interface repliziert werden. Der SAP-Job, den Sie in der Automation Engine anlegen, ist der Parent-Job dieser untergeordneten Jobs (Child-Prozesse) und dient als deren Container.

Wenn Sie den SAP-Job ausführen, werden seine Child-Jobs gestartet und in der Aufgabenliste in der Process Monitoring-Perspektive angezeigt. Ihr Objekttyp ist JOBD (dynamischer Job), und jeder Child-Job hat seine eigene eindeutige RunID. In der Process Monitoring-Perspektive können Sie ihren Status im Zielsystem überprüfen. Sie können auch Kommentare hinzufügen, sie neu starten, abbrechen, bearbeiten und die Liste der Objekte öffnen, in denen sie verwendet werden.

Weitere Informationen zur Integration der Automation Engine und SAP finden Sie unter AE und SAP.

Tipp: Unter Beispiel: Einen SAP-ABAP-Job erstellen innerhalb der AE finden Sie ein Beispiel dazu, wie Sie Ihr System einrichten können, um einen SAP-Job in der Automation Engine auszuführen.

Diese Seite beinhaltet Folgendes:

SAP-Vorlagen

Folgende Vorlagen stehen für die Definition von SAP-Jobs zur Verfügung: R3, SAP_ABAP, SAP JAVA und SAP_PI.

Die Vorlagen R3 und SAP_ABAPsind identisch. Sie unterscheiden sich dem Namen nach, damit Sie nach der Ihnen geläufigeren Bezeichnung suchen können.

Mit allen Vorlagen können Sie die folgenden Aktionen durchführen:

R3 und SAP_ABAP-Jobs erlauben es Ihnen auch, SAP-Jobs auf der Seite Prozess über Formulare zu importieren.

Voraussetzungen

Ihr Automation Engine-System ist mit SAP über den SAP-Agenten verbunden, der die vom Mandanten gesendeten Befehle interpretiert und transformiert, sodass SAP diese versteht. Das bedeutet, dass Ihr System zur Erstellung mittels des Automic Web Interface und zur Ausführung von Jobs im SAP-Mandanten die folgenden Voraussetzungen erfüllen muss:

Wenn diese Voraussetzungen erfüllt sind, können Sie mit der Erstellung der Scripts auf der Seite Prozess der SAP-Job-Objektdefinition beginnen.

Wichtig: Für SAP JAVA-Jobs muss der Java-Job in der Java Schedule bereitgestellt werden. Dadurch wird er für den SAP-Agenten sichtbar und Sie können ein Jobobjekt als Instanz dieser Job-Definition definieren.

Einen externen Scheduler definieren

  1. Öffnen Sie den SAP NetWeaver Administrator.
  2. Starten Sie Operationen > Jobs > Java Scheduler.
  3. Klicken Sie auf Hinzufügen, und geben Sie einen Namen und eine Beschreibung ein.
  4. Der hier definierte Benutzer muss in der Verbindung (CONN) eingerichtet sein.

SAP-Befehle

SAP-Jobs in der Automation Engine werden mit Mengen vordefinierter Befehlen geliefert. Ein Befehl ist eine Gruppe von SAP-spezifischen Strings oder -Funktionen. Sie erstellen die Logik eines SAP-Jobs auf seiner Prozess-Seite, indem Sie ihm Befehle hinzufügen. Weitere Informationen finden Sie unter Prozess-Seiten.

Benutzerfreundliches Scripting mit Formularen

Der Script-Editor der Prozess-Seite in einem SAP-Job hat zwei Ansichten. Die übliche Version ist für alle Jobs verfügbar, die Formularansicht. Die Formular-Ansicht ist eine intuitive, benutzerfreundliche Methode, um die Werte darzustellen, die Sie für einen bestimmten Befehl eingeben müssen. Die Formularansicht eines Befehls kann Dropdown-Listen, Eingabefelder, Optionsfelder usw. enthalten. Weitere Informationen finden Sie unter Formularansicht auf der Seite "Prozess".

SAP-Child-Prozess

Zusätzlich zu den für alle Jobs gemeinsamen Seiten Prozess, stellt SAP eine Seite Child-Post-Prozess zur Verfügung. Das Script, das Sie auf dieser Seite eingeben, wird für jeden einzelnen Child-Prozess sofort nach dessen Beendigung abgearbeitet.

Nachverfolgen von externen Jobs über den Remote Task Manager

Verwenden Sie den Remote Task Manager (JOBQ), um Prozesse zu überwachen, die von der Automation Engine nicht über einen SAP-Job gestartet wurden.

Im Remote Task Manager-Objekt sammeln Sie Filterkriterien, um die externen Aufgaben zu kennzeichnen, die Sie steuern möchten. Die externen Abläufe, die den Filterkriterien entsprechen, also in diesem Fall SAP-Jobs, werden im Fenster Aufgaben der Perspektive Process Monitoring als dem Remote Task Manager untergeordnet angezeigt (Voraussetzung: hierarchische Ansicht ist aktiv). Der Objekttyp ist JOBD.

Wichtig! Weitere Informationen zu SAP-Jobs und dem Remote Task Manager finden Sie unter Wichtige Hinweise für SAP-Scripts.

Neustart von SAP-Jobs aus der Automation Engine

Wenn ein Job fehlschlägt (Status ENDED_NOT_OK), können Sie anstelle der Initiierung einer neuen Prozessanforderung diesen einfach aus der Liste Aufgabe in der Process Monitoring-Perspektive neu starten. Weitere Informationen finden Sie unter Externe Aufgaben überwachen und neu starten.

SAP ABAP-Jobs

Die auf der Seite SAP für ABAP-Jobs verfügbaren Optionen können für jeden Fall verwendet werden, in dem der SAP-Agent zur Laufzeit einen Hintergrundjob im SAP-System anlegt. Allerdings ist es für die Automation Engine nicht erforderlich, für jeden Anwendungsfall einen SAP-Hintergrundjob anzulegen. Beim Kopieren einer Variante ist beispielsweise kein Job erforderlich. Dies kann mit einem einzigen Remote Function Call (BAPI_XBP_VARIANT_COPY) an das SAP-System erfolgen. In diesem Fall sind die Job-Eigenschaften in den Abschnitten Start-Parameter und Spool-Listenempfänger nutzlos.

Andererseits kann ein einzelner SAP-Job mehrere SAP-Hintergrundjobs zur Laufzeit erstellen. Die zweimalige Anwendung der Funktion für die SAP ABAP-Programmübermittlung (R3_ACTIVATE_REPORT) innerhalb eines Automation Engine-Jobs würde standardmäßig zur Erzeugung von zwei SAP-Hintergrundjobs führen. In diesem Fall würden die Job-Eigenschaften in den Abschnitten Start-Parameter und Spool-Listenempfänger auf jeden Hintergrundjob in SAP angewendet werden. Falls definiert, würden beide Jobs in SAP denselben Jobnamen haben.

SAP BW: Daten für als Script-Variablen veröffentlichte Ketten-Steps

In SAP-Jobs mit BW-Ketten legt der Agent die Script-Variablen für jeden Child-Prozess an. Diese Variablen und deren Werte sind automatisch im Fenster (Child-)Post-Script verfügbar und werden im Fenster Details der Aufgaben angezeigt.

Diese Liste enthält Details zu den Schlüsseln, den Variablen und ihren möglichen Werten:

SAP Java-Jobs

Mit SAP Java-Jobs können Sie Jobs im SAP Java Scheduler bearbeiten. Um mit ihnen arbeiten zu können, muss die Java-Job-Definition im Java-Scheduler bereitgestellt sein. Dadurch wird sie für den SAP-Agenten sichtbar. Sie ermöglicht Ihnen auch, einen SAP-Java-Job in der Automation Engine zu erstellen, der eine Instanz des Jobs in SAP ist.

Zwischen dem SAP Java-Job und dem Automation Engine-Job besteht eine 1:1-Beziehung.

Sie wählen in Startparameter die jeweils im SAP-Scheduler verfügbare Jobdefinition aus. Wenn Sie zu diesem Zweck bei bestehender Verbindung zum SAP-Zielsystem auf die Durchsuchen-Schaltfläche klicken, öffnet sich ein Dialog, in dem Sie den SAP Java-Job auswählen können.

Im Abschnitt Jobeinstellungen legen Sie im Gegenzug dazu fest, wie die Child-Jobs sowie die in SAP erstellten Joblogs gehandhabt werden sollen.

Hinweis: SAP Java-Jobs können auch untergeordnete Prozesse enthalten. Der SAP-Job, den Sie in der Automation Engine angeben, ist der Parent-Job und dient als Container für diese Child-Jobs. Der Objekttyp seiner Children ist JOBD. Wenn diese in der Liste Aufgabe als dem Job untergeordnete Prozesse angezeigt werden sollen (Perspektive Process Monitoring), müssen Sie das Kontrollkästchen Children replizieren aktivieren.

Sonderfälle

In einer Umgebung mit mehreren Elementen werden die Java Scheduler-Jobs auf dem Elementverarbeitet, auf dem der Scheduler-Service aktiv ist. Ist dieser Knoten deaktiviert oder ausgefallen, wird die Jobverarbeitung auf einem anderen fortgesetzt.

Der Agent versucht in regelmäßigen Abständen die Verbindung zum Java Scheduler wiederherzustellen, wenn sie während der Jobausführung ausgefallen ist. Der Job bleibt in der Automation Engine mit dem Status Warten auf entferntes System aktiv.

Der Job wird abgebrochen, wenn beim Aufrufen des Java Schedulers ein Fehler auftritt. In diesem Fall gibt es keinen Report über seine Ausführungsdaten. Der Fehler wird im Job-Report "Agentenlog" und in der Logdatei des SAP-Agenten protokolliert. Der Job wird mit Rückgabewert 403 abgebrochen.

SAP-Jobs definieren

Eine SAP-Job-Definition besteht aus den folgenden Seiten:

Tipp: Einige SAP-Job-Reports können sehr lang sein. Die Automation Engine liefert fertige Style Sheet-Objekte, mit denen Sie diese formatieren können. Weitere Informationen finden Sie unter Style Sheet (XSL).

SAP-Jobs definieren

Voraussetzungen:

  1. Klicken Sie in der Perspektive Process Assembly auf Objekt hinzufügen. Scrollen Sie im Dialog nach unten, um die Jobliste (JOBS) zu erweitern, und wählen Sie eine der vorhandenen Vorlagen aus.
  2. Geben Sie einen Namen ein und klicken Sie auf Objekt hinzufügen.
  3. Die Seiten der SAP-Job-Definition öffnen sich und zeigen die SAP-spezifische Seite an. Definieren Sie die Einstellungen für SAP ABAP oder SAP Java-Jobs wie unten beschrieben.

  4. Gehen Sie zu den Prozess-Seiten und geben Sie dort Ihr Script ein.

  5. Wechseln Sie zur Seite "Attribute" und geben Sie die Ausführungseinstellungen an. Hier etablieren Sie die Beziehung zwischen dem Job, dem Agenten, der die Verbindung zum entsprechenden SAP-Mandanten herstellt, und dem Login-Objekt, das die SAP-Benutzerdaten enthält.

    Bevor Sie Ihren Job ausführen, können Sie dessen Einstellungen ganz einfach prüfen:

    1. Öffnen Sie in der Perspektive Process Assembly die Liste Explorer.
    2. Wählen Sie den Job aus und klicken Sie auf die Schaltfläche Details in der Symbolleiste.
    3. Die wichtigsten Daten zum Job werden angezeigt.

SAP ABAP-Jobs

Abschnitt "Start-Parameter":

Abschnitt Spool-Listenempfänger:

Definieren Sie die grundlegenden Details wie z. B. Empfänger, Adresstyp usw. Für die Verwendung der Optionen Empfangsquittung, Empfangsquittung per Mail und Kein Drucken sind folgende SAP Supportpackages erforderlich:

SAP Java-Jobs

Abschnitte Start-Parameter und Jobdefinition:

  1. Klicken Sie auf die Durchsuchen-Schaltfläche rechts neben dem Feld Jobdefinition, um einen Dialog zu öffnen, in dem Sie den SAP Java-Job auswählen können. Die Ein- und/oder Auswahlfelder, die dem ausgewählten Job entsprechen, sind unten dargestellt.

  2. Definieren Sie unter Jobeinstellungen Folgendes:

    • Job-Children

      Einem Job im SAP-System können untergeordnete Jobs zugeordnet werden.

      • Aktivieren Sie Auf Children warten, wenn derAutomation Engine-Job warten soll, bis diese untergeordneten Jobs beendet sind. Dann kann auch die Automation Engine abschließen.
      • Aktivieren Sie Abbruch bei Child-Abbruch, wenn der Automation Engine-Job abgebrochen werden soll, sobald ein untergeordneter Job im SAP-System abbricht.
      • Der SAP-Job, den Sie in der Automation Engine spezifizieren, dient als Container für diese untergeordneten Jobs in SAP; der Objekttyp seiner Children lautet JOBD. Wenn diese in der Liste Aufgaben als dem Job untergeordnete Prozesse angezeigt werden sollen (Perspektive Process Monitoring), müssen Sie Children replizieren aktivieren.
    • Joblog

      • Aktivieren Sie Nach x Tagen löschen, und geben Sie einen Wert ein, wenn der Jobtrigger nach einer vorgegebenen Anzahl von Tagen aus dem Java Scheduler entfernt werden soll.
      • Aktivieren Sie Nicht löschen, wenn der Jobtrigger im Java Scheduler verbleiben soll.
      • Aktivieren Sie Standard-Einstellung verwenden, wenn die Einstellungen verwendet werden sollen, die in der Jobdefinition in SAP vorgegeben sind.

      Das Job-Log wird immer zusammen mit der Job-Instanz gelöscht.

    • Zeilen pro Block

      Geben Sie hier die Zahl der Zeilen für JXBP-Jobs pro Block an.

Informationen zum Abschnitt Job-Report finden Sie unter Job-Reports.

Anwendungsfälle

Die folgenden unten aufgeführten Themen sind für die Beispiele relevant:

Siehe auch: