Definieren der Prozessseiten in Jobs

Scripts zu Objekten hinzufügen, Scripts in Objekten, Scripts in Jobs schreiben
{"URL":["/*.*/awa/pa_view_sheet_script,/*.*/awa/pa_view_sheet_script_pre,/*.*/awa/pa_view_sheet_script_post,/*.*/awa/pa_view_child_post_process,/*.*/pa_view_sheet_jobq_ps_processrequests_script"],"heroDescriptionIdentifier":"ice_process_pages_intro","customCards":[{"id":"ice_process_page","title":"Process Page","type":"customize","url":"https://docs.automic.com/documentation/webhelp/english/ALL/components/DOCU/*.*/Automic%20Automation%20Guides/Content/AWA/Objects/obj_process_page.htm","languages":["en-us"]},{"id":"ice_forms_on_process_page","title":"Process Page for JMX, PeopleSoft, SAP and SQL Jobs","type":"customize","url":"https://docs.automic.com/documentation/webhelp/english/ALL/components/DOCU/*.*/Automic%20Automation%20Guides/Content/AWA/Objects/obj_process_page_FORMS.htm","languages":["en-us"]},{"id":"ice_pre_process_page","title":"Pre-Process Page","type":"customize","url":"https://docs.automic.com/documentation/webhelp/english/ALL/components/DOCU/*.*/Automic%20Automation%20Guides/Content/AWA/Objects/obj_process_page.htm","languages":["en-us"]},{"id":"ice_post_process_page","title":"Post Process Page","type":"customize","url":"https://docs.automic.com/documentation/webhelp/english/ALL/components/DOCU/*.*/Automic%20Automation%20Guides/Content/AWA/Objects/obj_process_page.htm","languages":["en-us"]},{"id":"ice_child_post_process_page","title":"Child Post Process Page","type":"customize","url":"https://docs.automic.com/documentation/webhelp/english/ALL/components/DOCU/*.*/Automic%20Automation%20Guides/Content/AWA/Objects/obj_process_page.htm","languages":["en-us"]},{"id":"ice_ProcessPageExplainer","title":"Analyzing Scripts with Automic Automation's Gen AI","type":"customize","url":"https://docs.automic.com/documentation/webhelp/english/ALL/components/DOCU/*.*/Automic%20Automation%20Guides/Content/AWA/Objects/obj_process_page_GenAI.htm","languages":["en-us"]},{"id":"ice_ExecutingObjects","title":"Executing Objects","type":"customize","url":"https://docs.automic.com/documentation/webhelp/english/ALL/components/DOCU/*.*/Automic%20Automation%20Guides/Content/AWA/Executions/obj_Executing_overview.htm","languages":["en-us"]},{"id":"ice_scripting_and_the_ae_scripting_language","title":"The Automation Engine Scripting Language","type":"customize","url":"https://docs.automic.com/documentation/webhelp/english/ALL/components/DOCU/*.*/Automic%20Automation%20Guides/Content/Script/Writing/AE_Scripting_Language.htm","languages":["en-us"]},{"id":"ice_script_processing","title":"Script Processing","type":"customize","url":"https://docs.automic.com/documentation/webhelp/english/ALL/components/DOCU/*.*/Automic%20Automation%20Guides/Content/Script/Writing/Script_Processing_Order.htm","languages":["en-us"]},{"id":"ice_writing_scripts","title":"Writing Scripts","type":"customize","url":"https://docs.automic.com/documentation/webhelp/english/ALL/components/DOCU/*.*/Automic%20Automation%20Guides/Content/Script/Writing/Script_Writing.htm","languages":["en-us"]},{"id":"ice_working_with_script_editor","title":"Working with the Script Editor","type":"customize","url":"https://docs.automic.com/documentation/webhelp/english/ALL/components/DOCU/*.*/Automic%20Automation%20Guides/Content/Script/Writing/obj_Wkg_ScriptEditor.htm","languages":["en-us"]},{"id":"ice_arithmetic_calculations_in_scripts","title":"Calculations","type":"customize","url":"https://docs.automic.com/documentation/webhelp/english/ALL/components/DOCU/*.*/Automic%20Automation%20Guides/Content/Script/Writing/Script_Arithmetics.htm","languages":["en-us"]},{"id":"ice_script_elements_for_editing_strings","title":"Editing Strings","type":"customize","url":"https://docs.automic.com/documentation/webhelp/english/ALL/components/DOCU/*.*/Automic%20Automation%20Guides/Content/Script/Reference/Overview/Strings_Script.htm","languages":["en-us"]},{"id":"ice_error_handling_in_scripts","title":"Error Handling","type":"customize","url":"https://docs.automic.com/documentation/webhelp/english/ALL/components/DOCU/*.*/Automic%20Automation%20Guides/Content/Script/Writing/Script_Error_Handling.htm","languages":["en-us"]},{"id":"ice_reusing_script_components","title":"Reusing Scripts","type":"customize","url":"https://docs.automic.com/documentation/webhelp/english/ALL/components/DOCU/*.*/Automic%20Automation%20Guides/Content/Script/Writing/Script_Reuse.htm","languages":["en-us"]},{"id":"ice_ae_script_reference","title":"Automation Engine Script Reference","type":"customize","url":"https://docs.automic.com/documentation/webhelp/english/ALL/components/DOCU/*.*/Automic%20Automation%20Guides/Content/Script/Reference.htm","languages":["en-us"]},{"id":"ice_UnderstandingPA","title":"Understanding the Process Assembly Perspective","type":"customize","url":"https://docs.automic.com/documentation/webhelp/english/ALL/components/DOCU/*.*/Automic%20Automation%20Guides/Content/AWA/Objects/ProcessAssembly.htm","languages":["en-us"]},{"id":"ice_Overview_AWI","title":"Understanding the User Interface","type":"customize","url":"https://docs.automic.com/documentation/webhelp/english/ALL/components/DOCU/*.*/Automic%20Automation%20Guides/Content/_Common/GettingStarted/GS_OverviewAWI.htm","languages":["en-us"]}]}

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.

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

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"

Scripts zu Objekten hinzufügen, Scripts in Objekten, Scripts in Jobs schreiben

Das Script auf dieser Seite wird während der Generierungsphase verarbeitet (siehe Ausführen von Objekten: Generierungsphase). 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 Verständnis der Formularansicht auf der Prozessseite.

Plattformspezifische Informationen auf der Seite "Prozess"

Prozessseite, Script auf der Prozessseite hinzufügen, Scripts zu Objekten hinzufügen, Scripts in Objekten, Scripts in Jobs schreiben
  • 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 JCL für SAP.

  • 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_* – Registrieren von externen Interpretern 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-Script"

Scripts zu Objekten hinzufügen, Scripts in Objekten, Scripts in Jobs schreiben

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:

z/OS auf der Seite "Pre-Prozess"

Pre-Prozess-Seite, Script auf der Pre-Prozess-Seite hinzufügen, Scripts zu Objekten hinzufügen, Scripts in Objekten, Scripts in Jobs schreiben

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

Seite "Post-Prozess"

Scripts zu Objekten hinzufügen, Scripts in Objekten, Scripts in Jobs schreiben

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

Scripts zu Objekten hinzufügen, Scripts in Objekten, Scripts in Jobs schreiben

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: