There are valid combinations of parameters according to the parameter
type.
The following figure shows 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 |
Note: - Valid only if the value for MAX is greater than 1. Also, To-values are
ignored when CPP is a REXX procedure. Values passed as REXX procedure parameters
are the values typed or the defaults for each parameter.
- Not valid when the command CPP is a REXX procedure.
- To-values are ignored when CPP is a REXX procedure. Values passed as
REXX procedure parameters are the values typed or the default values for each
parameter.
|
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 |
|
|
|
|
|
Note: - Parameter is ignored when CPP is a REXX procedure.
- The value for MIN cannot exceed 1 for TYPE(*NULL).
- The value for MAX cannot exceed 1 for TYPE(*NULL) or TYPE(*CMDSTR).
- The ALWVAR value is ignored for this type of parameter. CL variables
are not allowed when the parameter type is *CMDSTR.
|
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 |
Note: - 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 figure 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 at the bottom of the table describing the restriction.
|
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 |
|
|
|
|
|
|
Note: - The RTNVAL parameter cannot be used with any of the following parameters:
CONSTANT, RSTD, DFT, VALUES, REL, RANGE, SPCVAL, SNGVAL, PGM, DTAARA, FILE,
FULL, or EXPR. The RTNVAL parameter cannot be used on any command using a
REXX procedure as a CPP.
- A MAX value greater than 1 is not allowed.
- 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 CONSTANT and DFT parameters are mutually exclusive.
- The EXPR(*YES) and CONSTANT parameters are mutually exclusive.
- The PROMPT parameter is not allowed.
- If the RSTD parameter is specified, one of the following parameters must
also be specified: VALUES, SPCVAL, or SNGVAL.
- The MIN value must be 0.
- The REL, RANGE, and RSTD(*YES) parameters are mutually exclusive.
- Either the MAX value must be greater than 1 or the parameter type must
be a statement label, or both.
- 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).
- If RTNVAL(*YES) is specified, ALWVAR(*NO) cannot be specified.
- PASSVAL(*NULL) is not allowed with RTNVAL(*YES) or a value greater than
0 for MIN.
- The CHOICE and CONSTANT parameters are mutually exclusive.
- CONSTANT is mutually exclusive with the PMTCTL and PMTCTLPGM parameters.
- The CONSTANT parameter cannot be defined on the ELEM/QUAL statement if
a SNGVAL parameter is defined 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 have specified FULL(*YES),
RTNVAL(*YES), or RSTD(*YES).
|
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 |
|
|
Note: - The RTNVAL parameter cannot be used with any of the following parameters:
CONSTANT, RSTD, DFT, VALUES, REL, RANGE, SPCVAL, SNGVAL, PGM, DTAARA, FILE,
FULL, or EXPR. The RTNVAL parameter cannot be used on any command using a
REXX procedure as a CPP.
- A MAX value greater than 1 is not allowed.
- 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 EXPR(*YES) and CONSTANT parameters are mutually exclusive.
- The MIN value must be 0.
- The value specified for the MIN parameter must not exceed the value specified
for the MAX parameter.
- Either the MAX value must be greater than 1 or the parameter type must
be a statement label, or both.
- If RTNVAL(*YES) is specified, ALWVAR(*NO) cannot be specified.
- PGM(*YES), DTAARA(*YES), and a value other than *NO for the FILE parameters
are mutually exclusive.
- PASSVAL(*NULL) is not allowed with RTNVAL(*YES) or a value greater than
0 for MIN.
- PMTCTL is not allowed with a value greater than 0 for MIN.
- You must specify INLPMTLEN(*CALC) or use it as the default if you specified
FULL(*YES), RTNVAL(*YES), or RSTD(*YES).
|
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 |
|
|
|
|
|
|
Note: - 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).