SAP-Jobs

SAP-Jobobjekte definieren die Verarbeitungsschritte, die im Zielsystem ausgeführt werden. Sie können Statements enthalten, die mehrere Prozesse (Sub-Jobs) starten. Diese Jobstruktur wird im Automic Web Interface repliziert. Der SAP-Job, den Sie in der Automation Engine anlegen, ist der Parent-Job dieser Sub-Jobs (Child-Prozesse) und dient als deren Container.

Wenn Sie den SAP-Job ausführen, werden seine Child-Jobs gestartet und in der Liste Aufgaben in der Perspektive Process Monitoring mit Objekttyp JOBD und jeweils mit einer eigenen eindeutigen RunID angezeigt. Sie können ihren Status im Zielsystem überprüfen, Kommentare hinzufügen, neu starten, abbrechen und bearbeiten sowie die Liste der Objekte öffnen, in denen sie verwendet werden.

Details zur Integration zwischen der Automation Engine und SAP finden Sie unter AE und SAP.

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

Dieses Thema beinhaltet Folgendes:

SAP-Vorlagen

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

Die Templates R3 und SAP_ABAP sind identisch. Sie unterscheiden sich nur dem Namen nach, damit Benutzer nach der ihnen geläufigeren Bezeichnung suchen können.

Alle Vorlagen ermöglichen es Ihnen

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

-Voraussetzungen, um SAP-Jobs vom Automic Web Interface aus zu starten

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:

Beachten Sie bei SAP JAVA-Jobs zusätzlich, dass der Java-Job im Java-Scheduler bereitgestellt sein muss. Dadurch wird es 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 Datei Verbindung (CONN) eingerichtet sein.

Benutzerfreundliches Scripting mit Formularen

Die Erstellung von Scripts für SAP-Jobs ist besonders benutzerfreundlich mithilfe der Forms, die standardmäßig von der Automation Engine zur Verfügung stehen. Dabei handelt es sich um vordefinierte Sätze von Kommandos, die Sie direkt verwenden können, um Scripts zu erstellen, ohne sich Gedanken über das Format zu machen. Siehe SAP-Formulare.

SAP-Child-Prozess

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

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 Perspektive Process Monitoring neu starten.

Siehe Externe Aufgaben überwachen und neu starten.

Nachverfolgen von SAP-Jobs über den Remote Task Manager

Der Remote Task Manager (JOBQ) ermöglicht es Ihnen externe Vorgänge, d. h. Vorgänge, die auf Anwendungen außerhalb derAutomation Engine laufen, anzuzeigen, zu starten, abzubrechen, abzufangen und zu überwachen.

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.

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

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 Ketten-Steps als Script-Variablen veröffentlicht

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 Tabelle enthält Details zu den Keys, den Variablen und ihren möglichen Werten:

Key Variablenname Wert auf Prozessketten-Level Wert auf Step-Level Wert auf Step-Job-Level
LOGID &@sap_bw_logid# „Logging Identifier der Prozesskette (z. B. DAUDN8Z697MBBFNJ4Q75JS80C).“ „Logging Identifier der Prozesskette (z. B. DAUDN8Z697MBBFNJ4Q75JS80C).“ „Logging Identifier der Prozesskette (z. B. DAUDN8Z697MBBFNJ4Q75JS80C).“
NAME &@sap_bw_name# Technischer Name der Prozesskette (z. B. Z_NI) Technischer Name der Prozesskette (z. B. Z_NI) Technischer Name der Prozesskette (z. B. Z_NI)
ID &@sap_bw_id# leer „Technischer Identifier des Steps (z. B. DAUDN966N6KGDOWMEAPP5TFV0)“ „Technischer Identifier des Steps (z. B. DAUDN966N6KGDOWMEAPP5TFV0)“
STEPNAME &@sap_bw_stepname# leer Technischer Name des Steps (z. B. RSM04000_ALV) Technischer Name des Steps (z. B. RSM04000_ALV)
TYP &@sap_bw_type# leer Typ des Prozess-Steps (z. B. ABAP). Typ des Prozess-Steps (z. B. ABAP).
STATUS &@sap_bw_status# leer Job-Status der Kette (z. B. F) Job-Status der Kette (z. B. F)
JOBNAME &@sap_bw_jobname# leer leer SAP-Jobname des Jobs (z. B. BI_PROCESS_TRIGGER)
JOBCOUNT &@sap_bw_jobcount# leer leer SAP-Jobcount des Jobs (z. B. 13450100)
TYPE_TEXT &@sap_bw_type_text# „E_TYPE_TEXT of RSPC_API_PROCESS_GET_INFO (z. B. Prozesskette lokal)“ „E_TYPE_TEXT of RSPC_API_PROCESS_GET_INFO (z. B. Startprozess)“ „E_TYPE_TEXT of RSPC_API_PROCESS_GET_INFO (z. B. Startprozess)“
VARIANT_TEXT &@sap_bw_variant_text# „E_VARIANT_TEXT of RSPC_API_PROCESS_GET_INFO (z. B. Kette mit geschachtelter Kette)“ „E_VARIANT_TEXT of RSPC_API_PROCESS_GET_INFO (z. B. Startni)“ „E_VARIANT_TEXT of RSPC_API_PROCESS_GET_INFO (z. B. Startni)“
RESTART_COUNT &@restart_count# „Anzahl der Wiederanläufe durch BW_SET_CONSTRAINT, oder 0 wenn noch nicht erreichbar“ „Anzahl der Wiederanläufe durch BW_SET_CONSTRAINT, oder 0 wenn noch nicht erreichbar“ „Anzahl der Wiederanläufe des Parent durch BW_SET_CONSTRAINT, oder 0 wenn noch nicht erreichbar“
RESTART_COUNT_MAX &@sap_bw_max_restart_count# „max. Anzahl der Wiederanläufe durch BW_SET_CONSTRAINT, oder 0 wenn noch nicht erreichbar“ „max. Anzahl der Wiederanläufe durch BW_SET_CONSTRAINT, oder 0 wenn noch nicht erreichbar“ „Anzahl der Wiederanläufe des Parent durch BW_SET_CONSTRAINT, oder 0 wenn noch nicht erreichbar“

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. Dies macht es für den SAP-Agenten sichtbar und ermöglicht es Ihnen, einen SAP Java-Job in der Automation Engine als Instanz des Jobs in SAP anzulegen.

Zwischen dem SAP Java-Job und dem Automation Engine-Job besteht ein Verhältnis von 1:1.

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 Jobprotokolle 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 die Checkbox 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 dieses Element 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 er 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 Scheduler ein Fehler auftritt. In diesem Fall gibt es keinen Report über seine Ausführungsdaten. Der Fehler wird im Job-Report „Agentenlog“ und in der Protokolldatei 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

Vorbedingungen:

  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 eines der vorhandenen Templates 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 Seiten „Script“ 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 etc. 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.
    • Job Log

      • 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 Jobprotokoll wird immer zusammen mit der Jobinstanz 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:

Nächste Schritte

