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

PREP_PROCESS_FILE

Fonction de script : utilise des critères de filtre pour récupérer ligne par ligne le contenu d'un fichier texte qui se trouve sur un ordinateur donné. Met le résultat à disposition comme liste interne (séquence de données) pour un traitement ultérieur. 

Syntaxe

PREP_PROCESS_FILE (Host, File, [Filter] [,"COL=Definition1, [Definition2]"], [UC_LOGIN=Login object])

Syntaxe

Description / format

Hôte

Ordinateur (nom de l'agent) sur lequel se trouve le fichier.
Format : littéral de script ou variable de script

Fichier

Nom du fichier texte devant être lu.
Format : littéral de script ou variable de script

Le nom d'un fichier appartenant à un groupe de données peut être récupéré à l'aide de la fonction de script  GET_FILESYSTEM.

Filtre

Filtre sur le contenu des lignes. La casse des caractères n'est pas prise en compte.

Format : littéral de script ou variable de script
Valeur par défaut : "*"

Définition1

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" (par défaut), "FILE", "LENGTH" ou "DELIMITER"

"NONE" : pas de répartition en colonnes
"FILE" : les colonnes sont définies dans le fichier
"LENGTH" : taille des colonnes spécifiée. Requiert LENGTH_TAB= pour Définition2.
"DELIMITER" : les colonnes sont séparées par un délimiteur. Requiert DELIMITER= pour Définition2.

Définition2

Définit la taille et le nom des colonnes (facultatif) ou le délimiteur.
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 indiqués sous la forme suivante : taille de colonne=[nom de colonne]. La taille de la colonne est définie par un nombre de caractères. Les colonnes doivent être séparées par des virgules (22 colonnes maximum). Des apostrophes 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.

    Par 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 apostrophes sont utilisés comme délimiteurs, la phrase complète COL=Définition1[,Définition2] doit être entre guillemets et vice versa.

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

    Par exemple :

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


    Les tabulations peuvent également être définies comme séparateurs:

    'DELIMITER=<TAB>'

UC_LOGIN

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


Code retour

Référence à la séquence de données du fichier.

Remarques

La fonction de script PREP_PROCESS_FILE fournit le contenu d'un fichier texte, par exemple un fichier journal ou de trace, qui sera traité ultérieurement à l'aide des scripts AE.

Cette fonction de script lit une ligne complète d'une séquence de données. Vous pouvez aussi y accéder lorsque les lignes sont réparties en colonnes. Les règles suivantes s'appliquent :

Les colonnes peuvent aussi être définies dans le fichier lui même (première ligne).

Exemple :

COL=LENGTH,LENGTH_TAB='74=PATH,25=NAME,5=VALUE,2=STATUS,9=DATE,7=TIME'

GET_PROCESS_LINE permet d'accéder à chaque colonne.

Le paramètre facultatif UC_LOGIN permet d'assigner le nom d'un objet Login à la fonction de script. L'accès au fichier à lire et son transfert de l'hôte à l'Automation Engine sont exécutés à l'aide des données de connexions définies dans l'objet Login. Le privilège "Transfert de fichiers" est nécessaire : Exécuter sans indiquer l'ID utilisateur" si la fonction de script PREP_PROCESS_FILE doit être utilisée sans le paramètre UC_LOGIN.

Le code retour de la fonction de script est la référence à cette séquence de données. Elle est transmise en tant que paramètre de démarrage aux instructions de script :PROCESS et :ENDPROCESS. 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.

Aucun message d'erreur n'est affiché si le fichier ne contient pas le contenu requis. Le traitement de la séquence de données, défini entre :PROCESS et :ENDPROCESS, n'est tout simplement pas lancé.

Aucune nouvelle valeur ne peut être attribuée à la variable de script contenant la référence de la séquence de données. La variable ne peut être réutilisée que si vous supprimez explicitement la séquence de données avec l'instruction de script :CLOSE_PROCESS.

PREP_PROCESS_FILE n'est pris en charge que par des agents de système d'exploitation. Il ne peut pas être utilisé en relation avec des agents pour les bases de données, les applications Oracle, PeopleSoft, SAP, JMX ou Rapid Automation.

Notez que le traitement de fichiers très gros peut affecter les performances de l'agent.

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

Exemples

Le premier exemple affiche toutes les lignes du fichier "\\FServer\UC4\BSP\INPUT.TXT" qui contiennent la chaîne de caractères "Start", dans le protocole d'activation.

:SET &HND#=PREP_PROCESS_FILE(WIN21,"\\FServer\UC4\BSP\INPUT.TXT","*Start*")
:
PROCESS &HND#
:   
SET &LINE#=GET_PROCESS_LINE(&HND#)
:  
PRINT &LINE#
:
ENDPROCESS

Le deuxième exemple lit toutes les lignes d'un fichier alors que le paramètre "COL=FILE" spécifie que le nom et la taille des colonnes sont définis dans le fichier lui-même. L'objet Login est utilisé pour la connexion.

:SET &HND = PREP_PROCESS_FILE(WIN21, "\\FServer\LOG.TXT", ,"COL=FILE",'UC_LOGIN=UC4FT')

Le troisième exemple est similaire à celui ci-dessus, cependant, le paramètre "COL=LENGTH" signifie que des définitions des colonnes sont spécifiées par le paramètre suivant. Les définitions de colonnes peuvent être une taille de colonne qui est attribuée à un nom de colonne ou une taille seulement. Les colonnes sans nom sont ignorées.

:SET &HND = PREP_PROCESS_FILE(WIN21, "\\FServer\UC4\DIALOG\TEMP\UCDJ_LOGG_01.TXT","*DB-INFO*","COL=LENGTH,LENGTH_TAB='8=DATE,1,6=TIME,7,200=TEXT'")

Dans l'exemple suivant, le paramètre "COL=DELIMITER" indique qu'un séparateur est spécifié avec le paramètre suivant : une tabulation. Le script affiche la troisième colonne.

:SET &HND# = PREP_PROCESS_FILE(UNIX01, "/uc4/test.txt",,"COL=DELIMITER,DELIMITER=*<TAB>*")
:
PROCESS &HND#
:   
SET &LINE# = GET_PROCESS_LINE(&HND#,3)
:   
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