Prozess-Seiten
Als Entwickler und Objektdesigner können Sie funktionale Logik zu den Prozess-Seiten Ihrer Objekte mit Hilfe des Automation Engine scripting language hinzufügen. Alle ausführbaren Objekte haben mindestens eine Prozess-Seite-Seite. Einige Objekttypen haben auch Pre-Prozess-, Post-Prozess und Child-Post-Prozess-Seiten.
Eine Objektdefinition besteht aus mehreren Seiten. Die Seite Prozess ist für alle ausführbaren Objekte verfügbar. Job-Objekte haben zwei zusätzliche Prozess-Seiten, Pre-Prozess und Post-Prozess. Jede Prozess-Seite kann bis zu 32.767 Zeilen lang sein. Wenn das Script jedoch mehr als 1.000 JCL-Zeilen generiert, wird seine Erstellung abgebrochen. Wenn Ihr Script mehr JCL-Zeilen generiert, können Sie diesen Grenzwert mithilfe von MAX_JCL_LINES in :PUT_ATT ändern.
Die Scripts auf den Prozess-Seiten werden verarbeitet, wenn das Objekt aktiviert oder generiert wird. Die Reihenfolge, in der die Prozess-Seiten in Jobs verarbeitet werden, ist wichtig. Weitere Informationen finden Sie hier:
Um auf die Prozess-Seite zuzugreifen, klicken Sie auf die Registerkarte Prozess im linken Bereich der Objektdefinition oder erweitern diese.
Tipp: Lesen Sie Mit dem Script-Editor arbeiten, bevor Sie anfangen, Scripts zu schreiben, um mehr über die Funktionen des Script-Editors zu erfahren.
Diese Seite beinhaltet Folgendes:
Seite "Prozess"
Die Seite Prozess ist für alle ausführbaren Objekte verfügbar. Das Script auf dieser Seite wird während der Generierung verarbeitet. Genauer gesagt werden die Scripts auf dieser und auf der Pre-Prozess-Seite während der Generierungsphase gemeinsam verarbeitet, zuerst das Script auf der Pre-Prozess-Seite, und dann das Script auf der Prozess-Seite. Weitere Informationen darüber, was während der Script-Generierung passiert, finden Sie unter Script-Generierung im Detail.
Für JMX-, PeopleSoft-, SAP- und SQL-Jobs bietet die Seite "Prozess" zwei Optionen zum Erstellen von Scripts:
-
Schreiben von Codes im Script-Editor
Diese Option ist die Standardoption, die für alle ausführbaren Objekte zur Verfügung steht.
- Hinzufügen von vordefinierten, gebrauchsfertigen Befehlen, die in der Ansicht Formulare verfügbar sind
Weitere Informationen finden Sie unter Formularansicht auf der Seite "Prozess"
Plattformspezifische Informationen
-
Spezielle Funktionen für Guardian/NSK
Informationen zu den speziellen Funktionen, die für die automatische Behandlung von Eingabeaufforderungen zur Verfügung stehen, finden Sie unter Automatisierte Behandlung von Eingabeaufforderungen.
-
JCL für z/OS
Hier wird die eigentliche JCL angegeben. KEINESFALLS darf hier eine Job-Anweisung (diese wird über die Attribute angegeben) bzw. End-Anweisung angegeben werden.
-
SAP JCL interpretiert vom SAP-Agenten
SAP hat keine JCL. Aus diesem Grund, wurde in der Automation Engine eine SAP-JCL definiert. SAP analysiert diese und setzt sie in Verarbeitungsanweisungen für das Zielsystem um. Weitere Informationen finden Sie unter SAP JCL.
-
Einen Interpreter für Windows und UNIX aktivieren
Sie können auch ein Script für die Verwendung mit einem externen Interpreter eingeben. Für die Aktivierung der Interpretation dieses Scripts verwenden Sie :BEGIN_EXT_INTERPRETERS... :END_EXT_INTERPRETERS.
Die Binärdateien des Storage-Objekts können mithilfe der Script-Funktion :ATTACH_RES angehängt und an den Windows-Agenten übertragen werden.
Um diese Funktionen nutzen zu können, konfigurieren Sie die Variablen UC_EXT_INTERPRETERS_* - Externe Interpreter registrieren and :REGISTER_VARIABLE.
-
Windows BAT- und PowerShell-Beispiele
-
Dieses Windows BAT-Script schreibt die Ausgabe des C:\Temp Verzeichnisses in eine Datei und prüft, ob das Kommando erfolgreich ausgeführt wurde. Wurde das Kommando nicht erfolgreich ausgeführt, wird der Job mit dem Rückgabewert aus dem Kommando dir beendet:
dir C:\temp /S >> C:\temp\test.txt@
set retcode=%errorlevel%
@if NOT %ERRORLEVEL% == 0 goto :retcode
-
Dieses Windows PowerShell-Script erhält Inhalt des C:\Temp-Verzeichnisses und schreibt die Ausgabe in eine Datei. Der Fehlercode aus der PowerShell wird dann überprüft. Wenn er nicht 0 ist, wird der Job mit $LastExitCode abgebrochen. Dieser Beendigungscode entspricht %ERRORLEVEL% im Script CMD.EXE/.BAT.
Get-ChildItem C:\Temp > C:\Temp\test.txt
if( $LastExitCode -ne 0 )
{ __uc_return $LastExitCode }
Die Funktion __uc_return kann für die Beendigung von PowerShell-Jobs genutzt werden. Diese Funktion funktioniert nur, wenn der Windows-Job-Typ auf "Interpreter" gesetzt ist. Die Funktion funktioniert nicht mit den neuen Funktionen :BEGIN_EXT_INTERPRETERS... :END_EXT_INTERPRETERS.
-
Weitere Informationen finden Sie unter Konfigurieren von Include-Objekten für externe Interpreter-Aufrufe.
Seite "Pre-Prozess"
Nur für Job-Objekte (JOBS) verfügbar. Auf der Seite Pre-Prozess geben Sie Anweisungen ein, die den Job für die Ausführung vorbereiten. Ein typisches Beispiel ist die :PUT_ATT-Anweisung, die Attribute wie den Agenten setzt. Das Script auf dieser Seite wird zur gleichen Zeit wie das Script auf der Seite Prozess verarbeitet.
Pre-Prozess-Anweisungen werden im Job-Header ausgeführt, d. h. Sie können Anweisungen hinzufügen, die ausgeführt werden, bevor der Job Messenger an der Ausführung beteiligt wird. Weitere Informationen finden Sie unter Job Messenger des Agenten.
Tipp: Verwenden Sie die Script-Anweisung :INC_SCRIPT, um den Inhalt dieser Seite in eine andere Prozess-Seite einzufügen.
z/OS
Auf der Seite Pre-Prozess können Sie alle JCL-Kommandos definieren (z. B. JCLLIB, JOBCAT, JOBLIB, OUTPUT usw.). Diese Kommandos müssen nach der Job-Anweisung, aber vor dem ersten Schritt im Script definiert werden.
Der Ereignis-Monitor berücksichtigt Schritte auf der Seite Pre-Prozess nur, wenn der erste Schritt gleich benannt ist wie das Automation Engine-System. Anderweitig wirken sich abgebrochene Job-Schritte aus der Vorverarbeitung nicht auf den Endstatus eines Automation Engine-Jobs aus.
Beispiel:
In diesem Beispiel heißt das Automation Engine-System UC4PROD.
Pre-Prozess-Seite:
//JOBLIB DD DISP=SHR,DSN=.....
// DD DISP=SHR,DSN=....
//UC4PROD EXEC PGM=modname
Prozess-Seite:
//STEP01 EXEC PGM=IEFBR14
//STEP01 EXEC PGM=IEBGENER
Nur für Jobs (JOBS) und File Transfers (JOBF) verfügbar. Scripts auf der Seite Post-Prozess werden verarbeitet, nachdem der Job normal oder nach einer teilweisen Fertigstellung beendet wurde. Ein Job wurde beispielsweise teilweise fertiggestellt, wenn er abgebrochen wurde. Mit Kommandos zur Post-Verarbeitung können Sie beeinflussen, wie ein Job beendet wird.
Die folgenden Regeln gelten:
- Post-Prozess-Scripts können keine JCL-Zeilen enthalten
- Post-Prozess-Kommandos werden im Falle eines ENDED_LOST-Aufgabenstatus NICHT ausgeführt
- Die folgenden Script-Anweisungen können Sie auf der SeitePost-Prozess nicht verwenden:
Tipps:
- Mit der Script-Anweisung :RSET werden Script-Variablen zwischen den Seiten Prozess und Post-Prozess übergeben. Diese Script-Anweisung gibt den Wert zurück, welcher der Script-Variablen auf der Seite Prozess zugewiesen wurde.
- Verwenden Sie die Script-Anweisung :MODIFY_STATE, um das endgültige Ende eines Jobs zu ändern. Mit dieser Script-Anweisung können Sie den Job-Rückgabewert und den Status ändern, den der Job Messenger im Trailer liefert.
- Verwenden Sie die Script-Anweisung PREP_PROCESS_REPORT auf der Seite Post-Prozess, um Reports zu analysieren. Sie können dann einen ENDED_NOT_OK-Status für einen Job definieren, auch wenn der Job eigentlich normal beendet wurde.
SAP- und PeopleSoft-Jobs enthalten in der Regel Anweisungen, die mehrere Prozesse (Unter-Jobs) auf den Zielsystemen starten. Um diese Job-Struktur nachzubilden, haben Automic Web Interface-, SAP- und PeopleSoft-Jobs eine zusätzliche Child-Post-Prozess-Seite. Der SAP- oder PeopleSoft-Job, den Sie in der Automation Engine erstellen, ist der Parent dieser Unter-Jobs (Child-Prozesse) und dient als deren Container.
Das Script, das Sie auf der Seite Child-Post-Prozess eingeben, wird für jeden einzelnen Child-Prozess sofort nach dessen Beendigung abgearbeitet.
Siehe auch: