Script-Funktion: Ermittelt die Liste des registrierten Outputs von bereits gelaufenen Jobs und stellt das Ergebnis als interne Auflistung (Datensequenz) für die weitere Verarbeitung zur Verfügung.
PREP_PROCESS_REPORTLIST([RunID], [Filter])
Syntax |
Beschreibung/Format |
---|---|
RunID |
RunID eines bereits durchgeführten Jobs, dessen registrierter Output (sowohl interne Reports als auch Job-Output-Dateien) ermittelt werden soll Format: AE-Name, Script-Literal oder Script-Variable Wird der Parameter nicht angegeben, so bezieht sich das Sprachmittel auf das eigene Objekt. Das Sprachmittel sollte dann aber nur in der Registerkarte Post Script verwendet werden, da sonst nicht alle Job-Output Daten ermittelt werden können. |
Filter |
Filter auf den Namen einer Job-Output-Datei Dabei können auch die Wildcard-Zeichen * (Platzhalter beliebige Zeichen) und ? (Platzhalter für genau ein Zeichen) mehrmals verwendet werden. Format: Script-Variable oder Script-Literal |
Rückgabewert |
---|
Referenz auf die Datensequenz der Liste des Job-Outputs. |
Die Script-Funktion ermittelt die Liste des registrierten Job-Outputs, die in der Registerkarte Verzeichnis des Report-Dialoges zu finden ist. Dies schließt sowohl die externen Dateien als auch die Standard-Reports mit ein.
Der Rückgabewert der Script-Funktion ist eine Datensequenz-Referenz. Diese kann der Script-Anweisungen :PROCESS und :ENDPROCESS als Startparameter übergeben, wodurch eine Schleife entsteht. Die Anzahl der Schleifendurchläufe entspricht dabei der Anzahl der Job-Output-Einträge. Mit der Script-Funktion GET_PROCESS_LINE kann auf die einzelnen Spalten (ingesamt acht) einer jeden Zeile zugegriffen werden.
Der Script-Variablen, die die Datensequenz-Referenz enthält, kann kein neuer Wert zugewiesen werden. Erst wenn Sie die Datensequenz mit der Script-Anweisung :CLOSE_PROCESS explizit verwerfen, kann die Variable erneut verwendet werden.
Wird der Parameter Filter nicht angegeben, so werden alle Job-Output-Dateien verwendet (entspricht Filter = *).
Dabei sind folgende Spalten für jeden Eintrag auslesbar:
Spaltennummer | Wert |
---|---|
1 |
Report-Typ (zum Beispiel: ACT, REP, REV01 usw.) Externe Job-Output-Dateien besitzen folgenden Benennung:
NNN - dreistellige, fortlaufende Nummer |
2 |
Zeitpunkt zu dem die Erstellung des Job-Output gestartet wurde Format: YYYY-MM-DD HH:MM:SS |
3 |
Zeitpunkt zu dem die Erstellung des Job-Output beendet wurde Format: YYYY-MM-DD HH:MM:SS |
4 | Titel (nur bei SAP-Jobs) |
5 |
Handelt es sich um einen XML-Report? (nur bei SAP-Jobs) Mögliche Werte: |
6 |
Vollständiger Pfad und Name der externen Job-Output-Datei bzw. des Job-Reports (Report-Typ = REP). Bei Standard-Reports (wie ACT) ist diese Spalte leer. |
7 |
Job-Output befindet sich am Agenten? Mögliche Werte: |
8 |
Ist der Job-Output in der Datenbank gespeichert? Mögliche Werte: |
Im ersten einfacheren Beispiel werden Name und Pfad der Output-Dateien der letzten Durchführung des Jobs JOBS.WIN.OUTPUT ausgelesen und in das Aktivierungsprotokoll geschrieben.
:SET &RUNID# = GET_STATISTIC_DETAIL(,RUNID,JOBS.WIN.OUTPUT)
:SET &HND# = PREP_PROCESS_REPORTLIST(&RUNID#)
:PROCESS &HND#
:SET &FILENAME# = GET_PROCESS_LINE(&HND#, 6)
: IF &FILENAME# = ""
: ELSE
: PRINT "File name = &FILENAME#"
: ENDIF
:ENDPROCESS
In folgendem Beispiel werden zwei Dateien von einem Windows-Job erzeugt und als Job-Output registriert. Folgende Zeilen befinden sich in der Registerkarte Script des Jobs:
dir C:\temp >> C:\temp\test.txt
:REGISTER_OUTPUTFILE "C:\temp\test.txt","N"
dir C:\windows >> C:\temp\test2.txt
:REGISTER_OUTPUTFILE "C:\temp\test2.txt","N"
In der Registerkarte Post-Script des Jobs wird mit dem Sprachmittel PREP_PROCESS_REPORTLIST die komplette Job-Output-Liste abgefragt und die einzelnen Spalten jeder Zeile mit einer Process-Schleife in das Job-Protokoll geschrieben. Für jede externe Output-Datei wird ein FileTransfer gestartet, der diese Datei auf einen anderen Rechner überträgt. Dem FileTransfer-Objekt wird dabei Agent, Login des Jobs und der vollständige Pfad der Datei übergeben.
:PSET &AGENT_JOB# = GET_ATT(HOST)
:PSET &LOGIN_JOB# = GET_ATT(LOGIN)
:SET &HND# = PREP_PROCESS_REPORTLIST()
:PROCESS &HND#
: SET &RH_TYPE# = GET_PROCESS_LINE(&HND#, 1)
: SET &START_TIME# = GET_PROCESS_LINE(&HND#, 2)
: SET &END_TIME# = GET_PROCESS_LINE(&HND#, 3)
: SET &TITLE# = GET_PROCESS_LINE(&HND#, 4)
: SET &IS_XML# = GET_PROCESS_LINE(&HND#, 5)
: SET &FILENAME# = GET_PROCESS_LINE(&HND#, 6)
: SET &ON_AGENT# = GET_PROCESS_LINE(&HND#, 7)
: SET &IN_DB# = GET_PROCESS_LINE(&HND#, 8)
: PRINT "Report type = &RH_TYPE#"
: PRINT "Start = &START_TIME#"
: PRINT "End = &END_TIME#"
: PRINT "Title = &TITLE#"
: PRINT "XML report? = &IS_XML#"
: PRINT "File name = &FILENAME#"
: PRINT "On the Agent? = &ON_AGENT#"
: PRINT "In the database? = &IN_DB#"
: IF &FILENAME# = ""
: PRINT "No external output file"
: ELSE
: IF &ON_AGENT# = 1
: PSET &FT_FILE# = &FILENAME#
: SET &AKT# = ACTIVATE_UC_OBJECT(JOBF.OUTPUTHANDLING,,,,,PASS_VALUES,)
: ENDIF
:ENDIF
: PRINT
:ENDPROCESS
Im Script des FileTransfer-Objektes wird nun als Quell-Agent und Login die Daten des aktivierenden Jobs eingetragen. Zusätzlich wird auch als Quell-Datei der Pfad und Name der externen Job-Output-Datei gesetzt. Für das Ziel wird der Name der Quell-Datei übernommen, der Pfad wird auf "C:\output\" geändert.
:PUT_ATT FT_SRC_HOST = &AGENT_JOB#
:PUT_ATT FT_SRC_LOGIN = &LOGIN_JOB#
:PUT_ATT FT_SRC_FILE = &FT_FILE#
:SET &POS# = STR_FIND_REVERSE(&FT_FILE#, "\") + 1
:SET &FNAME# = STR_CUT(&FT_FILE#, &POS#)
:SET &DST_FILENAME# = STR_CAT("C:\output\",&FNAME#)
:PUT_ATT FT_DST_FILE = &DST_FILENAME#
Siehe auch:
Script-Sprachmittel | Beschreibung |
---|---|
Ermittelt mit Filterkriterien Reportzeilen von aktivierbaren Objekten und stellt das Ergebnis als interne Auflistung (Datensequenz) für die weitere Verarbeitung zur Verfügung. |
|
Definition einer Schleife zur zeilenweisen Bearbeitung einer Datensequenz, wie beispielsweise den Inhalt einer sequentiellen Datei oder das textmäßige Ergebnis eines Kommandos. |
|
Ermittelt den aktuellen Zeileninhalt einer Datensequenz. |
Script-Sprachmittel - Datensequenzen
Beispielsammlung
Endstatus aufgrund des Reportinhaltes setzen
Aufruf eines MBeans
Allgemeines zum Script
Script-Sprachmittel - Alphabetische Auflistung
Script-Sprachmittel - Funktionelle Gliederung
Automic Documentation - Tutorials - Automic Blog - Resources - Training & Services - Automic YouTube Channel - Download Center - Support |
Copyright © 2016 Automic Software GmbH |