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 |
---|---|
Host |
Machine (nom de l'agent) sur laquelle les fichiers sont stockés. |
File name |
Chemin et nom du fichier à rechercher. 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 Wildcards qui détermine si la casse doit être respectée dans un nom de fichier. |
Wildcards |
Indique si le nom de fichier a été saisi avec des caractères génériques. 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 |
Subfolder |
Indique si des sous-dossiers ou des sous-répertoires doivent être inclus dans la recherche. Valeur autorisée : "Y" et "N" (valeur par défaut) "Y" : sous-dossiers ou sous-répertoires inclus |
Filter |
Possibilité supplémentaire de filtrer les lignes de la séquence de données. 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. Valeurs autorisées : "NONE" (Valeur par défaut), "LENGTH", "DELIMITER" "NONE" : pas de colonnes |
Définition2 |
Définit la taille et le nom des colonnes (optionnel) ou le caractère de séparation. Valeurs autorisées : "LENGTH_TAB" et "DELIMITER"
|
Login object |
Nom d'un objet Login. L'expression UC_LOGIN=objet Login doit être encadrée de guillemets. |
Code retour |
---|
Référence de la séquence de données de la liste des fichiers. "20240" : information Login manquante. |
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 et traités sous forme de séquence de données.
Le paramètre File name (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 optionnels. 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 après le dernier paramètre. Definition2 ne doit pas être utilisée sans Definition1.
Par défaut, la fonction de script GET_PROCESS_LINE lit 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 :
- Le nombre de colonnes est limité à 22 pour une longueur totale de 2048 octets.
- La largeur d'une colonne ne doit pas dépasser 255 caractères.
- Le nom d'une colonne est limité à 32 caractères maximum.
Pour accéder à une colonne en particulier, vous pouvez utiliser GET_PROCESS_LINE.
Le paramètre optionnel UC_LOGIN permet d'affecter 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 requièrent le privilège "Transfert de fichiers" : 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.
Notez que lorsque la séquence de données ne contient pas les éléments requis, aucune erreur ne se produit.Le seul effet est que la séquence de données définie entre :PROCESS et :ENDPROCESS n'est pas exécutée.
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_FILENAME n'est pas prise en charge par les agents pour les applications (Oracle Applications, PeopleSoft ou SAP).
L'instruction de script écrit toutes les transactions ouvertes du script dans la base de données AE. Pour plus d'informations, voir Traitement du script.
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 rapport 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 rapport 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 rapport 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
Voir aussi :