PREP_PROCESS_REPORT
Verwenden Sie die Script-Funktion PREP_PROCESS_REPORT, um die Reportzeilen der ausführbaren Objekte aus der Datenbank abzurufen. Mit der Script-Funktion können Sie nach Typ und Inhalt der Reports filtern. Die Script-Funktion gibt einen Verweis auf eine Datensequenz zurück, die Sie zur weiteren Verarbeitung verwenden können, indem Sie den Rückgabewert der Script-Anweisung :PROCESS zuweisen. Verwenden Sie die Script-Funktion GET_PROCESS_LINE, um auf eine bestimmte Zeile im Report zuzugreifen.
Tipp: Analysieren Sie den Job-Report der eigentlichen Aufgabe auf der Seite Post-Prozess Weitere Informationen finden Sie unter Prozess-Seiten. Verwenden Sie abhängig vom Ergebnis :MODIFY_STATE, um das definitive Ende des Jobs anzugeben.
Mehr Informationen:
Hinweise:
- Der Report wird in derselben Sprache gespeichert wie das Automation Engine-Logging.
- Der Script-Variablen, die die Datensequenz-Referenz enthält, kann kein neuer Wert zugewiesen werden. Verwenden Sie :CLOSE_PROCESS, um die vorhandene Datensequenz zu verwerfen und einen neuen Wert zuzuweisen.
- Die Script-Funktion bewirkt, dass alle offenen Transaktionen des Scripts in die AE-Datenbank geschrieben werden. Weitere Informationen finden Sie unter Script-Verarbeitung.
- Enthält die Datensequenz den gesuchten Inhalt nicht, führt das zu keiner Fehlermeldung. In diesem Fall wird die Datensequenz, die zwischen :PROCESS und :ENDPROCESS definiert ist, nicht verarbeitet.
Syntax
PREP_PROCESS_REPORT ([Objekttyp] ,[RunID] ,[Reporttyp] [,Filter] [,"COL=Definition1] [,Definition2]")
Parameter
-
PREP_PROCESS_REPORT
Ruft Reports eines ausführbaren Objekts b -
Objekttyp
(Optional) Kurzname des Objekttyps
Format:AE-Name, Script-Literal oder Script-Variable
Weitere Informationen: Objekttypen
Hinweise:- Dieser Parameter ist optional, da das Objekt über die RunID zugewiesen werden kann.
- Geben Sie CLNT an, um auf Mandanten-Reports zuzugreifen.
-
RunID
(Optional) RunID der Aufgabe, deren Reports abgerufen werden
Format: Script-Literal oder Zahl
Hinweis: Für Mandanten-Reports müssen Sie keine RunID angeben.
Wichtig! Wenn Sie den Report eines Vorgänger einer Workflow-Aufgabe abrufen, aktivieren Sie auf der Registerkarte Attribute des Workflow-Objekts die Option Aufgabe generieren zur: Laufzeit. Der Report ist während der Aktivierungszeit noch nicht verfügbar. Weitere Informationen finden Sie unter Generierung zum Aktivierungszeitpunkt oder zur Laufzeit. -
Reporttyp
(Optional) Kurzname des Reporttyps
Format:AE-Name, Script-Literal oder Script-Variable
Weitere Informationen:Reports
Hinweis: Wenn Sie keinen Reporttyp angeben, greift die Script-Funktion auf den Job-Report (REP) für Job-Objekte zu, und auf den Aktivierungsreport (ACT) für andere Aufgabentypen. -
Filter
(Optional) Filtert nach einem bestimmten Inhalt einer Zeile
Format: Script-Literal oder Script-Variable
Standardwert: *
Hinweis:- Bei dem Filter wird die Groß-/Kleinschreibung nicht beachtet.
- Verwenden Sie das Platzhalterzeichen *, das für eine beliebige Anzahl von Zeichen steht, oder ? für ein einzelnes Zeichen in einem Filter.
-
COL
(Optional) Definiert, ob und wie die Datensequenzzeilen in Spalten unterteilt werden
Format: Script-Literal oder Script-Variable
Verwenden Sie das folgende Format: COL=Definition1[, Definition2]. Weitere Informationen finden Sie unter Spalten definieren.
Hinweise:
- Sie müssen die RunID und den Reporttyp nicht angeben, wenn Sie PREP_PROCESS_REPORT verwenden, um auf den Report der Aufgabe zuzugreifen, die das Script selbst enthält. Die Script-Funktion ruft in diesem Fall die RunID ab.
- Setzen Sie auch die Kommas für die Parameter, die Sie weglassen.
- Wenn eine Aufgabe bereits beendet wurde, der Report jedoch noch unvollständig ist, wartet die Script-Funktion auf den Abschluss des Reports.
Um die Datensequenz Zeilen in Spalten aufzuteilen, geben Sie die Spaltentrennung folgendermaßen an:
COL=Definition1[, Definition2]
Wobei
-
COL
Schlüsselwort für Spaltentrennung -
Definition1
Definiert, ob die Datensequenzzeilen in Spalten unterteilt sind
Format: Script-Literal oder Script-Variable
Zulässige Werte:- NONE
Zeilen werden nicht in Spalten aufgeteilt (Standard) - LENGTH
Legt eine vordefinierte Spaltengröße fest
Hinweis: Verwenden Sie LENGTH_TAB in Definition2, um die Größe anzugeben. - DELIMITER
Trennt Spalten mit einem Trennzeichen
Hinweis: Verwenden Sie DELIMITER in Definition2, um das Trennzeichen anzugeben.
- NONE
-
Definition2
(Optional) Definiert Spaltengrößen und -namen oder das Trennzeichen
Format: Script-Literal oder Script-Variable
Zulässige Werte:- LENGTH_TAB
Gibt Spaltengrößen und Spaltennamen an
Beispiel:"COL=LENGTH,LENGTH_TAB='3=drive,100=file name'"
Hinweise:- Trennen Sie einzelne Spaltendefinitionen durch Kommas.
- Geben Sie bis zu 22 Spalten mit einer Gesamtzahl von 2.048 Byte an.
- Geben Sie die Spaltengröße als Anzahl der Zeichen an. Die maximale Größe ist 255 Zeichen.
- (Optional) Geben Sie Spaltennamen an. Namen können bis zu 32 Zeichen lang sein.
- Verwenden Sie Anführungszeichen vor der ersten und nach der letzten Spaltendefinition. Verwenden Sie doppelte Anführungszeichen, wenn Sie einfache Anführungszeichen für Script-Literale in Definition2 verwenden, oder umgekehrt.
- DELIMITER
Definiert ein Trennzeichen, das Spalten trennt
Die Zeilen der Datensequenz werden als Spalten zurückgegeben, die vor, zwischen oder nach dem Trennzeichen-String platziert sind.
Beispiel:
"COL=DELIMITER,DELIMITER=*'*"
'COL=DELIMITER,DELIMITER=@"@'
Standardwert: ;
Hinweise:- Sie können beliebige Zeichen als Trennzeichen verwenden.
- Sie können auch das Tabulatorzeichen als Trennzeichen verwenden: 'DELIMITER=<TAB>'
- Das Trennzeichen kann ein String mit bis zu 10 Zeichen sein.
- Schließen Sie das Trennzeichen mit einem beliebigen Zeichen ein: *Trennzeichen*. Die umschließenden Zeichen werden in der Ausgabe nicht angezeigt.
- Eine Spalte wird nicht getrennt, wenn eine Zeile kein Trennzeichen enthält.
- Wenn Sie einfache Anführungszeichen als Trennzeichen verwenden, müssen Sie Definition2 in doppelte Anführungszeichen einschließen und umgekehrt.
- LENGTH_TAB
Beispiele
Im folgenden Beispiel wird nach allen Zeilen eines Job-Reports gesucht, die auf Laufwerk C: verweisen. Das Script gibt diese Zeilen im Aktivierungsreport aus.
:SET &HND# = PREP_PROCESS_REPORT("JOBS",, "REP", "*C:\*")
:PROCESS &HND#
: SET &RET# = GET_PROCESS_LINE(&HND#)
: PRINT &RET#
:ENDPROCESS
Ein Job mit dem Namen MM.DAY fordert den Benutzer zur Eingabe von Dateinamen auf. Die Dateinamen werden im Aktivierungsreport des Jobs ausgegeben. Das folgende Script in einer anderen Aufgabe liest die Dateinamen aus dem Aktivierungsreport des Jobs und gibt sie im Aktivierungsreport der Aufgabe aus, die das Script enthält.
:SET &RUNNR# = GET_UC_OBJECT_NR("MM.DAY")
:SET &HND# = PREP_PROCESS_REPORT(, &RUNNR#, "ACT",,"COL=DELIMITER", "DELIMITER=*'*")
:PROCESS &HND#
: SET &RET# = GET_PROCESS_LINE(&HND#,1)
: PRINT &RET#
:ENDPROCESS
Das folgende Script auf der Seite Post-Prozess eines Jobs ruft Zeilen ab, die im Job-Report des eigentlichen Jobs den Eintrag "Datei nicht gefunden" enthalten. Das Script sendet eine Meldung an den Benutzer, der bei Automic Web Interface angemeldet ist, um ihn darüber zu informieren, dass beim Kopieren ein Fehler aufgetreten ist.
:SET &HND# = PREP_PROCESS_REPORT(,,,"*file not found*")
:PROCESS &HND#
: SEND_MSG BU,BU,"Error occurred while copying."
: MODIFY_STATE RETCODE=50
:ENDPROCESS
Siehe auch: