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.
Format : littéral de script ou variable de script

File name

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

Subfolder

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

Filter

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= dans Definition2
"DELIMITER" : les colonnes sont séparées par un délimiteur. Nécessite DELIMITER= dans Definition2.

Définition2

Définit la taille et le nom des colonnes (optionnel) 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 (optionnel) sont indiqué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*.
    "*" : délimiteur libre
    Chaîne de 10 caractères maximum, séparant les colonnes. Si des apostrophes sont utilisées comme délimiteur, la phrase complète COL=Définition1[,Définition2] doit être entre guillemets et inversement.

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

    Exemple

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

Login object

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 de la séquence de données de la liste des fichiers.

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

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 :

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 :

voiraussi

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