ProvideX V8.20 > Language Reference > 2. Directives
164
IOLIST Directive
          Specify Variable List
Formats
1. Define List: IOLIST {parm[:[format]...}
Note: The inner set of brackets enclosing [,format] are part of the syntax.
Where:
parm
Set of parameters to be used in an input/output directive. This includes
variables, literals, Mnemonics, IOL= options, and/or location functions
'@(...)'.
format Defines how the field is formatted. Options include:
CHR(len)
Variable length string (pad output).
CHR(dlm)
Variable length string (delimited). Default record limit is 10240
for composite IOLists with the CHR field definition.
DEC([SEP,SIZ=]len[,scl]) Fixed length, explicit decimal, sign maintained.
Optional SEP,SIZ= clause allows for padded numeric fields
followed by a field separator. Numeric fields are padded
with leading spaces.
LEN(len)
Fixed length string.
STR(dlm)
Quoted String.
NUM(len[,scl])
Fixed length numeric.
BIN(len[,scl]) Binary numeric.
INT(len[,scl]) Unsigned integer numeric.
BCD(len[,scl]) Packed decimal numeric.
Where:
len is the length of the field in the record.
dlm is the string whose first character delimits the field.
scl  is the optional scaling factor to apply to the number (e.g., 2 indicates
that 1.34 is output as 134).
Description
Use IOLIST to define a common I/O parameter list (IOLIST). ProvideX ignores the
IOLIST directive when it encounters it during program execution until it is used in
conjunction with file I/O directives (e.g., READ, WRITE, etc.) and composite string
definitions. For more information, see File Handling in the ProvideX User's Guide.
Note: IOLIST must be the only directive in a statement.
Examples
0010
OPEN (20)"CSTFLE"
0020
READ (20,KEY=C$)IOL=1000
0030
LET J=J+10
0040
WRITE (20,KEY=C$)IOL=1000
0050
WRITE (21)IOL=1010
...
1000
IOLIST C$,C1$,C2$,C3$,J,K,L,M
1010
IOLIST C$:[CHR(10)],C1$:[CHR(40)]