Manuel des Scripts Automation Engine > Organisation fonctionnelle > Séquences de données > PREP_PROCESS_FILENAME

PREP_PROCESS_FILENAME

Fonction de script : Récupère la liste des noms des fichiers qui se trouvent dans le répertoire spécifié de l'ordinateur et fournit le résultat sous la forme d'une liste interne (séquence de données) pour un traitement ultérieur.

Syntaxe

PREP_PROCESS_FILENAME(Host, File name, [Wildcards], [Subfolder], [Filter] [,"COL=Definition1[, [Definition2]"],["UC_LOGIN=Login object"])

Syntaxe

Description / format

Hôte 

Machine (nom de l'agent) sur laquelle les fichiers sont stockés.
Format : littéral de script ou variable de script 

Nom de fichier 

Chemin et nom du fichier à rechercher.
Format : littéral de script ou variable de script

Dans le nom du fichier, les caractères génériques "*" et "?" sont autorisés. "*" signifie n'importe quelle chaîne de caractères et "?" exactement un caractère. Dans les chemins, aucun caractère générique n'est autorisé.

C'est le paramètre Caractères génériques qui détermine si la casse doit être respectée dans un nom de fichier.

Caractères génériques 

Indique si le nom de fichier a été saisi avec des caractères génériques.
Format : littéral de script ou variable de script

Valeurs autorisées : "Y" (valeur par défaut) et "N"

"Y" : nom de fichier avec caractères génériques, la casse n'est pas prise en compte
"N" : nom de fichier sans caractères génériques, la casse est prise en compte

Sous-dossier 

Indique si des sous-dossiers ou des sous-répertoires doivent être inclus dans la recherche.
Format : littéral de script ou variable de script

Valeur autorisée : "Y" et "N" (valeur par défaut)

"Y" : sous-dossiers ou sous-répertoires inclus.
"N" : sous-dossiers ou sous-répertoires non pris en compte.

Filtre 

Possibilité supplémentaire de filtrer les lignes de la séquence de données.
Format : littéral de script ou variable de script

Insensible à la casse; les caractères majuscules et minuscules sont autorisés. Les caractères génériques "*" et "?" sont autorisés. "*" signifie n'importe quelle chaîne de caractères et "?" exactement un caractère. Par défaut : "*" 

Definition1 

Définit si les lignes de la séquence de données doivent être réparties en colonnes.
Format : littéral de script ou variable de script

Valeurs autorisées : "NONE" (Valeur par défaut), "LENGTH", "DELIMITER"

"NONE" : pas de colonnes.
"LENGTH" : taille spécifiée des colonnes. Nécessite LENGTH_TAB= comme Definition2.
"DELIMITER" : les colonnes sont séparées par un délimiteur. Nécessite DELIMITER= comme Definition2.

Définition2 

Définit la taille et le nom des colonnes (facultatif) ou le caractère de séparation.
Format : littéral de script ou variable de script

Valeurs autorisées : "LENGTH_TAB" et "DELIMITER"

  • "LENGTH_TAB"

    La taille et le nom des colonnes (facultatif) sont spécifiés sous la forme suivante : taille de colonne=[nom de colonne]. La taille de colonne est définie par un nombre de caractères. Les colonnes doivent être séparées par des virgules (22 colonnes maximum). Des virgules supplémentaires doivent apparaître avant la première et après la dernière définition de colonne. Si des guillemets sont utilisés pour Définition2 comme littéral de script, les apostrophes doivent être utilisées pour les spécifications et vice versa.

    Exemple :

    "COL=LENGTH,LENGTH_TAB='3=drive,100=file name'"

     
  • "DELIMITER"

    Le caractère de séparation est indiqué sous la forme *Délimiteur*.
    "*" : caractère de séparation libre.
    Délimiteur
    : chaîne de 10 caractères maximum, séparant les colonnes. Si des guillemets simples sont utilisés comme délimiteur, la phrase complète COL=Définition1[,Définition2] doit être entre guillemets doubles et inversement.

    Valeur par défaut : Point-virgule (;)

    Exemple :

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

Objet Login

Nom d'un objet Login.
Format : littéral de script ou variable de script

L'expression UC_LOGIN=objet Login doit être encadrée de guillemets.

Code retour

Référence à la séquence de données de la liste des fichiers.

"20240" : information Login manquante
"20303" : Automation Engineerreur d'autorisation
"20349" : agent non disponible
"20510" : un CP/WP a été indiqué à la place d'un agent.
"20514" : donnée non valide lors de l'utilisation de caractères génériques

Remarques

La fonction de script PREP_PROCESS_FILENAME fournit une liste de noms de fichiers qui seront traités ultérieurement à l'aide du script AE. Sur l'hôte, les fichiers sont récupérés par l'agent er traités sous forme de séquence de données.

Le paramètre Nom de fichier est utilisé pour appeler les fichiers qui doivent être listés. Si le nom de fichier contient une désignation du lecteur, les fichiers trouvés sont affichés de la même manière. Vous pouvez spécifier si les sous-dossiers ou les sous-répertoires doivent être pris en compte. Vous pouvez aussi filtrer la liste des fichiers trouvés.

Les caractères génériques, les sous-dossiers, les filtres et les paramètres à répartir en colonnes sont facultatifs. Notez que vous devez utiliser une virgule pour indiquer que l'un des paramètres n'est pas utilisé. Vous pouvez utiliser n'importe quel paramètre optionnel en tant que dernier paramètre. Vérifiez qu'aucune virgule n'est utilisée parès le dernier paramètre. La definition2 ne doit pas être utilisée sans la definition1.

Par défaut, la fonction de script GET_PROCESS_LINElit la ligne complète d'une séquence de données. Vous pouvez également y accéder de manière structurée lorsque les lignes sont réparties en colonnes. Les règles suivantes s'appliquent dans ce cas :

Pour accéder à une colonne en particulier, vous pouvez utiliser GET_PROCESS_LINE.

Le paramètre facultatif UC_LOGIN permet de transmettre le nom d'un objet Login à cette fonction de script. PREP_PROCESS_FILENAME utilise les données de connexion définies dans l'objet Login. Cela permet par exemple d'accéder à des lecteurs réseau connectés. Les utilisateurs doivent bénéficier du privilège "Transfert de fichier : exécuter sans indiquer l'ID utilisateur" si la fonction de script PREP_PROCESS_FILENAME doit être utilisée sans le paramètre UC_LOGIN.

Le code retour de la fonction de script référence une séquence de données qui est transmise aux instructions de script :PROCESS et :ENDPROCESS en tant que paramètre de démarrage. En combinaison avec la fonction de script GET_PROCESS_LINE, vous pouvez traiter chaque ligne et les colonnes correspondantes, de la séquence de données.

Si le rapport ne contient pas le contenu recherché, aucun message d'erreur n'apparaît.Le traitement de la séquence de données, défini entre :PROCESS et :ENDPROCESS, n'est tout simplement pas lancé.

Aucune autre valeur ne peut être attribuée à la variable de script contenant la référence de la séquence de données. Vous devez tout d'abord supprimer la séquence de données qui contient l'instruction de script :CLOSE_PROCESS avant de pouvoir réutiliser la variable.

PREP_PROCESS_FILE n'est pas prise en charge par les agents pour les applications (Oracle Applications, PeopleSoft ou SAP).

Cette instruction de script écrit toutes les transactions ouvertes du script dans la base de données AE.

Exemples

L'exemple suivant liste tous les documents HTML provenant de l'aide en ligne de la documentation Automation Engine. L'utilisation de caractères génériques est explicitement indiquée. Le résultat est écrit dans le protocole d'activation.

: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

Le deuxième exemple crée une liste de toutes les feuilles de style fournies avec la documentation Automation Engine. Tous les sous-dossiers du répertoire de documentation doivent être recherchés. Le résultat ne contient pas de lecteur et est écrit dans le rapport.

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

Le troisième exemple crée une liste de tous les programmes AE. Les lignes ont été réparties en colonnes. Les colonnes sont séparées par une barre oblique. Le traitement de la séquence de données accède à la 5ème colonne qui contient les noms des fichiers des programmes. Le résultat est écrit dans le protocole d'activation.

: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

 

Le quatrième exemple est basé sur le troisième mais un filtre est défini pour que seul le nom de fichier de Automation Engine soit écrit dans le protocole d'activation.

: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

Rubriques connexes :

Elément de script Description

:CLOSE_PROCESS

Supprime une séquence de données inutile.

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

Définissent une boucle pour le traitement par lignes d'une séquence de données, comme le contenu d'un fichier séquentiel ou le résultat de type texte d'une commande.

GET_PROCESS_LINE

Récupère le contenu de la ligne courante d'une séquence de données.

Eléments de script - Séquences de données

Généralités sur les scripts
Eléments de script - Liste alphabétique

Eléments de script - Répartition fonctionnelle