:FILL

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

Syntaxe

:F[ILL] script array = values

Syntaxe

Description / format

Script array

Nom de la variable de script qui a été définie comme tableau. Utilisez les crochets sans contenu.
Format : variable de script

Values

Valeurs qui doivent être enregistrées dans le tableau. Vous pouvez utiliser les fonctions de script GET_PROCESS_LINE ou GET_VAR pour cela.
Format : fonction de script

Cette fonction de script permet d'enregistrer plusieurs valeurs simultanément dans un tableau de script. Les tableaux doivent être créés avec :DEFINE. La taille du tableau doit être spécifiée sinon vous ne pourrez pas attribuer de valeurs. Vous pouvez utiliser la fonction de script GET_PROCESS_LINE, STR_SPLIT ou GET_VAR pour cela. Les valeurs sont toujours écrites dans le tableau à partir du premier élément (index = 1).

Si le nombre de valeurs à enregistrer dépasse la capacité du tableau, seules les premières valeurs sont enregistrées jusqu'à ce que la capacité soit atteinte. Si le tableau est plus grand que les valeurs déterminées, les valeurs restantes sont inchangées.

Utilisez des crochets vides [] pour indiquer le tableau de script dans cette fonction.

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

Exemple

Le premier exemple utilise GET_VAR pour enregistrer les valeurs d'un objet variable dans le tableau.

:DEFINE &ARRAY#, string, 20
:FILL &ARRAY#[] = GET_VAR(VARA.TEST, KEY1)
:PRINT "First value of the variable VARA.TEST, key KEY1: &ARRAY#[1]"

Le deuxième exemple crée les colonnes de la première ligne d'un fichier log (Automation Engine) 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  

Voir aussi :

voiraussi

GET_PUBLISHED_VALUE