PREP_PROCESS_FILENAME
Script-Funktion: Ermittelt eine Liste mit Namen von Dateien, die sich in dem angegebenen Verzeichnis eines Rechners befinden, und stellt diese als interne Auflistung (Datensequenz) für die weitere Verarbeitung zur Verfügung.
Syntax
PREP_PROCESS_FILENAME (Host, File name, [Wildcards], [Subfolder], [Filter] [,"COL=Definition1[, Definition2]"][ ,"UC_LOGIN=Login object"])
Syntax |
Beschreibung/Format |
---|---|
Host |
Rechner (Name des Agenten), auf dem sich die Dateien befinden. |
File name |
Pfad und Dateiname, nach dem gesucht werden soll. Im Dateinamen können die Wildcardzeichen "*" und "?" verwendet werden. "*" steht dabei für beliebige, "?" für genau ein Zeichen. In Pfaden sind keine Wildcardzeichen erlaubt. Ob die Groß- und Kleinschreibung des Dateinamens berücksichtigt wird, hängt vom Parameter Wildcards ab. |
Wildcards |
Kennzeichen, ob der Dateiname mit Wildcardzeichen angegeben wurde. Erlaubte Werte: „Y“ (Standardwert) und „N“ "Y" = Dateiname mit Wildcardzeichen, Schreibweise wird nicht berücksichtigt |
Subfolder |
Kennzeichen, ob Unterordner bzw. -verzeichnisse in die Suche einbezogen werden sollen. Erlaubter Wert: „Y“ und „N“ (Standardwert) "Y" = Unterordner bzw. -verzeichnisse einbeziehen |
Filter |
Zusätzliche Möglichkeit, die Zeilen der Datensequenz zu filtern. Groß- und Kleinschreibung wird nicht beachtet. Die Wildcardzeichen „*“ und „?“ können verwendet werden. „*“ steht dabei für beliebige, „?“ für genau ein Zeichen. Standard: "*" |
Definition1 |
Legt fest, ob die Zeilen der Datensequenz in Spalten unterteilt sind. Erlaubte Werte: "NONE" (Standardwert), "LENGTH", "DELIMITER" "NONE" = Keine Unterteilung in Spalten |
Definition2 |
Legt Spaltenbreiten und Spaltennamen (optional) oder das Begrenzungszeichen fest. Erlaubte Werte: "LENGTH_TAB" und "DELIMITER"
|
Login object |
Name eines Login-Objekts. Der gesamte Ausdruck UC_LOGIN=Login object muss unter Hochkomma gesetzt werden. |
Rückgabewert |
---|
Verweis auf die Datensequenz der Dateiliste. "20240" - Fehlende Login-Information. |
Die Scriptfunktion PREP_PROCESS_FILENAME stellt eine Liste von Dateinamen zur weiteren Verarbeitung mit AE Script zur Verfügung. Die Dateien werden auf dem Host durch den Agenten ermittelt und als Datensequenz aufbereitet.
Welche Dateien aufgelistet werden sollen, wird der Script-Funktion mit dem Parameter Dateiname mitgegeben. Enthält Dateiname eine Laufwerksbezeichnung, werden die gefundenen Dateien auch mit Laufwerksbezeichnung aufgelistet. Es kann festgelegt werden, ob Unterordner bzw. -verzeichnisse berücksichtigt werden sollen. Die Liste der gefundenen Dateien kann zusätzlich gefiltert werden.
Wildcards, Unterordner, Filter und die Parameter zur Unterteilung in Spalten sind optional. Wird ein Parameter in dieser Reihenfolge ausgelassen, muss trotzdem dessen Komma gesetzt werden. Der Aufruf der Script-Funktion kann mit jedem optionalen Parameter enden. Danach sind keine Kommata notwendig. Definition2 darf nicht ohne Definition1 verwendet werden.
Die Script-Funktion GET_PROCESS_LINEliest standardmäßig die gesamte Zeile einer Datensequenz. Es kann aber auch strukturiert zugegriffen werden, wenn die Zeile in Spalten unterteilt ist. Hierbei gelten folgenden Bestimmungen:
- maximal 22 Spalten mit einer Gesamtlänge von 2048 Bytes.
- Spaltenbreite maximal 255 Zeichen.
- Spaltenname maximal 32 Zeichen.
Mit GET_PROCESS_LINE können Sie auf einzelne Spalten zugreifen.
Mit dem optionalen Parameter UC_LOGIN kann der Script-Funktion der Name eines Login-Objektes übergeben werden. PREP_PROCESS_FILENAME verwendet die im Login definierten Anmeldedaten. Dadurch ist beispielsweise ein Zugriff auf verbundene Netzlaufwerke möglich. Benutzer benötigen das Privileg "FileTransfer: Ohne Angabe von Benutzerkennung ausführen", wenn die Script-Funktion PREP_PROCESS_FILENAME ohne den Parameter UC_LOGIN verwendet werden soll.
Der Rückgabewert der Script-Funktion ist der Verweis auf eine Datensequenz. Diese wird den Script-Anweisungen :PROCESS und :ENDPROCESS als Startparameter übergeben. In Kombination mit der Script-Funktion GET_PROCESS_LINE, kann nun jede einzelne Zeile der Datensequenz und deren Spalten bearbeitet werden.
Enthält die Dateiliste 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.
PREP_PROCESS_FILENAME wird nicht von den Agenten für Anwendungen (Oracle Applications, PeopleSoft oder SAP) unterstützt.
Das Script-Statement bewirkt, dass alle offenen Transaktionen des Scripts in die AE-Datenbank geschrieben werden. Weitere Informationen finden Sie unter Script-Verarbeitung.
Beispiele
Das Beispiel listet alle HTML-Dokumente aus der WebHelp der Automation Engine-Dokumentation auf. Es wird explizit angegeben, dass Wildcardzeichen verwendet werden. Das Ergebnis wird im Aktivierungsreport ausgegeben.
:SET &HND# = PREP_PROCESS_FILENAME("WIN01","c:\AUTOMIC\documentation\webhelp\german\uc*.htm","Y",,,,"UC_LOGIN=WIN_LOGIN")
:PROCESS &HND#
: SET &LINE# = GET_PROCESS_LINE(&HND#)
: PRINT &LINE#
:ENDPROCESS
Das zweite Beispiel erstellt eine Liste aller Stylesheets, die mit der Automation Engine Dokumentation ausgeliefert werden. Alle Unterordner des Dokumentationsverzeichnisses sollen durchsucht werden. Das Ergebnis enthält keine Laufwerksangabe und wird in das Protokoll geschrieben.
:SET &HND# = PREP_PROCESS_FILENAME("WIN01", "\AUTOMIC\documentation\uc*.css","Y","Y",)
:PROCESS &HND#
: SET &LINE# = GET_PROCESS_LINE(&HND#)
: PRINT &LINE#
:ENDPROCESS
Das dritte Beispiel erstellt eine Liste aller AE Programme. Die einzelnen Zeilen sind in Spalten aufgeteilt. Die Spalten werden durch den Backslash getrennt. Bei der Verarbeitung der Datensequenz wird auf die 5. Spalte zugegriffen, welche die Dateinamen der Programme enthält. Das Ergebnis wird im Aktivierungsreport ausgegeben.
:SET &HND# = PREP_PROCESS_FILENAME("WIN01","c:\AUTOMIC\server\bin\*.exe",,,,"COL=DELIMITER,DELIMITER=*\*")
:PROCESS &HND
: SET &LINE# = GET_PROCESS_LINE(&HND#,5)
: PRINT &LINE#
:ENDPROCESS
Das vierte Beispiel basiert auf dem dritten. Hier wird aber ein Filter gesetzt, so dass nur der Dateiname der Automation Engine im Aktivierungsreport ausgegeben wird.
:SET &HND# = PREP_PROCESS_FILENAME("WIN01","c:\AUTOMIC\server\bin\*.exe",,,"*server*","COL=DELIMITER,DELIMITER=*\*")
:PROCESS &HND#
: SET &LINE# = GET_PROCESS_LINE(&HND#,5)
: PRINT &LINE#
:ENDPROCESS
Siehe auch: