1383 lines
72 KiB
HTML
1383 lines
72 KiB
HTML
|
|
||
|
<!doctype html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||
|
<html>
|
||
|
<head><META http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||
|
<title>Parameter Definition (PARM)</title>
|
||
|
<link rel="stylesheet" type="text/css" href="../rzahg/ic.css">
|
||
|
</head>
|
||
|
<body bgcolor="white">
|
||
|
<script language="Javascript" src="../rzahg/synch.js" type="text/javascript"></script>
|
||
|
<a name="PARM.Top_Of_Page"></a>
|
||
|
<h2>Parameter Definition (PARM)</h2>
|
||
|
<table width="100%">
|
||
|
<tr>
|
||
|
<td valign="top" align="left"></td>
|
||
|
<td valign="top" align="right">
|
||
|
<a href="#PARM.PARAMETERS.TABLE">Parameters</a><br>
|
||
|
<a href="#PARM.COMMAND.EXAMPLES">Examples</a><br>
|
||
|
<a href="#PARM.ERROR.MESSAGES">Error messages</a></td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
|
||
|
<div> <a name="PARM"></a>
|
||
|
<p>The Parameter (PARM) command definition statement defines a parameter of a command being created. A parameter is the means by which a value is passed to the command processing program. One PARM statement must be used for each parameter that appears in the command being defined. The order in which the PARM statements are entered into the source file determines the order in which the parameters must be specified when the command is entered in positional form and the order in which they are passed to the validity checker and the command processing program. A maximum of 99 parameters can be defined for one command. A command with a large number of parameters will require more processing time before the command processing program is called, regardless of how many parameters are actually coded.
|
||
|
</p>
|
||
|
<p>
|
||
|
<b>Note: </b>The PARM statement contains certain parameters and predefined values that can be used only when IBM-supplied command processing programs are called by the command being defined. Because of limitations in some high-level languages, these values may not be useful in the definition statements of user-defined commands. These parameters and values are identified by the phrase (<i>For IBM-supplied commands)</i> that immediately follows the parameter keyword (if the entire parameter is for IBM-supplied commands only) or the predefined value to which it applies.
|
||
|
</p>
|
||
|
</div>
|
||
|
<table width="100%">
|
||
|
<tr><td align="right"><a href="#PARM.Top_Of_Page">Top</a></td></tr>
|
||
|
</table>
|
||
|
<hr size="2" width="100%">
|
||
|
|
||
|
<div>
|
||
|
<h3><a name="PARM.PARAMETERS.TABLE">Parameters</a></h3>
|
||
|
<table border="1" cellpadding="4" cellspacing="0">
|
||
|
<!-- col1="10" col2="15" col3="30" col4="10" -->
|
||
|
<tr>
|
||
|
<th bgcolor="aqua" valign="bottom" align="left">Keyword</th>
|
||
|
<th bgcolor="aqua" valign="bottom" align="left">Description</th>
|
||
|
<th bgcolor="aqua" valign="bottom" align="left">Choices</th>
|
||
|
<th bgcolor="aqua" valign="bottom" align="left">Notes</th>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td valign="top"><a href="#PARM.KWD"><b>KWD</b></a></td>
|
||
|
<td valign="top">Keyword</td>
|
||
|
<td valign="top"><i>Simple name</i></td>
|
||
|
<td valign="top">Required, Positional 1</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td valign="top"><a href="#PARM.TYPE"><b>TYPE</b></a></td>
|
||
|
<td valign="top">Type of value</td>
|
||
|
<td valign="top"><i>Simple name</i>, *DEC, *LGL, *CHAR, *INT2, *INT4, *NAME, *GENERIC, *VARNAME, *DATE, *TIME, *CMD, *X, *HEX, *ZEROELEM, *NULL, *CMDSTR, *PNAME, *UINT2, *UINT4, *SNAME, *CNAME</td>
|
||
|
<td valign="top">Required, Positional 2</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td valign="top"><a href="#PARM.LEN"><b>LEN</b></a></td>
|
||
|
<td valign="top">Value length</td>
|
||
|
<td valign="top">Values (up to 3 repetitions): <i>Integer</i></td>
|
||
|
<td valign="top">Optional, Positional 3</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td valign="top"><a href="#PARM.RTNVAL"><b>RTNVAL</b></a></td>
|
||
|
<td valign="top">Return value</td>
|
||
|
<td valign="top"><b><u>*NO</u></b>, *YES</td>
|
||
|
<td valign="top">Optional</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td valign="top"><a href="#PARM.CONSTANT"><b>CONSTANT</b></a></td>
|
||
|
<td valign="top">Constant value</td>
|
||
|
<td valign="top"><i>Character value</i></td>
|
||
|
<td valign="top">Optional</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td valign="top"><a href="#PARM.RSTD"><b>RSTD</b></a></td>
|
||
|
<td valign="top">Restricted values</td>
|
||
|
<td valign="top"><b><u>*NO</u></b>, *YES</td>
|
||
|
<td valign="top">Optional</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td valign="top"><a href="#PARM.DFT"><b>DFT</b></a></td>
|
||
|
<td valign="top">Default value</td>
|
||
|
<td valign="top"><i>Character value</i></td>
|
||
|
<td valign="top">Optional</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td valign="top"><a href="#PARM.VALUES"><b>VALUES</b></a></td>
|
||
|
<td valign="top">Valid values</td>
|
||
|
<td valign="top">Values (up to 300 repetitions): <i>Character value</i></td>
|
||
|
<td valign="top">Optional</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td valign="top" rowspan="3"><a href="#PARM.REL"><b>REL</b></a></td>
|
||
|
<td valign="top">Relational expression</td>
|
||
|
<td valign="top"><i>Element list</i></td>
|
||
|
<td valign="top" rowspan="3">Optional</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td valign="top">Element 1: Relational operator</td>
|
||
|
<td valign="top">
|
||
|
*GT, *EQ, *GE, *NL, *LT, *NE, *LE, *NG</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td valign="top">Element 2: Value or keyword reference</td>
|
||
|
<td valign="top">
|
||
|
<i>Character value</i></td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td valign="top" rowspan="3"><a href="#PARM.RANGE"><b>RANGE</b></a></td>
|
||
|
<td valign="top">Range of values</td>
|
||
|
<td valign="top"><i>Element list</i></td>
|
||
|
<td valign="top" rowspan="3">Optional</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td valign="top">Element 1: Lower value or keyword ref</td>
|
||
|
<td valign="top">
|
||
|
<i>Character value</i></td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td valign="top">Element 2: Upper value or keyword ref</td>
|
||
|
<td valign="top">
|
||
|
<i>Character value</i></td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td valign="top" rowspan="3"><a href="#PARM.SPCVAL"><b>SPCVAL</b></a></td>
|
||
|
<td valign="top">Special values</td>
|
||
|
<td valign="top">Values (up to 300 repetitions): <i>Element list</i></td>
|
||
|
<td valign="top" rowspan="3">Optional</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td valign="top">Element 1: From value</td>
|
||
|
<td valign="top">
|
||
|
<i>Character value</i></td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td valign="top">Element 2: To replacement value</td>
|
||
|
<td valign="top">
|
||
|
<i>Character value</i></td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td valign="top" rowspan="3"><a href="#PARM.SNGVAL"><b>SNGVAL</b></a></td>
|
||
|
<td valign="top">Single values</td>
|
||
|
<td valign="top">Values (up to 300 repetitions): <i>Element list</i></td>
|
||
|
<td valign="top" rowspan="3">Optional</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td valign="top">Element 1: From value</td>
|
||
|
<td valign="top">
|
||
|
<i>Character value</i></td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td valign="top">Element 2: To replacement value</td>
|
||
|
<td valign="top">
|
||
|
<i>Character value</i></td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td valign="top"><a href="#PARM.MIN"><b>MIN</b></a></td>
|
||
|
<td valign="top">Minimum values required</td>
|
||
|
<td valign="top">0-300, <b><u>0</u></b></td>
|
||
|
<td valign="top">Optional</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td valign="top"><a href="#PARM.MAX"><b>MAX</b></a></td>
|
||
|
<td valign="top">Maximum values allowed</td>
|
||
|
<td valign="top"><i>Integer</i>, <b><u>1</u></b></td>
|
||
|
<td valign="top">Optional</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td valign="top"><a href="#PARM.ALWUNPRT"><b>ALWUNPRT</b></a></td>
|
||
|
<td valign="top">Allow unprintable characters</td>
|
||
|
<td valign="top"><b><u>*YES</u></b>, *NO</td>
|
||
|
<td valign="top">Optional</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td valign="top"><a href="#PARM.ALWVAR"><b>ALWVAR</b></a></td>
|
||
|
<td valign="top">Allow variable names</td>
|
||
|
<td valign="top"><b><u>*YES</u></b>, *NO</td>
|
||
|
<td valign="top">Optional</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td valign="top"><a href="#PARM.PGM"><b>PGM</b></a></td>
|
||
|
<td valign="top">Is PARM a program name</td>
|
||
|
<td valign="top"><b><u>*NO</u></b>, *YES</td>
|
||
|
<td valign="top">Optional</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td valign="top"><a href="#PARM.DTAARA"><b>DTAARA</b></a></td>
|
||
|
<td valign="top">Is PARM a data area name</td>
|
||
|
<td valign="top"><b><u>*NO</u></b>, *YES</td>
|
||
|
<td valign="top">Optional</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td valign="top"><a href="#PARM.FILE"><b>FILE</b></a></td>
|
||
|
<td valign="top">If a file parameter, how used</td>
|
||
|
<td valign="top"><b><u>*NO</u></b>, *IN, *OUT, *UPD, *INOUT, *UNSPFD</td>
|
||
|
<td valign="top">Optional</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td valign="top"><a href="#PARM.FULL"><b>FULL</b></a></td>
|
||
|
<td valign="top">Full field required</td>
|
||
|
<td valign="top"><b><u>*NO</u></b>, *YES</td>
|
||
|
<td valign="top">Optional</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td valign="top"><a href="#PARM.EXPR"><b>EXPR</b></a></td>
|
||
|
<td valign="top">Value an expression</td>
|
||
|
<td valign="top"><b><u>*NO</u></b>, *YES</td>
|
||
|
<td valign="top">Optional</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td valign="top" rowspan="3"><a href="#PARM.VARY"><b>VARY</b></a></td>
|
||
|
<td valign="top">Varying length</td>
|
||
|
<td valign="top">Single values: <b><u>*NO</u></b><br>Other values: <i>Element list</i></td>
|
||
|
<td valign="top" rowspan="3">Optional</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td valign="top">Element 1: Return length value</td>
|
||
|
<td valign="top">
|
||
|
*YES</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td valign="top">Element 2: Value length</td>
|
||
|
<td valign="top">
|
||
|
<b><u>*INT2</u></b>, *INT4</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td valign="top"><a href="#PARM.PASSATR"><b>PASSATR</b></a></td>
|
||
|
<td valign="top">Pass attribute byte</td>
|
||
|
<td valign="top"><b><u>*NO</u></b>, *YES</td>
|
||
|
<td valign="top">Optional</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td valign="top"><a href="#PARM.PASSVAL"><b>PASSVAL</b></a></td>
|
||
|
<td valign="top">Value to pass if unspecified</td>
|
||
|
<td valign="top"><b><u>*DFT</u></b>, *NULL</td>
|
||
|
<td valign="top">Optional</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td valign="top"><a href="#PARM.CASE"><b>CASE</b></a></td>
|
||
|
<td valign="top">Case of value</td>
|
||
|
<td valign="top"><b><u>*MONO</u></b>, *MIXED</td>
|
||
|
<td valign="top">Optional</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td valign="top"><a href="#PARM.CCSID"><b>CCSID</b></a></td>
|
||
|
<td valign="top">CCSID of value</td>
|
||
|
<td valign="top"><b><u>*JOB</u></b>, *UTF16</td>
|
||
|
<td valign="top">Optional</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td valign="top"><a href="#PARM.LISTDSPL"><b>LISTDSPL</b></a></td>
|
||
|
<td valign="top">List displacement</td>
|
||
|
<td valign="top"><b><u>*INT2</u></b>, *INT4</td>
|
||
|
<td valign="top">Optional</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td valign="top"><a href="#PARM.DSPINPUT"><b>DSPINPUT</b></a></td>
|
||
|
<td valign="top">Display input</td>
|
||
|
<td valign="top"><b><u>*YES</u></b>, *PROMPT, *NO</td>
|
||
|
<td valign="top">Optional</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td valign="top"><a href="#PARM.CHOICE"><b>CHOICE</b></a></td>
|
||
|
<td valign="top">Choice text</td>
|
||
|
<td valign="top"><i>Character value</i>, <b><u>*VALUES</u></b>, *NONE, *PGM</td>
|
||
|
<td valign="top">Optional</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td valign="top" rowspan="3"><a href="#PARM.CHOICEPGM"><b>CHOICEPGM</b></a></td>
|
||
|
<td valign="top">Choice program</td>
|
||
|
<td valign="top">Single values: <b><u>*NONE</u></b><br>Other values: <i>Qualified object name</i></td>
|
||
|
<td valign="top" rowspan="3">Optional</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td valign="top">Qualifier 1: Choice program</td>
|
||
|
<td valign="top"><i>Name</i></td>
|
||
|
</tr><tr>
|
||
|
<td valign="top">Qualifier 2: Library</td>
|
||
|
<td valign="top"><i>Name</i>, <b><u>*LIBL</u></b>, *CURLIB</td>
|
||
|
</tr><tr>
|
||
|
<td valign="top"><a href="#PARM.PMTCTL"><b>PMTCTL</b></a></td>
|
||
|
<td valign="top">Prompt control</td>
|
||
|
<td valign="top"><i>Simple name</i>, <b><u>*NONE</u></b>, *PMTRQS</td>
|
||
|
<td valign="top">Optional</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td valign="top" rowspan="3"><a href="#PARM.PMTCTLPGM"><b>PMTCTLPGM</b></a></td>
|
||
|
<td valign="top">Prompt control program</td>
|
||
|
<td valign="top">Single values: <b><u>*NONE</u></b><br>Other values: <i>Qualified object name</i></td>
|
||
|
<td valign="top" rowspan="3">Optional</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td valign="top">Qualifier 1: Prompt control program</td>
|
||
|
<td valign="top"><i>Name</i></td>
|
||
|
</tr><tr>
|
||
|
<td valign="top">Qualifier 2: Library</td>
|
||
|
<td valign="top"><i>Name</i>, <b><u>*LIBL</u></b>, *CURLIB</td>
|
||
|
</tr><tr>
|
||
|
<td valign="top"><a href="#PARM.KEYPARM"><b>KEYPARM</b></a></td>
|
||
|
<td valign="top">Key parameter</td>
|
||
|
<td valign="top"><b><u>*NO</u></b>, *YES</td>
|
||
|
<td valign="top">Optional</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td valign="top"><a href="#PARM.INLPMTLEN"><b>INLPMTLEN</b></a></td>
|
||
|
<td valign="top">Initial prompt length</td>
|
||
|
<td valign="top"><b><u>*CALC</u></b>, *PWD, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 17, 25, 32, 50, 80, 132, 256, 512</td>
|
||
|
<td valign="top">Optional</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td valign="top" rowspan="3"><a href="#PARM.PROMPT"><b>PROMPT</b></a></td>
|
||
|
<td valign="top">Prompt specifications</td>
|
||
|
<td valign="top">Single values: <b><u>*NONE</u></b><br>Other values: <i>Element list</i></td>
|
||
|
<td valign="top" rowspan="3">Optional</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td valign="top">Element 1: Prompt text or message ID</td>
|
||
|
<td valign="top">
|
||
|
<i>Character value</i></td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td valign="top">Element 2: Order prompt is displayed</td>
|
||
|
<td valign="top">
|
||
|
<i>Integer</i></td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
|
||
|
<table width="100%">
|
||
|
<tr><td align="right"><a href="#PARM.Top_Of_Page">Top</a></td></tr>
|
||
|
</table>
|
||
|
</div>
|
||
|
<div> <a name="PARM.KWD"></a>
|
||
|
<h3>Keyword (KWD)</h3>
|
||
|
<p>Specifies the keyword name of the parameter being defined. Every CL command parameter has an associated keyword name. Command parameters specified using the parameter keyword can be specified in any order. Parameters may be specified in positional form (without a keyword name) up to the positional limit specified by the MAXPOS parameter on the Create Command (CRTCMD) command.
|
||
|
</p>
|
||
|
<dl>
|
||
|
<dt><b><i>simple-name</i></b></dt>
|
||
|
<dd>Specify a keyword name for the parameter. The name can be up to ten alphanumeric characters. The first character must be alphabetic.
|
||
|
</dd>
|
||
|
</dl>
|
||
|
</div>
|
||
|
<table width="100%">
|
||
|
<tr><td align="right"><a href="#PARM.Top_Of_Page">Top</a></td></tr>
|
||
|
</table>
|
||
|
<div> <a name="PARM.TYPE"></a>
|
||
|
<h3>Type of value (TYPE)</h3>
|
||
|
<p>Specifies the type of the value that can be specified for the parameter named in KWD. The value can be an integer, a decimal, hexadecimal, or logical value, or a character string (optionally enclosed in apostrophes) that can be a name, date, or time. The value can also be a command. Type one of the following options to specify the parameter type:
|
||
|
</p>
|
||
|
<dl>
|
||
|
<dt><b>*DEC</b></dt>
|
||
|
<dd>The parameter value is a packed decimal number.
|
||
|
</dd>
|
||
|
<dt><b>*LGL</b></dt>
|
||
|
<dd>The parameter value is a logical value of one ('1') or zero ('0').
|
||
|
</dd>
|
||
|
<dt><b>*CHAR</b></dt>
|
||
|
<dd>The parameter value is a character string that can optionally be enclosed in apostrophes. If the character string contains any special characters (not including an asterisk (*)), it <i>must</i> be enclosed in apostrophes. The maximum length of the character string is 5000 characters.
|
||
|
</dd>
|
||
|
<dt><b>*NAME</b></dt>
|
||
|
<dd>The parameter value is a character string that represents a name. The maximum length of the name is 256 characters. The first character must be alphabetic or one of the special characters, $, @, or #. The remaining characters can be alphanumeric, a period, an underscore, or one of special characters, $, @, or #. The name can also be a string of characters starting and ending with double quotation marks (") or enclosed in parentheses. If a special value is used (as in *LIBL or *NONE), it should be specified on the <b>Special values (SPCVAL)</b> parameter.
|
||
|
</dd>
|
||
|
<dt><b>*SNAME</b></dt>
|
||
|
<dd>The parameter value is a character string that represents a name. The maximum length of the name is 256 characters. The first character must be alphabetic or one of the special characters $, @, or #. The remaining characters can be alphanumeric, an underscore, or one of the special characters $, @, or #). The character string can be enclosed in parentheses. If a special value is used (as in *LIBL or *NONE), it must be specified on the <b>Special values (SPCVAL)</b> parameter.
|
||
|
</dd>
|
||
|
<dt><b>*CNAME</b></dt>
|
||
|
<dd>The parameter value is a character string that represents a name. The maximum length of the name is 256 characters. The first character must be alphabetic or one of the special characters, $, @, or #. The remaining characters can be alphanumeric or one of special characters, $, @, or #. The character string can be enclosed in parentheses. If a special value is used (as in *LIBL or *NONE), it must be specified on the <b>Special values (SPCVAL)</b> parameter.
|
||
|
</dd>
|
||
|
<dt><b>*PNAME</b></dt>
|
||
|
<dd>The parameter value is a character string that represents a path name string. Optionally the path name string may be enclosed in apostrophes. If the path name string contains any special characters (not including an asterisk (*)), it must be enclosed in apostrophes. The maximum length of the path name string is 5000 characters.
|
||
|
</dd>
|
||
|
<dt><b>*GENERIC</b></dt>
|
||
|
<dd>The parameter value is a character string that represents a generic name. A generic name contains a maximum of 255 characters followed by an asterisk (*) and must conform to the rules for generic names. The name identifies a group of objects whose names all begin with the characters preceding the asterisk (*). If an asterisk (*) is not included, the system assumes that the generic name is a complete object name.
|
||
|
</dd>
|
||
|
<dt><b>*CMDSTR</b></dt>
|
||
|
<dd>The parameter value is a command that will be checked for validity by the system. It is passed to the command processing program as a command string.
|
||
|
<p>The command analyzer rebuilds the command string when it checks it for validity. When the command is rebuilt, keywords are added to parameters that were specified positionally, parameters can be reordered, and parameters that contain characters that cannot be printed (X'FF' and X'00 - X'3F') are converted to hexadecimal notation. As a result, the rebuilt command string may be substantially longer than the original command string. If the length of the rebuilt command is longer than the allowed length specified with the LEN keyword, the command will fail.
|
||
|
</p>
|
||
|
<p>
|
||
|
<b>Note: </b>Selective prompting is not allowed with the *CMDSTR parameter.
|
||
|
</p>
|
||
|
</dd>
|
||
|
<dt><b>*DATE</b></dt>
|
||
|
<dd>The parameter value is a character string that represents a date. When entering the command, the year may be specified with either 2 digits or 4 digits. If a 2-digit year is specified, the date is assumed to be in the range of January 1, 1940 through December 31, 2039. If a 4-digit year is specified, the date may be in the range of August 24, 1928 through May 9, 2071. When it is passed to the command processing program, it is always passed in the format <i>Cyymmdd</i>, where C = century, yy = year, mm = month, and dd = day. The century digit is set to 0 (zero) for years 19xx, and it is set to 1 (one) for years 20xx. When a date value is specified in this PARM statement, it must be specified in one of the following formats <i>mmddyy</i>, <i>mmddyyyy</i>, or <i>Cyymmdd</i>. When a user types a date in the command at run time, it must be specified in the job-date format. The job date separator may be used when the date is entered. If the separator character is used, the date must be enclosed in apostrophes.
|
||
|
</dd>
|
||
|
<dt><b>*TIME</b></dt>
|
||
|
<dd>The parameter value is a character string that represents a time. It is passed to the command processing program in a 6-byte character string as <i>hhmmss.</i>, where hh = hours, mm = minutes, and ss = seconds. Values specified in this statement must be in the format <i>hhmmss</i> When a user types a time in the command at run time, it must be specified in the format <i>hhmmss</i>. The job time separator may be used when the time is entered. If the separator character is used, the time must be enclosed in apostrophes.
|
||
|
</dd>
|
||
|
<dt><b>*HEX</b></dt>
|
||
|
<dd>The parameter value is hexadecimal in form. The specified characters must be 0 through F. They are converted to hexadecimal (EBCDIC) characters (2 hex digits per byte), right-justified, and padded on the left with zeros. If the value is enclosed in apostrophes, an even number of digits is required. If the value is not enclosed in apostrophes, an even number of digits is <i>not</i> required.
|
||
|
</dd>
|
||
|
<dt><b>*ZEROELEM</b></dt>
|
||
|
<dd>The parameter is always considered as a list of zero elements, for which no value can be specified in the command. It is used to prevent a value from being entered for a parameter that is a list even though the command processing program expects one. For example, if two commands use the same command processing program, one command could pass a list for a parameter and the other command may not have any values to pass. The second command would be coded with *ZEROELEM specified for this parameter.
|
||
|
</dd>
|
||
|
<dt><b>*X</b></dt>
|
||
|
<dd>(For IBM-supplied commands) The parameter value is a character string, variable name, or numeric value. The value is passed as a numeric value if it contains only digits, a + or - sign, or a decimal point; otherwise, it is passed as a character string.
|
||
|
</dd>
|
||
|
<dt><b>*INT2</b></dt>
|
||
|
<dd>The parameter value is an integer that is passed as a 2-byte signed binary number.
|
||
|
</dd>
|
||
|
<dt><b>*INT4</b></dt>
|
||
|
<dd>The parameter value is an integer that is passed as a 4-byte signed binary number.
|
||
|
</dd>
|
||
|
<dt><b>*UINT2</b></dt>
|
||
|
<dd>The parameter value is an integer that is passed as a 2-byte unsigned binary number.
|
||
|
</dd>
|
||
|
<dt><b>*UINT4</b></dt>
|
||
|
<dd>The parameter value is an integer that is passed as a 4-byte unsigned binary number.
|
||
|
</dd>
|
||
|
<dt><b>*VARNAME</b></dt>
|
||
|
<dd>(For IBM-supplied commands) The parameter value is a CL variable name that is passed as a character string.
|
||
|
</dd>
|
||
|
<dt><b>*CMD</b></dt>
|
||
|
<dd>(For IBM-supplied commands) The parameter value is a command. For example, the IF command has a parameter called THEN whose value must be another command. The command is checked for validity by the system.
|
||
|
</dd>
|
||
|
<dt><b>*NULL</b></dt>
|
||
|
<dd>The parameter value is a null pointer, which can be used as a constant place-holder. A DEP statement or the REL and RANGE keywords of other PARM statements may not refer to the value of a parameter defined with *NULL specified for this parameter.
|
||
|
</dd>
|
||
|
<dt><b><i>statement-label</i></b></dt>
|
||
|
<dd>Specify a qualified name or a mixed list of values. The statement label specified here is the statement label that identifies the first of a series of QUAL or ELEM statements that further describe the qualified name or the mixed list being defined by this PARM statement.
|
||
|
</dd>
|
||
|
</dl>
|
||
|
</div>
|
||
|
<table width="100%">
|
||
|
<tr><td align="right"><a href="#PARM.Top_Of_Page">Top</a></td></tr>
|
||
|
</table>
|
||
|
<div> <a name="PARM.LEN"></a>
|
||
|
<h3>Value length (LEN)</h3>
|
||
|
<p>Specifies the length of the parameter value that is passed to the command processing program. This parameter is not allowed if *INT2, *INT4, *UINT2, *UINT4, *DATE, *TIME, *CMD, *ZEROELEM, *NULL, or a statement label is specified for the <b>Type of value (TYPE)</b> parameter. With other values specified for the <b>Type of value (TYPE)</b> parameter, this parameter has the following applications:
|
||
|
</p>
|
||
|
<ul>
|
||
|
<li>If *DEC is specified for the <b>Type of value (TYPE)</b> parameter, the decimal length is specified in the form (length1 length2), where length1 specifies the total number of digits in the value (including the decimal portion), and length2 specifies the number of allowable decimal digits to the right of the decimal point. The value for length2 is optional. Zero is assumed if it is not entered.
|
||
|
</li>
|
||
|
<li>If *CHAR, *NAME, *SNAME, *CNAME, *CMDSTR, or *VARNAME is specified for the <b>Type of value (TYPE)</b> parameter, only length1 is specified. It identifies the number of characters passed.
|
||
|
</li>
|
||
|
<li>If *HEX is specified for the <b>Type of value (TYPE)</b> parameter, only length1 is specified. This length specifies the number of characters passed after the hexadecimal digits have been converted to character digits. Because 2 hexadecimal digits are converted to 1 decimal digit, the number of hexadecimal digits converted is twice the value of this length.
|
||
|
</li>
|
||
|
<li>If *X is specified for the <b>Type of value (TYPE)</b> parameter, the LEN parameter is used as follows:
|
||
|
<ul>
|
||
|
<li>For character data, length1 specifies the minimum length to be passed. If a longer value is entered, the entire value is passed.
|
||
|
</li>
|
||
|
<li>For decimal data, length2 and length3 specify the length and decimal positions for a constant value. If a variable is entered, it is passed according to the variable attributes.
|
||
|
</li>
|
||
|
<li>For a logical value, length1 specifies the length of the value, which is always 1.
|
||
|
</li>
|
||
|
</ul>
|
||
|
</li>
|
||
|
</ul>
|
||
|
</div>
|
||
|
<table width="100%">
|
||
|
<tr><td align="right"><a href="#PARM.Top_Of_Page">Top</a></td></tr>
|
||
|
</table>
|
||
|
<div> <a name="PARM.RTNVAL"></a>
|
||
|
<h3>Return value (RTNVAL)</h3>
|
||
|
<p>Specifies whether a value is returned by the command processing program through the parameter being defined in this PARM statement.
|
||
|
</p>
|
||
|
<dl>
|
||
|
<dt><b><u>*NO</u></b></dt>
|
||
|
<dd>No value can be returned in the parameter being defined. The parameter is an input parameter only.
|
||
|
</dd>
|
||
|
<dt><b>*YES</b></dt>
|
||
|
<dd>A value is to be returned by the command processing program in the parameter. A CL variable name must be specified (on the CALL command) to receive the value. *YES is valid only if *DEC, *CHAR, *LGL, *INT2, *INT4, *UINT2, *UINT4, or *X is specified for the <b>Type of value (TYPE)</b> parameter. Also, *YES is valid only on commands that are limited to CL programs. That is, if either *BPGM or *IPGM is specified in the Create Command (CRTCMD) command that uses the source file containing this PARM statement, *YES can be specified here. *YES must be specified on the <b>Varying length (VARY)</b> parameter, if *YES is specified here and on the <b>Pass attribute byte (PASSATR)</b> parameter. If *NO is specified for the <b>Allow variable names (ALWVAR)</b> parameter, or if the <b>Maximum values allowed (MAX)</b> parameter has a value of greater than 1, *YES is not valid. *YES is also not valid with the following parameters:
|
||
|
<ul>
|
||
|
<li>Constant value (CONSTANT parameter)
|
||
|
</li>
|
||
|
<li>Default value (DFT parameter)
|
||
|
</li>
|
||
|
<li>Restricted values (RSTD parameter)
|
||
|
</li>
|
||
|
<li>Valid values (VALUES parameter)
|
||
|
</li>
|
||
|
<li>Relational expression (REL parameter)
|
||
|
</li>
|
||
|
<li>Range of values (RANGE parameter)
|
||
|
</li>
|
||
|
<li>Special values (SPCVAL parameter)
|
||
|
</li>
|
||
|
<li>Single values (SNGVAL parameter)
|
||
|
</li>
|
||
|
<li>If a file parameter, how used (FILE parameter)
|
||
|
</li>
|
||
|
<li>Full field required (FULL parameter)
|
||
|
</li>
|
||
|
<li>Value an expression (EXPR parameter)
|
||
|
</li>
|
||
|
</ul>
|
||
|
</dd>
|
||
|
</dl>
|
||
|
</div>
|
||
|
<table width="100%">
|
||
|
<tr><td align="right"><a href="#PARM.Top_Of_Page">Top</a></td></tr>
|
||
|
</table>
|
||
|
<div> <a name="PARM.CONSTANT"></a>
|
||
|
<h3>Constant value (CONSTANT)</h3>
|
||
|
<p>Specifies that a value is passed to the command processing program as a constant when the command being defined is processed; the parameter does not appear externally on the command. The value specified in this parameter (if any) must satisfy the requirements specified by the following parameters:
|
||
|
</p>
|
||
|
<ul>
|
||
|
<li>Type of value (TYPE parameter)
|
||
|
</li>
|
||
|
<li>Value length (LEN parameter)
|
||
|
</li>
|
||
|
<li>Valid values (VALUES parameter)
|
||
|
</li>
|
||
|
<li>Relational expression (REL parameter)
|
||
|
</li>
|
||
|
<li>Range of values (RANGE parameter)
|
||
|
</li>
|
||
|
<li>Special values (SPCVAL parameter)
|
||
|
</li>
|
||
|
<li>Full field required (FULL parameter)
|
||
|
</li>
|
||
|
</ul>
|
||
|
<p>If a character constant is specified in this parameter, it can be no longer than 32 characters.
|
||
|
</p>
|
||
|
<p>If a constant is specified for the parameter being defined, no prompt text can be specified for the <b>Prompt specifications (PROMPT)</b> parameter because the parameter will not be prompted.
|
||
|
</p>
|
||
|
<p>This parameter is not valid for the following:
|
||
|
</p>
|
||
|
<ul>
|
||
|
<li>*CMD, *NULL, or *ZEROELEM specified for the <b>Type of value (TYPE)</b> parameter
|
||
|
</li>
|
||
|
<li>A value greater than 1 specified for the <b>Maximum values allowed (MAX)</b> parameter
|
||
|
</li>
|
||
|
<li>The <b>Default value (DFT)</b> parameter
|
||
|
</li>
|
||
|
<li>*YES specified for the <b>Return value (RTNVAL)</b> parameter
|
||
|
</li>
|
||
|
<li>*YES specified for the <b>Value an expression (EXPR)</b> parameter
|
||
|
</li>
|
||
|
</ul>
|
||
|
<p>Variables cannot be coded for this parameter.
|
||
|
</p>
|
||
|
</div>
|
||
|
<table width="100%">
|
||
|
<tr><td align="right"><a href="#PARM.Top_Of_Page">Top</a></td></tr>
|
||
|
</table>
|
||
|
<div> <a name="PARM.RSTD"></a>
|
||
|
<h3>Restricted values (RSTD)</h3>
|
||
|
<p>Specifies whether the value entered for the parameter (specified in the PARM statement) is restricted to only one of the values given in the <b>Valid values (VALUES)</b> parameter, the <b>Special values (SPCVAL)</b> parameter, or the <b>Single values (SNGVAL)</b> parameter, or whether the value can be any value that satisfies the requirements specified by the following parameters:
|
||
|
</p>
|
||
|
<ul>
|
||
|
<li>Type of value (TYPE parameter)
|
||
|
</li>
|
||
|
<li>Value length (LEN parameter)
|
||
|
</li>
|
||
|
<li>Relational expression (REL parameter)
|
||
|
</li>
|
||
|
<li>Range of values (RANGE parameter)
|
||
|
</li>
|
||
|
<li>Special values (SPCVAL parameter)
|
||
|
</li>
|
||
|
<li>Single values (SNGVAL parameter)
|
||
|
</li>
|
||
|
<li>Full field required (FULL parameter)
|
||
|
</li>
|
||
|
</ul>
|
||
|
<dl>
|
||
|
<dt><b><u>*NO</u></b></dt>
|
||
|
<dd>The value entered for the parameter specified by the <b>Keyword (KWD)</b> parameter can be anything that matches the requirement specified by the following parameters in this PARM statement:
|
||
|
<ul>
|
||
|
<li>Type of value (TYPE parameter)
|
||
|
</li>
|
||
|
<li>Value length (LEN parameter)
|
||
|
</li>
|
||
|
<li>Relational expression (REL parameter)
|
||
|
</li>
|
||
|
<li>Range of values (RANGE parameter)
|
||
|
</li>
|
||
|
<li>Special values (SPCVAL parameter)
|
||
|
</li>
|
||
|
<li>Single values (SNGVAL parameter)
|
||
|
</li>
|
||
|
<li>Full field required (FULL parameter)
|
||
|
</li>
|
||
|
</ul>
|
||
|
</dd>
|
||
|
<dt><b>*YES</b></dt>
|
||
|
<dd>The value entered for the parameter specified by KWD in this PARM statement is restricted to one of the values in the <b>Valid values (VALUES)</b> parameter, or to one of the from-values in either the <b>Special values (SPCVAL)</b> parameter or the <b>Single values (SNGVAL)</b> parameter. *YES cannot be specified if a statement label, *CMD, *NULL, or *ZEROELEM is specified for the <b>Type of value (TYPE)</b> parameter, or if *YES is specified for the <b>Return value (RTNVAL)</b> parameter.
|
||
|
</dd>
|
||
|
</dl>
|
||
|
</div>
|
||
|
<table width="100%">
|
||
|
<tr><td align="right"><a href="#PARM.Top_Of_Page">Top</a></td></tr>
|
||
|
</table>
|
||
|
<div> <a name="PARM.DFT"></a>
|
||
|
<h3>Default value (DFT)</h3>
|
||
|
<p>Specifies the default value that is assigned to the parameter if a value is not specified by the user. That is, the default value is used as the value of the parameter if the user omits the parameter while entering the command or if the user specifies *N as the parameter value. The default value must satisfy one of the following:
|
||
|
</p>
|
||
|
<ul>
|
||
|
<li>It must match the requirements specified by the following parameters.
|
||
|
<ul>
|
||
|
<li>Type of value (TYPE parameter)
|
||
|
</li>
|
||
|
<li>Value length (LEN parameter)
|
||
|
</li>
|
||
|
<li>Relational expression (REL parameter)
|
||
|
</li>
|
||
|
<li>Range of values (RANGE parameter)
|
||
|
</li>
|
||
|
<li>Full field required (FULL parameter)
|
||
|
</li>
|
||
|
</ul>
|
||
|
</li>
|
||
|
<li>It must be one of the from-values in the <b>Special values (SPCVAL)</b> parameter, or the <b>Single values (SNGVAL)</b> parameter.
|
||
|
</li>
|
||
|
<li>If the default is a character constant, it can have no more than 32 characters.
|
||
|
</li>
|
||
|
<li>If *YES is specified on the <b>Restricted values (RSTD)</b> parameter, it must be in the list of values in the <b>Valid values (VALUES)</b> parameter, or in the list of from-values of either the <b>Special values (SPCVAL)</b> parameter or the <b>Single values (SNGVAL)</b> parameter.
|
||
|
</li>
|
||
|
<li>It must be a from-value on the <b>Single values (SNGVAL)</b> parameter if the parameter being defined is a list of unlike values or it is a qualified name. This is true when a statement label is specified for <b>Type of value (TYPE)</b> parameter; the label is used to identify a QUAL or ELEM statement.
|
||
|
</li>
|
||
|
</ul>
|
||
|
<p>This parameter is not valid if the <b>Constant value (CONSTANT)</b> parameter is specified. This parameter is valid only if 0 is specified for the <b>Minimum values required (MIN)</b> parameter, which means the parameter named in the <b>Keyword (KWD)</b> parameter is optional. No default can be specified if RTNVAL(*YES) is specified on the <b>Return value (RTNVAL)</b> parameter; instead, a null pointer is passed for the default. A default cannot be specified if *CMD, *ZEROELEM, or *NULL is specified on the <b>Type of value (TYPE)</b> parameter. If *VARNAME is specified on the <b>Type of value (TYPE)</b> parameter, a default special value can be specified; a default variable name cannot be specified.
|
||
|
</p>
|
||
|
<p>An <i>assumed</i> default value is not displayed by the command prompt; a blank input field is shown instead. If a default is specified, it is displayed by the prompt exactly as specified.
|
||
|
</p>
|
||
|
<dl>
|
||
|
<dt><b><i>value</i></b></dt>
|
||
|
<dd>Specify the default value that meets the specified requirements or that is one of the values specified in the <b>Valid values (VALUES)</b> parameter, the <b>Special values (SPCVAL)</b> parameter, or the <b>Single values (SNGVAL)</b> parameter.
|
||
|
<p>Variables cannot be coded for this value.
|
||
|
</p>
|
||
|
</dd>
|
||
|
</dl>
|
||
|
</div>
|
||
|
<table width="100%">
|
||
|
<tr><td align="right"><a href="#PARM.Top_Of_Page">Top</a></td></tr>
|
||
|
</table>
|
||
|
<div> <a name="PARM.VALUES"></a>
|
||
|
<h3>Valid values (VALUES)</h3>
|
||
|
<p>Specifies a list of up to 300 constants (fixed values) from which one constant can be entered as the value of the parameter named on the <b>Keyword (KWD)</b> parameter. This parameter is valid only if all of the following are true:
|
||
|
</p>
|
||
|
<ul>
|
||
|
<li>*YES is specified on the, <b>Restricted values (RSTD)</b> parameter.
|
||
|
</li>
|
||
|
<li>Both the <b>Range of values (RANGE)</b> parameter and the <b>Relational expression (REL)</b> parameter are <i>not</i> specified.
|
||
|
</li>
|
||
|
<li>Each constant matches the attributes specified by the following parameters.
|
||
|
<ul>
|
||
|
<li>Type of value (TYPE parameter)
|
||
|
</li>
|
||
|
<li>Value length (LEN parameter)
|
||
|
</li>
|
||
|
<li>Full field required (FULL parameter)
|
||
|
</li>
|
||
|
</ul>
|
||
|
</li>
|
||
|
</ul>
|
||
|
<p>Character constants specified in this parameter can be no longer than 32 characters. Type the constants (not more than 300) that can be specified as the value of the parameter. This parameter is not valid if *CMD, *CMDSTR, *X, *NULL, statement label, *VARNAME, or *ZEROELEM is specified on the <b>Type of value (TYPE)</b> parameter, or if *YES is specified on the <b>Return value (RTNVAL)</b> parameter.
|
||
|
</p>
|
||
|
</div>
|
||
|
<table width="100%">
|
||
|
<tr><td align="right"><a href="#PARM.Top_Of_Page">Top</a></td></tr>
|
||
|
</table>
|
||
|
<div> <a name="PARM.REL"></a>
|
||
|
<h3>Relational expression (REL)</h3>
|
||
|
<p>Specifies the relationship between the parameter value of this parameter and the value of a constant or another parameter. If a keyword is specified, it must be preceded by an ampersand (&) to indicate that it is the value of the keyword that is to be tested. The value associated with the referred to keyword is the value passed to the command processing program, not the user-specified value. If the relationship is with another parameter whose value is a list of values or a qualified name, the first value only is used in the comparison.
|
||
|
</p>
|
||
|
<p>To specify the relationship, enter one of the following relational operators followed by either a constant or the keyword name of the other parameter (which must be preceded by an &).
|
||
|
</p>
|
||
|
<dl>
|
||
|
<dt><b>*LT</b></dt>
|
||
|
<dd>less than
|
||
|
</dd>
|
||
|
<dt><b>*LE</b></dt>
|
||
|
<dd>less than or equal to
|
||
|
</dd>
|
||
|
<dt><b>*EQ</b></dt>
|
||
|
<dd>equal to
|
||
|
</dd>
|
||
|
<dt><b>*GE</b></dt>
|
||
|
<dd>greater than or equal to
|
||
|
</dd>
|
||
|
<dt><b>*GT</b></dt>
|
||
|
<dd>greater than
|
||
|
</dd>
|
||
|
<dt><b>*NL</b></dt>
|
||
|
<dd>not less than
|
||
|
</dd>
|
||
|
<dt><b>*NE</b></dt>
|
||
|
<dd>not equal to
|
||
|
</dd>
|
||
|
<dt><b>*NG</b></dt>
|
||
|
<dd>not greater than
|
||
|
</dd>
|
||
|
</dl>
|
||
|
<p>The REL parameter is not valid in the following cases:
|
||
|
</p>
|
||
|
<ul>
|
||
|
<li>If *YES is specified on the <b>Return value (RTNVAL)</b> parameter.
|
||
|
</li>
|
||
|
<li>If either the <b>Range of values (RANGE)</b> parameter or the <b>Valid values (VALUES)</b> parameter is specified.
|
||
|
</li>
|
||
|
<li>If *LGL, *VARNAME, *CMD, *CMDSTR, *X, *ZEROELEM, *NULL, or a statement label is specified for the <b>Type of value (TYPE)</b> parameter.
|
||
|
</li>
|
||
|
</ul>
|
||
|
<p>If a *CHAR (character type) is specified on the <b>Type of value (TYPE)</b> parameter, the EBCDIC value of the character string is used as an unsigned integer in the comparison. If a character constant is specified in this parameter, it can be no longer than 32 characters.
|
||
|
</p>
|
||
|
<p>Variables can be coded for this element.
|
||
|
</p>
|
||
|
</div>
|
||
|
<table width="100%">
|
||
|
<tr><td align="right"><a href="#PARM.Top_Of_Page">Top</a></td></tr>
|
||
|
</table>
|
||
|
<div> <a name="PARM.RANGE"></a>
|
||
|
<h3>Range of values (RANGE)</h3>
|
||
|
<p>Specifies the range, or limits, for the parameter value. The parameter value must be greater than or equal to the lower limit value specified, and it must be less than or equal to the upper limit value specified. For example, 15 would be valid if RANGE was specified as (0 16).
|
||
|
</p>
|
||
|
<p>For nonnumeric data types, such as character, the range of values and the data specified are right-justified and padded on the left with blanks. A numeric range should not be used to define an interval for nonnumeric data unless leading zeros are specified or the data is only 1 character in length.
|
||
|
</p>
|
||
|
<p>Variables can be coded for this element.
|
||
|
</p>
|
||
|
<p>The upper and lower limits of the range can be specified either by a keyword representing the value or by the value itself. If a keyword is specified, it must be preceded by an ampersand (&) to indicate that the value of the keyword is to be tested. The value of its parameter at the time of the check is used to determine the range. The value that is tested is the value passed to the command processing program, not the user-specified value. If the keyword identifies a list of values or a qualified name, only the first value is used as the range limit. A keyword may not refer to a parameter that is defined with *NULL specified on the <b>Value to pass if unspecified (PASSVAL)</b> parameter. This parameter is not valid with *NULL specified on the <b>Value to pass if unspecified (PASSVAL)</b> parameter.
|
||
|
</p>
|
||
|
<p>This parameter is also not valid in the following cases:
|
||
|
</p>
|
||
|
<ul>
|
||
|
<li>If *YES is specified on the <b>Return value (RTNVAL)</b> parameter.
|
||
|
</li>
|
||
|
<li>If either the <b>Relational expression (REL)</b> parameter or the <b>Valid values (VALUES)</b> parameter is specified.
|
||
|
</li>
|
||
|
<li>If *LGL, *VARNAME, *CMD, *CMDSTR, *X, *ZEROELEM, *NULL, or a statement label is specified for the <b>Type of value (TYPE)</b> parameter.
|
||
|
</li>
|
||
|
</ul>
|
||
|
<p>Character constants specified in this parameter can be no longer than 32 characters.
|
||
|
</p>
|
||
|
<p>Variables can be coded for this element.
|
||
|
</p>
|
||
|
</div>
|
||
|
<table width="100%">
|
||
|
<tr><td align="right"><a href="#PARM.Top_Of_Page">Top</a></td></tr>
|
||
|
</table>
|
||
|
<div> <a name="PARM.SPCVAL"></a>
|
||
|
<h3>Special values (SPCVAL)</h3>
|
||
|
<p>Specifies a list of up to 300 entries that define special values that can be entered on the parameter. Each entry specifies a character string (a from-value) that can be entered even though it may not meet all validity checking requirements. If the entered character string matches the from-value of one of the entries, and the to-value is specified, the string is replaced with the to-value and is then passed to the command processing program (CPP) without further checking. If the to-value is omitted, the from-value is passed to the CPP. This parameter is not valid if *YES is specified on the <b>Return value (RTNVAL)</b> parameter, or if *CMD, *CMDSTR, *X, *ZEROELEM, *NULL, or a statement label is specified for the <b>Type of value (TYPE)</b> parameter.
|
||
|
</p>
|
||
|
<p>The from-value is a character string, but the to-value can be anything that is passable. However, for TYPE(*DATE) the to-value must be specified not quoted in the <i>mmddyy</i>, <i>mmddyyyy</i>, or the <i>Cyymmdd</i> format. If a CL variable is used for the from-value, its type must be *CHAR. The to-value must be no longer than specified on the <b>Value length (LEN)</b> parameter, and, if *DEC, *INT2, *INT4, *UINT2 or *UINT4 is specified for the <b>Type of value (TYPE)</b> parameter, the type of the to-value must be the same. If the <b>Type of value (TYPE)</b> parameter is a character type (such as *CHAR, *LGL or *DATE), the to-value must be a character string. Character constants specified in this parameter can be no longer than 32 characters. If a to-value is not specified, the from-value must be passable.
|
||
|
</p>
|
||
|
<p>If a to-value of *CURLIB is specified, the name of the current library, rather than the value *CURLIB, is passed to the CPP. If the from-value is *CURLIB and no to-value is specified, or if the to-value is *CURLIB and it is enclosed in apostrophes, the value *CURLIB is passed to the CPP.
|
||
|
</p>
|
||
|
<p>Variables cannot be coded for this element.
|
||
|
</p>
|
||
|
</div>
|
||
|
<table width="100%">
|
||
|
<tr><td align="right"><a href="#PARM.Top_Of_Page">Top</a></td></tr>
|
||
|
</table>
|
||
|
<div> <a name="PARM.SNGVAL"></a>
|
||
|
<h3>Single values (SNGVAL)</h3>
|
||
|
<p>Specifies a list of up to 300 single values that can be specified for a parameter being defined as a mixed list or as a qualified name, when a statement label is specified for the <b>Type of value (TYPE)</b> parameter, or specifies that it is to accept two or more values as defined by the <b>Maximum values allowed (MAX)</b> parameter. Any one of the single values can be entered instead of a list of values or a qualified name that the parameter is defined to accept. Each entry specifies a character string (a from-value) that can be entered. If an entered character string matches the from-value of one of the entries and the to-value is specified, the data is replaced with the to-value and is then passed to the command processing program without further checking. If the to-value is omitted, the from-value is passed to the command processing program.
|
||
|
</p>
|
||
|
<p>The to-value (or the from-value, if the to-value is omitted) must be passable, as specified in the <b>Special values (SPCVAL)</b> parameter. Character constants specified in this parameter can be no longer than 32 characters. This parameter can be specified only if the <b>Maximum values allowed (MAX)</b> parameter is greater than 1 or if TYPE is specified as a statement label of a QUAL or ELEM statement. Each single value can only be substituted for a list of values or a qualified name; it cannot be a list item or qualifier. It is passed as the first and only element of the list.
|
||
|
</p>
|
||
|
<p>This parameter is not valid if *YES is specified on the <b>Return value (RTNVAL)</b> parameter, or if *CMD, *CMDSTR, *X, *ZEROELEM, *NULL, or a statement label is specified for the <b>Type of value (TYPE)</b> parameter.
|
||
|
</p>
|
||
|
<p>If a to-value of *CURLIB is specified, the name of the current library, rather than the value *CURLIB, is passed to the command processing program. If the from-value is *CURLIB and no to-value is specified, or if the to-value is *CURLIB and it is enclosed in apostrophes, the value *CURLIB is passed to the command processing program.
|
||
|
</p>
|
||
|
<p>Variables cannot be coded for this element.
|
||
|
</p>
|
||
|
</div>
|
||
|
<table width="100%">
|
||
|
<tr><td align="right"><a href="#PARM.Top_Of_Page">Top</a></td></tr>
|
||
|
</table>
|
||
|
<div> <a name="PARM.MIN"></a>
|
||
|
<h3>Minimum values required (MIN)</h3>
|
||
|
<p>Specifies the minimum number of values that must be entered for the parameter being defined. For a parameter that does not allow multiple like values, only zero (0) for optional and 1 for required can be specified as the minimum number of values.
|
||
|
</p>
|
||
|
<p>
|
||
|
<b>Note: </b>Required parameter statements must precede optional statements. If required parameter statements are not specified first, the system assumes that the specified parameter is optional, and the minimum number of values for required parameters is ignored.
|
||
|
</p>
|
||
|
<p>For a parameter that allows multiple like values, because a value greater than 1 is specified for the <b>Maximum values allowed (MAX)</b> parameter, zero (0) indicates that no values need be entered; therefore, it is an <i>optional</i> parameter. A value of 1 or greater than 1 indicates the minimum number of values that must be entered for the parameter, and, therefore, it is a <i>required</i> parameter. The value cannot exceed 1 if *NULL is specified for the <b>Type of value (TYPE)</b> parameter.
|
||
|
</p>
|
||
|
<dl>
|
||
|
<dt><b><u>0</u></b></dt>
|
||
|
<dd>The parameter is optional; it does not have to be entered.
|
||
|
</dd>
|
||
|
<dt><b><i>minimum-number</i></b></dt>
|
||
|
<dd>Specify the minimum number of elements that must be specified for this parameter. If 1 is the assigned value, it specifies that at least one value is required for the parameter. If a number greater than 1 is specified, the parameter is a list that must have at least as many elements as the number specified.
|
||
|
</dd>
|
||
|
</dl>
|
||
|
</div>
|
||
|
<table width="100%">
|
||
|
<tr><td align="right"><a href="#PARM.Top_Of_Page">Top</a></td></tr>
|
||
|
</table>
|
||
|
<div> <a name="PARM.MAX"></a>
|
||
|
<h3>Maximum values allowed (MAX)</h3>
|
||
|
<p>Specifies, if this PARM statement is defining a simple list parameter, the maximum number of list items that this list parameter can contain. If a value greater than 1 is specified, the parameter is capable of accepting multiple like values (that is, a simple list). This support is primarily intended for IBM-supplied commands. All values entered for this parameter (at the time the command is run) must satisfy the validity checking requirements specified by the other parameter values on this PARM statement.
|
||
|
</p>
|
||
|
<p>
|
||
|
<b>Note: </b>The values for a list parameter are passed consecutively, preceded by a 2-byte binary value that indicates the number of values entered in the parameter by the user. CL programs do not support the handling of binary values in variables.
|
||
|
</p>
|
||
|
<dl>
|
||
|
<dt><b><u>1</u></b></dt>
|
||
|
<dd>The parameter accepts only one value; the parameter is not a list parameter.
|
||
|
</dd>
|
||
|
<dt><b><i>maximum-number</i></b></dt>
|
||
|
<dd>Specify the maximum number of elements that the list parameter can accept. The specified maximum must be greater than or equal to the value specified in the <b>Minimum values required (MIN)</b> parameter, and less than or equal to 300. If the maximum is greater than 1 and a statement label that identifies a QUAL or ELEM statement is not specified for the <b>Type of value (TYPE)</b> parameter, the parameter is a simple list of like elements (that is, each element in the list has the same requirements, such as type and length). If a statement label is specified and it points to the label of an ELEM or QUAL statement, a number greater than 1 should only be specified for this parameter if a list of lists or a list of qualified names is accepted. A maximum greater than 1 is not valid if *CMD, *CMDSTR, or *NULL is specified for the <b>Type of value (TYPE)</b> parameter, or if *YES is specified for the <b>Return value (RTNVAL)</b> parameter, or if the <b>Constant value (CONSTANT)</b> parameter is specified.
|
||
|
</dd>
|
||
|
</dl>
|
||
|
</div>
|
||
|
<table width="100%">
|
||
|
<tr><td align="right"><a href="#PARM.Top_Of_Page">Top</a></td></tr>
|
||
|
</table>
|
||
|
<div> <a name="PARM.ALWUNPRT"></a>
|
||
|
<h3>Allow unprintable characters (ALWUNPRT)</h3>
|
||
|
<p>Specifies whether this PARM statement accepts the hexadecimal characters above X'FF' or those in the range of X'00' through X'3F'. This parameter is valid only if *CHAR or *X is specified for the <b>Type of value (TYPE)</b> parameter.
|
||
|
</p>
|
||
|
<dl>
|
||
|
<dt><b><u>*YES</u></b></dt>
|
||
|
<dd>Characters can be passed to the command processing program and sent to the display or printer.
|
||
|
</dd>
|
||
|
<dt><b>*NO</b></dt>
|
||
|
<dd>Unprintable characters cannot be passed to the command processing program.
|
||
|
</dd>
|
||
|
</dl>
|
||
|
</div>
|
||
|
<table width="100%">
|
||
|
<tr><td align="right"><a href="#PARM.Top_Of_Page">Top</a></td></tr>
|
||
|
</table>
|
||
|
<div> <a name="PARM.ALWVAR"></a>
|
||
|
<h3>Allow variable names (ALWVAR)</h3>
|
||
|
<p>Specifies whether to allow variable names for the parameter. *NO is not allowed on this parameter if *VARNAME, *ZEROELEM, *NULL, or a statement label is specified on the <b>Type of value (TYPE)</b> parameter.
|
||
|
</p>
|
||
|
<dl>
|
||
|
<dt><b><u>*YES</u></b></dt>
|
||
|
<dd>Variable names can be used for the parameter.
|
||
|
</dd>
|
||
|
<dt><b>*NO</b></dt>
|
||
|
<dd>Variable names cannot be used for the parameter.
|
||
|
</dd>
|
||
|
</dl>
|
||
|
</div>
|
||
|
<table width="100%">
|
||
|
<tr><td align="right"><a href="#PARM.Top_Of_Page">Top</a></td></tr>
|
||
|
</table>
|
||
|
<div> <a name="PARM.PGM"></a>
|
||
|
<h3>Is PARM a program name (PGM)</h3>
|
||
|
<p>Specifies whether this parameter element is a program name. *YES is valid only if a statement label, *CHAR, *NAME, *SNAME, *CNAME, or *GENERIC is specified for the <b>Type of value (TYPE)</b> parameter. Specifying *YES here does not have any effect on the parameter element being defined by the PARM statement; it only indicates to the compiler that the value for this parameter is a program name. This information is stored so that it can be included in the output of the Display Program References (DSPPGMREF) command.
|
||
|
</p>
|
||
|
<dl>
|
||
|
<dt><b><u>*NO</u></b></dt>
|
||
|
<dd>The parameter defined in this PARM statement is not a program name.
|
||
|
</dd>
|
||
|
<dt><b>*YES</b></dt>
|
||
|
<dd>The parameter defined in this PARM statement is a program name.
|
||
|
</dd>
|
||
|
</dl>
|
||
|
</div>
|
||
|
<table width="100%">
|
||
|
<tr><td align="right"><a href="#PARM.Top_Of_Page">Top</a></td></tr>
|
||
|
</table>
|
||
|
<div> <a name="PARM.DTAARA"></a>
|
||
|
<h3>Is PARM a data area name (DTAARA)</h3>
|
||
|
<p>Specifies whether the parameter is a data area name. *YES is valid only if a statement label, *CHAR, *NAME, *SNAME, *CNAME, or *GENERIC is specified for the <b>Type of value (TYPE)</b> parameter. Specifying *YES here does not have any effect on the parameter being defined by the PARM statement; it only indicates to the compiler that the value for this parameter is a data area. This information is stored so that it can be included in the output of the Display Program References (DSPPGMREF) command.
|
||
|
</p>
|
||
|
<dl>
|
||
|
<dt><b><u>*NO</u></b></dt>
|
||
|
<dd>The parameter defined in this PARM statement is not a data area name.
|
||
|
</dd>
|
||
|
<dt><b>*YES</b></dt>
|
||
|
<dd>The parameter defined in this PARM statement is a data area name.
|
||
|
</dd>
|
||
|
</dl>
|
||
|
</div>
|
||
|
<table width="100%">
|
||
|
<tr><td align="right"><a href="#PARM.Top_Of_Page">Top</a></td></tr>
|
||
|
</table>
|
||
|
<div> <a name="PARM.FILE"></a>
|
||
|
<h3>If a file parameter, how used (FILE)</h3>
|
||
|
<p>Specifies the expected use of the file and whether the parameter is a file name. The parameter can be specified as the name of a file that has a specific use so that, at compile time, the names can be used to get file reference information about where the files are used. The specification in this parameter does not have any effect on the operation of the parameter being defined; it only indicates to the compiler that the value for this parameter is a file name and what type of file it is. This information is stored so it can be included in the output of the Display Program References (DSPPGMREF) command. This parameter is valid only if a statement label, *CHAR, *NAME, *SNAME, *CNAME, or *GENERIC is specified for the <b>Type of value (TYPE)</b> parameter. It is not valid if *YES is specified on the <b>Return value (RTNVAL)</b> parameter.
|
||
|
</p>
|
||
|
<dl>
|
||
|
<dt><b><u>*NO</u></b></dt>
|
||
|
<dd>The parameter is not a file name.
|
||
|
</dd>
|
||
|
<dt><b>*IN</b></dt>
|
||
|
<dd>The parameter value is an input file name.
|
||
|
</dd>
|
||
|
<dt><b>*OUT</b></dt>
|
||
|
<dd>The parameter value is an output file name.
|
||
|
</dd>
|
||
|
<dt><b>*UPD</b></dt>
|
||
|
<dd>The parameter value is an update file name.
|
||
|
</dd>
|
||
|
<dt><b>*INOUT</b></dt>
|
||
|
<dd>The parameter value is the name of a file that is used for both input and output.
|
||
|
</dd>
|
||
|
<dt><b>*UNSPFD</b></dt>
|
||
|
<dd>The parameter value is the name of a file, but its use cannot be specified.
|
||
|
<p>The use of the file must match the type of file specified. For example, if *IN is specified, the file can be used only for input; if *UPD is specified, it can be used only to update existing records.
|
||
|
</p>
|
||
|
</dd>
|
||
|
</dl>
|
||
|
</div>
|
||
|
<table width="100%">
|
||
|
<tr><td align="right"><a href="#PARM.Top_Of_Page">Top</a></td></tr>
|
||
|
</table>
|
||
|
<div> <a name="PARM.FULL"></a>
|
||
|
<h3>Full field required (FULL)</h3>
|
||
|
<p>Specifies whether the number of characters in the parameter must be exactly the same as the number specified on the <b>Value length (LEN)</b> parameter (if specified) or its default length (if LEN is not specified).
|
||
|
</p>
|
||
|
<dl>
|
||
|
<dt><b><u>*NO</u></b></dt>
|
||
|
<dd>The number of characters in the parameter can be less than that specified by the <b>Value length (LEN)</b> parameter.
|
||
|
</dd>
|
||
|
<dt><b>*YES</b></dt>
|
||
|
<dd>The number of characters in the parameter must equal the number specified by LEN or the default length for that type. The exact length is valid only if *LGL, *CHAR, *NAME, *SNAME, *CNAME, *GENERIC, *VARNAME, or *HEX is specified for the <b>Type of value (TYPE)</b> parameter. Specifying *YES here is valid with *YES specified on the <b>Return value (RTNVAL)</b> parameter.
|
||
|
</dd>
|
||
|
</dl>
|
||
|
</div>
|
||
|
<table width="100%">
|
||
|
<tr><td align="right"><a href="#PARM.Top_Of_Page">Top</a></td></tr>
|
||
|
</table>
|
||
|
<div> <a name="PARM.EXPR"></a>
|
||
|
<h3>Value an expression (EXPR)</h3>
|
||
|
<p>Specifies whether the parameter named in the KWD parameter can accept an expression containing a character concatenation or a built-in function (%SUBSTRING or %BIN).
|
||
|
</p>
|
||
|
<p><b>Restrictions:</b> Expressions are not allowed on parameters where *CMD, *ZEROELEM, *NULL, or a statement label is specified for the <b>Type of value (TYPE)</b> parameter.
|
||
|
</p>
|
||
|
<dl>
|
||
|
<dt><b><u>*NO</u></b></dt>
|
||
|
<dd>The parameter value cannot be a concatenation expression or a built-in function.
|
||
|
</dd>
|
||
|
<dt><b>*YES</b></dt>
|
||
|
<dd>The parameter value can be a concatenation expression or a built in function.
|
||
|
</dd>
|
||
|
</dl>
|
||
|
</div>
|
||
|
<table width="100%">
|
||
|
<tr><td align="right"><a href="#PARM.Top_Of_Page">Top</a></td></tr>
|
||
|
</table>
|
||
|
<div> <a name="PARM.VARY"></a>
|
||
|
<h3>Varying length (VARY)</h3>
|
||
|
<p>Specifies whether the value that is passed to the command processing program is preceded by a length value that indicates the number of characters entered for the command parameter.
|
||
|
</p>
|
||
|
<p>
|
||
|
<b>Note: </b>The length value is the actual number of characters entered for the command parameter, with trailing blanks removed. The length value passed may be different than the defined parameter length or the declared variable length. The length of the field containing the character string data is determined by the defined length for the parameter or the declared LEN for CL program variables. The length value defines how many characters in the character string data field were actually entered for the command parameter.
|
||
|
</p>
|
||
|
<p><b>Single values</b>
|
||
|
</p>
|
||
|
<dl>
|
||
|
<dt><b><u>*NO</u></b></dt>
|
||
|
<dd>The parameter value is not preceded by a length value.
|
||
|
</dd>
|
||
|
</dl>
|
||
|
<p><b>Element 1: Return length value</b>
|
||
|
</p>
|
||
|
<dl>
|
||
|
<dt><b>*YES</b></dt>
|
||
|
<dd>The parameter value passed to the CPP is preceded by a field that indicates the number of characters actually specified for the parameter. *YES is valid only for the following parameter types: *CHAR, *NAME, *SNAME, *CNAME, *PNAME, *GENERIC, *LGL, *VARNAME, *CMD, *CMDSTR, and *X. *YES must be specified if PASSATR(*YES) and RTNVAL(*YES) are specified.
|
||
|
</dd>
|
||
|
</dl>
|
||
|
<p><b>Element 2: Value length</b>
|
||
|
</p>
|
||
|
<dl>
|
||
|
<dt><b><u>*INT2</u></b></dt>
|
||
|
<dd>The parameter value is an integer passed as a 2-byte signed binary number.
|
||
|
</dd>
|
||
|
<dt><b>*INT4</b></dt>
|
||
|
<dd>The parameter value is an integer passed as a 4-byte signed binary number.
|
||
|
</dd>
|
||
|
</dl>
|
||
|
</div>
|
||
|
<table width="100%">
|
||
|
<tr><td align="right"><a href="#PARM.Top_Of_Page">Top</a></td></tr>
|
||
|
</table>
|
||
|
<div> <a name="PARM.PASSATR"></a>
|
||
|
<h3>Pass attribute byte (PASSATR)</h3>
|
||
|
<p>Specifies whether an attribute byte is passed to the command processing program with the parameter data.
|
||
|
</p>
|
||
|
<p>The attribute byte precedes the parameter data. If the parameter allows multiple values to be specified, an attribute byte precedes each value.
|
||
|
</p>
|
||
|
<dl>
|
||
|
<dt><b><u>*NO</u></b></dt>
|
||
|
<dd>An attribute byte is not passed with the parameter.
|
||
|
</dd>
|
||
|
<dt><b>*YES</b></dt>
|
||
|
<dd>An attribute byte is passed with the parameter.
|
||
|
<p>The attribute byte has two fields:
|
||
|
</p>
|
||
|
<ol>
|
||
|
<li>The leftmost bit of the attribute byte indicates whether or not a value was specified. If the leftmost bit is '0'B, the value passed to the command processing program is a default value and was not specified in the command string. If the leftmost bit is '1'B, the value passed to the command processing program was specified in the command string.
|
||
|
</li>
|
||
|
<li>The remaining seven bits describe the value passed to the command processing program when *CHAR is specified for the <b>Type of value (TYPE)</b> parameter.
|
||
|
<p>
|
||
|
<pre>
|
||
|
Attribute Description
|
||
|
---------- --------------------------------------
|
||
|
'0000010'B Meets *NAME rules, like <b>A_B</b>
|
||
|
'0000100'B Meets *GENERIC rules, like <b>AB*</b>
|
||
|
'1000101'B Quoted character string, like <b>'A B'</b>
|
||
|
'0000101'B Unquoted character string, like <b>5A</b>
|
||
|
'1001000'B Logical constant, <b>'0'</b> or <b>'1'</b>
|
||
|
'0001100'B Hexadecimal value, like <b>X'C1C2'</b>
|
||
|
'0100001'B Unsigned numeric value, like <b>5</b>
|
||
|
'0101001'B Unsigned numeric with decimal point,
|
||
|
like <b>5.2</b>
|
||
|
'0110001'B Signed numeric value, like <b>-5</b>
|
||
|
'0111001'B Signed numeric with decimal point,
|
||
|
like <b>-5.2</b>
|
||
|
</pre>
|
||
|
</p>
|
||
|
</li>
|
||
|
</ol>
|
||
|
</dd>
|
||
|
</dl>
|
||
|
</div>
|
||
|
<table width="100%">
|
||
|
<tr><td align="right"><a href="#PARM.Top_Of_Page">Top</a></td></tr>
|
||
|
</table>
|
||
|
<div> <a name="PARM.PASSVAL"></a>
|
||
|
<h3>Value to pass if unspecified (PASSVAL)</h3>
|
||
|
<p>Specifies whether a value is passed to the command processing program for this parameter. *NULL is not valid if the parameter is a constant parameter (a parameter in which a value has been specified for the <b>Constant value (CONSTANT)</b> parameter, or a parameter for which *ZEROELEM or *NULL has been specified for the <b>Type of value (TYPE)</b> parameter, or a list/qualified name defined by all constant ELEM or QUAL statements). *NULL also is not valid if *YES has been specified on the <b>Return value (RTNVAL)</b> parameter, or if the value specified for the <b>Minimum values required (MIN)</b> parameter is greater than zero. A DEP statement or the REL and RANGE keywords of other PARM statements may not refer to the value of a parameter defined with *NULL.
|
||
|
</p>
|
||
|
<dl>
|
||
|
<dt><b><u>*DFT</u></b></dt>
|
||
|
<dd>The default value is always passed to the command processing program.
|
||
|
</dd>
|
||
|
<dt><b>*NULL</b></dt>
|
||
|
<dd>A null pointer is passed to the command processing program if the parameter is not specified.
|
||
|
</dd>
|
||
|
</dl>
|
||
|
</div>
|
||
|
<table width="100%">
|
||
|
<tr><td align="right"><a href="#PARM.Top_Of_Page">Top</a></td></tr>
|
||
|
</table>
|
||
|
<div> <a name="PARM.CASE"></a>
|
||
|
<h3>Case of value (CASE)</h3>
|
||
|
<p>Specifies whether the value that is passed to the CPP is changed from lowercase to uppercase, or is preserved in the case specified on for the command parameter.
|
||
|
</p>
|
||
|
<dl>
|
||
|
<dt><b><u>*MONO</u></b></dt>
|
||
|
<dd>The parameter value is changed from lowercase to uppercase. Parameters enclosed with apostrophes preserve the case whether or not this value is specified.
|
||
|
</dd>
|
||
|
<dt><b>*MIXED</b></dt>
|
||
|
<dd>The parameter value is preserved in the case specified on the command parameter. This value can be specified only on *CHAR and *PNAME parameter types.
|
||
|
</dd>
|
||
|
</dl>
|
||
|
</div>
|
||
|
<table width="100%">
|
||
|
<tr><td align="right"><a href="#PARM.Top_Of_Page">Top</a></td></tr>
|
||
|
</table>
|
||
|
<div> <a name="PARM.CCSID"></a>
|
||
|
<h3>CCSID of value (CCSID)</h3>
|
||
|
<p>Specifies the coded character set identifier (CCSID) to use when passing the parameter value.
|
||
|
</p>
|
||
|
<dl>
|
||
|
<dt><b><u>*JOB</u></b></dt>
|
||
|
<dd>If the command string was originally in Unicode, the value will be converted to the job CCSID. If the original command string was not in Unicode, the job CCSID is assumed and no conversion is done.
|
||
|
</dd>
|
||
|
<dt><b>*UTF16</b></dt>
|
||
|
<dd>The parameter value is converted to UTF16. If the original input was not in Unicode it is assumed to be in the job CCSID. This value can be specified only on *CHAR and *PNAME parameter types.
|
||
|
</dd>
|
||
|
</dl>
|
||
|
</div>
|
||
|
<table width="100%">
|
||
|
<tr><td align="right"><a href="#PARM.Top_Of_Page">Top</a></td></tr>
|
||
|
</table>
|
||
|
<div> <a name="PARM.LISTDSPL"></a>
|
||
|
<h3>List displacement (LISTDSPL)</h3>
|
||
|
<p>Specifies whether the displacement to a list within a list is 2-bytes or 4-bytes long. These displacements are generated when a parameter being passed to a CPP has a list within a list. This parameter is ignored if the value being built for the CPP does not contain a list within a list.
|
||
|
</p>
|
||
|
<dl>
|
||
|
<dt><b><u>*INT2</u></b></dt>
|
||
|
<dd>The displacement value is an integer passed as a 2-byte signed binary number.
|
||
|
</dd>
|
||
|
<dt><b>*INT4</b></dt>
|
||
|
<dd>The displacement value is an integer passed as a 4-byte signed binary number.
|
||
|
</dd>
|
||
|
</dl>
|
||
|
</div>
|
||
|
<table width="100%">
|
||
|
<tr><td align="right"><a href="#PARM.Top_Of_Page">Top</a></td></tr>
|
||
|
</table>
|
||
|
<div> <a name="PARM.DSPINPUT"></a>
|
||
|
<h3>Display input (DSPINPUT)</h3>
|
||
|
<p>Specifies whether the keyword value is shown in the job log or in a prompt display.
|
||
|
</p>
|
||
|
<dl>
|
||
|
<dt><b><u>*YES</u></b></dt>
|
||
|
<dd>The default response, *YES, indicates that the parameter value is shown on the prompt display and in the job log.
|
||
|
</dd>
|
||
|
<dt><b>*PROMPT</b></dt>
|
||
|
<dd>The response *PROMPT indicates that the parameter value is shown on the prompt display but not in the job log.
|
||
|
</dd>
|
||
|
<dt><b>*NO</b></dt>
|
||
|
<dd>The response *NO indicates that the value is not shown on either the prompt display or in the job log.
|
||
|
</dd>
|
||
|
</dl>
|
||
|
</div>
|
||
|
<table width="100%">
|
||
|
<tr><td align="right"><a href="#PARM.Top_Of_Page">Top</a></td></tr>
|
||
|
</table>
|
||
|
<div> <a name="PARM.CHOICE"></a>
|
||
|
<h3>Choice text (CHOICE)</h3>
|
||
|
<p>Specifies the choices text that is displayed to the right of the input field on the prompt screen. Up to 30 characters of text can be displayed.
|
||
|
</p>
|
||
|
<dl>
|
||
|
<dt><b><u>*VALUES</u></b></dt>
|
||
|
<dd>The choices text is generated based on the values specified for the TYPE, RSTD, RANGE, SNGVAL, SPCVAL, and VALUES parameters. If constants are specified for the RANGE parameter, the choices text begins with the minimum value and the maximum value separated by a hyphen. If RANGE is not specified with constants as the minimum and maximum values, and RSTD(*NO) is specified, the choices text begins with a short description of the parameter type based on the value specified for the TYPE parameter. Values specified for the SNGVAL parameter are added to the choices text, in the order the values are defined in the command definition source and separated by a comma and a blank. The last entries added to the choices text are values specified for the SPCVAL or VALUES parameter, in the order the values are defined in the command definition source and separated by a comma and a blank. If there are too many values to fit in 30 characters, the last value is followed by three periods.
|
||
|
<p>The following are examples of possible choices text generated by CHOICE(*VALUES):
|
||
|
</p>
|
||
|
<ul>
|
||
|
<li>If TYPE(*DEC) and RANGE(1.0 999.9) and SPCVAL((*NOMAX -1)) are specified, the choices text will be:
|
||
|
<p>
|
||
|
<pre>
|
||
|
1.0-999.9, *NOMAX
|
||
|
</pre>
|
||
|
</p>
|
||
|
</li>
|
||
|
<li>If TYPE(*NAME) and RSTD(*NO) and SNGVAL(*ALL) and SPCVAL(*LIBL *CURLIB) are specified, the choices text will be:
|
||
|
<p>
|
||
|
<pre>
|
||
|
Name, *ALL, *LIBL, *CURLIB
|
||
|
</pre>
|
||
|
</p>
|
||
|
</li>
|
||
|
<li>If RSTD(*YES) and SNGVAL(*ALL) and SPCVAL(*ALRTBL *BNDDIR *CHTFMT *CLD *CLS *CMD) are specified, the choices text will be:
|
||
|
<p>
|
||
|
<pre>
|
||
|
*ALL, *ALRTBL, *BNDDIR...
|
||
|
</pre>
|
||
|
</p>
|
||
|
</li>
|
||
|
</ul>
|
||
|
</dd>
|
||
|
<dt><b>*NONE</b></dt>
|
||
|
<dd>No values are displayed.
|
||
|
</dd>
|
||
|
<dt><b>*PGM</b></dt>
|
||
|
<dd>A program that is called determines the values that are displayed. The program that is called is identified in <b>Choice program (CHOICEPGM)</b> parameter of the PARM statement.
|
||
|
</dd>
|
||
|
<dt><b><i>message-identifier</i></b></dt>
|
||
|
<dd>Specify the message ID of the message used to retrieve the message containing the text for the possible values field. The message file specified on the <b>Message file for prompt text (PMTFILE)</b> parameter of the Create Command (CRTCMD) command is used to find the message.
|
||
|
</dd>
|
||
|
<dt><b><i>'choices-text'</i></b></dt>
|
||
|
<dd>Specify no more than 30 characters, enclosed in apostrophes.
|
||
|
</dd>
|
||
|
</dl>
|
||
|
</div>
|
||
|
<table width="100%">
|
||
|
<tr><td align="right"><a href="#PARM.Top_Of_Page">Top</a></td></tr>
|
||
|
</table>
|
||
|
<div> <a name="PARM.CHOICEPGM"></a>
|
||
|
<h3>Choice program (CHOICEPGM)</h3>
|
||
|
<p>Specifies the program to be called during command prompting to fill in the possible choices text and the permissible values. This parameter must be specified if *PGM is specified on the <b>Choice text (CHOICE)</b> parameter and may not be specified otherwise.
|
||
|
</p>
|
||
|
<p><b>Single values</b>
|
||
|
</p>
|
||
|
<dl>
|
||
|
<dt><b><u>*NONE</u></b></dt>
|
||
|
<dd>No program is identified to fill in the possible choices text and permissible values.
|
||
|
</dd>
|
||
|
</dl>
|
||
|
<p><b>Qualifier 1: Choice program</b>
|
||
|
</p>
|
||
|
<dl>
|
||
|
<dt><b><i>name</i></b></dt>
|
||
|
<dd>Specifies the name of the program to be called during prompting to fill in the possible choices text or permissible values. If an exception occurs when the program is called, no possible choices text is left blank, and the list of permissible values is taken from the command.
|
||
|
</dd>
|
||
|
</dl>
|
||
|
<p><b>Qualifier 2: Library</b>
|
||
|
</p>
|
||
|
<dl>
|
||
|
<dt><b><u>*LIBL</u></b></dt>
|
||
|
<dd>All libraries in the library list for the current thread are searched until the first match is found.
|
||
|
</dd>
|
||
|
</dl>
|
||
|
<dl>
|
||
|
<dt><b>*CURLIB</b></dt>
|
||
|
<dd>The current library for the job is used to locate the program. If no library is specified as the current library for the job, QGPL is used.
|
||
|
</dd>
|
||
|
<dt><b><i>name</i></b></dt>
|
||
|
<dd>Specify the name of the library where the program is located.
|
||
|
</dd>
|
||
|
</dl>
|
||
|
</div>
|
||
|
<table width="100%">
|
||
|
<tr><td align="right"><a href="#PARM.Top_Of_Page">Top</a></td></tr>
|
||
|
</table>
|
||
|
<div> <a name="PARM.PMTCTL"></a>
|
||
|
<h3>Prompt control (PMTCTL)</h3>
|
||
|
<p>Specifies how prompting is be controlled for this parameter. Prompting may be controlled by another parameter, specified by a Prompt Control (PMTCTL) statement referred to by label in this parameter, or by user request by pressing the F10 key.
|
||
|
</p>
|
||
|
<dl>
|
||
|
<dt><b><u>*NONE</u></b></dt>
|
||
|
<dd>The parameter is always prompted, unless it is omitted due to selective prompting.
|
||
|
</dd>
|
||
|
<dt><b>*PMTRQS</b></dt>
|
||
|
<dd>The parameter is not prompted unless:
|
||
|
<ul>
|
||
|
<li>The user requests optional parameters to be prompted.
|
||
|
</li>
|
||
|
<li>A value was entered for the parameter before the prompt was called.
|
||
|
</li>
|
||
|
<li>The parameter was selected by selective prompt characters.
|
||
|
</li>
|
||
|
</ul>
|
||
|
</dd>
|
||
|
<dt><b><i>statement label</i></b></dt>
|
||
|
<dd>Specify the label of the Prompt Control (PMTCTL) statement that is used to determine whether this parameter is prompted. The parameter is not prompted unless:
|
||
|
<ul>
|
||
|
<li>The conditions specified on the referred to PMTCTL statement have been met.
|
||
|
</li>
|
||
|
<li>A value was entered for the parameter before the prompt was called.
|
||
|
</li>
|
||
|
<li>The parameter was selected by selective prompt characters.
|
||
|
</li>
|
||
|
</ul>
|
||
|
</dd>
|
||
|
</dl>
|
||
|
</div>
|
||
|
<table width="100%">
|
||
|
<tr><td align="right"><a href="#PARM.Top_Of_Page">Top</a></td></tr>
|
||
|
</table>
|
||
|
<div> <a name="PARM.PMTCTLPGM"></a>
|
||
|
<h3>Prompt control program (PMTCTLPGM)</h3>
|
||
|
<p>Specifies the program to be called to convert the value specified for the parameter into a value used on a Prompt Control (PMTCTL) statement. This parameter is valid only on parameters that are referred to in the <b>Controlling keyword (CTL)</b> parameter of a PMTCTL statement.
|
||
|
</p>
|
||
|
<p><b>Single values</b>
|
||
|
</p>
|
||
|
<dl>
|
||
|
<dt><b><u>*NONE</u></b></dt>
|
||
|
<dd>No program is to be called to convert the parameter value for prompt control statements. If the parameter is specified in a Prompt Control (PMTCTL) statement, the actual value is compared in that PMTCTL statement.
|
||
|
</dd>
|
||
|
</dl>
|
||
|
<p><b>Qualifier 1: Prompt control program</b>
|
||
|
</p>
|
||
|
<dl>
|
||
|
<dt><b><i>name</i></b></dt>
|
||
|
<dd>Specify the name of the program to be called to convert the parameter value.
|
||
|
</dd>
|
||
|
</dl>
|
||
|
<p><b>Qualifier 2: Library</b>
|
||
|
</p>
|
||
|
<dl>
|
||
|
<dt><b><u>*LIBL</u></b></dt>
|
||
|
<dd>All libraries in the library list for the current thread are searched until the first match is found.
|
||
|
</dd>
|
||
|
</dl>
|
||
|
<dl>
|
||
|
<dt><b>*CURLIB</b></dt>
|
||
|
<dd>The current library for the job is used to locate the program. If no library is specified as the current library for the job, QGPL is used.
|
||
|
</dd>
|
||
|
<dt><b><i>name</i></b></dt>
|
||
|
<dd>Specify the name of the library where the program is located.
|
||
|
</dd>
|
||
|
</dl>
|
||
|
</div>
|
||
|
<table width="100%">
|
||
|
<tr><td align="right"><a href="#PARM.Top_Of_Page">Top</a></td></tr>
|
||
|
</table>
|
||
|
<div> <a name="PARM.KEYPARM"></a>
|
||
|
<h3>Key parameter (KEYPARM)</h3>
|
||
|
<p>Specifies that this parameter is initially displayed when the command is prompted and a prompt override program was specified when the command was created or changed. If no prompt override program is specified, KEYPARM(*NO) is assumed for all parameters.
|
||
|
</p>
|
||
|
<dl>
|
||
|
<dt><b><u>*NO</u></b></dt>
|
||
|
<dd>The parameter is not displayed initially.
|
||
|
</dd>
|
||
|
<dt><b>*YES</b></dt>
|
||
|
<dd>The parameter is displayed initially.
|
||
|
</dd>
|
||
|
</dl>
|
||
|
</div>
|
||
|
<table width="100%">
|
||
|
<tr><td align="right"><a href="#PARM.Top_Of_Page">Top</a></td></tr>
|
||
|
</table>
|
||
|
<div> <a name="PARM.INLPMTLEN"></a>
|
||
|
<h3>Initial prompt length (INLPMTLEN)</h3>
|
||
|
<p>Specifies the length of the input field initially displayed for the parameter when the command is prompted. The user can extend the field to a maximum length of 512 bytes by entering an ampersand (&) in the first position of the field, followed by a blank. INLPMTLEN is valid only if TYPE is specified as *CHAR, *NAME, *SNAME, *CNAME, *PNAME, *GENERIC, *CMDSTR, *HEX, *X, or *CMD. If FULL(*YES), RSTD(*YES), or CONSTANT are specified, INLPMTLEN(*CALC) must be specified or defaulted.
|
||
|
</p>
|
||
|
<dl>
|
||
|
<dt><b><u>*CALC</u></b></dt>
|
||
|
<dd>The prompter will determine the length of the prompt field based on the type and length of the parameter.
|
||
|
</dd>
|
||
|
<dt><b>*PWD</b></dt>
|
||
|
<dd>If the current value of system value QPWDLVL is '0' or '1', the prompt field will be 10 bytes long. Otherwise, the length of the prompt field will be determined by the length of the parameter. INLPMTLEN(*PWD) is valid only if TYPE is specified as *CHAR, *NAME, *SNAME, *PNAME, or *CNAME.
|
||
|
</dd>
|
||
|
<dt><b><i>initial-prompt-length</i></b></dt>
|
||
|
<dd>Specify the initial length in bytes. Valid values are 1-12, 17, 25, 32, 50, 80, 132, 256, and 512.
|
||
|
</dd>
|
||
|
</dl>
|
||
|
</div>
|
||
|
<table width="100%">
|
||
|
<tr><td align="right"><a href="#PARM.Top_Of_Page">Top</a></td></tr>
|
||
|
</table>
|
||
|
<div> <a name="PARM.PROMPT"></a>
|
||
|
<h3>Prompt specifications (PROMPT)</h3>
|
||
|
<p>Specifies what prompt text is used for the parameter. The prompt text gives a short description of the parameter which appears next to the parameter keyword and input field when the command is prompted. Prompt text cannot be specified if *ZEROELEM or *NULL is specified for the <b>Type of value (TYPE)</b> parameter, or if a constant value is specified in the <b>Constant value (CONSTANT)</b> parameter.
|
||
|
</p>
|
||
|
<p><b>Single values</b>
|
||
|
</p>
|
||
|
<dl>
|
||
|
<dt><b><u>*NONE</u></b></dt>
|
||
|
<dd>No prompt text is shown for the parameter defined by this PARM statement. This parameter is still prompted by its keyword name, but no prompt text is shown beside the keyword name.
|
||
|
</dd>
|
||
|
</dl>
|
||
|
<p><b>Element 1: Prompt text or message ID</b>
|
||
|
</p>
|
||
|
<dl>
|
||
|
<dt><b><i>message-identifier</i></b></dt>
|
||
|
<dd>Specify the message identifier that specifies the message containing the prompt text of up to 30 characters that is shown when the parameter is prompted. If a message having the specified identifier cannot be found in the message file specified on the <b>Message file for prompt text (PMTFILE)</b> parameter of the Create Command (CRTCMD) command, the message identifier itself is used as the prompt text.
|
||
|
</dd>
|
||
|
<dt><b><i>'prompt-text'</i></b></dt>
|
||
|
<dd>Specify the prompt text that is shown when the parameter is prompted. The text must be a character string of no more than 30 characters, enclosed in apostrophes.
|
||
|
</dd>
|
||
|
</dl>
|
||
|
<p><b>Element 2: Order prompt is displayed</b>
|
||
|
</p>
|
||
|
<dl>
|
||
|
<dt><b><i>relative-prompt-number</i></b></dt>
|
||
|
<dd>A relative prompt number may be specified for the parameter. The relative prompt number specifies the order in which parameter keywords are prompted. This order affects only the order of prompting, not the order in which the parameters are passed to the command processing program. Parameters having prompt numbers are prompted before parameters having no prompt numbers.
|
||
|
</dd>
|
||
|
</dl>
|
||
|
</div>
|
||
|
<table width="100%">
|
||
|
<tr><td align="right"><a href="#PARM.Top_Of_Page">Top</a></td></tr>
|
||
|
</table>
|
||
|
<hr size="2" width="100%">
|
||
|
<div><h3><a name="PARM.COMMAND.EXAMPLES">Examples</a> </h3>
|
||
|
<p><b>Example 1: Define a Numeric Parameter</b>
|
||
|
</p>
|
||
|
<p>
|
||
|
<pre>
|
||
|
PARM KWD(X) TYPE(*DEC) LEN(2) MIN(1) REL(*GT 5)
|
||
|
</pre>
|
||
|
</p>
|
||
|
<p>The value for the parameter named X, a 2-digit decimal number, must be entered. The value must be greater than 5.
|
||
|
</p>
|
||
|
<p><b>Example 2: Define a Parameter with Restricted Values</b>
|
||
|
</p>
|
||
|
<p>
|
||
|
<pre>
|
||
|
PARM KWD(CLASS) TYPE(*CHAR) LEN(1) DFT(A) +
|
||
|
VALUES(A B C) RSTD(*YES)
|
||
|
</pre>
|
||
|
</p>
|
||
|
<p>The value of the parameter named CLASS must be A, B, or C, if specified. If CLASS is not specified, the default value passed to the command processing program will be A.
|
||
|
</p>
|
||
|
<p><b>Example 3: Define a Parameter with Range of Valid Values</b>
|
||
|
</p>
|
||
|
<p>
|
||
|
<pre>
|
||
|
PARM KWD(MAXREC) TYPE(*DEC) LEN(3 0) MIN(1) +
|
||
|
RANGE(&MINREC 500)
|
||
|
</pre>
|
||
|
</p>
|
||
|
<p>The value of the MAXREC parameter must be entered as a decimal number of 3 digits or less, with no digits to the right of the decimal point. The value must be greater than or equal to the value entered (or defaulted) for parameter MINREC and also must be less than or equal to 500.
|
||
|
</p>
|
||
|
<p><b>Example 4: Define a Simple List Parameter </b>
|
||
|
</p>
|
||
|
<p>
|
||
|
<pre>
|
||
|
PARM KWD(FILES) TYPE(*NAME) MIN(2) MAX(5)
|
||
|
</pre>
|
||
|
</p>
|
||
|
<p>The FILES parameter is a homogeneous list that contains a minimum of two names and a maximum of five names.
|
||
|
</p>
|
||
|
<p><b>Example 5: Define a List Parameter with Restricted Values </b>
|
||
|
</p>
|
||
|
<p>
|
||
|
<pre>
|
||
|
PARM KWD(INVFNAME) TYPE(*NAME) DFT(*ALL) +
|
||
|
SNGVAL((*ALL XXX)) VALUES(DEPT1 DEPT2 DEPT3) +
|
||
|
FILE(*UPD) MIN(0) MAX(3) RSTD(*YES) +
|
||
|
PROMPT(USR0002 1)
|
||
|
</pre>
|
||
|
</p>
|
||
|
<p>The value of the parameter named INVFNAME can be a list of up to three file names of which DEPT1, DEPT2, DEPT3, and *ALL are the valid choices. If *ALL is entered, no other values can be entered for the parameter. If this parameter is omitted, file name XXX is passed to the command processing program. If this parameter is entered through a command prompter, the prompt text for this parameter will be retrieved from message identifier USR0002 of the message file specified for the PMTFILE parameter on the Create Command (CRTCMD) command when the command is created. *ALL will be shown as the default parameter value.
|
||
|
</p>
|
||
|
</div>
|
||
|
<table width="100%">
|
||
|
<tr><td align="right"><a href="#PARM.Top_Of_Page">Top</a></td></tr>
|
||
|
</table>
|
||
|
<hr size="2" width="100%">
|
||
|
<div><h3><a name="PARM.ERROR.MESSAGES">Error messages</a> </h3>
|
||
|
<p>None
|
||
|
</p>
|
||
|
</div>
|
||
|
<table width="100%">
|
||
|
<tr><td align="right"><a href="#PARM.Top_Of_Page">Top</a></td></tr>
|
||
|
</table>
|
||
|
</body>
|
||
|
</html>
|