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

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.
Format: Script-Literal oder Script-Variable 

Dateiname 

Pfad und Dateiname, nach denen gesucht werden soll.
Format: Script-Literal oder Script-Variable

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 Wildcard-Zeichen angegeben wurde.
Format: Script-Literal oder Script-Variable

Erlaubte Werte: "Y" (Standardwert) und "N"

"Y" = Dateiname mit Wildcardzeichen, Schreibweise wird nicht berücksichtigt
"N" = Dateiname ohne Wildcardzeichen, Schreibweise wird berücksichtigt

Unterordner 

Kennzeichen, ob Unterordner bzw. -verzeichnisse in die Suche einbezogen werden sollen.
Format: Script-Literal oder Script-Variable

Erlaubter Wert: "Y" und "N" (Standardwert)

"Y" = Unterordner bzw. -verzeichnisse einbeziehen.
"N" = Unterordner bzw. -verzeichnisse nicht berücksichtigen.

Filter 

Zusätzliche Möglichkeit, die Zeilen der Datensequenz zu filtern.
Format: Script-Literal oder Script-Variable

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

    Beispiel:

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

     
  • "DELIMITER"

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

    Standardwert: Semikolon (;)

    Beispiel:

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

Login-Objekt

Name eines Login-Objektes.
Format: Script-Literal oder Script-Variable

Der gesamte Ausdruck UC_LOGIN=Login-Objekt muss unter Hochkomma gesetzt werden.

Rückgabewert

Referenz auf die Datensequenz der Dateiliste.

"20240" - Fehlende Login-Information.
"20303" - Automation Engine Berechtigungsfehler.
"20349" - Agent nicht verfügbar.
"20510" - Es wurde ein CP/WP anstelle eines Agenten angegeben.
"20514" - Ungültige Angabe bei Verwendung von Wildcards 

Anmerkungen

Die Script-Funktion PREP_PROCESS_FILENAME stellt eine Liste von Dateinamen für eine weitere Verarbeitung mit AE-Script bereit. 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:

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 die Referenz auf eine Datensequenz. 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 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-Variable, 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_FILE wird nicht von den Agenten für Anwendungen (Oracle Applications, PeopleSoft oder SAP) unterstützt.

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

Beispiele

Das Beispiel listet alle HTML-Dokumente aus der WebHelp der Automation Engine-Dokumentation auf. Es wird explizit angegeben, dass Wildcardzeichen verwendet werden.

: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 erzeugt eine Liste aller Stylesheets, welche mit der Automation Engine-Dokumentation ausgeliefert werden. Alle Unterordner des Dokumentationsverzeichnisses sollen durchsucht werden. Das Ergebnis enthält keine Laufwerksangabe und wird im Report ausgegeben.

:SET &HND# = PREP_PROCESS_FILENAME("WIN01", "\AUTOMIC\documentation\uc*.css","Y","Y",)
:
PROCESS &HND#
:   
SET &LINE# = GET_PROCESS_LINE(&HND#)
:  
PRINT &LINE#
:
ENDPROCESS

Im dritten Beispiel wird eine Liste mit allen AE-Programmen erstellt. 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.

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

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

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