:FILL

Script statement: Stores several values to a script array.

Syntax

:F[ILL] script array = values

Syntax

Description/Format

Script array

Name of the script variable that has been defined as an array. Use the square brackets without content.
Format: script variable

Values

Values that should be stored to the array.
Format: script function

Tip: You can use the following script elements to assign values:

This script function can be used to store several values to a script array at a time.

Use the :DEFINE script statement to create the array. Specify the array size, as you cannot assign values otherwise. For more information, see :DEFINE and Arrays.

The values are written to the array starting with the first element (index = 1).

If the number of values that should be stored exceeds the array's capacity, only the first values are stored until the capacity is used to its full. If the array is larger than the retrieved values, all other values remain unchanged.

Use empty square brackets [] in order to indicate the script array in this function.

Note: In order to pass arrays between subordinate or superordinate objects :PUBLISH must be used.

Example

The first example uses GET_VAR in order to store the values of a VARA object to the array.

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

The second example creates the columns of a log file's first line (Automation Engine) in the array.

: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  

See also: