SAP-Jobs
Zur besseren Verständlichkeit verwenden wir die folgenden zwei Begriffe auf dieser Seite:
-
SAP-Jobs sind die Automic Automation-Jobs, die SAP-Prozesse auf einem SAP-Zielsystem automatisieren.
-
Native SAP-Jobs sind die Jobs, die auf diesem SAP-Zielsystem ausgeführt werden.
SAP-Jobs replizieren native SAP-Jobs in Automic Automation und starten und überwachen Prozesse im SAP-Zielsystem. Die nativen SAP-Jobs enthalten normalerweise Anweisungen, die mehrere Prozesse im SAP-Zielsystem (untergeordnete Jobs) starten. Automic Automation reproduziert diese Jobstruktur. Der SAP-Job ist Parent dieser untergeordneten Jobs (Child-Prozesse) und dient als ihr Container. Um die Jobstruktur nativer SAP-Jobs zu reproduzieren, haben SAP-Jobs eine zusätzliche Seite Child-Post-Prozess, auf der Sie Ihr Script eingeben können. Dieses Script wird für jeden einzelnen Child-Prozess sofort nach dessen Beendigung abgearbeitet.
Wie bei allen anderen Objekten wird Automic Automation mit Vorlagen bereitgestellt, mit denen die folgenden SAP-Jobs erstellt werden können:
-
R3
-
SAP_ABAP
-
SAP JAVA
Die Vorlagen R3 und SAP_ABAPsind identisch. Sie haben verschiedene Vorlagen, damit Sie entscheiden können, welchen Namen Sie für Ihre Jobs verwenden möchten, basierend auf ihren normalen Prozessen.
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 Perspektive "Process Monitoring" können Sie den Status ihrer entsprechenden Jobs im SAP-Zielsystem prüfen. Wenn sie fehlschlagen, können Sie sie direkt in der Perspektive "Process Monitoring" neu starten. Sie können auch Kommentare hinzufügen, sie abbrechen oder bearbeiten und die Liste der Objekte öffnen, in denen sie verwendet werden.
Einige Reports zu SAP-Jobs 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).
Voraussetzungen für eine erfolgreiche SAP-Integration
Systemadministratoren müssen die Integration von Automic Automation und SAP einrichten. Im Rahmen der Integration werden Automic Automation und das SAP-System über den SAP-Agenten miteinander verbunden. Der Agent interpretiert und transformiert die Kommandos, die er vom Mandanten erhält, damit SAP diese versteht. Weitere Informationen 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:
Erstellen der SAP-Joblogik mit SAP-Kommandos
Vorlagen für SAP-Jobs enthalten Sätze von vordefinierten Kommandos. 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. Die Seite Prozess von SAP-Jobs enthält eine zusätzliche Ansicht namens Formulare – eine intuitive und benutzerfreundliche Methode zum Darstellen der Werte in einem bestimmten Kommando. Die Formularansicht eines Befehls kann Dropdown-Listen, Eingabefelder, Optionsfelder usw. enthalten. Weitere Informationen finden Sie unter Definieren der Prozessseiten in Jobs und Verständnis der Formularansicht auf der Prozessseite.
Script-Variablen in SAP-Jobs mit BW-Ketten
In SAP-Jobs mit BW-Ketten legt der Agent die Script-Variablen für jeden Child-Prozess an. Diese Variablen und ihre Werte sind automatisch auf der Seite Child-Post-Prozess verfügbar und werden im Bereich Details der Aufgaben angezeigt.
Diese Liste enthält Details zu den Schlüsseln, den Variablen und ihren möglichen Werten:
-
LOGID
-
Variablenname: &@sap_bw_logid#
-
Wert auf Kettenebene: "Logging-ID der Prozesskette (z. B. DAUDN8Z697MBBFNJ4Q75JS80C)."
-
Wert auf Step-Ebene: "Logging-ID der Prozesskette (z. B. DAUDN8Z697MBBFNJ4Q75JS80C)."
-
Wert auf Step-Job-Ebene: "Logging-ID der Prozesskette (z. B. DAUDN8Z697MBBFNJ4Q75JS80C)."
-
-
NAME
-
Variablenname: &@sap_bw_name#
-
Wert auf Kettenebene: Technischer Name der Prozesskette (z. B. Z_NI)
-
Wert auf Step-Ebene: Technischer Name der Prozesskette (z. B. Z_NI)
-
Wert auf Step-Job-Ebene: Technischer Name der Prozesskette (z. B. Z_NI)
-
-
ID
-
Variablenname: &@sap_bw_id#
-
Wert auf Kettenebene: leer
-
Wert auf Step-Ebene: "Technische ID des Steps (z. B. DAUDN966N6KGDOWMEAPP5TFV0)"
-
Wert auf Step-Job-Ebene: "Technische ID des Schrittes (z. B. DAUDN966N6KGDOWMEAPP5TFV0)"
-
-
STEPNAME
-
Variablenname: &@sap_bw_stepname#
-
Wert auf Kettenebene: leer
-
Wert auf Step-Ebene: Technischer Name des Schrittes (z. B. RSM04000_ALV)
-
Wert auf Step-Job-Ebene: Technischer Name des Steps (z. B. RSM04000_ALV)
-
-
TYP
-
Variablenname: &@sap_bw_type#
-
Wert auf Kettenebene: leer
-
Wert auf Step-Ebene: Prozess-Step-Typ (z. B. ABAP)
-
Wert auf Step-Job-Ebene: Prozess-Step-Typ (z. B. ABAP)
-
-
STATUS
-
Variablenname: &@sap_bw_status#
-
Wert auf Kettenebene: leer
-
Wert auf Step-Ebene: Job-Status des Ketten-Steps (z. B. F)
-
Wert auf Step-Job-Ebene: Job-Status des Ketten-Steps (z. B. F)
-
-
JOBNAME
-
Variablenname: &@sap_bw_jobname#
-
Wert auf Kettenebene: leer
-
Wert auf Step-Ebene: leer
-
Wert auf Step-Job-Ebene: SAP-Job-Name des Jobs (z. b. BI_PROCESS_TRIGGER)
-
-
JOBCOUNT
-
Variablenname: &@sap_bw_jobcount#
-
Wert auf Kettenebene: leer
-
Wert auf Step-Ebene: leer
-
Wert auf Step-Job-Ebene: SAP-Job-Zähler des Jobs (z. B. 13450100)
-
-
TYPE_TEXT
-
Variablenname:&@sap_bw_type_text#
-
Wert auf Kettenebene: "E_TYPE_TEXT von RSPC_API_PROCESS_GET_INFO (z. B. Prozesskette lokal)"
-
Wert auf Step-Ebene: "E_TYPE_TEXT von RSPC_API_PROCESS_GET_INFO (z. B. Startprozess)"
-
Wert auf Step-Job-Ebene: "E_TYPE_TEXT von RSPC_API_PROCESS_GET_INFO (z. B. Startprozess)"
-
-
VARIANT_TEXT
-
Variablenname: &@sap_bw_variant_text#
-
Wert auf Kettenebene: "E_VARIANT_TEXT von RSPC_API_PROCESS_GET_INFO (z. B. Kette mit verschachtelter Kette)"
-
Wert auf Step-Ebene: "E_VARIANT_TEXT von RSPC_API_PROCESS_GET_INFO (z. B. Startni)"
-
Wert auf Step-Job-Ebene: "E_VARIANT_TEXT von RSPC_API_PROCESS_GET_INFO (z. B. Startni)"
-
-
RESTART_COUNT
-
Variablenname: &@restart_count#
-
Wert auf Kettenebene: "Anzahl von Neustarts nach BW_SET_CONSTRAINT oder 0, falls noch nicht zugreifbar"
-
Wert auf Step-Ebene: "Anzahl von Neustarts nach BW_SET_CONSTRAINT oder 0, falls noch nicht zugänglich"
-
Wert auf Step-Job-Ebene: "Anzahl von Neustarts des Parents nach BW_SET_CONSTRAINT oder 0, falls noch nicht zugänglich"
-
-
RESTART_COUNT_MAX
-
Variablenname: &@restart_count#
-
Wert auf Kettenebene: "Anzahl von Neustarts nach BW_SET_CONSTRAINT oder 0, falls noch nicht zugreifbar"
-
Wert auf Step-Ebene: "Anzahl von Neustarts nach BW_SET_CONSTRAINT oder 0, falls noch nicht zugänglich"
-
Wert auf Step-Job-Ebene: "Anzahl von Neustarts des Parents nach BW_SET_CONSTRAINT oder 0, falls noch nicht zugänglich"
-
Hinzufügen von SAP-Jobs
-
Klicken Sie in der Perspektive Process Assembly auf Objekt hinzufügen. Wählen Sie im Dialogfeld Objekt hinzufügen eine der SAP-Vorlagen aus. Weitere Informationen zum Hinzufügen von Objekten finden Sie unter Hinzufügen von Objekten.
Eine SAP-Objektdefinition besteht aus den folgenden Seiten:
- Standardseiten, die unabhängig von dem von Ihnen definierten Objekttyp zu jeder Zeit verfügbar sind:
- Für ausführbare Objekte sind immer die folgenden zusätzlichen Seiten verfügbar:
Definieren der Prozessseiten in Jobs
SAP-Prozessseiten verfügen über eine zusätzliche Ansicht "Formulare", siehe Verständnis der Formularansicht auf der Prozessseite. Außerdem haben SAP-Jobs haben eine zusätzliche Seite Child-Post-Prozess. Sie erstellen die Logik der Child-Prozesse auf dieser Seite.
- Die Seite Attribute definieren
- Registrieren von externen Ausgabedateien
- Die Seite "Variablen" definieren
- Definieren der Seite "PromptSets"
- Definieren der Seite "Rollback"
- Die hier beschriebene Seite SAP
Hinweis: Sie können SAP-Jobs auch direkt über die Kombinationsfelder erstellen, die zur Auswahl von Objekten dienen, siehe AWI-Kombinationsfelder verwenden.
-
Geben Sie im Dialogfeld Objektname den Namen des neuen Objekts ein. Wählen Sie ihn mit Bedacht aus. Weitere Informationen finden Sie unter Best Practices: Namenskonventionen für Objekte.
-
Klicken Sie auf OK, um die Objektdefinitionsseiten zu öffnen.
-
Jede SAP-Jobvorlage enthält Felder und Optionen, die für den jeweiligen Typ von SAP-Job spezifisch sind. Klicken Sie unten auf die Links, um eine Beschreibung jeder Vorlage zu sehen:
Definieren von SAP-ABAP-Jobs
Sie können die auf der Seite SAP für native ABAP-Jobs verfügbaren Optionen für jeden Fall verwenden, in dem der SAP-Agent zur Laufzeit einen Hintergrundjob im SAP-System anlegt. Allerdings ist es nicht erforderlich, dass Automic Automation für jeden Anwendungsfall einen SAP-Hintergrundjob anlegt. Für das Kopieren einer Variante ist beispielsweise kein SAP-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 Parameters (Startparameter) und Spool-Listenempfänger nutzlos.
Andererseits kann ein einzelner nativer SAP-Job mehrere SAP-Hintergrundjobs zur Laufzeit erstellen. Die zweimalige Anwendung der Funktion für die Übermittlung von SAP ABAP-Programmen (R3_ACTIVATE_REPORT) innerhalb eines SAP-Jobs würde standardmäßig zur Erzeugung von zwei SAP-Hintergrundjobs führen. In diesem Fall werden die Eigenschaften des SAP-Jobs in den Abschnitten Start Parameters (Startparameter) und Spool-Listenempfänger der Definition des SAP-Jobs auf jeden Hintergrundjob in SAP angewendet. Falls definiert, haben beide Jobs in SAP denselben Jobnamen.
In diesem Abschnitt werden die SAP ABAP-spezifischen Parameter in SAP-Jobs beschrieben:
Abschnitt "Start-Parameter":
-
Sprache
Verwendete Sprache in SAP. Der hier gewählte Sprachcode wird automatisch in Großbuchstaben an SAP übergeben. Dies ist dann zu beachten, wenn die Sprache mittels Script gesetzt wird (Attribut SAP_LANG, Script-Element :PUT_ATT).
Weitere Informationen finden Sie unter SAP-Spracheinstellungen.
-
Jobname
Name des Jobs in SAP. Er kann bis zu 32 Zeichen lang sein. Wenn hier kein Jobname angegeben ist, wird das Standardformat verwendet: UC_JOB_ RUN#
-
Job-Klasse
Dieser Wert gibt an, mit welcher Priorität der Job im SAP behandelt werden soll.
Wenn Jobs auf einen freien Batchprozess in SAP warten, bestimmen ihre Prioritäten, welcher Job Vorrang hat.
Tipp: Weisen Sie Job-KlasseA Systemjobs zu (Basis-, Warehouse- und Wartungsjobs in SAP, die von Systemadministratoren ausgeführt werden), da diese Voraussetzung für einen reibungslosen Ablauf aller anderen Jobs sind.
-
Zielsystem
Keine Angabe oder Zielsystem in SAP. Ist der Name eines SAP-Servers in der Form "<Hostname>_<System-ID>_<System-Nr>". Zum Beispiel: "host31_T40_00". Dieser SAP-Server muss Arbeitsprozesse für die Batchverarbeitung beinhalten.
Es wird von SAP empfohlen, diesen Parameter nicht zu verwenden, weil damit das "Workload Balancing" für Batchprozesse außer Kraft gesetzt wird.
-
Job löschen
- Job nicht löschen
Der Job wird nach seiner Durchführung nicht gelöscht.
- Job immer nach Durchführung im CCMS löschen
Der Job wird nach seiner Durchführung in SAP gelöscht. Das Löschen erfolgt im CCMS (Computing Center Management System), einem speziellen Anwendungsbereich für Administratoren.
Dies ist die Standardeinstellung. Wenn diese Option aktiviert ist, ist der Job in der Perspektive Process Monitoring nicht mehr sichtbar, sobald der Job abgeschlossen ist. Dies ist im Fall von mehreren Jobs, die in kurzen Abständen ausgeführt werden, nützlich.
Tipp: Wenn der Zugriff auf die Aufgaben nicht nur von der Automation Engine aus, sondern auch aus Ihrem SAP-System möglich sein soll, deaktivieren Sie diesen Parameter.
- Job nur nach fehlerfreier Durchführung im CCMS löschen
Der Job wird nur nach erfolgreicher und fehlerfreier Durchführung in SAP gelöscht.
- Job nicht löschen
-
Login überschreiben
Aktivieren Sie die Option, um zur Anmeldung beim SAP-System die hier definierten Anmeldeinformationen anstelle des auf der Seite Attribute definierten Agenten-Logins zu nutzen, siehe Die Seite Attribute definieren.
-
Startmodus
- Sobald wie möglich, Fallback auf SAP-System möglich
Es wird versucht, den Job zum nächstmöglichen Zeitpunkt zu starten. Wenn kein SAP-Hintergrundprozess frei ist, wird der Job im SAP-System eingeplant.
- Sofort, Abbruch wenn kein SAP-Hintergrundprozess zur Verfügung steht
Das System versucht den Job sofort zu starten. Der Job bricht ab, wenn kein SAP-Hintergrundprozess (Typ BTC) verfügbar ist.
- Sobald wie möglich, Fallback auf SAP-System möglich
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:
- für 4.6C - SAPKB46C52
- für 6.20 - SAPKB62059
- für 6.40 - SAPKB64017
- für 7.00 - SAPKB70008
Definieren von 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 es Ihnen auch, einen SAP-Java-Job in Automic Automation 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.
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.
In diesem Abschnitt werden die SAP-Java-spezifischen Parameter in SAP-Jobs beschrieben:
Sonderfälle bei SAP-Java-Jobs
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 Automic Automation 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 Report Agentenlog des Jobs und in der Logdatei des SAP-Agenten protokolliert. Der Job wird mit dem Rückgabewert 403 abgebrochen.
In diesem Abschnitt werden die SAP-Java-spezifischen Parameter in SAP-Jobs beschrieben:
-
Wählen Sie unter Start Parameters (Start Parameter) > Jobdefinition den SAP-Java-Job aus, der im SAP-Scheduler verfügbar ist. Die Ein- und/oder Auswahlfelder, die dem ausgewählten Job entsprechen, sind unten dargestellt.
-
Wenn der native SAP-Job untergeordnete Jobs hat, geben Sie unter Jobeinstellungen an, wie diese untergeordneten Jobs verarbeitet werden sollen und welche Logs in SAP erstellt werden sollen. Folgende Optionen stehen zur Verfügung:
So legen Sie fest, wie die untergeordneten Jobs verarbeitet werden sollen:
- Aktivieren Sie Job-Children: Auf Children warten, wenn dieser SAP-Job warten soll, bis die untergeordneten Jobs beendet sind. Erst wenn sie beendet sind, wird auch dieser SAP-Job beendet.
- Aktivieren Sie Job-Children: Abbruch bei Child-Abbruch, wenn der SAP-Job abgebrochen werden soll, sobald ein untergeordneter Job im SAP-System abgebrochen wird.
- Der SAP-Job 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"), aktivieren Sie Job-Children: Children replizieren.
So legen Sie fest, wie die Logs dieser untergeordneten Jobs verarbeitet werden sollen:
- Aktivieren Sie Job-Log > Löschen nach x Tagen und geben Sie einen Wert ein, um das Job-Log nach der angegebenen Anzahl von Tagen aus dem Java Scheduler entfernen zu lassen.
- Aktivieren Sie Job-Log > Nicht löschen, um das Job-Log im Java Scheduler beizubehalten.
- Aktivieren Sie Job-Log > Standardeinstellung verwenden, wenn die Einstellungen verwendet werden sollen, die in der Jobdefinition in SAP vorgegeben sind.
- Geben Sie unter Abrufgröße die Anzahl von Zeilen in JXBP-Jobs an, die abgerufen werden sollen.
Informationen zum Abschnitt Job-Report finden Sie unter Job-Reports.
SAP-Jobs: Anwendungsfälle
Hier finden Sie Beispiele für SAP-Jobs:
Siehe auch: