Data type and parameter restrictions
These tables show the valid combinations of parameters according to the parameter type.
An X
indicates that the combination is valid,
a number refers to a restriction noted at the bottom of the table.
LEN | RTNVAL | CONSTANT | RSTD | DFT | VALUES | REL | RANGE | SPCVAL | SNGVAL | |
---|---|---|---|---|---|---|---|---|---|---|
*DEC | X | 2 | X | X | X | X | X | X | 3 | 1 |
*LGL | X | 2 | X | X | X | X | 3 | 1 | ||
*CHAR | X | 2 | X | X | X | X | X | X | 3 | 1 |
*NAME | X | X | X | X | X | X | X | 3 | 1 | |
*SNAME | X | X | X | X | X | X | X | 3 | 1 | |
*CNAME | X | X | X | X | X | X | X | 3 | 1 | |
*PNAME | X | 2 | X | X | X | X | X | X | 3 | 1 |
*GENERIC | X | X | X | X | X | X | X | 3 | 1 | |
*DATE | X | X | X | X | X | X | 3 | 1 | ||
*TIME | X | X | X | X | X | X | 3 | 1 | ||
*HEX | X | X | X | X | X | X | X | 3 | 1 | |
*ZEROELEM | ||||||||||
*INT2 | 2 | X | X | X | X | X | X | 3 | 1 | |
*INT4 | 2 | X | X | X | X | X | X | 3 | 1 | |
*UINT2 | 2 | X | X | X | X | 3 | 1 | |||
*UINT4 | 2 | X | X | X | X | 3 | 1 | |||
*CMDSTR | X | X | X | |||||||
*NULL | X | |||||||||
STMT LABEL | X | X | X | |||||||
Notes:
|
MIN | MAX | ALWUNPRT | ALWVAR | PGM | DTAARA | FILE | FULL | EXPR | VARY | |
---|---|---|---|---|---|---|---|---|---|---|
*DEC | X | X | X | X | ||||||
*LGL | X | X | X | X | X | 1 | ||||
*CHAR | X | X | X | X | X | X | X | X | X | 1 |
*NAME | X | X | X | X | X | X | X | X | 1 | |
*SNAME | X | X | X | X | X | X | X | X | 1 | |
*CNAME | X | X | X | X | X | X | X | X | 1 | |
*PNAME | X | X | X | X | X | X | X | X | X | 1 |
*GENERIC | X | X | X | X | X | X | X | X | 1 | |
*DATE | X | X | X | X | ||||||
*TIME | X | X | X | X | ||||||
*HEX | X | X | X | X | X | |||||
*ZEROELEM | X | X | ||||||||
*INT2 | X | X | X | X | ||||||
*INT4 | X | X | X | X | ||||||
*UINT2 | X | X | X | X | ||||||
*UINT4 | X | X | X | X | ||||||
*CMDSTR | 2 | 3 | 4 | 1 | ||||||
*NULL | 2 | 3 | ||||||||
STMT LABEL | X | X | X | |||||||
Notes:
|
PASSATR | PASSVAL | CASE | LISTDSPL | DSPINPUT | |
---|---|---|---|---|---|
*DEC | 1 | X | X | X | |
*LGL | 1 | X | X | X | |
*CHAR | 1 | X | 3 | X | X |
*NAME | 1 | X | X | X | |
*SNAME | 1 | X | X | X | |
*CNAME | 1 | X | X | X | |
*PNAME | 1 | X | 3 | X | X |
*GENERIC | 1 | X | X | X | |
*DATE | 1 | X | X | X | |
*TIME | 1 | X | X | X | |
*HEX | 1 | X | X | X | |
*ZEROELEM | |||||
*INT2 | 1 | X | X | X | |
*INT4 | 1 | X | X | X | |
*UINT2 | 1 | X | X | X | |
*UINT4 | 1 | X | X | X | |
*CMDSTR | 1 | X | X | ||
*NULL | |||||
STMT LABEL | 2 |
CHOICE | CHOICEPGM | PMTCTL | PMTCTLPGM | PROMPT | INLPMTLEN | |
---|---|---|---|---|---|---|
*DEC | X | X | X | X | X | |
*LGL | X | X | X | X | X | |
*CHAR | X | X | X | X | X | 4 |
*NAME | X | X | X | X | X | 4 |
*SNAME | X | X | X | X | X | 4 |
*CNAME | X | X | X | X | X | 4 |
*PNAME | X | X | X | X | X | 4 |
*GENERIC | X | X | X | X | X | 4 |
*DATE | X | X | X | X | X | |
*TIME | X | X | X | X | X | |
*HEX | X | X | X | X | X | 4 |
*ZEROELEM | ||||||
*INT2 | X | X | X | X | X | |
*INT4 | X | X | X | X | X | |
*UINT2 | X | X | X | X | X | |
*UINT4 | X | X | X | X | X | |
*CMDSTR | X | X | X | X | X | 4 |
*NULL | ||||||
STMT LABEL | X | X | X | X | X | X |
Notes:
- Parameter is ignored when CPP is a REXX procedure.
- PASSVAL passes a keyword with no blanks or other characters between parentheses when CPP is a REXX procedure.
- Case (*MIXED) is allowed only with type *CHAR and *PNAME.
- You can use INLPMTLEN(*PWD) only with types *CHAR, *NAME, *SNAME, *CNAME, and *PNAME.
The next table shows the valid parameter combinations and restrictions
for the PARM, ELEM, and QUAL statements. For example, the intersection
of the row for LEN and the column for DFT are blank; therefore, there
are no restrictions and combination of LEN(XX) and DFT(XX) is valid.
However, the intersection of the row for DFT and the column for CONSTANT
contains a 4
, which refers to a note that describes
the restriction at the bottom of the table.
LEN | RTNVAL | CONSTANT | RSTD | DFT | VALUES | REL | RANGE | SPCVAL | SNGVAL | |
---|---|---|---|---|---|---|---|---|---|---|
LEN | ||||||||||
RTNVAL | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | ||
CONSTANT | 1 | 4 | 16 | |||||||
RSTD | 1 | 7 | 9 | 9 | 7 | 7 | ||||
DFT | 1 | 4 | ||||||||
VALUES | 1 | 7 | ||||||||
REL | 1 | 9 | 9 | |||||||
RANGE | 1 | 9 | 9 | |||||||
SPCVAL | 1 | 7 | ||||||||
SNGVAL | 1 | 21 | 7 | |||||||
MIN | 8 | |||||||||
MAX | 2 | 2 | 10 | |||||||
ALWUNPRT | ||||||||||
ALWVAR | 12 | |||||||||
PGM | 1 | |||||||||
DTAARA | 1 | |||||||||
FILE | 1 | |||||||||
FULL | 1 | |||||||||
EXPR | 1 | 5 | ||||||||
VARY | 3 | |||||||||
PASSATR | 3 | |||||||||
PASSVAL | 13 | 11 | ||||||||
CASE | ||||||||||
LISTDSPL | ||||||||||
CHOICE | 14 | |||||||||
CHOICEPGM | ||||||||||
PMTCTL | 15 | |||||||||
PMTCTLPGM | 15 | |||||||||
PROMPT | 6 | |||||||||
INLPMTLEN | 17 | 17 | 17 | |||||||
Notes:
|
MIN | MAX | ALWUNPRT | ALWVAR | PGM | DTAARA | FILE | FULL | EXPR | VARY | |
---|---|---|---|---|---|---|---|---|---|---|
LEN | ||||||||||
RTNVAL | 2 | 8 | 1 | 1 | 1 | 1 | 1 | 3 | ||
CONSTANT | 2 | 4 | ||||||||
RSTD | ||||||||||
DFT | 5 | |||||||||
VALUES | ||||||||||
REL | ||||||||||
RANGE | ||||||||||
SPCVAL | ||||||||||
SNGVAL | 7 | |||||||||
MIN | 6 | |||||||||
MAX | 6 | |||||||||
ALWUNPRT | ||||||||||
ALWVAR | ||||||||||
PGM | 9 | 9 | ||||||||
DTAARA | 9 | 9 | ||||||||
FILE | 9 | 9 | ||||||||
FULL | ||||||||||
EXPR | ||||||||||
VARY | ||||||||||
PASSATR | 3 | |||||||||
PASSVAL | 10 | |||||||||
CASE | ||||||||||
LISTDSPL | ||||||||||
CHOICE | ||||||||||
CHOICEPGM | ||||||||||
PMTCTL | 11 | |||||||||
PMTCTLPGM | ||||||||||
PROMPT | ||||||||||
INLPMTLEN | 12 | |||||||||
Notes:
|
PASSATR | PASSVAL | CASE | LISTDSPL | DSPINPUT | |
---|---|---|---|---|---|
LEN | |||||
RTNVAL | 1 | 4 | |||
CONSTANT | 9 | 5 | |||
RSTD | |||||
DFT | |||||
VALUES | |||||
REL | |||||
RANGE | 3 | ||||
SPCVAL | |||||
SNGVAL | |||||
MIN | 4 | ||||
MAX | |||||
ALWUNPRT | |||||
ALWVAR | |||||
PGM | |||||
DTAARA | |||||
FILE | |||||
FULL | |||||
EXPR | |||||
VARY | 1 | ||||
PASSATR | |||||
PASSVAL | |||||
CASE | 10 | ||||
LISTDSPL | 11 | ||||
CHOICE | |||||
CHOICEPGM | |||||
PMTCTL | |||||
PMTCTLPGM | |||||
PROMPT | |||||
INLPMTLEN |
CHOICE | CHOICEPGM | PMTCTL | PMTCTLPGM | PROMPT | INLPMTLEN | |
---|---|---|---|---|---|---|
LEN | ||||||
RTNVAL | 12 | |||||
CONSTANT | 7 | 7 | 2 | 12 | ||
RSTD | 12 | |||||
DFT | ||||||
VALUES | ||||||
REL | ||||||
RANGE | ||||||
SPCVAL | ||||||
SNGVAL | ||||||
MIN | 8 | |||||
MAX | ||||||
ALWUNPRT | ||||||
ALWVAR | ||||||
PGM | ||||||
DTAARA | ||||||
FILE | ||||||
FULL | 12 | |||||
EXPR | ||||||
VARY | ||||||
PASSATR | ||||||
PASSVAL | ||||||
CASE | ||||||
LISTDSPL | ||||||
CHOICE | 6 | |||||
CHOICEPGM | 6 | |||||
PMTCTL | ||||||
PMTCTLPGM | ||||||
PROMPT | ||||||
INLPMTLEN |
Notes:
- If RTNVAL(*YES) and PASSATR(*YES) are specified, VARY(*YES) must also be specified. If RTNVAL(*YES) and VARY(*YES) are specified, you must use either *INT2 or *INT4. Combinations of *INT2 and *INT4 are not valid.
- The PROMPT parameter is not allowed.
- The parameter may not refer to a parameter defined with the parameter PASSVAL(*NULL). A range between parameters is not valid on a PARM statement defined with PASSVAL(*NULL).
- PASSVAL(*NULL) is not allowed with RTNVAL(*YES) or a value greater than 0 for MIN.
- The CHOICE and CONSTANT parameters are mutually exclusive.
- CHOICE(*PGM) requires a name for CHOICEPGM.
- CONSTANT is mutually exclusive with the PMTCTL and PMTCTLPGM parameters.
- PMTCTL is not allowed with a value greater than 0 for MIN.
- CONSTANT is mutually exclusive with DSPINPUT(*NO) and DSPINPUT(*PROMPT).
- The CASE parameter is valid only on PARM and ELEM statements. CASE is not valid on the QUAL statement.
- The LISTDSPL parameter is valid only on the PARM statement.
- You cannot use the INLPMTLEN parameter with CONSTANT. You must specify INLPMTLEN(*CALC) or use it as the default if you specified FULL(*YES), RTNVAL(*YES), or RSTD(*YES).