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. Abhängig vom seinem Typ kann das Objekt mehr als eine Prozess-Seite haben, auf der Sie Scripts schreiben können.
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 der Script-Anweisung :PUT_ATT ändern.
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:
Verarbeitungsauftrag
Die Scripts auf den Prozess-Seiten werden in der folgenden Reihenfolge verarbeitet:
- Seite Pre-Prozess und Seite Prozess
- Seite Child-Post-Prozess
- Seite Post-Prozess
Seite "Prozess"
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 und :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-Script"
Nur für Jobs (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.
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.
Tipp: Verwenden Sie die Script-Anweisung :INC_SCRIPT, um den Inhalt dieser Seite in eine andere Prozess-Seite einzufügen.
Weitere Informationen finden Sie hier:
SAP IBP
Auf der Seite Pre-Prozess können Sie die Script-Anweisung :PUT_ATT verwenden, um bestimmte Attribute in der Definition Schedule-Job-Parameterfestzulegen. Dazu können Sie die folgenden Variablen verwenden, um die entsprechenden Werte zu analysieren:
-
Variablenname: connection
Beschreibung: Variable, die verwendet wird, um das relevante SAP IBPVerbindung-Objekt zu definieren.
Wert: text
-
Variablenname: jobtemplatename
Beschreibung: Variable, die verwendet wird, um den Namen der Jobvorlage zu definieren, die Sie ausführen möchten
Wert: text
-
Variablenname: jobtext (Optional)
Beschreibung: Variable , die verwendet wird, um den Job-Text zu definieren
Wert: text
-
Variablenname: jobuser
Beschreibung: Variable , die verwendet wird, um den Benutzernamen des Benutzers zu definieren, unter dem der Job ausgeführt werden soll
Wert: text
Weitere Informationen finden Sie hier:
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
Post-Prozess-Seite
Nur für Job-Objekte (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 Befehlen 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-Befehle werden im Falle eines ENDED_LOST-Aufgabenstatus NICHT ausgeführt
- Die folgenden Script-Anweisungen können Sie auf der SeitePost-Prozess nicht verwenden:
:PUT_ATT
Das Setzen von Attributen für die Generierung des Jobs ist irrelevant
:EXIT
Die Verarbeitung des Scripts mit dem Rückgabewert > 0 abzubrechen, ist nicht erlaubt
:STOP
Die Bearbeitung des Scripts zu unterbrechen, ist nicht erlaubt
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.
Weitere Informationen finden Sie hier:
Seite Child-Post-Prozess
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: