Passing dialog variables as parameters

Some ISPF services allow the names of dialog variables to be passed as parameters. The ISPEXEC interface scans these variables for their values in the ISPF function, shared, and profile variable pools. Variable names are 8 characters or fewer, with the exception of FORTRAN and Pascal variable names, which are limited to 6 or fewer characters. These names should not be preceded by an ampersand unless substitution is desired. For example:
ISPEXEC  VGET  XYZ
ISPEXEC  VGET  &VNAME;

In the first example, XYZ is the name of the dialog variable to be passed. In the second example, variable VNAME contains the name of the dialog variable to be passed.

Some services accept a list of variable names passed as a single parameter. For example, the syntax for the VGET service is:
Read syntax diagramSkip visual syntax diagram
                             .-ASIS----.   
>>-ISPEXEC--VGET--name-list--+-SHARED--+------------------------>
                             +-PROFILE-+   
                             '-SYMDEF--'   

>--+------------------------+----------------------------------><
   '-SYMNAMES(symname-list)-'   

In this case, "name-list" is a positional parameter. It can consist of a list of up to 254 dialog variable names, each name separated by commas or blanks. If the name-list consists of more than one name, it must be enclosed in parentheses. Parentheses can be omitted if a single name constitutes the list. For example:
ISPEXEC  VGET  (AAA,BBB,CCC)
ISPEXEC  VGET  (LNAME FNAME I)
ISPEXEC  VGET  (XYZ)
ISPEXEC  VGET  XYZ
The last two lines of the example, with and without the parentheses, are equivalent.
In other cases, a list of variable names can be passed as a keyword parameter. For example, the syntax for the TBPUT service is:
Read syntax diagramSkip visual syntax diagram
>>-ISPEXEC--TBPUT--table-name--+-----------------+--+-------+--><
                               '-SAVE(name-list)-'  '-ORDER-'   

where the parentheses are required by the "keyword(value)" syntax. Again, the names can be separated by commas or blanks. Examples:
ISPEXEC  TBPUT  TBLA  SAVE(LNAME FNAME,I)
ISPEXEC  TBPUT  XTABLE  SAVE(XYZ)