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

907 lines
28 KiB
HTML
Raw Permalink Normal View History

2024-04-02 14:02:31 +00:00
<!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>Register Exit Point (QUSRGPT, QusRegisterExitPoint) 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. -->
<!-- Change History: -->
<!-- YYMMDD USERID Change description -->
<!-- File cleanup completed Sept 2001 by v2cdijab -->
<!-- End Header Records -->
<link rel="stylesheet" type="text/css" href="../rzahg/ic.css">
</head>
<body>
<!-- Java sync-link -->
<script type="text/javascript" language="Javascript" src="../rzahg/synch.js">
</script>
<a name="top"></a>
<h2>Register Exit Point (QUSRGPT, QusRegisterExitPoint) 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%">Exit point name</td>
<td align="left" valign="top" width="20%">Input</td>
<td align="left" valign="top" width="20%">Char(20)</td>
</tr>
<tr>
<td align="center" valign="top">2</td>
<td align="left" valign="top">Exit point 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">3</td>
<td align="left" valign="top">Exit point controls</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Char(*)</td>
</tr>
<tr>
<td align="center" valign="top">4</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;Service Program Name: QUSRGFA1<br>
<!-- iddvc RMBR -->
<br>
&nbsp;&nbsp;Default Public Authority: *EXCLUDE<br>
<!-- iddvc RMBR -->
<br>
&nbsp;&nbsp;Threadsafe: Yes<br>
<!-- iddvc RMBR -->
<br>
</div>
<p>The Register Exit Point (OPM, QUSRGPT; ILE, QusRegisterExitPoint) API
registers an exit point with the registration facility. Each exit point can
have a single exit program or multiple exit programs associated with it. Each
exit point can be registered multiple times with a unique format name. The
format name is defined by the exit point provider. The format name can be used
to define the structural layout of the exit program data, the number and type
of parameters to be passed, and so on. The exit point controls provide
information to help manage and control the use of the exit point. The user
profile calling the Register Exit Point API does not need to be authorized to
the preprocessing exit programs.</p>
<p>Updating of an exit point is performed by reregistering the exit point with
new values for the exit point control keys. The registration facility will
update the control keys and maintain the current list of exit programs that are
associated with the exit point. The following conditions apply to updating the
exit point control keys:</p>
<ul>
<li>Allow deregister: This control key is set the first time the exit point is
registered and cannot be changed.<br>
<br>
</li>
<li>Allow change of exit point controls: When this control key is set to 0
(cannot be changed), none of the control keys are eligible to be updated.<br>
<br>
</li>
<li>Maximum number of exit programs: Updating this control key to a value less
than the number of exit programs currently under the exit point results in an
error. The update is not performed.<br>
<br>
</li>
<li>Preprocessing exit program information for add function: If the new
preprocessing exit program value is not *NONE and the Preprocessing Exit
Program for Retrieve is *NONE, the Preprocessing Exit Program for Add is called
for each exit program associated with the exit point. If the preprocessing exit
program returns to the API the return code to not add an exit program, an error
occurs. No update is performed.
<p>If updating the preprocessing exit program to *NONE and the preprocessing
exit program information for retrieve function field is also *NONE, the API
updates the control key. If the preprocessing exit program information for
retrieve function field is not *NONE, an error is returned and no update is
performed.</p>
</li>
<li>Preprocessing exit program information for remove function: If updating the
preprocessing exit program to *NONE and the preprocessing exit program
information for retrieve function field is also *NONE, the API updates the
control key. If the preprocessing exit program for retrieve is not set to
*NONE, an error is returned and no update is performed.<br>
<br>
</li>
<li>Preprocessing exit program information for retrieve function: When the new
value for the preprocessing exit program is not *NONE, preprocessing exit
programs for add and remove must be either currently specified for the exit
point or must be specified on the registration call. The registration facility
calls the Preprocessing Exit Program for Add for each of the exit programs
associated with the exit point. The facility then removes these exit programs
(without calling the Preprocessing Exit Program for Remove) from the
registration facility repository and updates the exit point. If the
preprocessing exit program returns to the API the return code to not add an
exit program, an error occurs and no update is performed.
<p>When the new value for the preprocessing exit program is *NONE, the API will
change the value. Exit point providers are responsible for moving the exit
program information that they stored to the registration facility by using the
Add Exit Program API.</p>
</li>
<li>Qualified message file and message identifier for exit point description:
The registration facility updates this control key with the new value. When
this control key is specified for an update, the text for exit point
description control key must not be specified.<br>
<br>
</li>
<li>Exit point text description: The registration facility updates this control
key with the new value. When this control key is specified for an update, the
qualified message file and message identifier for exit point description
control key must not be specified.</li>
</ul>
<br>
<h3><a name="HDRUNREGEP">Unregistered Exit Points</a></h3>
<p>The registration facility creates an exit point when an exit program is
requested to be added to an exit point that does not exist. The facility uses
the default values for the exit point control keys. This exit point is
considered unregistered until it is explicitly registered with this API.</p>
<p>An unregistered exit point that was created by the Add Exit Program API can
be registered using the Register Exit Point API. Unregistered exit points and
related information can be displayed using the Work with Registration
Information (WRKREGINF) command or retrieved using the Retrieve Exit
Information API.</p>
<p>The Add Exit Program, Remove Exit Program, Retrieve Exit Information, and
Deregister Exit Point APIs can be run against an unregistered exit point. The
ability to deregister an unregistered exit point enables the removal of exit
points created by the Add Exit Program API in error. For example, if the exit
point name specified on the call to the Add Exit Program API were misspelled,
the exit point can be deregistered.</p>
<p>When registering an unregistered exit point, the exit point control keys are
reset to what is specified on the call to the Register Exit Point API. The
following conditions prevent the registration of an unregistered exit
point:</p>
<ul>
<li>A preprocessing exit program is specified for add. The registration
facility calls the Preprocessing Exit Program for Add for each exit program
that was added to the unregistered exit point. If an exit program currently
listed under the unregistered exit point cannot be added, the preprocessing
exit program then notifies the registration facility. When this occurs, the
exit point provider must remove the exit program from the unregistered exit
point (using the Remove Exit Program API) and must register the exit point
again.<br>
<br>
</li>
<li>The current number of exit programs associated with the unregistered exit
point exceeds the maximum number of exit programs specified when the exit point
is registered. When this occurs, the exit point provider should do either of
the following:<br>
<br>
<ul>
<li>Remove the appropriate number of exit programs from the unregistered exit
point (using the Remove Exit Program API)<br>
<br>
</li>
<li>Change the maximum number of exit programs field to a higher value</li>
</ul>
</li>
</ul>
<br>
<h3>Authorities and Locks</h3>
<dl>
<dt><em>API Public Authority</em></dt>
<dd>*EXCLUDE</dd>
<dt><em>Exit Registration Lock</em></dt>
<dd>*EXCL</dd>
</dl>
<br>
<h3>Required Parameter Group</h3>
<dl>
<dt><strong>Exit point name</strong></dt>
<dd>INPUT; CHAR(20)
<p> The exit point name to register. IBM iSeries exit points are named
QIBM_Q<em>ccc</em>_<em>name</em>, where <em>ccc</em> is the component
identifier. All other IBM exit points are named
QIBM_<em>wccc</em>_<em>name</em>, where <em>w</em> is a character A through I
and <em>ccc</em> is the component identifier. User-supplied exit point names
should not preface their exit point names with QIBM. User-supplied exit point
names should start with the company name to eliminate most problems involving
name uniqueness. An exit point name must be a valid *NAME (basic name) and all
uppercase. See ELEM (Element) Statement in the <a href=
"../rbam6/rbam6clmain.htm">Control Language (CL)</a> topic for more about
*NAME.</p>
</dd>
<dt><strong>Exit point format name</strong></dt>
<dd>INPUT; CHAR(8)
<p> The format defined by the exit point provider. The format specifies the
layout of the exit program data or the parameters to be passed, or both. The
exit point format name must be a valid *NAME (basic name) and all uppercase
characters.</p>
</dd>
<dt><strong>Exit point controls</strong></dt>
<dd>INPUT; CHAR(*)
<p> The exit point control fields for managing the exit point. Any field not
specified will be given the default value. Refer to <a href="#HDREXPTC">Exit
Point Control Keys</a> for more information. The information must be in the
following format:</p>
<dl>
<dt><em>Number of variable length records</em></dt>
<dd>BINARY(4)</dd>
<dd>The total number of all of the variable length records.</dd>
<dt><em>Variable length records</em></dt>
<dd>The fields of the exit point controls to set. Refer to <a href=
"#HDRFMTVAR">Format for Variable Length Record</a> for more information.</dd>
</dl>
<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="HDRFMTVAR">Format for Variable Length Record</a></h3>
<p>The following table shows the layout of the variable length record. For a
detailed description of each field, see <a href="#HDRDESCRG1">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%">BINARY(4)</td>
<td align="left" valign="top" width="60%">Length of variable length record</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">Exit point control key</td>
</tr>
<tr>
<td align="center" valign="top">8</td>
<td align="center" valign="top">8</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Length of data</td>
</tr>
<tr>
<td align="center" valign="top">12</td>
<td align="center" valign="top">C</td>
<td align="left" valign="top">CHAR(*)</td>
<td align="left" valign="top">Data</td>
</tr>
</table>
<p>If the length of the data is longer than the key field's data length, the
data is truncated at the right. No message is issued.</p>
<p>If the length of the data is shorter than the key field's data length and
the key contains binary data, an error message is issued. If the key does not
contain binary data, the field is padded with blanks.</p>
<p>It is not an error to specify a key more than once. If duplicate keys are
specified, the last specified value for that key is used.</p>
<p>Each variable length record must be 4-byte aligned. If not, unpredictable
results may occur.</p>
<br>
<h3><a name="HDRDESCRG1">Field Descriptions</a></h3>
<p><strong>Data.</strong> The value to which a specific exit point control is
to be set.</p>
<p><strong>Exit point control key.</strong> The exit point control to be set.
Refer to <a href="#HDREXPTC">Exit Point Control Keys</a> for more
information.</p>
<p><strong>Length of data.</strong> The length of the exit point control
value.</p>
<p><strong>Length of variable length record.</strong> The length of the record
including this field.</p>
<br>
<h3><a name="HDREXPTC">Exit Point Control Keys</a></h3>
<p>The following table shows the valid exit point control keys for the key
field area of the variable length record. For a detailed description of each
field, see <a href="#HDRDESCRG2">Field Descriptions</a>.</p>
<table border width="80%">
<tr>
<th align="center" valign="top">Key</th>
<th align="left" valign="top">Type</th>
<th align="left" valign="top">Field</th>
</tr>
<tr>
<td align="center" valign="top" width="15%">1</td>
<td align="left" valign="top" width="20%">CHAR(1)</td>
<td align="left" valign="top" width="65%">Allow deregistration</td>
</tr>
<tr>
<td align="center" valign="top">2</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Allow change of exit point controls</td>
</tr>
<tr>
<td align="center" valign="top">3</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Maximum number of exit programs</td>
</tr>
<tr>
<td align="center" valign="top">4</td>
<td align="left" valign="top">CHAR(28)</td>
<td align="left" valign="top">Preprocessing exit program information for add
function</td>
</tr>
<tr>
<td align="center" valign="top">5</td>
<td align="left" valign="top">CHAR(28)</td>
<td align="left" valign="top">Preprocessing exit program information for remove
function</td>
</tr>
<tr>
<td align="center" valign="top">6</td>
<td align="left" valign="top">CHAR(28)</td>
<td align="left" valign="top">Preprocessing exit program information for
retrieve function</td>
</tr>
<tr>
<td align="center" valign="top">7</td>
<td align="left" valign="top">CHAR(27)</td>
<td align="left" valign="top">Qualified message file name and message
identifier for exit point description</td>
</tr>
<tr>
<td align="center" valign="top">8</td>
<td align="left" valign="top">CHAR(50)</td>
<td align="left" valign="top">Exit point text description</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDRDESCRG2">Field Descriptions</a></h3>
<p><strong>Allow change of exit point controls.</strong> Whether the exit point
controls can be changed. When 0 (no change) is specified, the only means of
changing the exit point controls is to:</p>
<ul>
<li>Deregister the exit point (if allow deregister is set to 1)</li>
<li>Reregister the exit point</li>
<li>Add the exit programs again</li>
</ul>
<p>The default value is 1.</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>0</em></td>
<td align="left" valign="top">The exit point controls cannot be changed.</td>
</tr>
<tr>
<td align="left" valign="top"><em>1</em></td>
<td align="left" valign="top">The exit point controls can be changed.</td>
</tr>
</table>
<p><strong>Allow deregistration.</strong> Whether the exit point can be
deregistered (removed from the registration facility repository). When 0 is
specified, the exit point can never be removed from the registration facility
repository. This control is set when the exit point is registered and cannot be
changed. The default value is 1.</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>0</em></td>
<td align="left" valign="top">The exit point cannot be deregistered.</td>
</tr>
<tr>
<td align="left" valign="top"><em>1</em></td>
<td align="left" valign="top">The exit point can be deregistered.</td>
</tr>
</table>
<p><strong>Exit point text description.</strong> The text for the exit point
description. When this key is specified, the qualified message file name and
message identifier for exit point description key must not be specified. The
default value is blanks.</p>
<p><strong>Maximum number of exit programs.</strong> The number of exit
programs that this exit point can have. The minimum number of exit programs is
1. The default value is -1.</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>-1</em></td>
<td align="left" valign="top">No maximum.</td>
</tr>
<tr>
<td align="left" valign="top"><em>&gt;0</em></td>
<td align="left" valign="top">The maximum number of exit programs.</td>
</tr>
</table>
<p><strong>Preprocessing exit program information for add function.</strong>
The format and the exit program that the registration facility calls when the
Add Exit Program API is called for the exit point. This program performs any
function that is needed by the exit point when an exit program is added to it.
The exit program must exist when the exit point is registered. Refer to <a
href="#HDRPREPROC">Preprocessing Exit Program Format</a> for the format of this
field.</p>
<p><strong>Preprocessing exit program information for remove function.</strong>
The format and the exit program that the registration facility calls when the
Remove Exit Program API is called for the exit point. This program performs any
function that is needed by the exit point when an exit program is removed from
it. The exit program must exist when the exit point is registered. Refer to <a
href="#HDRPREPROC">Preprocessing Exit Program Format</a> for the format of this
field.</p>
<p><strong>Preprocessing exit program information for retrieve
function.</strong> The format and the exit program that the registration
facility calls when the Retrieve Exit Information API is called for the exit
point. This exit program cannot be specified without specifying preprocessing
exit programs for add and remove. When this exit program is specified, the exit
point provider will store all the exit program information instead of the
registration facility. The exit program must exist when the exit point is
registered. Refer to <a href="#HDRPREPROC">Preprocessing Exit Program
Format</a> for the format of this field.</p>
<p><strong>Qualified message file name and message identifier for exit point
description.</strong> A message file and message identifier that contains the
exit point description. When this key is specified, the exit point text
description control key must not be specified. The message file and message
identifier do not have to exist at the time of registration. The default value
is blanks. Refer to <a href="#HDRMSGFILE">Qualified Message File Format</a> for
the format of this field.</p>
<br>
<h3><a name="HDRMSGFILE">Qualified Message File Format</a></h3>
<p>The following table shows the layout of the qualified message file name and
message identifier for exit point description field. For a detailed description
of each field, see <a href="#HDRDESCRG3">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%">CHAR(10)</td>
<td align="left" valign="top" width="60%">Message file name</td>
</tr>
<tr>
<td align="center" valign="top">10</td>
<td align="center" valign="top">A</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">20</td>
<td align="center" valign="top">14</td>
<td align="left" valign="top">CHAR(7)</td>
<td align="left" valign="top">Message identifier</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDRDESCRG3">Field Descriptions</a></h3>
<p><strong>Message file library name.</strong> The library name in which the
message file resides. The special value *CURLIB is not supported. The possible
values are:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>*LIBL</em></td>
<td align="left" valign="top">Search the library list for the message file.
This value uses the first message file in the library list that contains the
message identifier.</td>
</tr>
<tr>
<td align="left" valign="top"><em>library name</em></td>
<td align="left" valign="top">The name of the message library the message file
resides in.</td>
</tr>
</table>
<p><strong>Message file name.</strong> The name of the message file that
contains the exit point description.</p>
<p><strong>Message identifier.</strong> The message identifier for the
description.</p>
<br>
<h3><a name="HDRPREPROC">Preprocessing Exit Program Format</a></h3>
<p>The following table shows the layout of the preprocessing exit program
information fields. For a detailed description of each field, see <a href=
"#HDRDESCRG4">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%">CHAR(10)</td>
<td align="left" valign="top" width="60%">Preprocessing exit program name</td>
</tr>
<tr>
<td align="center" valign="top">10</td>
<td align="center" valign="top">A</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Preprocessing exit program library name</td>
</tr>
<tr>
<td align="center" valign="top">20</td>
<td align="center" valign="top">14</td>
<td align="left" valign="top">CHAR(8)</td>
<td align="left" valign="top">Preprocessing exit program format name</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDRDESCRG4">Field Descriptions</a></h3>
<p><strong>Preprocessing exit program format name.</strong> The format name for
the preprocessing exit program. If *NONE is specified for the preprocessing
exit program name, this field must be blank. The possible values for the format
names follow:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>ADDP0100</em></td>
<td align="left" valign="top">The required parameter group for the
Preprocessing Exit Program for Add.</td>
</tr>
<tr>
<td align="left" valign="top"><em>RMVP0100</em></td>
<td align="left" valign="top">The required parameter group for the
Preprocessing Exit Program for Remove.</td>
</tr>
<tr>
<td align="left" valign="top"><em>RTVI0100</em></td>
<td align="left" valign="top">The required parameter group for the
Preprocessing Exit Program for Retrieve.</td>
</tr>
</table>
<p>Refer to <a href="reg1.htm">Registration Facility Preprocessing Exit
Programs</a> for information about the required parameter group of each
preprocessing exit program.</p>
<p><strong>Preprocessing exit program library name.</strong> The library name
in which the preprocessing exit program resides. If *NONE is specified for the
preprocessing exit program name, this field must be blank. The special values
*LIBL and *CURLIB are not supported.</p>
<p><strong>Preprocessing exit program name.</strong> The name of the
preprocessing exit program that is called by the registration facility when the
corresponding function is requested for the exit point. The default value is
*NONE. The possible values are:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>*NONE</em></td>
<td align="left" valign="top">No exit program is supplied.</td>
</tr>
<tr>
<td align="left" valign="top"><em>exit program name</em></td>
<td align="left" valign="top">The exit program name.</td>
</tr>
</table>
<p>If *NONE is specified for the preprocessing exit program name, the library
name and format name must be blank.</p>
<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">CPF24B4 E</td>
<td width="85%" valign="top">Severe error while addressing parameter list.</td>
</tr>
<tr>
<td valign="top">CPF3C1E E</td>
<td valign="top">Required parameter &amp;1 omitted.</td>
</tr>
<tr>
<td valign="top">CPF3C36 E</td>
<td valign="top">Number of parameters, &amp;1, entered for this API was not
valid.</td>
</tr>
<tr>
<td valign="top">CPF3C4D E</td>
<td valign="top">Length &amp;1 for key &amp;2 not valid.</td>
</tr>
<tr>
<td valign="top">CPF3C81 E</td>
<td valign="top">Value for key &amp;1 not valid.</td>
</tr>
<tr>
<td valign="top">CPF3C82 E</td>
<td valign="top">Key &amp;1 not valid for API &amp;2.</td>
</tr>
<tr>
<td valign="top">CPF3C84 E</td>
<td valign="top">Key &amp;1 required with value specified for key &amp;2.</td>
</tr>
<tr>
<td valign="top">CPF3C85 E</td>
<td valign="top">Value for key &amp;1 not allowed with value for key
&amp;2.</td>
</tr>
<tr>
<td valign="top">CPF3C90 E</td>
<td valign="top">Literal value cannot be changed.</td>
</tr>
<tr>
<td valign="top">CPF3CD1 E</td>
<td valign="top">Exit point &amp;1 with format &amp;2 already registered.</td>
</tr>
<tr>
<td valign="top">CPF3CD2 E</td>
<td valign="top">Exit point name &amp;1 not valid.</td>
</tr>
<tr>
<td valign="top">CPF3CD3 E</td>
<td valign="top">Exit point format name &amp;1 not valid.</td>
</tr>
<tr>
<td valign="top">CPF3CD4 E</td>
<td valign="top">Maximum number of exit programs reached for exit point &amp;1
with format &amp;2.</td>
</tr>
<tr>
<td valign="top">CPF3CD5 E</td>
<td valign="top">Exit point control &amp;1 cannot be changed.</td>
</tr>
<tr>
<td valign="top">CPF3CD7 E</td>
<td valign="top">Preprocessing exit program &amp;1 library &amp;2 with format
&amp;3 not valid.</td>
</tr>
<tr>
<td valign="top">CPF3CD8 E</td>
<td valign="top">Registration of exit point &amp;1 with format &amp;2 not
performed.</td>
</tr>
<tr>
<td valign="top">CPF3CD9 E</td>
<td valign="top">Requested function cannot be performed at this time.</td>
</tr>
<tr>
<td valign="top">CPF3CDA E</td>
<td valign="top">Registration facility repository not available for use.</td>
</tr>
<tr>
<td valign="top">CPF3CF1 E</td>
<td valign="top">Error code parameter not valid.</td>
</tr>
<tr>
<td valign="top">CPF3CF2 E</td>
<td valign="top">Error(s) occurred during running of &amp;1 API.</td>
</tr>
<tr>
<td valign="top">CPF8100 E</td>
<td valign="top">All CPF81xx messages could be returned. xx is from 01 to
FF.</td>
</tr>
<tr>
<td valign="top">CPF9802 E</td>
<td valign="top">Not authorized to object &amp;2 in &amp;3.</td>
</tr>
<tr>
<td valign="top">CPF9810 E</td>
<td valign="top">Library &amp;1 not found.</td>
</tr>
<tr>
<td valign="top">CPF9811 E</td>
<td valign="top">Program &amp;1 in library &amp;2 not found.</td>
</tr>
<tr>
<td valign="top">CPF9820 E</td>
<td valign="top">Not authorized to use library &amp;1.</td>
</tr>
<tr>
<td valign="top">CPF9872 E</td>
<td valign="top">Program or service program &amp;1 in library &amp;2 ended.
Reason code &amp;3</td>
</tr>
</table>
<br>
<hr>
API introduced: V3R1
<hr>
<center>
<table cellpadding="2" cellspacing="2">
<tr align="center">
<td valign="middle" align="center"><a href="#top">Top</a> | <a href=
"reg1.htm">Registration Facility APIs</a> | <a href="aplist.htm">APIs by
category</a></td>
</tr>
</table>
</center>
</body>
</html>