Automation Engine Script-Leitfaden > Funktionelle Gliederung > Datensequenzen > PREP_PROCESS_REPORT

PREP_PROCESS_REPORT

Script-Funktion:Ermittelt mit Filterkriterien Reportzeilen von aktivierbaren Objekten und stellt das Ergebnis als interne Auflistung (Datensequenz) für die weitere Verarbeitung zur Verfügung.

Syntax

PREP_PROCESS_REPORT([Object type , [RunID], [Report type], [Filter] [, "COL=Definition1], [Definition2]")

Syntax

Beschreibung/Format

Objekttyp

Kurzbezeichnung des Typs des Objekts, das der Klasse der aktivierbaren Objekte angehört. Es kann auch der Report des Mandanten, in dem diese Script-Funktion verwendet wird, aufbereitet werden. Die Kurzbezeichnung lautet in diesem Fall "CLNT".

Format: AE-Name, Script-Literal oder Script-Variable

Optionaler Parameter, da der Objekttyp durch die laufende Nummer (RunID) eindeutig zugeordnet werden kann (kompatibel zur Version 2.6xx).

RunID

Laufende Nummer (RunID) der Aufgabe, deren Report bearbeitet werden soll.
Format: Script-Variable oder Zahl

Soll der Report einer anderen Aufgabe analysiert werden, so muss die Option Generieren zur Laufzeit (Registerkarte Attribute) aktiviert sein.

Beim Report des Mandanten ist keine RunID anzugeben.

Report-Typ

Kürzel für den Typ des Reports.
Format: AE-Name, Script-Literal oder Script-Variable

Filter

Vorgabe für den Zeileninhalt. Groß- und Kleinschreibung wird nicht beachtet.

Für den Filter werden die Wildcardzeichen * und ? unterstützt. Bei * handelt es sich um einen Platzhalter für eine beliebige Zeichenanzahl (auch keines) und ? repräsentiert genau ein beliebiges Zeichen. Die Wildcard-Zeichen können dabei mehrfach angegeben werden.

Format: Script-Literal oder Script-Variable
Standardwert: *

Definition1

Legt fest, ob die Zeilen in Spalten unterteilt sein sollen.
Format: Script-Literal oder Script-Variable

Erlaubte Werte: "NONE" (Standardwert), "LENGTH", "DELIMITER"

"NONE" = Keine Unterteilung in Spalten.
"LENGTH" = Vorgegebene Spaltenbreiten. Erfordert LENGTH_TAB= als Definition2.
"DELIMITER" = Spalten werden durch ein Begrenzungszeichen getrennt. Erfordert DELIMITER= als Definition2.

Definition2

Legt Spaltenbreiten und Spaltennamen (optional) oder das Begrenzungszeichen fest.
Format: Script-Literal oder Script-Variable

Erlaubte Werte: "LENGTH_TAB" und "DELIMITER"

  • "LENGTH_TAB"

    Spaltenbreiten und Spaltennamen (optional) werden in der Form Spaltenbreite=[Spaltenname] angegeben. Die Spaltenbreite wird über eine Zeichenanzahl definiert. Die einzelnen Spalten sind durch Kommata zu trennen (maximal 22 Spalten). Vor der ersten und nach der letzten Spaltendefinition müssen zusätzlich Hochkommata stehen. Werden für Definition2 als Script-Literal doppelte Hochkommata verwendet, müssen das einfache Hochkommata sein, sonst umgekehrt.

    Beispiele:

    "COL=LENGTH,LENGTH_TAB='3=Laufwerk,100=Dateiname'"

     
  • DELIMITER

    Das Begrenzungszeichen wird in der Form *Delimiter* angegeben.
    "*" = frei wählbares Begrenzungszeichen.
    Delimiter
    = Zeichenkette aus maximal 10 Zeichen, welche die Spalten voneinander trennt. Wird ein einzelnes Hochkomma als Delimiter verwendet, muss der gesamte Ausdruck COL=Definition1[,Definition2] in doppelte Hochkommata eingeschlossen werden und umgekehrt.

    Standardwert: Semikolon (;)

    Beispiele:

    "COL=DELIMITER,DELIMITER=*'*"
    'COL=DELIMITER,DELIMITER=@"@'

Rückgabewert

Referenz auf die Datensequenz des Reports.

Anmerkungen

Die Script-Funktion stellt den Reportinhalt von aktivierbaren Objekten für eine weitere Verarbeitung mit AE Script bereit. Der Report wird aus der AE Datenbank gelesen und als Datensequenz aufbereitet.

Wird auf einen Report einer Aufgabe zugegriffen, die die Scipt-Funktion aufruft, können die Parameter RunID und Reporttyp weggelassen werden. Die Script-Funktion ermittelt in diesem Fall selbst die RunID. Vergessen Sie jedoch nicht die zu den Parametern gehörenden Kommata zu setzen. Standardmäßig wird bei Jobs der Jobreport ("REP") und bei anderen Aufgaben der Aktivierungsreport ("ACT") verwendet.

Der eigene Jobreport kann in der Registerkarte "Post-Script" analysiert werden. Abhängig vom Ergebnis ist es möglich, mit der Script-Anweisung :MODIFY_STATE das endgültige Ende des Jobs zu definieren.

Wird auf eine Aufgabe zugegriffen, die bereits beendet, aber deren Report noch unvollständig ist, wartet die Script-Funktion darauf.

Die Script-Funktion liest standardmäßig ganze Zeilen des Reports. Es kann aber auch strukturiert zugegriffen werden, wenn die Zeile in Spalten unterteilt ist. Hierbei gelten folgende Bestimmungen:

Mit GET_PROCESS_LINE können Sie auf einzelne Spalten zugreifen.

Der Report wird in der Sprache gespeichert, mit der das Logging der Automation Engine erfolgt.

Der Rückgabewert der Script-Funktion ist eine Datensequenz-Referenz. Sie wird den Script-Anweisungen :PROCESS und :ENDPROCESS als Startparameter übergeben. In Kombination mit der Script-Funktion GET_PROCESS_LINE kann damit jede einzelne Zeile der Datensequenz und deren Spalten bearbeitet werden.

Enthält der Report den gesuchten Inhalt nicht, führt das zu keiner Fehlermeldung. Die Bearbeitung der Datensequenz, definiert zwischen :PROCESS und :ENDPROCESS, wird einfach nicht durchlaufen.

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.

Das Script-Sprachmittel bewirkt, dass die offenen Transaktionen des Scripts in die Datenbank geschrieben werden.

Beispiele

Das erste Beispiel sucht alle Zeilen eines Job-Reports, in denen das Laufwerk C: vorkommt. Die kompletten Zeilen werden in das Aktivierungsprotokoll ausgegeben.

:SET &HND# = PREP_PROCESS_REPORT("JOBS",, "REP", "*C:\*")
:
PROCESS &HND#
:   
SET &RET# = GET_PROCESS_LINE(&HND#)
:   
PRINT &RET#
:
ENDPROCESS

Das zweite Beispiel basiert auf einem Job, welcher Dateinamen für eine Verarbeitung vom Benutzer abfragt hat. Die Dateinamen wurden im Aktivierungsreport gespeichert. Wenn das Hochkomma als Delimiter verwendet wird, können die Dateinamen gelesen werden. Sie werden in das Aktivierungsprotokoll ausgegeben.

: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

Im dritten Beispiel wird in der Registerkarte Post-Script eines Jobs dessen eigener Job-Report ausgewertet. Dadurch kann herausgefunden werden, ob ein Fehler beim Kopieren einer Datei unter Windows auftrat. Die Script-Funktion wird lediglich mit dem Parameter Filter aufgerufen. Die Kommas davor stehen für den eigenen Objekttyp, die eigene laufende Nummer (RunID) und den Reporttyp REP.  

: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:

Script-Sprachmittel Beschreibung

:CLOSE_PROCESS

Verwirft eine Datensequenz innerhalb eines Scripts.

:PROCESS... :TERM_PROCESS... :ENDPROCESS

Definition einer Schleife zur zeilenweisen Bearbeitung einer Datensequenz, wie beispielsweise den Inhalt einer sequentiellen Datei oder das textmäßige Ergebnis eines Kommandos.

GET_PROCESS_LINE

Ermittelt den aktuellen Zeileninhalt einer Datensequenz.

Script-Sprachmittel - Datensequenzen

Beispielsammlung
Endestatus 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