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

1063 lines
28 KiB
HTML
Raw 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>Create User Index (QUSCRTUI) 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. -->
<!-- QUSCRTUI SCRIPT A converted by B2H R4.1 (346) (CMS) by PMHALL at -->
<!-- RCHVMW2 on 7 Oct 1998 at 17:33:21 -->
<!-- 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>Create User Index (QUSCRTUI) API</h2>
<div class="box" style="width: 75%;">
<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%">Qualified user index 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">Extended attribute</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Char(10)</td>
</tr>
<tr>
<td align="center" valign="top">3</td>
<td align="left" valign="top">Entry length attribute</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Char(1)</td>
</tr>
<tr>
<td align="center" valign="top">4</td>
<td align="left" valign="top">Entry length</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Binary(4)</td>
</tr>
<tr>
<td align="center" valign="top">5</td>
<td align="left" valign="top">Key insertion</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Char(1)</td>
</tr>
<tr>
<td align="center" valign="top">6</td>
<td align="left" valign="top">Key length</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Binary(4)</td>
</tr>
<tr>
<td align="center" valign="top">7</td>
<td align="left" valign="top">Immediate update</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Char(1)</td>
</tr>
<tr>
<td align="center" valign="top">8</td>
<td align="left" valign="top">Optimization</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Char(1)</td>
</tr>
<tr>
<td align="center" valign="top">9</td>
<td align="left" valign="top">Public authority</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Char(10)</td>
</tr>
<tr>
<td align="center" valign="top">10</td>
<td align="left" valign="top">Text description</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Char(50)</td>
</tr>
</table>
<br>
&nbsp;&nbsp;Optional Parameter Group 1:<br>
<!-- iddvc RMBR -->
<br>
<table width="100%">
<tr>
<td align="center" valign="top" width="10%">11</td>
<td align="left" valign="top" width="50%">Replace</td>
<td align="left" valign="top" width="20%">Input</td>
<td align="left" valign="top" width="20%">Char(10)</td>
</tr>
<tr>
<td align="center" valign="top">12</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;Optional Parameter Group 2:<br>
<!-- iddvc RMBR -->
<br>
<table width="100%">
<tr>
<td align="center" valign="top" width="10%">13</td>
<td align="left" valign="top" width="50%">Domain</td>
<td align="left" valign="top" width="20%">Input</td>
<td align="left" valign="top" width="20%">Char(10)</td>
</tr>
</table>
<br>
&nbsp;&nbsp;Optional Parameter Group 3:<br>
<!-- iddvc RMBR -->
<br>
<table width="100%">
<tr>
<td align="center" valign="top" width="10%">14</td>
<td align="left" valign="top" width="50%">Usage tracking</td>
<td align="left" valign="top" width="20%">Input</td>
<td align="left" valign="top" width="20%">Char(1)</td>
</tr>
</table>
<br>
&nbsp;&nbsp;Optional Parameter Group 4:<br>
<!-- iddvc RMBR -->
<br>
<table width="100%">
<tr>
<td align="center" valign="top" width="10%">15</td>
<td align="left" valign="top" width="50%">Index size option</td>
<td align="left" valign="top" width="20%">Input</td>
<td align="left" valign="top" width="20%">Char(1)</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 Create User Index (QUSCRTUI) API creates a user index in either the user
domain or the system domain. A system-domain user index cannot be saved to a
release prior to Version 2 Release 3 Modification 0. A user-domain user index
can be directly manipulated with MI instructions and can also be accessed using
system APIs at all security levels. On a system with the QSECURITY system value
set to 40 or greater, you must use system APIs to access system-domain user
indexes. If you create a permanent object by using this API, you cannot delete
the object by using the MI instruction DESINX when the system security level is
set to 40 or greater. You would have to delete the object by using the Delete
User Index (QUSDLTUI) API.</p>
<p><strong>Note:</strong> If the
user index is larger than 4 gigabytes, it cannot be saved to a release prior to
Version 5 Release 2 Modification 0.</p>
<p>If the user index was created prior to Version 2 Release 2 Modification 0,
the size of the user index is limited to a maximum of 1 gigabyte. (A user index
with a size greater than 1 gigabyte cannot be saved to or restored from a
release prior to Version 2 Release 2 Modification 0.) If the user index was
created on or after Version 2 Release 2 Modification 0, the size of the object
is limited to a maximum of 4 gigabytes. The size is dependent on the amount of
storage needed for the number and size of index entries and excludes the size
of the associated space, if any.</p>
<p><strong>Note:</strong> You can tell whether a user index object can be saved
to a release prior to Version 2 Release 2 Modification 0:</p>
<ul>
<li>By ensuring that the current object size is less than 1 gigabyte by using
one of the following:
<ul>
<li>The Display Object Description (DSPOBJD) command</li>
<li>The List Objects (QUSLOBJ) API</li>
<li>The Retrieve Object Description (QUSROBJD) API</li>
</ul>
</li>
<li>By ensuring that the key length field is 120 bytes or less by using either
of the following:
<ul>
<li>The Materialize Index Attributes (MATINXAT) MI instruction</li>
<li>The Retrieve User Index Attributes (QUSRUIAT) API</li>
</ul>
</li>
</ul>
<p><strong>Note:</strong> For performance reasons, the *USRIDX object is
created before checking to see if it exists in the library specified for the
qualified user index name. If you have an application using this API
repeatedly, even if you are using *NO for the replace parameter, permanent
system addresses will be used.</p>
<br>
<h3>Authorities and Locks</h3>
<dl>
<dt><em>Library Authority</em></dt>
<dd>*READ and *ADD.<br>
<br>
</dd>
<dt><em>User Index Authority</em></dt>
<dd>*OBJMGT, *OBJEXIST, and *READ. These authorities are required only if the
replace parameter is used and there is an existing user index to replace.<br>
<br>
</dd>
<dt><em>User Index Lock</em></dt>
<dd>*EXCL. This applies to both the user index being created and an existing
user index being replaced.</dd>
</dl>
<br>
<h3>Required Parameter Group</h3>
<dl>
<dt><strong>Qualified user index name</strong></dt>
<dd>INPUT; CHAR(20)
<p>The name of the user index being created, and the library in which it is to
be located. The first 10 characters contain the user index name, and the second
10 characters contain the library name.</p>
<p>You can use this special value for the library name:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>*CURLIB</em></td>
<td align="left" valign="top">The job's current library</td>
</tr>
</table>
<p>User indexes created in the QTEMP and QRPLOBJ libraries are not forced to
permanent storage; they are deleted when those libraries are cleared at
sign-off and system IPL, respectively.</p>
</dd>
<dt><strong>Extended attribute</strong></dt>
<dd>INPUT; CHAR(10)
<p>The extended attribute of the user index. For example, an object type of
*FILE could have an extended attribute of PF (physical file), LF (logical
file), DSPF (display file), or SAVF (save file).</p>
<p>The extended attribute must be a valid *NAME. You can enter this parameter
in uppercase, lowercase, or mixed case. The API automatically converts it to
uppercase.</p>
</dd>
<dt><strong>Entry length attribute</strong></dt>
<dd>INPUT; CHAR(1)
<p>Whether there are fixed-length or variable-length entries in the user index.
The valid values are:</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>F</em></td>
<td align="left" valign="top">Fixed-length entries</td>
</tr>
<tr>
<td align="left" valign="top"><em>V</em></td>
<td align="left" valign="top">Variable-length entries</td>
</tr>
</table>
<br>
</dd>
<dt><strong>Entry length</strong></dt>
<dd>INPUT; BINARY(4)
<p>The length of entries in the index.</p>
<p>The valid values for fixed-length entries are from 1 through 2000.</p>
<p>Valid values for variable length entries are 0 or -1. A value of 0 enables a
maximum entry length of 120 bytes and a key length from 1 through 120. A value
of -1 enables a maximum entry length of 2000 and a key length from 1 through
2000.</p>
<p><strong>Note:</strong> A user index created with an entry length greater
than 120 cannot be saved or restored to a release prior to
Version 2 Release 2 Modification 0.</p>
</dd>
<dt><strong>Key insertion</strong></dt>
<dd>INPUT; CHAR(1)
<p>Whether the inserts to the index are by key. The valid values are:</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>0</em></td>
<td align="left" valign="top">No insertion by key</td>
</tr>
<tr>
<td align="left" valign="top"><em>1</em></td>
<td align="left" valign="top">Insertion by key</td>
</tr>
</table>
<br>
</dd>
<dt><strong>Key length</strong></dt>
<dd>INPUT; BINARY(4)
<p>The length of the key where the first byte of an entry is the beginning of
the key for the index entries. The value for this parameter must be 0 for no
insertion by key. If you specify key length insertion, this value is from 1
through 2000.</p>
</dd>
<dt><strong>Immediate update</strong></dt>
<dd>INPUT; CHAR(1)
<p>Whether the updates to the index are written synchronously to auxiliary
storage on each update to the index. The valid values are:</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>0</em></td>
<td align="left" valign="top">No immediate update</td>
</tr>
<tr>
<td align="left" valign="top"><em>1</em></td>
<td align="left" valign="top">Immediate update</td>
</tr>
</table>
<p>Each update to the index is written to auxiliary storage after every insert
and remove operation.</p>
</dd>
<dt><strong>Optimization</strong></dt>
<dd>INPUT; CHAR(1)
<p>The type of access in which to optimize the index. The valid values are:</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>0</em></td>
<td align="left" valign="top">Optimize for random references</td>
</tr>
<tr>
<td align="left" valign="top"><em>1</em></td>
<td align="left" valign="top">Optimize for sequential references</td>
</tr>
</table>
<br>
</dd>
<dt><strong>Public authority</strong></dt>
<dd>INPUT; CHAR(10)
<p>The authority you give to users who do not have specific private or group
authority to the user index. Once the user index has been created, its public
authority stays the same when it is moved to another library or restored from
backup media.</p>
<p>If the replace parameter is used and an existing user index is replaced,
this parameter is ignored. All authorities are transferred from the replaced
user index to the new one.</p>
<p>The valid values for this parameter are:</p>
<table cellpadding="5">
<!-- cols="25 75" -->
<tr>
<td align="left" valign="top"><em>*ALL</em></td>
<td align="left" valign="top">The user can perform all authorized operations on
the user index.</td>
</tr>
<tr>
<td align="left" valign="top"><em>Authorization list name</em></td>
<td align="left" valign="top">The user index is secured by the specified
authorization list, and its public authority is set to *AUTL. The specified
authorization list must exist on the system when this API is issued. If the
list does not exist, the create process fails, and an error message is returned
to the application.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*CHANGE</em></td>
<td align="left" valign="top">The user has read, add, update, and delete
authority for the user index and can read the object description.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*EXCLUDE</em></td>
<td align="left" valign="top">The user cannot access the user index in any
way.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*LIBCRTAUT</em></td>
<td align="left" valign="top">The public authority for the user index is taken
from the CRTAUT value for the target library when the object is created. If the
CRTAUT value for the library changes later, that change does not affect user
indexes already created. If the CRTAUT value contains an authorization list
name and that authorization list secures an object, do not delete the list. If
you do, the next time you call this API with the *LIBCRTAUT parameter, it will
fail.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*USE</em></td>
<td align="left" valign="top">The user can read the object description and
contents but cannot change the user index.</td>
</tr>
</table>
<br>
</dd>
<dt><strong>Text description</strong></dt>
<dd>INPUT; CHAR(50)
<p>A brief description of the user index.</p>
</dd>
</dl>
<br>
<h3>Optional Parameter Group 1</h3>
<dl>
<dt><strong>Replace</strong></dt>
<dd>INPUT; CHAR(10)
<p>Whether you want to replace an existing user index. Valid values for this
parameter are:</p>
<table cellpadding="5">
<!-- cols="10 90" -->
<tr>
<td align="left" valign="top"><em>*NO</em></td>
<td align="left" valign="top">Do not replace an existing user index of the same
name and library. *NO is the default value.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*YES</em></td>
<td align="left" valign="top">Replace an existing user index of the same name
and library.</td>
</tr>
</table>
<p>If the user index already exists, you can replace it with a new user index
of the same name and library. The new user index is subject to the same
authorities. The user index being replaced is destroyed if both:</p>
<ul>
<li>The allow user domain (QALWUSRDMN) system value is not set to *ALL or does
not contain the QRPLOBJ library.</li>
<li>The user index you are replacing is in the user domain.</li>
</ul>
<p>If the user index is in the system domain, it is moved to the QRPLOBJ
library. If QALWUSRDMN is set to *ALL or if it contains QRPLOBJ, the replaced
user index is moved to QRPLOBJ, which is cleared at system IPL. For details
about authorities, ownership, and renaming, see the discussion of the REPLACE
parameter in the <a href="../rbam6/rbam6clmain.htm">Control Language (CL)</a>
information.</p>
</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>. If this
parameter is omitted, diagnostic and escape messages are issued to the
application.</p>
</dd>
</dl>
<br>
<h3>Optional Parameter Group 2</h3>
<dl>
<dt><strong>Domain</strong></dt>
<dd>INPUT; CHAR(10)
<p>The domain into which the user index should be created. If this parameter is
not specified, the value of *DEFAULT will be assumed by the API. Valid values
for this parameter are:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>*DEFAULT</em></td>
<td align="left" valign="top">Allows the system to decide into which domain the
object should be created.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*SYSTEM</em></td>
<td align="left" valign="top">Creates the user index object into the system
domain. The API can always create a user index into the system domain,
regardless of the security level running. However, if you are running at
security level 40 or greater, you must use APIs to access system-domain user
index objects.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*USER</em></td>
<td align="left" valign="top">Attempts to create the user index object into the
user domain. This is not always possible. If the library you are creating the
user index into does not appear in the QALWUSRDMN system value, the API cannot
create the user index into the user domain. An error message will be
returned.</td>
</tr>
</table>
<p>The API uses the following criteria to determine into which domain to create
the user index. The destination library is the library you specified in the
qualified user index name parameter. The optional domain parameter is the
information specified in the domain parameter.</p>
<table border width="100%">
<!-- cols="25 25 25 25" -->
<tr>
<th align="left">QALWUSRDMN System Value</th>
<th align="left">Destination Library</th>
<th align="left">Optional Domain Parameter</th>
<th align="left">Domain of Created Object</th>
</tr>
<tr>
<td align="left">*ALL</td>
<td align="left">Any</td>
<td align="left">*DEFAULT</td>
<td align="left">User domain</td>
</tr>
<tr>
<td align="left">*ALL</td>
<td align="left">Any</td>
<td align="left">*SYSTEM</td>
<td align="left">System domain</td>
</tr>
<tr>
<td align="left">*ALL</td>
<td align="left">Any</td>
<td align="left">*USER</td>
<td align="left">User domain</td>
</tr>
<tr>
<td align="left">QTEMP</td>
<td align="left">QTEMP</td>
<td align="left">*DEFAULT</td>
<td align="left">User domain</td>
</tr>
<tr>
<td align="left">QTEMP</td>
<td align="left">QTEMP</td>
<td align="left">*SYSTEM</td>
<td align="left">System domain</td>
</tr>
<tr>
<td align="left">QTEMP</td>
<td align="left">QTEMP</td>
<td align="left">*USER</td>
<td align="left">User domain</td>
</tr>
<tr>
<td align="left">Does not contain library name</td>
<td align="left">Library name</td>
<td align="left">*DEFAULT</td>
<td align="left">System domain</td>
</tr>
<tr>
<td align="left">Does not contain library name</td>
<td align="left">Library name</td>
<td align="left">*SYSTEM</td>
<td align="left">System domain</td>
</tr>
<tr>
<td align="left">Does not contain library name</td>
<td align="left">Library name</td>
<td align="left">*USER</td>
<td align="left">None; error is returned</td>
</tr>
<tr>
<td align="left" valign="top" colspan="4"><strong>Note:</strong> The QALWUSRDMN
system value lists the libraries into which the user domain objects can be
created. Valid libraries are the special value *ALL or a list of one or more
library names.</td>
</tr>
</table>
<p>If your system is at security level 40 or greater, you must use APIs to
access system-domain user indexes using APIs. You cannot use MI instructions to
directly access system-domain user indexes.</p>
<p>You can use the Retrieve Object Description (QUSROBJD) API or the List
Object (QUSLOBJ) API to determine into which domain the user index object was
created.</p>
</dd>
</dl>
<br>
<h3>Optional Parameter Group 3</h3>
<dl>
<dt><strong>Usage tracking</strong></dt>
<dd>INPUT; CHAR(1)
<p>The usage tracking state. Usage tracking provides machine checkpoints to
improve availability of user indexes. If a user index is found to be a state of
partial change, it will be marked as damaged. The valid values are:</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>0</em></td>
<td align="left" valign="top">Do not track usage state. 0 is the default
value.</td>
</tr>
<tr>
<td align="left" valign="top"><em>1</em></td>
<td align="left" valign="top">Track usage state.</td>
</tr>
</table>
</dd>
</dl>
<br>
<h3>Optional Parameter Group 4</h3>
<dl>
<dt><strong>Index size option</strong></dt>
<dd>INPUT; CHAR(1)
<p>The maximum size of the user index. The valid values are:</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>0</em></td>
<td align="left" valign="top">The maximum size of the user index is 4
gigabytes.</td>
</tr>
<tr>
<td align="left" valign="top"><em>1</em></td>
<td align="left" valign="top">The maximum size of the user index is 1
terabyte.</td>
</tr>
</table>
</dd>
</dl>
<br>
<h3>Dependencies between Parameters</h3>
<p>Some of the parameters are interdependent and are shown in the following
table:</p>
<table border width="100%">
<!-- cols="25 25 25 25" -->
<tr>
<th align="left">Entry Length Attribute</th>
<th align="left">Entry Length (n)</th>
<th align="left">Key Insertion</th>
<th align="left">Key Length (x)</th>
</tr>
<tr>
<td align="left">Fixed</td>
<td align="left">1 &lt;= n &lt;= 2000</td>
<td align="left">No</td>
<td align="left">0</td>
</tr>
<tr>
<td align="left">Fixed</td>
<td align="left">1 &lt;= n &lt;= 2000</td>
<td align="left">Yes</td>
<td align="left">1 &lt;= x &lt;= n</td>
</tr>
<tr>
<td align="left" valign="top" colspan="4"><strong>Note:</strong> For the
following entry lengths:
<ul>
<li>0 signifies a maximum entry length of 120.</li>
<li>-1 signifies a maximum entry length of 2000.</li>
</ul>
</td>
</tr>
<tr>
<td align="left">Variable</td>
<td align="left">0, -1</td>
<td align="left">No</td>
<td align="left">0</td>
</tr>
<tr>
<td align="left">Variable</td>
<td align="left">0</td>
<td align="left">Yes</td>
<td align="left">1 &lt;= x &lt;= 120</td>
</tr>
<tr>
<td align="left">Variable</td>
<td align="left">-1</td>
<td align="left">Yes</td>
<td align="left">1 &lt;= x &lt;= 2000</td>
</tr>
</table>
<br>
<br>
<h3>Error Messages</h3>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<th align="left" valign="top" nowrap>Message ID</th>
<th align="left" valign="top">Error Message Text</th>
</tr>
<tr>
<td align="left" valign="top">CPF2143 E</td>
<td align="left" valign="top">Cannot allocate object &amp;1 in &amp;2 type
*&amp;3.</td>
</tr>
<tr>
<td align="left" valign="top">CPF2144 E</td>
<td align="left" valign="top">Not authorized to &amp;1 in &amp;2 type
*&amp;3.</td>
</tr>
<tr>
<td align="left" valign="top">CPF2283 E</td>
<td align="left" valign="top">Authorization list &amp;1 does not exist.</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">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">CPF3C0A E</td>
<td align="left" valign="top">Value &amp;1 for entry length parameter is not
valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3C0B E</td>
<td align="left" valign="top">Value &amp;1 for immediate update parameter is
not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3C0C E</td>
<td align="left" valign="top">Value &amp;1 for key length parameter is not
valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3C0D E</td>
<td align="left" valign="top">Value &amp;1 for key insertion parameter is not
valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3C0E E</td>
<td align="left" valign="top">Value &amp;1 for the optimization parameter is
not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3C03 E</td>
<td align="left" valign="top">User index &amp;2 not created.</td>
</tr>
<tr>
<td align="left" valign="top">CPD3C01 D</td>
<td align="left" valign="top">Object name &amp;1 is not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPD3C02 D</td>
<td align="left" valign="top">Value &amp;1 for entry length attribute parameter
is not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPD3C03 D</td>
<td align="left" valign="top">Extended attribute &amp;1 is not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPD3C05 D</td>
<td align="left" valign="top">Value &amp;1 for authority parameter is not
valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPD3C0A D</td>
<td align="left" valign="top">Value &amp;1 for entry length parameter is not
valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPD3C0B D</td>
<td align="left" valign="top">Value &amp;1 for immediate update parameter is
not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPD3C0C D</td>
<td align="left" valign="top">Value &amp;1 for key length parameter is not
valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPD3C0D D</td>
<td align="left" valign="top">Value &amp;1 for key insertion parameter is not
valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPD3C0E D</td>
<td align="left" valign="top">Value &amp;1 for the optimization parameter is
not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3C2A E</td>
<td align="left" valign="top">Value &amp;1 for entry length attribute parameter
is not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3C2B E</td>
<td align="left" valign="top">Extended attribute &amp;1 is not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3C2D E</td>
<td align="left" valign="top">Value &amp;1 for authority parameter is not
valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3C29 E</td>
<td align="left" valign="top">Object name &amp;1 is not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3C34 E</td>
<td align="left" valign="top">Value &amp;1 for replace option is not
valid.</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">CPF3C45 E</td>
<td align="left" valign="top">Value &amp;1 not valid for domain parameter.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3C49 E</td>
<td align="left" valign="top">Request for user domain object cannot be
granted.</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">CPF3C93 E</td>
<td align="left" valign="top">Value &amp;1 not valid for usage tracking
parameter.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3C95 E</td>
<td align="left" valign="top">Value &amp;1 not valid for index size option
parameter.</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">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">CPF9838 E</td>
<td align="left" valign="top">User profile storage limit exceeded.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9870 E</td>
<td align="left" valign="top">Object &amp;2 type *&amp;5 already exists in
library &amp;3.</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: V1R3
<hr>
<table cellpadding="2" cellspacing="2" align="center">
<tr align="center">
<td valign="middle" align="center">
<a href="#Top_Of_Page">Top</a> |
<a href="obj1.htm">Object APIs</a> |
<a href="aplist.htm">APIs by category</a></td>
</tr>
</table>
</body>
</html>