Manuel des Scripts Automation Engine > Organisation fonctionnelle > Elaboration et traitement des Scripts > :FILL

:FILL

Instruction de script : Enregistre plusieurs valeurs dans un tableau de script.

Syntaxe

:FILL script array =values 

Syntaxe

Description / format

Tableau de script

Nom de la variable de script qui a été définie comme tableau. Les crochets doivent être indiqués sans contenu.
Format : variables de script

Valeurs

Valeurs qui doivent être enregistrées dans le tableau. Les fonctions de script GET_PROCESS_LINE ou GET_VAR peuvent être utilisées pour cela.
Format : fonction de script

Remarques 

Cette fonction de script permet d'enregistrer plusieurs valeurs simultanément dans un tableau de script. Les tableaux doivent être créés avec :DEFINE. Pour pouvoir attribuer des valeurs, vous devez spécifier la taille du tableau. Vous pouvez utiliser la fonction de script GET_PROCESS_LINE, STR_SPLIT ou GET_VAR pour cela. Les valeurs sont toujours inscrites à partir du premier élément (index = 1) dans le tableau.

Si le nombre de valeurs à enregistrer dépasse la capacité du tableau, seules les premières valeurs qui trouvent une place dans le tableau sont enregistrées. Si le tableau est plus grand que les valeurs déterminées, les valeurs restantes sont inchangées.

Le tableau de script doit être indiqué avec des crochets vides [].

Afin de transmettre des tableaux entre des objets parents ou enfants, vous devez utiliser :PUBLSH.

Exemple

Dans le premier exemple, les valeurs d'un objet Variable sont enregistrées avec GET_VAR dans le tableau.

:DEFINE &ARRAY#, string, 20
:FILL &ARRAY#[] = GET_VAR(VARA.TEST, KEY1)
::PRINT"Première valeur de la variable VARA.TEST, clé KEY1: &ARRAY#[1]"

Dans le deuxième exemple, les colonnes de la première ligne d'un fichier log (Automation Engine) sont créées dans le tableau.

:DEFINE &ARRAY#, string, 20
:SET &HND# = PREP_PROCESS_FILE(WIN01, "C:\AUTOMIC\AUTOMATIONENGINE\TEMP\CPsrv_log_001_00.txt","*","COL=LENGTH""LENGTH_TAB,,,='8=DATE,1,6=TIME,7,200=TEXT'")
:PROCESS &HND#
:FILL &ARRAY#[] = GET_PROCESS_LINE(&HND#)

:ENDPROCESS

:SET &RUNVAR# = 1
:SET &LEN# = LENGTH(&ARRAY#[])

:WHILE &RUNVAR# LE &LEN#
:P "Line &RUNVAR#: &ARRAY#[&RUNVAR#]"
:SET &RUNVAR# = &RUNVAR# + 1
:ENDWHILE  

 

Rubriques connexes :

Eléments de script Description
:PUBLISH Définir les variables de script et les tableaux comme variables d'objet.

GET_PROCESS_LINE

Détermine le contenu actuel des lignes d'une séquence de données.

GET_VAR Indique la valeur d'un objet Variable.
FIND Recherche dans un tableau de script et retourne l'index correspondant.
LENGTH Récupère la taille d'un tableau de script.