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

937 lines
28 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>Register Function (QSYRGFN, QsyRegisterFunction) 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. -->
<!-- Sec SCRIPT A converted by B2H R4.1 (346) (CMS) by V2KEA304 -->
<!-- at RCHVMW2 on 17 Feb 1999 at 11:05:09 -->
<!-- Change History: -->
<!-- YYMMDD USERID Change description -->
<!-- Edited by Kersten Jan 02 -->
<!--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 language="Javascript" src="../rzahg/synch.js" type="text/javascript">
</script>
<h2>Register Function (QSYRGFN, QsyRegisterFunction) API</h2>
<div class="box" style="width: 60%;">
<br>
&nbsp;&nbsp;<img src="delta.gif" alt="Start of change">Required Parameter Group for QSYRGFN:<br>
<!-- iddvc RMBR -->
<br>
<table width="100%">
<tr>
<td align="center" valign="top" width="10%">1</td>
<td align="left" valign="top" width="50%">Function ID</td>
<td align="left" valign="top" width="20%">Input</td>
<td align="left" valign="top" width="20%">Char(30)</td>
</tr>
<tr>
<td align="center" valign="top">2</td>
<td align="left" valign="top">Function controls</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Char(*)</td>
</tr>
<tr>
<td align="center" valign="top">3</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>
<br>
<div class="box" style="width: 60%;">
<br>
&nbsp;&nbsp;Syntax for QsyRegisterFunction:<br>
<pre>
#include &lt;qsyrgfn1.h&gt;
void QsyRegisterFunction
(char <em>Function_ID</em>[30],
Qsy_Func_Controls_T *<em>Function_controls</em>,
void *<em>Error_code</em>);
</pre>
&nbsp;&nbsp;Service Program: QSYRGFN1<br>
<!-- iddvc RMBR -->
&nbsp;&nbsp;Default Public Authority: *USE<br>
<!-- iddvc RMBR -->
<br>
&nbsp;&nbsp;Threadsafe: Yes<img src="deltaend.gif" alt="End of change"><br>
<!-- iddvc RMBR -->
<br>
</div>
<br>
<p>The Register Function (OPM, QSYRGFN; ILE, QsyRegisterFunction) API registers
a function with the registration facility. The function controls provide
information to help manage and control the use of the function.</p>
<p>You can update a function entry by reregistering the function (using the
replace control key) with new values for the function control keys. The
registration facility will update the control keys and maintain the current
list of usage settings that are associated with the function. The following
conditions apply to updating the function control keys:</p>
<ul>
<li>Function category: This control key is set the first time the function is
registered and cannot be changed.</li>
<li>Function type: This control key is set the first time the function is
registered and cannot be changed.</li>
</ul>
<br>
<p>When a function is registered, the registration information is stored using
the Exit Point Registration Facility. Each function is registered as an exit
program within an exit point. The exit point that the function is registered in
depends on the category of the function:</p>
<ul>
<li>Locally managed client
functions within iSeries Navigator are registered in the QIBM_QSY_OPNAVCLIENT
exit point.<br>
<br>
</li>
<li>Locally managed client functions that are not within iSeries Navigator are
registered in the QIBM_QSY_OTHERCLIENT exit point.<br>
<br>
</li>
<li>Host functions are registered in the QIBM_QSY_HOSTFUNC exit point.<br>
<br>
</li>
<li>Centrally managed client functions within iSeries Navigator are registered
in the QIBM_QSY_OPNAVCENTRL exit point.<br>
<br>
</li>
<li>Centrally managed client functions that are not within iSeries Navigator
are registered in the QIBM_QSY_OTHERCENTRL exit point.</li>
</ul>
<br>
<p>The Exit Point Registration
Facility is used only for storing the function registration information. The
exit programs within these exit points are never called, so the formats
associated with these exit points (FCNR0100 and FCNR0200) are never used or
documented.</p>
<p><strong>Note:</strong> You must use this API and the Deregister Function
(QSYDRGFN, QsyDeregisterFunction) API to manage the function registration
entries. If the Exit Point Registration Facility APIs are used, the results
will be unpredictable.</p>
<br>
<h3>Authorities and Locks</h3>
<dl>
<dt><em>API Public Authority</em></dt>
<dd>*USE<br>
<br>
</dd>
<dt><em>Authority Required</em></dt>
<dd>*SECADM special authority<br>
<br>
</dd>
<dt><em>Function Registration Lock</em></dt>
<dd>*EXCL</dd>
</dl>
<br>
<h3>Required Parameter Group</h3>
<dl>
<dt><strong>Function ID</strong></dt>
<dd>INPUT; CHAR(30)
<p>The function ID to register. IBM functions are named
QIBM_Q<em>ccc</em>_<em>name</em>, where _Q<em>ccc</em> is the componenet
qualifier and <em>ccc</em> is the component identifier, or are named
QIBM_<em>wccc</em>_<em>name</em>, where _<em>wccc</em> is the component
qualifier, <em>w</em> is a character A through I, and <em>ccc</em> is the
component identifier. The component qualifier is included in IBM function IDs
if the function is associated with a specific component. Otherwise, IBM
function IDs will not contain the component qualifier. User-supplied function
IDs should not preface their function ID with QIBM. User-supplied function IDs
should start with the company name to eliminate most problems that involve
unique names.</p>
<p>The first character of the function ID must be one of the following:</p>
<table cellpadding="5">
<!-- cols="10 90" -->
<tr>
<td align="left" valign="top" nowrap><em>A-Z</em></td>
<td align="left" valign="top">Uppercase A-Z</td>
</tr>
</table>
<p>The remaining characters in the function ID must be made up of the following
characters:</p>
<table cellpadding="5">
<!-- cols="10 90" -->
<tr>
<td align="left" valign="top" nowrap><em>A-Z</em></td>
<td align="left" valign="top">Uppercase A-Z</td>
</tr>
<tr>
<td align="left" valign="top"><em>0-9</em></td>
<td align="left" valign="top">Digits 0-9</td>
</tr>
<tr>
<td align="left" valign="top"><em>.</em></td>
<td align="left" valign="top">Period</td>
</tr>
<tr>
<td align="left" valign="top"><em>_</em></td>
<td align="left" valign="top">Underscore</td>
</tr>
</table>
<br>
<br>
</dd>
<dt><strong>Function controls</strong></dt>
<dd>INPUT; CHAR(*)
<p>The function control fields for managing the function. Any field not
specified will be given the default value. Refer to <a href=
"#HDRFUNCC2">Function Control Keys</a> for more information.</p>
<p>The information must be in the following format:</p>
<table cellpadding="5">
<!-- cols="25 75" -->
<tr>
<td align="left" valign="top"><em>Number of variable length records</em> </td>
<td align="left" valign="top">BINARY(4)<br>
The total number of all of the variable length records.</td>
</tr>
<tr>
<td align="left" valign="top"><em>Variable length records</em> </td>
<td align="left" valign="top">The fields of the function controls to set. Refer
to <a href="#HDRFMTVAR3">Format for Variable Length Record</a> for more
information.</td>
</tr>
</table>
<br>
<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="HDRFMTVAR3">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="#HDRDESCRGA">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">Function 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>
<br>
<br>
<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="HDRDESCRGA">Field Descriptions</a></h3>
<p><strong>Data.</strong> The value to which a specific function control is to be set.</p>
<p><strong>Function control key.</strong> The function control to be set. Refer
to <a href="#HDRFUNCC2">Function Control Keys</a> for more information.</p>
<p><strong>Length of data.</strong> The length of the function control
value.</p>
<p><strong>Length of variable length record.</strong> The length of the record
including this field.</p>
<br>
<h3><a name="HDRFUNCC2">Function Control Keys</a></h3>
<p>The following table shows the valid function control keys for the key field
area of the variable length record. For a detailed description of each field,
see <a href="#HDRDESCRG6">Field Descriptions</a>.</p>
<table border width="80%">
<tr>
<th align="center" valign="bottom">Key</th>
<th align="left" valign="bottom">Type</th>
<th align="left" valign="bottom">Field</th>
</tr>
<tr>
<td align="center" valign="top" width="10%">1</td>
<td align="left" valign="top" width="15%">CHAR(1)</td>
<td align="left" valign="top" width="75%">Function category</td>
</tr>
<tr>
<td align="center" valign="top">2</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Function type</td>
</tr>
<tr>
<td align="center" valign="top">3</td>
<td align="left" valign="top">CHAR(30)</td>
<td align="left" valign="top">Function product ID</td>
</tr>
<tr>
<td align="center" valign="top">4</td>
<td align="left" valign="top">CHAR(30)</td>
<td align="left" valign="top">Function group ID</td>
</tr>
<tr>
<td align="center" valign="top">5</td>
<td align="left" valign="top">CHAR(27)</td>
<td align="left" valign="top">Qualified message file name and message
identifier for function name</td>
</tr>
<tr>
<td align="center" valign="top">6</td>
<td align="left" valign="top">CHAR(132)</td>
<td align="left" valign="top">Function name</td>
</tr>
<tr>
<td align="center" valign="top">7</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Function name CCSID</td>
</tr>
<tr>
<td align="center" valign="top">8</td>
<td align="left" valign="top">CHAR(27)</td>
<td align="left" valign="top">Qualified message file name and message
identifier for function description</td>
</tr>
<tr>
<td align="center" valign="top">9</td>
<td align="left" valign="top">CHAR(132)</td>
<td align="left" valign="top">Function description</td>
</tr>
<tr>
<td align="center" valign="top">10</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Function description CCSID</td>
</tr>
<tr>
<td align="center" valign="top">11</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Default usage</td>
</tr>
<tr>
<td align="center" valign="top">12</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">*ALLOBJ indicator</td>
</tr>
<tr>
<td align="center" valign="top">13</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Replace</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDRDESCRG6">Field Descriptions</a></h3>
<strong>*ALLOBJ indicator.</strong>
<p>Whether a user with *ALLOBJ special authority can use the function. The
default value is 1. This key can be specified only if the function type control
key is set to 3 (administrable function).<br>
<br>
</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>0</em></td>
<td align="left" valign="top">For a user with *ALLOBJ special authority to use
the function, the usage information specified for the function must indicate
that the user is allowed to use the function for one of the following reasons:
<ol>
<li>the user is allowed usage,</li>
<li>one of its groups is allowed usage, or</li>
<li>the default setting is to allow usage.</li>
</ol>
</td>
</tr>
<tr>
<td align="left" valign="top"><em>1</em></td>
<td align="left" valign="top">A user with *ALLOBJ special authority is always
allowed to use the function.</td>
</tr>
</table>
<p><strong>Default usage.</strong> The default usage for the function. The
default usage is used if the user or one of its groups does not have a specific
usage setting. This key can be specified only if the function type control key
is set to 3 (administrable function). The default value is 2.</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>1</em></td>
<td align="left" valign="top">The default usage is to not allow usage of the
function.</td>
</tr>
<tr>
<td align="left" valign="top"><em>2</em></td>
<td align="left" valign="top">The default usage is to allow usage of the
function.</td>
</tr>
</table>
<br>
<p><strong>Function category.</strong> The category of the function. This
control is set when the function is registered and cannot be changed. The
default value is 3.</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>1</em></td>
<td align="left" valign="top">The function is a locally managed client function within
iSeries Navigator. The function defines code that runs on the client, is
locally managed, and is included in the iSeries Navigator tree structure.</td>
</tr>
<tr>
<td align="left" valign="top"><em>2</em></td>
<td align="left" valign="top">The function is a locally managed client function, not within
iSeries Navigator. The function defines code that runs on the client and is
locally managed, but is not included in the iSeries Navigator tree
structure.</td>
</tr>
<tr>
<td align="left" valign="top"><em>3</em></td>
<td align="left" valign="top">The function is a host function. The function
defines code that runs on the server.</td>
</tr>
<tr>
<td align="left" valign="top"><em>4</em></td>
<td align="left" valign="top">The function is a centrally managed client function within iSeries Navigator.
The function defines code that runs on the client, is centrally managed, and is
included in the iSeries Navigator tree structure.</td>
</tr>
<tr>
<td align="left" valign="top"><em>5</em></td>
<td align="left" valign="top">The function is a centrally managed client function, not within iSeries
Navigator. The function defines code that runs on the client and is centrally
managed, but is not included in the iSeries Navigator tree structure.</td>
</tr>
</table>
<br>
<p>Only client based applications should use category 1, 2, 4, or 5. See <a
href="../rzaj3/rzaj3concepts.htm">Application Administration Concepts</a> in
the iSeries Navigator topic for more information on the difference between
locally managed and centrally managed client functions.</p>
<p><strong>Function description.</strong> The text for the function
description. The default value is blanks.</p>
<p><strong>Function description CCSID.</strong> The CCSID value associated with
the function description. The default value is 0.</p>
<table cellpadding="5">
<!-- cols="10 90" -->
<tr>
<td align="left" valign="top"><em>0</em></td>
<td align="left" valign="top">The current job default CCSID value is associated
with the function description.</td>
</tr>
<tr>
<td align="left" valign="top"><em>CCSID</em></td>
<td align="left" valign="top">The CCSID value associated with the function
description. The CCSID value must be from 1 to 65535. If 65535 is specified,
then the data will not be converted to the desired CCSID when the function is
retrieved.</td>
</tr>
</table>
<p><strong>Function group ID.</strong> The ID of the function group with which
this function will be grouped. The function group must exist, have a function
type of function group (2), and have the same category as the function being
registered. If a value of *NONE is specified, then the function is not grouped
under a function group. The default value is *NONE. This key cannot be
specified if the function type control key is set to 1 (function product).</p>
<p><strong>Function name.</strong> The text name for the function ID. The
function name will be used to identify the function when using the iSeries
Navigator Application Administration support. If this control is not specified,
the function ID will be used to identify the function.</p>
<p><strong>Function name CCSID.</strong> The CCSID value associated with the
function name. The default value is 0.</p>
<table cellpadding="5">
<!-- cols="10 90" -->
<tr>
<td align="left" valign="top"><em>0</em></td>
<td align="left" valign="top">The current job default CCSID value is associated
with the function name.</td>
</tr>
<tr>
<td align="left" valign="top"><em>CCSID</em></td>
<td align="left" valign="top">The CCSID value associated with the function
name. The CCSID value must be from 1 to 65535. If 65535 is specified, then the
data will not be converted to the desired CCSID when the function is
retrieved.</td>
</tr>
</table>
<br>
<p><strong>Function product ID.</strong> The ID of the product for which the
function is being registered. This key cannot be specified if the function type
control key is set to 1 (function product). This key must be specified if the
function type control key is set to 2 (function group) or 3 (administrable
function).</p>
<p><strong>Function type.</strong> The type of function. This control is set
when the function is registered and cannot be changed. The default value is
3.</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>1</em></td>
<td align="left" valign="top">The function is a function product. No usage
information is stored for function products. The purpose is to group functions
under a product when the functions are being administered by the iSeries
Navigator Application Administration support.</td>
</tr>
<tr>
<td align="left" valign="top"><em>2</em></td>
<td align="left" valign="top">The function is a function group. No usage
information is stored for function groups. The purpose is to group functions
within a product when the functions are being administered by the iSeries
Navigator Application Administration support.</td>
</tr>
<tr>
<td align="left" valign="top"><em>3</em></td>
<td align="left" valign="top">The function is an administrable function. Usage
information can be stored and checked for this function.</td>
</tr>
</table>
<p><strong>Qualified message file name and message identifier for function
description.</strong> A message file and message identifier that contains the
function description. 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="#HDRMSGFIL">Qualified Message File Format</a> for the format of this
field.</p>
<p><strong>Qualified message file name and message identifier for function
name.</strong> A message file and message identifier that contains the function
name. 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=
"#HDRMSGFIL">Qualified Message File Format</a> for the format of this
field.</p>
<p><strong>Replace.</strong> Whether to replace an existing registered
function. The default value is 0.</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>0</em></td>
<td align="left" valign="top">Do not replace an existing registered function.
If this value is specified and the function is already registered, the request
will fail.</td>
</tr>
<tr>
<td align="left" valign="top"><em>1</em></td>
<td align="left" valign="top">Replace an existing registered function. If this
value is specified and the function is not already registered, the function
will be registered. If the function is already registered, only the function
control keys that are specified on this call are replaced. Any other function
control keys that were previously specified will keep their values.</td>
</tr>
<tr>
<td align="left" valign="top"><em>2</em></td>
<td align="left" valign="top">Replace an existing registered function, but do not
replace function control keys that are controlled by a system administrator. If this
value is specified and the function is not already registered, the function
will be registered. If the function is already registered, only the function
control keys that are specified on this call are replaced. Any other function
control keys that were previously specified will keep their values. Function
control keys that are controlled by a system administrator are not replaced, even
if they are specified on this call. These function control keys include:
<ul>
<li>*ALLOBJ indicator</li>
<li>Default usage</li>
</ul>
<p>This value should be used by install exit programs to ensure that values set by the
system adminstrator are not replaced by the install exit program.
</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDRMSGFIL">Qualified Message File Format</a></h3>
<p>The following table shows the layout of the qualified message file name and
message identifier for the function name and function description fields. For a
detailed description of each field, see <a href="#HDRDESCRG8">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="HDRDESCRG8">Field Descriptions</a></h3>
<strong>Message file library name.</strong>
<p>The library name in which the message file resides. No special values are
supported.</p>
<p><strong>Message file name.</strong> The name of the message file that
contains the function name or function description.</p>
<p><strong>Message identifier.</strong> The message identifier for the function
name or function description.</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">CPFA0AA E</td>
<td width="85%" valign="top">Error occurred while attempting to obtain
space.</td>
</tr>
<tr>
<td align="left" valign="top">CPF2225 E</td>
<td align="left" valign="top">Not able to allocate internal system object.</td>
</tr>
<tr>
<td align="left" valign="top">CPF222E E</td>
<td align="left" valign="top">&amp;1 special authority is required.</td>
</tr>
<tr>
<td align="left" valign="top">CPF228C E</td>
<td align="left" valign="top">Function ID &amp;1 not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF228D E</td>
<td align="left" valign="top">Function group &amp;1 not registered in same
category.</td>
</tr>
<tr>
<td align="left" valign="top">CPF228E E</td>
<td align="left" valign="top">Function product &amp;1 not registered in same
category.</td>
</tr>
<tr>
<td align="left" valign="top">CPF228F E</td>
<td align="left" valign="top">Function &amp;1 already registered.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3C36 E</td>
<td align="left" valign="top">Number of parameters, &amp;1, entered for this
API was not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3C4D E</td>
<td align="left" valign="top">Length &amp;1 for key &amp;2 not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3C81 E</td>
<td align="left" valign="top">Value for key &amp;1 not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3C82 E</td>
<td align="left" valign="top">Key &amp;1 not valid for API &amp;2.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3C84 E</td>
<td align="left" valign="top">Key &amp;1 required with value specified for key
&amp;2.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3C85 E</td>
<td align="left" valign="top">Value for key &amp;1 not allowed with value for
key &amp;2.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3C88 E</td>
<td align="left" valign="top">Number of variable length records &amp;1 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">CPF3CD9 E</td>
<td align="left" valign="top">Requested function cannot be performed at this
time.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3CDA E</td>
<td align="left" valign="top">Registration facility repository not available
for use.</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">CPF3CF2 E</td>
<td align="left" valign="top">Error(s) occurred during running of &amp;1
API.</td>
</tr>
<tr>
<td align="left" valign="top">CPF8100 E</td>
<td align="left" valign="top">All CPF81xx messages could be returned. xx is
from 01 to FF.</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">CPF9811 E</td>
<td align="left" valign="top">Program &amp;1 in library &amp;2 not found.</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: V4R3
<hr>
<center>
<table cellpadding="2" cellspacing="2">
<tr align="center">
<td valign="middle" align="center"><a href="#Top_Of_Page">Top</a> | <a href=
"sec.htm">Security APIs</a> | <a href="aplist.htm">APIs by category</a></td>
</tr>
</table>
</center>
</body>
</html>