Die nachstehende Liste versucht, eine mögliche Roadmap zur Definition und Arbeit mit Jobobjekten darzustellen. Sie bietet eine kurze Beschreibung aller realisierbaren Maßnahmen und zusätzliche Informationen zum besseren Verständnis sowie Links zu Themen, in denen diese Maßnahmen genauer beschrieben werden:

  1. Definieren Sie die allgemeinen Jobeinstellungen, einschließlich der folgenden:

    • Die Grundlagen, auf der Seite „Allgemein“.
    • Falls erforderlich, wenden Sie ein Sync-Objekt auf den Job an. Weitere Informationen finden Sie auf derSeite „Sync“.
    • Auf der Seite „Laufzeit“ geben Sie die Einstellungen an, die für die Laufzeitberechnung verwendet werden sollen.

      Diese Informationen sind für die Planung und Überwachung von Aufgaben relevant. Die Information wird auch für Prognosen und Autoprognosen verwendet.

    • Administratoren können die Zugriffsrechte auf Objektebene auf der Seite Seite „Berechtigungen“ definieren.
    • Geben Sie wichtige Objektattribute auf der Seite „Attribute“ ein. Neben anderen wichtigen Einstellungen weisen Sie hier den Agenten und das Login-Objekt zu, das den Zugriff auf diesen erlaubt

      Wichtig! Ihre Definition im Attribut Generiere Aufgabe zur Aktivierungszeit/Laufzeit kann einen wichtigen Einfluss auf die Ausführungszeiten Ihrer Jobs haben. Werfen Sie einen Blick auf Generierung zum Aktivierungszeitpunkt oder zur Laufzeit, wo die Auswirkungen beider Optionen beschrieben werden.

    • Registrieren Sie die Output-Dateien, die bei der Verarbeitung erzeugt werden, auf der Seite Externe Output-Dateien. Um Suchen in diesen Ausgabedateien durchführen zu können und gegebenenfalls Folgeaktionen durchzuführen, geben Sie diese Einstellungen auf der Seite „Output-Scan“ an. Weitere Informationen finden Sie auf der Seiten „Output“.

    • Sie können Variablen oder Eingabeaufforderungen verwenden. Dies ist auf den Seiten Seite „Variablen“ und Seite „PromptSets“ möglich.

      Werfen Sie einen Blick auf Variablen und VARA-Objekte, um sich mit den verschiedenen Arten von Variablen und VARA-Objekten vertraut zu machen, die in einem Automation Engine-System verfügbar sind.

    • Möglicherweise möchten Sie die Einstellungen zum Sichern und Wiederherstellen einer Jobaufgabe definieren, wenn sie in einem Workflow enthalten ist. Dies ist nützlich, um bei fehlgeschlagenen Prozessen den letzten erfolgreichen Status wiederherzustellen. Diese Einstellungen können Sie auf der Seite „Rollback“ vornehmen.
    • Die Seite „Versionsmanagement“, die alle Versionen eines Objekts auflistet, ermöglicht es Ihnen, im Falle einer Fehlkonfiguration eine ältere Version wiederherzustellen.
    • Geben Sie Informationen zu dem Job ein, den Sie auf der Seite „Dokumentation“ definieren.
  2. Jobobjekte (JOBS) verfügen über drei Seiten „Script“, auf denen Sie die zu verarbeitenden Scripts eingeben. Sie bieten eine Reihe von Funktionen, die Ihnen bei Ihrer Arbeit helfen. Wenn Sie für alle Objekte Scripts eingeben, werden diese in der folgenden Reihenfolge bearbeitet:

    1. Pre-Script
    2. Script
    3. Seite „Child-Post-Script“ (SAP und PeopleSoft)
    4. Post-Script
  3. Sie können den Code mithilfe von Includes (JOBI) einfach wiederverwenden. Das spart Zeit und hilft Ihnen, Ihre Scripts konsistent zu halten.
  4. Führen Sie den Job aus.

    Dafür gibt es mehrere Möglichkeiten, die wie folgt gruppiert werden können:

    • Mit einer Parent-Aufgabe

      Das ist der Fall bei Jobs, die in einem Parent-Objekt enthalten sind (zum Beispiel ein Workflow oder eine Gruppe). Beachten Sie bei der Definition, dass ihre Aktivierungszeit von der Startzeit abweichen kann. Diese hängt gewöhnlich vom Parent-Objekt ab.

      Siehe Übergeordnete Aufgaben (Parent).

    • Stand alone

      Das ist der Fall, wenn der Job nicht Teil eines Parent-Objekts ist oder Sie ihn unabhängig von seinem Parent ausführen. Es gibt drei Möglichkeiten:

    Wichtig! Die generierte JCL kann verändert werden. Änderungen an der JCL wirken sich jedoch nur auf die Ausführung aus, für die sie durchgeführt wurden und nicht auf die Jobdefinition. Der Jobreport enthält sowohl die ursprüngliche JCL als auch die geänderte, wobei eine eingefügte Zeile angibt, wer den Inhalt überarbeitet hat.

  5. Bei der Verarbeitung von Jobs generiert die Automation Engine Ausgabedateien und Reports, die die Rückverfolgbarkeit und Prüfbarkeit gewährleisten. Schauen Sie sich die folgenden Themen an, um mehr darüber zu erfahren:

    Um das Ergebnis der Generierung zu sehen, gehen Sie wie folgt vor:

    1. Öffnen Sie das Fenster Reports, siehe Auf Reports zugreifen.
    2. Wählen Sie JCL aus der Dropdown-Liste Reports aus.
  6. Überwachen Sie die generierte Aufgabe.

    Sobald der Job aktiviert wurde, steht er als Aufgabe in der Perspektive Process Monitoring zur Verfügung. In der Liste Aufgabe sehen Sie seinen Status.

    Klicken Sie mit der rechten Maustaste darauf, um den Monitor zu öffnen (siehe Jobs überwachen). Er enthält drei Seiten, die die wichtigsten Informationen zu den Job-Parametern liefern.

    Sie können auch aus der Perspektive Process Assembly auf den Job-Monitor zugreifen.

  7. In der Perspektive Process Monitoring stehen Ihnen je nach Status des Jobs eine Reihe von Funktionen zur Verfügung. Siehe Mit Aufgaben arbeiten.

Siehe auch: