ibm-information-center/dist/eclipse/plugins/i5OS.ic.apis_5.4.0.1/qcdrcmdi.htm

1471 lines
44 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">
<meta name="Copyright" content="Copyright (c) 2006 by IBM Corporation">
<title>Retrieve Command Information (QCDRCMDI) API</title>
<!-- Begin Header Records ========================================== -->
<!-- All rights reserved. Licensed Materials Property of IBM -->
<!-- US Government Users Restricted Rights -->
<!-- Use, duplication or disclosure restricted by -->
<!-- GSA ADP Schedule Contract with IBM Corp. -->
<!-- QCDRCMD SCRIPT A converted by B2H R4.1 (346) (CMS) by HOLTJM at -->
<!-- RCHVMW2 on 5 Feb 1999 at 11:12:16 -->
<!-- Change History: -->
<!-- YYMMDD USERID Change description -->
<!--Edited by Kersten Nov 2001 -->
<!--End Header Records -->
<link rel="stylesheet" type="text/css" href="../rzahg/ic.css">
</head>
<body>
<a name="Top_Of_Page"></a>
<!-- Java sync-link -->
<script type="text/javascript" language="Javascript" src="../rzahg/synch.js">
</script>
<h2>Retrieve Command Information (QCDRCMDI) API</h2>
<div class="box" style="width: 80%;">
<br>
&nbsp;&nbsp;Required Parameter Group:<br>
<!-- iddvc RMBR -->
<br>
<table width="100%">
<tr>
<td align="center" valign="TOP" width="10%">1</td>
<td align="LEFT" valign="TOP" width="50%">Receiver variable</td>
<td align="LEFT" valign="TOP" width="20%">Output</td>
<td align="LEFT" valign="TOP" width="20%">Char(*)</td>
</tr>
<tr>
<td align="center" valign="TOP">2</td>
<td align="LEFT" valign="TOP">Length of receiver variable</td>
<td align="LEFT" valign="TOP">Input</td>
<td align="LEFT" valign="TOP">Binary(4)</td>
</tr>
<tr>
<td align="center" valign="TOP">3</td>
<td align="LEFT" valign="TOP">Format name</td>
<td align="LEFT" valign="TOP">Input</td>
<td align="LEFT" valign="TOP">Char(8)</td>
</tr>
<tr>
<td align="center" valign="TOP">4</td>
<td align="LEFT" valign="TOP">Qualified command name</td>
<td align="LEFT" valign="TOP">Input</td>
<td align="LEFT" valign="TOP">Char(20)</td>
</tr>
<tr>
<td align="center" valign="TOP">5</td>
<td align="LEFT" valign="TOP">Error code</td>
<td align="LEFT" valign="TOP">I/O</td>
<td align="LEFT" valign="TOP">Char(*)</td>
</tr>
</table>
<br>
&nbsp;&nbsp;Default Public Authority: *USE<br>
<!-- iddvc RMBR -->
<br>
&nbsp;&nbsp;Threadsafe: Yes<br>
<!-- iddvc RMBR -->
<br>
</div>
<p>The Retrieve Command Information (QCDRCMDI) API retrieves information from a
command definition object and places it into a single variable in the calling
program. The amount of information returned depends on the size of the
variable. The information returned is the same information returned by the
Display Command (DSPCMD) command.</p>
<p>You can use the QCDRCMDI API to retrieve any operable command. This includes
both interactive (such as Display Program (DSPPGM) and Create Library (CRTLIB))
and non-interactive (such as DO, IF, and ELSE) commands. It does not include
command definition statements that appear in command source, such as CMD, DEP,
ELEM, PARM, PARMCTL, and QUAL.<br>
</p>
<h3>Authorities and Locks</h3>
<dl>
<dt><em>Command Definition Object Authority</em></dt>
<dd>*USE</dd>
<dt><em>Library Authority</em></dt>
<dd>*EXECUTE</dd>
<dt><em>Command Definition Object Lock</em></dt>
<dd>*SHRRD</dd>
</dl>
<br>
<h3>Required Parameter Group</h3>
<dl>
<dt><strong>Receiver variable</strong></dt>
<dd>OUTPUT; CHAR(*)
<p>The variable that is to receive the information requested. The minimum size
for this area is 8 bytes. You can specify the size of this area to be smaller
than the format requested as long as you specify the length parameter
correctly. As a result, the API returns only the data that the area can
hold.</p>
</dd>
<dt><strong>Length of receiver variable</strong></dt>
<dd>INPUT; BINARY(4)
<p>The length of the receiver variable. If this value is larger than the actual
size of the receiver variable, the result may not be predictable. The minimum
length is 8 bytes.</p>
</dd>
<dt><strong>Format name</strong></dt>
<dd>INPUT; CHAR(8)
<p>The format of the command information to be returned. One of the following
format names may be used:</p>
<table cellpadding="5">
<!-- cols="25 75" -->
<tr>
<td align="left" valign="top"><a href="#HDRRCMD100">CMDI0100 Format</a></td>
<td align="left" valign="top">Basic command information.</td>
</tr>
<tr>
<td align="left" valign="top"><a href="#HDRRCMD200">CMDI0200 Format</a></td>
<td align="left" valign="top">Complete command information.</td>
</tr>
</table>
<br>
</dd>
<dt><strong>Qualified command name</strong></dt>
<dd>INPUT; CHAR(20)
<p>The name of the command whose values are to be retrieved. The first 10
characters contain the name of the command. The second 10 characters contain
the name of the library where the command is located.</p>
<p>You can use these special values for the library name:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top">*CURLIB</td>
<td align="left" valign="top">The job's current library</td>
</tr>
<tr>
<td align="left" valign="top">*LIBL</td>
<td align="left" valign="top">The library list</td>
</tr>
</table>
<br>
</dd>
<dt><strong>Error code</strong></dt>
<dd>I/O; CHAR(*)
<p>The structure in which to return error information. For the format of the
structure, see <a href="../apiref/error.htm#hdrerrcod">Error Code Parameter</a>.</p>
</dd>
</dl>
<br>
<h3><a name="HDRRCMD100">CMDI0100 Format</a></h3>
<p>The following table describes the information that is returned in the
receiver variable for the CMDI0100 format. For detailed descriptions of the
fields, see <a href="#HDRRCMDDE">Field Descriptions</a>.</p>
<table border width="80%">
<tr>
<th align="center" valign="bottom" colspan="2">Offset</th>
<th align="left" valign="bottom" rowspan="2">Type</th>
<th align="left" valign="bottom" rowspan="2">Field</th>
</tr>
<tr>
<th align="center" valign="bottom">Dec</th>
<th align="center" valign="bottom">Hex</th>
</tr>
<tr>
<td align="CENTER" valign="TOP" width="10%">0</td>
<td align="CENTER" valign="TOP" width="20%">0</td>
<td align="LEFT" valign="TOP" width="20%">BINARY(4)</td>
<td align="LEFT" valign="TOP" width="60%">Bytes returned</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">4</td>
<td align="CENTER" valign="TOP">4</td>
<td align="LEFT" valign="TOP">BINARY(4)</td>
<td align="LEFT" valign="TOP">Bytes available</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">8</td>
<td align="CENTER" valign="TOP">8</td>
<td align="LEFT" valign="TOP">CHAR(10)</td>
<td align="LEFT" valign="TOP">Command name</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">18</td>
<td align="CENTER" valign="TOP">12</td>
<td align="LEFT" valign="TOP">CHAR(10)</td>
<td align="LEFT" valign="TOP">Command library name</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">28</td>
<td align="CENTER" valign="TOP">1C</td>
<td align="LEFT" valign="TOP">CHAR(10)</td>
<td align="LEFT" valign="TOP">Command processing program
<IMG SRC="delta.gif" ALT="Start of change"> or proxy target command
<IMG SRC="deltaend.gif" ALT="End of change">name </td>
</tr>
<tr>
<td align="CENTER" valign="TOP">38</td>
<td align="CENTER" valign="TOP">26</td>
<td align="LEFT" valign="TOP">CHAR(10)</td>
<td align="LEFT" valign="TOP">Command processing program
<IMG SRC="delta.gif" ALT="Start of change">or proxy target command
<IMG SRC="deltaend.gif" ALT="End of change">library name </td>
</tr>
<tr>
<td align="CENTER" valign="TOP">48</td>
<td align="CENTER" valign="TOP">30</td>
<td align="LEFT" valign="TOP">CHAR(10)</td>
<td align="LEFT" valign="TOP">Source file name</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">58</td>
<td align="CENTER" valign="TOP">3A</td>
<td align="LEFT" valign="TOP">CHAR(10)</td>
<td align="LEFT" valign="TOP">Source file library name</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">68</td>
<td align="CENTER" valign="TOP">44</td>
<td align="LEFT" valign="TOP">CHAR(10)</td>
<td align="LEFT" valign="TOP">Source file member name</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">78</td>
<td align="CENTER" valign="TOP">4E</td>
<td align="LEFT" valign="TOP">CHAR(10)</td>
<td align="LEFT" valign="TOP">Validity check program name</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">88</td>
<td align="CENTER" valign="TOP">58</td>
<td align="LEFT" valign="TOP">CHAR(10)</td>
<td align="LEFT" valign="TOP">Validity check program library name</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">98</td>
<td align="CENTER" valign="TOP">62</td>
<td align="LEFT" valign="TOP">CHAR(10)</td>
<td align="LEFT" valign="TOP">Mode information</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">108</td>
<td align="CENTER" valign="TOP">6C</td>
<td align="LEFT" valign="TOP">CHAR(15)</td>
<td align="LEFT" valign="TOP">Where allowed to run</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">123</td>
<td align="CENTER" valign="TOP">7B</td>
<td align="LEFT" valign="TOP">CHAR(1)</td>
<td align="LEFT" valign="TOP">Allow limited user</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">124</td>
<td align="CENTER" valign="TOP">7C</td>
<td align="LEFT" valign="TOP">BINARY(4)</td>
<td align="LEFT" valign="TOP">Maximum positional parameters</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">128</td>
<td align="CENTER" valign="TOP">80</td>
<td align="LEFT" valign="TOP">CHAR(10)</td>
<td align="LEFT" valign="TOP">Prompt message file name</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">138</td>
<td align="CENTER" valign="TOP">8A</td>
<td align="LEFT" valign="TOP">CHAR(10)</td>
<td align="LEFT" valign="TOP">Prompt message file library name</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">148</td>
<td align="CENTER" valign="TOP">94</td>
<td align="LEFT" valign="TOP">CHAR(10)</td>
<td align="LEFT" valign="TOP">Message file name</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">158</td>
<td align="CENTER" valign="TOP">9E</td>
<td align="LEFT" valign="TOP">CHAR(10)</td>
<td align="LEFT" valign="TOP">Message file library name</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">168</td>
<td align="CENTER" valign="TOP">A8</td>
<td align="LEFT" valign="TOP">CHAR(10)</td>
<td align="LEFT" valign="TOP">Help panel group name</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">178</td>
<td align="CENTER" valign="TOP">B2</td>
<td align="LEFT" valign="TOP">CHAR(10)</td>
<td align="LEFT" valign="TOP">Help panel group library name</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">188</td>
<td align="CENTER" valign="TOP">BC</td>
<td align="LEFT" valign="TOP">CHAR(10)</td>
<td align="LEFT" valign="TOP">Help identifier</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">198</td>
<td align="CENTER" valign="TOP">C6</td>
<td align="LEFT" valign="TOP">CHAR(10)</td>
<td align="LEFT" valign="TOP">Search index name</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">208</td>
<td align="CENTER" valign="TOP">D0</td>
<td align="LEFT" valign="TOP">CHAR(10)</td>
<td align="LEFT" valign="TOP">Search index library name</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">218</td>
<td align="CENTER" valign="TOP">DA</td>
<td align="LEFT" valign="TOP">CHAR(10)</td>
<td align="LEFT" valign="TOP">Current library</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">228</td>
<td align="CENTER" valign="TOP">E4</td>
<td align="LEFT" valign="TOP">CHAR(10)</td>
<td align="LEFT" valign="TOP">Product library</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">238</td>
<td align="CENTER" valign="TOP">EE</td>
<td align="LEFT" valign="TOP">CHAR(10)</td>
<td align="LEFT" valign="TOP">Prompt override program name</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">248</td>
<td align="CENTER" valign="TOP">F8</td>
<td align="LEFT" valign="TOP">CHAR(10)</td>
<td align="LEFT" valign="TOP">Prompt override program library name</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">258</td>
<td align="CENTER" valign="TOP">102</td>
<td align="LEFT" valign="TOP">CHAR(6)</td>
<td align="LEFT" valign="TOP">Restricted to target release</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">264</td>
<td align="CENTER" valign="TOP">108</td>
<td align="LEFT" valign="TOP">CHAR(50)</td>
<td align="LEFT" valign="TOP">Text description</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">314</td>
<td align="CENTER" valign="TOP">13A</td>
<td align="LEFT" valign="TOP">CHAR(2)</td>
<td align="LEFT" valign="TOP">Command processing program call state</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">316</td>
<td align="CENTER" valign="TOP">13C</td>
<td align="LEFT" valign="TOP">CHAR(2)</td>
<td align="LEFT" valign="TOP">Validity check program call state</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">318</td>
<td align="CENTER" valign="TOP">13E</td>
<td align="LEFT" valign="TOP">CHAR(2)</td>
<td align="LEFT" valign="TOP">Prompt override program call state</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">320</td>
<td align="CENTER" valign="TOP">140</td>
<td align="LEFT" valign="TOP">BINARY(4)</td>
<td align="LEFT" valign="TOP">Offset to help bookshelf information</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">324</td>
<td align="CENTER" valign="TOP">144</td>
<td align="LEFT" valign="TOP">BINARY(4)</td>
<td align="LEFT" valign="TOP">Length of help bookshelf information</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">328</td>
<td align="CENTER" valign="TOP">148</td>
<td align="LEFT" valign="TOP">BINARY(4)</td>
<td align="LEFT" valign="TOP">Coded character set ID (CCSID)</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">332</td>
<td align="CENTER" valign="TOP">14C</td>
<td align="LEFT" valign="TOP">CHAR(1)</td>
<td align="LEFT" valign="TOP">Enabled for GUI indicator</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">333</td>
<td align="CENTER" valign="TOP">14D</td>
<td align="LEFT" valign="TOP">CHAR(1)</td>
<td align="LEFT" valign="TOP">Threadsafe indicator</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">334</td>
<td align="CENTER" valign="TOP">14E</td>
<td align="LEFT" valign="TOP">CHAR(1)</td>
<td align="LEFT" valign="TOP">Multithreaded job action</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">335</td>
<td align="CENTER" valign="TOP">14F</td>
<td align="LEFT" valign="TOP"><IMG SRC="delta.gif" ALT="Start of change">CHAR(1)</TD>
<td align="LEFT" valign="TOP">Proxy command indicator</TD>
</tr>
<tr>
<td align="CENTER" valign="TOP">336</td>
<td align="CENTER" valign="TOP">150</td>
<td align="LEFT" valign="TOP">CHAR(14)</td>
<td align="LEFT" valign="TOP">Reserved<IMG SRC="deltaend.gif"
ALT="End of change"></td>
</tr>
<tr>
<td align="LEFT" valign="TOP" colspan="2">The offsets to these fields are
specified in previous offset variables.</td>
<td align="LEFT" valign="TOP">CHAR(*)</td>
<td align="LEFT" valign="TOP">Help bookshelf information</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDRRCMD200">CMDI0200 Format</a></h3>
<p>The following table describes the information that is returned in the
receiver variable for the CMDI0200 format. For detailed descriptions of the
fields, see <a href="#HDRRCMDDE">Field Descriptions</a>.</p>
<table border width="80%">
<tr>
<th align="center" valign="bottom" colspan="2">Offset</th>
<th align="left" valign="bottom" rowspan="2">Type</th>
<th align="left" valign="bottom" rowspan="2">Field</th>
</tr>
<tr>
<th align="center" valign="bottom">Dec</th>
<th align="center" valign="bottom">Hex</th>
</tr>
<tr>
<td align="CENTER" valign="TOP" width="10%">0</td>
<td align="CENTER" valign="TOP" width="10%">0</td>
<td align="LEFT" valign="TOP" width="20%">&nbsp;</td>
<td align="LEFT" valign="TOP" width="60%">Returns everything from format
CMDI0100</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">350</td>
<td align="CENTER" valign="TOP">15E</td>
<td align="LEFT" valign="TOP">CHAR(10)</td>
<td align="LEFT" valign="TOP">REXX source file name</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">360</td>
<td align="CENTER" valign="TOP">168</td>
<td align="LEFT" valign="TOP">CHAR(10)</td>
<td align="LEFT" valign="TOP">REXX source file library name</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">370</td>
<td align="CENTER" valign="TOP">172</td>
<td align="LEFT" valign="TOP">CHAR(10)</td>
<td align="LEFT" valign="TOP">REXX source file member name</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">380</td>
<td align="CENTER" valign="TOP">17C</td>
<td align="LEFT" valign="TOP">CHAR(10)</td>
<td align="LEFT" valign="TOP">REXX command environment name</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">390</td>
<td align="CENTER" valign="TOP">186</td>
<td align="LEFT" valign="TOP">CHAR(10)</td>
<td align="LEFT" valign="TOP">REXX command environment library name</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">400</td>
<td align="CENTER" valign="TOP">190</td>
<td align="LEFT" valign="TOP">CHAR(40)</td>
<td align="LEFT" valign="TOP">Reserved</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">440</td>
<td align="CENTER" valign="TOP">1B8</td>
<td align="LEFT" valign="TOP">BINARY(4)</td>
<td align="LEFT" valign="TOP">Number of REXX exit entries</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">444</td>
<td align="CENTER" valign="TOP">1BC</td>
<td align="LEFT" valign="TOP">BINARY(4)</td>
<td align="LEFT" valign="TOP">Length of a REXX exit entry</td>
</tr>
<tr>
<td align="LEFT" valign="TOP" colspan="4">Format of a REXX exit entry (repeated
by the number of REXX exit entries)</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">See note</td>
<td align="CENTER" valign="TOP">See note</td>
<td align="LEFT" valign="TOP">CHAR(10)</td>
<td align="LEFT" valign="TOP">REXX exit program name</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">See note</td>
<td align="CENTER" valign="TOP">See note</td>
<td align="LEFT" valign="TOP">CHAR(10)</td>
<td align="LEFT" valign="TOP">REXX exit program library name</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">See note</td>
<td align="CENTER" valign="TOP">See note</td>
<td align="LEFT" valign="TOP">BINARY(4)</td>
<td align="LEFT" valign="TOP">REXX exit code</td>
</tr>
<tr>
<td align="LEFT" valign="TOP" colspan="4"><strong>Note:</strong> The decimal
and hexadecimal offsets to the above 3 fields depend on the number of REXX exit
entries and the length of a REXX exit entry. The REXX exit entry fields
(currently REXX exit program name, REXX exit program library name, and REXX
exit code) repeat, in the order listed, by the number of REXX exit entries
defined for this command.</td>
</tr>
<tr>
<td align="LEFT" valign="TOP" colspan="2">The offsets to these fields are
specified in previous offset variables.</td>
<td align="LEFT" valign="TOP">CHAR(*)</td>
<td align="LEFT" valign="TOP">Help bookshelf information</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDRHELPBSI">Help Bookshelf Information</a></h3>
<p>The following table describes the help bookshelf information that is
returned for both the CMDI0100 and CMDI0200 formats.</p>
<table border width="80%">
<tr>
<th align="center" valign="bottom" colspan="2">Offset</th>
<th align="left" valign="bottom" rowspan="2">Type</th>
<th align="left" valign="bottom" rowspan="2">Field</th>
</tr>
<tr>
<th align="center" valign="bottom">Dec</th>
<th align="center" valign="bottom">Hex</th>
</tr>
<tr>
<td align="CENTER" valign="TOP" width="10%">See note</td>
<td align="CENTER" valign="TOP" width="10%">See note</td>
<td align="LEFT" valign="TOP" width="20%">CHAR(71)</td>
<td align="LEFT" valign="TOP" width="60%">Reserved</td>
</tr>
<tr>
<td align="CENTER" valign="TOP">See note</td>
<td align="CENTER" valign="TOP">See note</td>
<td align="LEFT" valign="TOP">CHAR(8)</td>
<td align="LEFT" valign="TOP">Help bookshelf</td>
</tr>
<tr>
<td align="LEFT" valign="TOP" colspan="4"><strong>Note:</strong> The location
and length of the help bookshelf information structure may be determined by
using the offset to help bookshelf information field and the length of help
bookshelf information field.</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDRRCMDDE">Field Descriptions</a></h3>
<p>For more information on the following fields, refer to the documentation for
the Create Command (CRTCMD) command in the online help.</p>
<p><strong>Allow limited user.</strong> Whether or not a user with limited
authorities is allowed to run this command. The possible values are 0 (*NO) or
1 (*YES).</p>
<p><strong>Bytes available.</strong> The length of all data available for the
requested format. All available data is returned if enough space is
provided.</p>
<p><strong>Bytes returned.</strong> The length of all data actually returned.
If the data is truncated because the receiver variable is not large enough to
hold the data, this value is less than the bytes available.</p>
<p><strong>Coded character set ID (CCSID).</strong> The value of the coded
character set ID associated with this command. It is the value of the job coded
character set ID when this command was created.</p>
<p><strong>Command library name.</strong> The name of the library in which the
command description resides.</p>
<p><strong>Command name.</strong> The name of the command description about
which information is being returned.</p>
<p><strong>Command processing program call state.</strong> The state the
command processing program is called from. The possible values are:</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top">*S</td>
<td align="left" valign="top">The command processing program is called from
system state.</td>
</tr>
<tr>
<td align="left" valign="top">*U</td>
<td align="left" valign="top">The command processing program is called from
user state.</td>
</tr>
</table>
<p><strong>Command processing program <IMG SRC="delta.gif" ALT="Start of change">or proxy target command library
name.</STRONG> The name of the library in which the command processing program or
proxy target command resides.<IMG SRC="deltaend.gif" ALT="End of change"> This field is blank if
the command processing program name contains the special value *REXX.</p>
<p><strong>Command processing program name<IMG SRC="delta.gif" ALT="Start of change">or proxy target command
name.</STRONG> The name of the program or target command that accepts parameters from the command and processes the command. Consult the proxy command indicator to determine if the value is a program or command name.<IMG SRC="deltaend.gif" ALT="End of change"> The possible values are:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top">*REXX</td>
<td align="left" valign="top">The REXX fields returned in the CMDI0200 format
contain valid information about the command.</td>
</tr>
<tr>
<td align="left" valign="top" nowrap>CPP-program-name</td>
<td align="left" valign="top">The command processing program name.</td>
</tr>
<tr>
<td align="left" valign="top" nowrap="nowrap"><IMG SRC="delta.gif" ALT="Start of change">Proxy target command name</TD>
<td align="left" valign="top">The proxy target command name.<IMG SRC="deltaend.gif" ALT="End of change"></TD>
</tr>
</table>
<p><strong>Current library.</strong> The name of the library used as the
current library during the processing of this command. The possible values
are:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top">*NOCHG</td>
<td align="left" valign="top">The current library does not change for the
processing of this command. If the current library is changed during processing
of the command, the change remains in effect after command processing is
complete.</td>
</tr>
<tr>
<td align="left" valign="top">*CRTDFT</td>
<td align="left" valign="top">No current library is active during processing of
the command. The current library that was active before command processing
began is restored when processing is completed.</td>
</tr>
<tr>
<td align="left" valign="top" nowrap>library-name</td>
<td align="left" valign="top">The name of the library that is used as the
current library. When command processing is completed, the current library is
restored to its previous value.</td>
</tr>
</table>
<p><strong>Enabled for GUI indicator.</strong> Whether the command prompt
panels are enabled for conversion to a graphical user interface. The possible
values are:</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top">0</td>
<td align="left" valign="top">The command prompt panels are not enabled for
conversion to a graphical user interface.</td>
</tr>
<tr>
<td align="left" valign="top">1</td>
<td align="left" valign="top">The command prompt panels are enabled for
conversion to a graphical user interface by including information about the
panel content in the 5250 data stream.</td>
</tr>
</table>
<p><strong>Help bookshelf.</strong> The name of the help bookshelf for this
command. The possible values are:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top">*NONE</td>
<td align="left" valign="top">No help bookshelf is specified.</td>
</tr>
<tr>
<td align="left" valign="top">*LIST</td>
<td align="left" valign="top">The list of bookshelves in the user's book
path.</td>
</tr>
<tr>
<td align="left" valign="top" nowrap>book-shelf</td>
<td align="left" valign="top">The help bookshelf name.</td>
</tr>
</table>
<p><strong>Help bookshelf information.</strong> Information describing the help
bookshelf.</p>
<p>See <a href="#HDRHELPBSI">Help Bookshelf Information</a> for more details
about help bookshelf information.</p>
<p><strong>Help identifier.</strong> The name of the general help module for
the names of the help identifiers for this command. The possible values
are:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top">*NONE</td>
<td align="left" valign="top">No help identifier is specified.</td>
</tr>
<tr>
<td align="left" valign="top">*CMD</td>
<td align="left" valign="top">The name of the command is used.</td>
</tr>
<tr>
<td align="left" valign="top" nowrap>help-ID-name</td>
<td align="left" valign="top">A user-specified help module was used.</td>
</tr>
</table>
<p><strong>Help panel group library name.</strong> The name of the library in
which the panel group resides.</p>
<p><strong>Help panel group name.</strong> The name of the panel group in which
the online help information exists for this command. If *NONE is returned, no
help panel group is defined for this command.</p>
<p><strong>Length of a REXX exit entry.</strong> The length of one REXX exit
entry. This value is currently 24. There are 10 bytes for the REXX exit program
name, 10 bytes for the REXX exit library name, and 4 bytes for the REXX exit
code.</p>
<p><strong>Length of help bookshelf information.</strong> The length of the
help bookshelf.</p>
<p><strong>Maximum positional parameters.</strong> The maximum number of
parameters than can be coded in a positional manner for this command. The
possible values are:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top">-1</td>
<td align="left" valign="top">No maximum positional coding limit was specified
for this command.</td>
</tr>
<tr>
<td align="left" valign="top" nowrap>0 through 75</td>
<td align="left" valign="top">The maximum number of parameters that can be
coded in a positional manner for this command.</td>
</tr>
</table>
<p><strong>Message file library name.</strong> The name of the library in which
the message file resides.</p>
<p><strong>Message file name.</strong> The message file from which messages
identified on the DEP statements used to define the command are retrieved.</p>
<p><strong>Mode information.</strong> The mode of operating environment to
which the command applies. The characters of this field are as follows, and
they can have a value of 0 (does not apply) or 1 (does apply):</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top">1</td>
<td align="left" valign="top">Production mode</td>
</tr>
<tr>
<td align="left" valign="top">2</td>
<td align="left" valign="top">Debug mode</td>
</tr>
<tr>
<td align="left" valign="top">3</td>
<td align="left" valign="top">Service mode</td>
</tr>
<tr>
<td align="left" valign="top">4-10</td>
<td align="left" valign="top">Reserved</td>
</tr>
</table>
<p><strong>Multithreaded job action.</strong> The action to take when a command
that is not threadsafe is called in a multithreaded job. The possible values
are:</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top">0</td>
<td align="left" valign="top">Use the action specified in QMLTTHDACN system
value.</td>
</tr>
<tr>
<td align="left" valign="top">1</td>
<td align="left" valign="top">Run the command. Do not send a message.</td>
</tr>
<tr>
<td align="left" valign="top">2</td>
<td align="left" valign="top">Send an informational message and run the
command.</td>
</tr>
<tr>
<td align="left" valign="top">3</td>
<td align="left" valign="top">Send an escape message, and do not run the
command.</td>
</tr>
</table>
<p>If the threadsafe indicator is either threadsafe or conditionally
threadsafe, the multithreaded job action value will be returned as 1.</p>
<p><strong>Number of REXX exit entries.</strong> The number of times the REXX
exit entries are repeated. These fields are REXX exit program name, REXX exit
program library name, and REXX exit code.</p>
<p><strong>Offset to help bookshelf information.</strong> The offset to the
help bookshelf information.</p>
<p><strong>Product library.</strong> The name of the product library that is in
effect during the processing of the command. The possible values are:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top">*NOCHG</td>
<td align="left" valign="top">The product library does not change for the
processing of this command.</td>
</tr>
<tr>
<td align="left" valign="top">*NONE</td>
<td align="left" valign="top">There is no product library in the job's library
list.</td>
</tr>
<tr>
<td align="left" valign="top" nowrap>library-name</td>
<td align="left" valign="top">The name of the library that is used as the
product library during the processing of the command.</td>
</tr>
</table>
<p><strong>Prompt message file library name.</strong> The name of the library
in which the prompt message file resides.</p>
<p><strong>Prompt message file name.</strong> The name of the message file that
contains the prompt text for this command. If *NONE is returned, no message
file was specified for prompt text.</p>
<p><strong>Prompt override program call state.</strong> The state the prompt
override program is called from. The possible values are:</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top">*S</td>
<td align="left" valign="top">The prompt override program is called from the
system state.</td>
</tr>
<tr>
<td align="left" valign="top">*U</td>
<td align="left" valign="top">The prompt override program is called from the
user state.</td>
</tr>
</table>
<p><strong>Prompt override program name.</strong> This is the name of the
prompt override program that replaces default values (on the prompt display)
with the current actual values for the parameter. If *NONE is returned, no
prompt override program was specified for this command.</p>
<p><img SRC="delta.gif" ALT="Start of change"><STRONG>Proxy command
indicator.</STRONG> Whether the command processing program name and command
processing program library name fields contain program or command information.
The possible values are:</P>
<TABLE CELLPADDING="5">
<tr>
<TD ALIGN="left" VALIGN="top">0</TD>
<TD ALIGN="left" VALIGN="top">The values specified for the command
processing program and library refer to a program.</TD>
</TR>
<TR>
<TD ALIGN="left" VALIGN="top">1</TD>
<TD ALIGN="left" VALIGN="top">The values specified for the command
processing program and library refer to a proxy target command.
<P>When true, the fields returned are:
<UL>
<LI>Command name</LI>
<LI>Command library name</LI>
<LI>Command processing program or proxy target command name</LI>
<LI>Command processing program or proxy target command library name</LI>
<LI>Text description</LI>
</UL></TD>
</TR>
</TABLE><IMG SRC="deltaend.gif" ALT="End of change">
<p><strong>Reserved.</strong> An ignored field.</p>
<p><strong>Restricted to target release.</strong> The version, release, and
modification level to which this command is restricted. If this field is blank,
the command can be used in the current release. This applies only to a command
used in a CL program. It must match the contents of the target release
parameter on the Create CL Program (CRTCLPGM) command. See the CRTCLPGM command
for more information. This field has the format VvRrMm, where:</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top">Vv</td>
<td align="left" valign="top">The character V is followed by a 1-character
version number.</td>
</tr>
<tr>
<td align="left" valign="top">Rr</td>
<td align="left" valign="top">The character R is followed by a 1-character
release level.</td>
</tr>
<tr>
<td align="left" valign="top">Mm</td>
<td align="left" valign="top">The character M is followed by a 1-character
modification level.</td>
</tr>
</table>
<p><strong>REXX command environment library name.</strong> The name of the
library in which the REXX command environment program resides.</p>
<p><strong>REXX command environment name.</strong> The command environment
program that is active when the REXX CPP starts to run. The REXX interpreter
calls this program to process commands encountered in the REXX procedure. The
possible values are:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top">*COMMAND</td>
<td align="left" valign="top">The i5/OS control language command
environment is used.</td>
</tr>
<tr>
<td align="left" valign="top">*CPICOMM</td>
<td align="left" valign="top">The Common Programming Interface (CPI) for
Communications command environment is used. CPICOMM is the command environment
used for CL commands that are embedded within a REXX procedure.</td>
</tr>
<tr>
<td align="left" valign="top" nowrap>program-name</td>
<td align="left" valign="top">The name of the program to process commands found
in the REXX procedure.</td>
</tr>
</table>
<p><strong>REXX exit code.</strong> A value which controls the conditions in
which the REXX exit program is called. The possible values are:</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top">2</td>
<td align="left" valign="top">The exit program is called whenever an external
function or subroutine has been called by the REXX program. The exit program is
responsible for locating and calling the requested routine.</td>
</tr>
<tr>
<td align="left" valign="top">3</td>
<td align="left" valign="top">The exit program is called whenever the
interpreter is going to call a command. The exit program is responsible for
locating and calling the command.</td>
</tr>
<tr>
<td align="left" valign="top">4</td>
<td align="left" valign="top">The exit program is called whenever a REXX
instruction or function attempts an operation on the REXX external data
queue.</td>
</tr>
<tr>
<td align="left" valign="top">5</td>
<td align="left" valign="top">The exit program is called when session input or
output operations are attempted.</td>
</tr>
<tr>
<td align="left" valign="top">7</td>
<td align="left" valign="top">The exit program is called after running each
clause of the REXX procedure to determine whether it must be stopped.</td>
</tr>
<tr>
<td align="left" valign="top">8</td>
<td align="left" valign="top">The exit program is called after running each
clause of the REXX program to check if tracing must be turned on or off.</td>
</tr>
<tr>
<td align="left" valign="top">9</td>
<td align="left" valign="top">The exit program is called before interpretation
of the first instruction of a REXX procedure.</td>
</tr>
<tr>
<td align="left" valign="top">10</td>
<td align="left" valign="top">The exit program is called after interpretation
of the last instruction of a REXX procedure.</td>
</tr>
</table>
<p><strong>REXX exit program library name.</strong> The name of the library in
which the REXX exit program resides.</p>
<p><strong>REXX exit program name.</strong> The exit program used when the REXX
interpreter is started under the conditions specified by the REXX exit code for
this program.</p>
<p><strong>REXX source file library name.</strong> The name of the library in
which the REXX source file resides.</p>
<p><strong>REXX source file member name.</strong> The name of the source file
member that contains the REXX procedure that is the command processing
program.</p>
<p><strong>REXX source file name.</strong> The name of the source file that
contains the REXX procedure that is the command processing program. The
possible values are:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top">QREXSRC</td>
<td align="left" valign="top">The IBM-supplied source file, QREXSRC, contains
the source member that is used.</td>
</tr>
<tr>
<td align="left" valign="top" nowrap>source-file-name</td>
<td align="left" valign="top">The name of the REXX source file that is
used.</td>
</tr>
</table>
<p><strong>Search index library name.</strong> The name of the library in which
the help search index resides.</p>
<p><strong>Search index name.</strong> The name of the search index for this
command. The possible values are:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top">*NONE</td>
<td align="left" valign="top">No help search index is specified.</td>
</tr>
<tr>
<td align="left" valign="top">search index name</td>
<td align="left" valign="top">The name of the help search index that is
used.</td>
</tr>
</table>
<p><strong>Source file library name.</strong> The name of the library in which
the source file resides.</p>
<p><strong>Source file member name.</strong> The name of the source file member
that contains the command definition statements used to create the command.</p>
<p><strong>Source file name.</strong> The name of the source file that contains
the source file member used to create the command.</p>
<p><strong>Text description.</strong> The user text, if any, used to briefly
describe the command and its function.</p>
<p><strong>Threadsafe indicator.</strong> Whether the command can be used
safely in</p>
<p>a multithreaded job.</p>
<p>The possible values are:</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top">0</td>
<td align="left" valign="top">The command is not threadsafe and should not be
used
<p>in a multithreaded job. The value for the multithreaded job action field
defines the action to be taken by the command analyzer when the command is used
in a multithreaded job.</p>
</td>
</tr>
<tr>
<td align="left" valign="top">1</td>
<td align="left" valign="top">The command is threadsafe and can be used safely
in a
<p>multithreaded job.</p>
</td>
</tr>
<tr>
<td align="left" valign="top">2</td>
<td align="left" valign="top">The command is threadsafe under certain
conditions. See the documentation for the command to determine the conditions
under which the command can be used safely in a
<p>multithreaded job.</p>
</td>
</tr>
</table>
<p><strong>Validity check program call state.</strong> The state the validity
check program is called from. The possible values are:</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top">*S</td>
<td align="left" valign="top">The validity check program is called from the
system state.</td>
</tr>
<tr>
<td align="left" valign="top">*U</td>
<td align="left" valign="top">The validity check program is called from the
user state.</td>
</tr>
</table>
<p><strong>Validity check program library name.</strong> The name of the
library in which the validity check program resides.</p>
<p><strong>Validity check program name.</strong> The name of a program that
performs additional user-defined validity checking on the parameters in the
command. If *NONE is returned, no separate user-defined validity checking is
done for this command. All validity checking is done by the command analyzer
and the command processing program.</p>
<p><strong>Where allowed to run.</strong> The environments in which this
command is allowed to run. The characters of this field are as follows, and
they can have a value of 0 (does not apply) or 1 (does apply):</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top">1</td>
<td align="left" valign="top">Batch program (*BPGM)</td>
</tr>
<tr>
<td align="left" valign="top">2</td>
<td align="left" valign="top">Interactive program (*IPGM)</td>
</tr>
<tr>
<td align="left" valign="top">3</td>
<td align="left" valign="top">Can be run using QCMDEXC, QCAEXEC, or QCAPCMD
(*EXEC)</td>
</tr>
<tr>
<td align="left" valign="top">4</td>
<td align="left" valign="top">Interactive job (*INTERACT)</td>
</tr>
<tr>
<td align="left" valign="top">5</td>
<td align="left" valign="top">Batch job (*BATCH)</td>
</tr>
<tr>
<td align="left" valign="top">6</td>
<td align="left" valign="top">Batch REXX procedure (*BREXX)</td>
</tr>
<tr>
<td align="left" valign="top">7</td>
<td align="left" valign="top">Interactive REXX procedure (*IREXX)</td>
</tr>
<tr>
<td align="left" valign="top" nowrap>8-15</td>
<td align="left" valign="top">Reserved</td>
</tr>
</table>
<br>
<br>
<h3>Error Messages</h3>
<table width="100%" cellpadding="5">
<!-- cols="15 85" -->
<tr>
<th align="left" valign="top">Message ID</th>
<th align="left" valign="top">Error Message Text</th>
</tr>
<tr>
<td width="15%" valign="top">CPF2150 E</td>
<td width="85%" valign="top">Object information function failed.</td>
</tr>
<tr>
<td align="left" valign="top">CPF2151 E</td>
<td align="left" valign="top">Operation failed for &amp;2 in &amp;1 type
*&amp;3.</td>
</tr>
<tr>
<td align="left" valign="top">CPF24B4 E</td>
<td align="left" valign="top">Severe error while addressing parameter
list.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3CF1 E</td>
<td align="left" valign="top">Error code parameter not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3C21 E</td>
<td align="left" valign="top">Format name &amp;1 is not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3C24 E</td>
<td align="left" valign="top">Length of the receiver variable is not
valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3C90 E</td>
<td align="left" valign="top">Literal value cannot be changed.</td>
</tr>
<tr>
<td align="left" valign="top">CPF6250 E</td>
<td align="left" valign="top">Cannot display or retrieve command &amp;1 in
library &amp;2.</td>
</tr>
<tr>
<td align="left" valign="top">CPF8103 E</td>
<td align="left" valign="top">Command &amp;4 in &amp;9 damaged.</td>
</tr>
<tr>
<td align="left" valign="top">CPF8122 E</td>
<td align="left" valign="top">&amp;8 damage on library &amp;4.</td>
</tr>
<tr>
<td align="left" valign="top">CPF8123 E</td>
<td align="left" valign="top">Damage on object information for library
&amp;4.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9801 E</td>
<td align="left" valign="top">Object &amp;2 in library &amp;3 not found.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9802 E</td>
<td align="left" valign="top">Not authorized to object &amp;2 in &amp;3.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9803 E</td>
<td align="left" valign="top">Cannot allocate object &amp;2 in library
&amp;3.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9807 E</td>
<td align="left" valign="top">One or more libraries in library list
deleted.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9808 E</td>
<td align="left" valign="top">Cannot allocate one or more libraries on library
list.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9810 E</td>
<td align="left" valign="top">Library &amp;1 not found.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9820 E</td>
<td align="left" valign="top">Not authorized to use library &amp;1.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9830 E</td>
<td align="left" valign="top">Cannot assign library &amp;1.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9872 E</td>
<td align="left" valign="top">Program or service program &amp;1 in library
&amp;2 ended. Reason code &amp;3.</td>
</tr>
</table>
<br>
<hr>
API introduced: V2R2
<hr>
<center>
<table cellpadding="2" cellspacing="2">
<tr align="center">
<td valign="middle" align="center"><a href="#Top_Of_Page">Top</a> | <a href=
"pgm1.htm">Program and CL Command APIs</a> | <a href="aplist.htm">APIs by
category</a></td>
</tr>
</table>
</center>
</body>
</html>