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:

  1. Seite Pre-Prozess und Seite Prozess
  2. Seite Child-Post-Prozess
  3. 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: