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

907 lines
26 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>Replay Database Operation (QDBREPLAY) 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. -->
<!-- Created by Mark Anderson for V5R1-->
<!-- Change History: -->
<!-- YYMMDD USERID Change description -->
<!-- 021022 JETAYLOR html and formatting cleanup -->
<!-- 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>Replay Database Operation (QDBRPLAY) 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%">Input template</td>
<td align="left" valign="top" width="20%">Input</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 input template</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">Input template 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">Journal entry specific data</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Char(*)</td>
</tr>
<tr>
<td align="center" valign="top">5</td>
<td align="left" valign="top">Length of journal entry specific data</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Binary(4)</td>
</tr>
<tr>
<td align="center" valign="top">6</td>
<td align="left" valign="top" width="51%">Rename exit program scratchpad</td>
<td align="left" valign="top" width="20%">Input</td>
<td align="left" valign="top" width="20%">Char(*)</td>
</tr>
<tr>
<td align="center" valign="top">7</td>
<td align="left" valign="top" width="51%">Error code</td>
<td align="left" valign="top" width="20%">I/O</td>
<td align="left" valign="top" width="20%">Char(*)</td>
</tr>
</table>
<br>
&nbsp;&nbsp;Default Public Authority: *USE<br>
<!-- iddvc RMBR -->
<br>
&nbsp;&nbsp;Threadsafe: No<br>
<!-- iddvc RMBR -->
<br>
</div>
<p>The Replay Database Operation (QDBRPLAY) API replays a database operation
from a single journal entry.</p>
<p>Only database journal entries are supported. Since these journal entries can
be quite large, the QjoRetrieveJournalEntries API should be used to retrieve
the journal entry. If a journal entry is passed to QDBRPLAY that is not
supported, the operation will fail. The following journal entries are
supported:</p>
<table width="75%" border="1">
<tr>
<th><strong>Journal Code</strong>
<th><strong>Entry Type</strong>
<th><strong>Description</strong>
</tr>
<tr>
<td width="15%">D</td>
<td width="15%">AC</td>
<td width="70%">Add Constraint</td>
</tr>
<tr>
<td align="left" valign="top">F</td>
<td align="left" valign="top">CB</td>
<td align="left" valign="top">Change Member</td>
</tr>
<tr>
<td align="left" valign="top">D</td>
<td align="left" valign="top">CG</td>
<td align="left" valign="top">Change File</td>
</tr>
<tr>
<td align="left" valign="top">D</td>
<td align="left" valign="top">CT</td>
<td align="left" valign="top">Create File</td>
</tr>
<tr>
<td align="left" valign="top">D</td>
<td align="left" valign="top">DC</td>
<td align="left" valign="top">Remove Constraint</td>
</tr>
<tr>
<td align="left" valign="top">F</td>
<td align="left" valign="top">DM</td>
<td align="left" valign="top">Remove Member</td>
</tr>
<tr>
<td align="left" valign="top">D</td>
<td align="left" valign="top">DT</td>
<td align="left" valign="top">Delete File</td>
</tr>
<tr>
<td align="left" valign="top">D</td>
<td align="left" valign="top">FM</td>
<td align="left" valign="top">Move File</td>
</tr>
<tr>
<td align="left" valign="top">D</td>
<td align="left" valign="top">FN</td>
<td align="left" valign="top">Rename File</td>
</tr>
<tr>
<td align="left" valign="top">D</td>
<td align="left" valign="top">GC</td>
<td align="left" valign="top">Change Constraint</td>
</tr>
<tr>
<td align="left" valign="top">D</td>
<td align="left" valign="top">GO</td>
<td align="left" valign="top">Change Owner</td>
</tr>
<tr>
<td align="left" valign="top">D</td>
<td align="left" valign="top">GT</td>
<td align="left" valign="top">Grant File</td>
</tr>
<tr>
<td align="left" valign="top">F</td>
<td align="left" valign="top">MC</td>
<td align="left" valign="top">Add Member</td>
</tr>
<tr>
<td align="left" valign="top">F</td>
<td align="left" valign="top">MN</td>
<td align="left" valign="top">Rename Member</td>
</tr>
<tr>
<td align="left" valign="top">F</td>
<td align="left" valign="top">RM</td>
<td align="left" valign="top">Reorganize Member</td>
</tr>
<tr>
<td align="left" valign="top">D</td>
<td align="left" valign="top">RV</td>
<td align="left" valign="top">Revoke File</td>
</tr>
<tr>
<td align="left" valign="top">D</td>
<td align="left" valign="top">TC</td>
<td align="left" valign="top">Add Trigger</td>
</tr>
<tr>
<td align="left" valign="top">D</td>
<td align="left" valign="top">TD</td>
<td align="left" valign="top">Remove Trigger</td>
</tr>
<tr>
<td align="left" valign="top">D</td>
<td align="left" valign="top">TG</td>
<td align="left" valign="top">Change Trigger</td>
</tr>
<tr>
<td align="left" valign="top">D</td>
<td align="left" valign="top">TQ</td>
<td align="left" valign="top">Refresh Table</td>
</tr>
</table>
<p>You can use the QDBRPLAY API with database objects only. DDM files are not
supported. File overrides do not affect the specified object names. The API
does not run under commitment control even if the original journal entry was
performed as part of a commitable transaction. If the specified file does not
have the same File Level Identifier or Member Level Identifier as the file for
which the journal entry was originally written, a warning will sent to the job
log and the operation will continue.</p>
<br>
<h3>Authorities and Locks</h3>
<dl>
<dt><em> Object Library Authority</em></dt>
<dd>
<p>*EXECUTE</p>
</dd>
<dd>
<p><strong>Note:</strong> Additionally, the same authority is necessary as the
original operation. For example, if the journal entry is Create File, *ADD is
required.<br>
</p>
</dd>
<dt><em>Object Authorities</em></dt>
<dd>
<p>The same authority is necessary as was required for the original operation.
For example, if the journal entry is Delete File, *OBJEXIST is required.</p>
</dd>
<dt><em>Object Lock</em></dt>
<dd>
<p>*EXCL or *EXCLRD for *FILE objects.</p>
<p><strong>Note:</strong> The same locks are necessary as were required during
the original operation. For example, if the journal entry is Delete File, *EXCL
is required. If the journal entry is Remove Member, *EXCLRD is required.
Because an exclusive lock is required, concurrent applications may not access
the file object identified by this API till the API has ended and any
concurrent applications that hold a conflicting lock cause the API to fail.</p>
</dd>
<dt><em>Rename Exit Program Library Authority</em></dt>
<dd>
<p>*EXECUTE</p>
</dd>
</dl>
<dl>
<dt><em>Rename Exit Program Authority</em></dt>
<dd>
<p>*EXECUTE</p>
</dd>
</dl>
<br>
<h3>Required Parameter Group</h3>
<dl>
<dt><strong>Input template</strong></dt>
<dd>INPUT;CHAR(*)<br>
<p>A structure that contains the input options used to replay the operation
from the journal entry. For the format of this parameter, see <a href=
"#SQLR0100">DBRR0100 Format</a>.</p>
</dd>
<dt><strong>Length of input template</strong></dt>
<dd>INPUT; BINARY(4)<br>
<p>A variable that contains the length of the input template. The length must
be greater than zero and large enough to contain all the template fields up to
and including Disable Triggers. The length must not be larger than 32767.</p>
</dd>
<dt><strong>Input template format name</strong></dt>
<dd>INPUT; CHAR(8)<br>
<p>The format of the input template being used. The possible value is:</p>
<table>
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>DBRR0100</em></td>
<td align="left" valign="top">Basic template</td>
</tr>
</table>
<p>For more information, see <a href="#SQLR0100">DBRR0100 Format</a>.</p>
</dd>
<dt><strong>Journal entry specific data</strong></dt>
<dd>INPUT;CHAR(*)<br>
<p>The entry specific data from a database journal entry. If the original
journal entry contained any additional journal entry specific data that was
addressed by a pointer, that data must be moved so that the entry specific data
includes all the entry specific data immediately preceding the pointer
concatenated with the entry specific data that the pointer addresses. For
example, if a teraspace pointer is returned on the QjoRetrieveJournalEntries
API immediately after Entry Specific Data A and points to additional Entry
Specific Data B:</p>
</dd>
<dd>
<table width="26%" border="1" cellpadding="5">
<tr>
<td align="center">Entry Specific Data A</td>
</tr>
<tr>
<td align="center">Teraspace pointer to additional data B</td>
</tr>
</table>
<p>This must be passed to the API as:</p>
<table width="26%" border="1" cellpadding="5">
<tr>
<td align="center">Entry Specific Data A</td>
</tr>
<tr>
<td align="center">Additional Entry Specific Data B</td>
</tr>
</table>
<p><td align="left" valign="top"><img src="delta.gif" alt="Start of change">
</td>
<td align="left" valign="top">The teraspace pointer is in the last 16 bytes
of the Entry Specific Data of the retrieved journal entry. The length of
the data that the teraspace pointer addresses is equal to the sum of the
lengths of the external command length, apply information length, and the
remove information length. See member QDBJRNL in QSYSINC/H for more information.<img src=
"deltaend.gif" alt="End of change"></td>
<p></p>
<p>See the Journal management topic in the iSeries Information Center for
information on Entry Specific Data and Additional Entry Specific Data.</p>
<p><strong>Note:</strong> The entry specific data for the database operations
may be quite large, but is never larger than what will fit in a 16 megabyte
space.</p>
</dd>
<dt><strong>Length of journal entry specific data</strong></dt>
<dd>
<p>INPUT;BINARY(4)</p>
<p>The length of the entry specific data from a database journal entry. The
length must be greater than zero and must be the length of the actual entry
specific data provided when the journal entry was originally written (including
any additional journal entry specific data). The length must not be larger than
16 773 120.</p>
</dd>
<dt><strong>Rename exit program scratchpad</strong></dt>
<dd>
<p>INPUT; CHAR(*)</p>
<p>An area which is passed to the rename exit program. The area can contain any
information that the caller of the API wishes to pass on to the rename exit
program. A rename exit program scratchpad must be passed even if the rename
exit program is not specified.</p>
</dd>
<dt><strong>Error code</strong></dt>
<dd>
<p>I/O; CHAR(*)</p>
<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="SQLR0100">DBRR0100 Format</a></h3>
<p>The following table shows the format of the input template parameter for the
DBRR0100 format. For detailed descriptions of the fields in the table, see <a
href="#FieldDESCR">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(1)</td>
<td align="left" valign="top" width="60%">Journal code</td>
</tr>
<tr>
<td align="center" valign="top">1</td>
<td align="center" valign="top">1</td>
<td align="left" valign="top">CHAR(2)</td>
<td align="left" valign="top">Entry type</td>
</tr>
<tr>
<td align="center" valign="top">3</td>
<td align="center" valign="top">3</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Rename exit program name</td>
</tr>
<tr>
<td align="center" valign="top">13</td>
<td align="center" valign="top">D</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Rename exit program library name</td>
</tr>
<tr>
<td align="center" valign="top">23</td>
<td align="center" valign="top">17</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Disable triggers</td>
</tr>
<tr>
<td align="center" valign="top">24</td>
<td align="center" valign="top">18</td>
<td align="left" valign="top">CHAR(*)</td>
<td align="left" valign="top">Reserved</td>
</tr>
</table>
<br>
<h3><a name="FieldDESCR">Field Descriptions</a></h3>
<p><strong>Disable triggers.</strong> The disable trigger indicator controls
whether new triggers that are added as a result of replaying a TC journal entry
should be automatically disabled.<img src="delta.gif" alt="Start of change"> The disable trigger indicator does not apply to Instead Of triggers.<img src="deltaend.gif" alt="End of change"></p>
<dl>
<dt><em>0</em></dt>
<dd>Do not disable new triggers.</dd>
<dt><em>1</em></dt>
<dd>Disable new triggers.</dd>
</dl>
<p><strong>Entry type.</strong> The journal entry type from the journal entry
of the operation to replay. See the Journal management topic for more
information on Entry type.</p>
<p>Note that a journal entry with an entry type of MN is written to the journal
for both a rename member operation and for the internal operations performed as
part of a rename file. If a journal entry type of MN that was written to the
journal as part of a rename file operation is passed to this API, it will be
ignored and no error will be returned.</p>
<p><strong>Journal code.</strong> The journal code from the journal entry of
the operation to replay. See the Journal management topic for more information
on journal codes.</p>
<dl>
<dt><em>D</em></dt>
<dd>Database file operation.</dd>
<dt><em>F</em></dt>
<dd>Database file member operation.</dd>
</dl>
<p><strong>Rename exit program name.</strong> The name of the rename exit
program.</p>
<dl>
<dt><em>*NONE</em></dt>
<dd>A rename exit program is not provided. The names of any objects referenced
during the replay of the operation will be the same as the object names that
were referenced when the journal entry was originally written to the
journal.</dd>
<dt><em>program-name</em></dt>
<dd>The name of the program to call which may provide a different name for any
object referenced in the journal entry. When a rename exit program is
specified, each name referenced during the replay of the operation will be
passed to the rename exit program. The names passed to the rename exit program
may be short names or long SQL names. The same name may be passed to the exit
program more than once if it is referenced in the internal journal entry
specific data more than once. If the names are changed by the rename exit
program, the names are case sensitive and must conform to any i5/OS and SQL
rules for object names. For example, if the new name of the object should be
"a", it must be returned from the rename exit program with the quote delimiters
and a lower case a. If the new name of the object should be A, it must be
returned from the rename exit program in upper case without redundant quote
delimiters. The following restrictions apply to referenced objects:
<ul>
<li>The library name of an SQL type or an SQL function can be changed. The SQL
type name or SQL function name cannot be changed.</li>
<li>Any references to objects in the body of a program object or trigger are
not renamed.</li>
<li>Any references to objects in the body of an SQL view other than the based
on files themselves are not renamed.</li>
<li>The name of a data dictionary must be the same name as its containing
library.</li>
<li>The library name of a constraint must be the same as the library name of
its file.</li>
</ul>
</dd>
</dl>
<p>Two parameters are passed to the rename exit program. The first parameter is
the Rename Exit Program Parameter Template. The second parameter is the Rename
Exit Program Scratchpad. For more information, see <a href="#RenameDESCR">
Rename Exit Program Parameter</a>. The exit program may inspect the name passed
and leave the name as is, or it may change the name in the Rename Exit Program
Parameter to an alternate name.</p>
<p>For example, the journal entry contains the create of an SQL table that
contains a primary key constraint. The exit program will be called twice. The
first call will pass the table name and library. The second call will pass the
constraint name and library. If the name is a reference to another object and
is changed to reference an object that does not exist, the replay of the
operation will fail.</p>
<p>If the rename exit program returns an exception, the replay operation will
fail.</p>
<p><strong>Rename exit program library name.</strong> The library that contains
the rename exit program, if any. The rename exit program library name must be
blank if the value of the rename exit program name is *NONE.</p>
<dl compact>
<dt><em>library-name</em></dt>
<dd>The library name of the rename exit program.</dd>
</dl>
<p><strong>Reserved.</strong> A reserved field. It must contain hexadecimal
zeroes.</p>
<br>
<h3><strong><a name="RenameDESCR">Rename Exit Program Parameter</a></strong></h3>
<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 rename exit
program parameter</td>
</tr>
<tr>
<td align="center" valign="top" width="10%">4</td>
<td align="center" valign="top" width="10%">4</td>
<td align="left" valign="top" width="20%">BINARY(4)</td>
<td align="left" valign="top" width="60%">Length of object
name</td>
</tr>
<tr>
<td align="center" valign="top" width="10%">8</td>
<td align="center" valign="top" width="10%">8</td>
<td align="left" valign="top" width="20%">BINARY(4)</td>
<td align="left" valign="top" width="60%">Length of object
library</td>
</tr>
<tr>
<td align="center" valign="top" width="10%">12</td>
<td align="center" valign="top" width="10%">C</td>
<td align="left" valign="top" width="20%">BINARY(4)</td>
<td align="left" valign="top" width="60%">Object type</td>
</tr>
<tr>
<td align="center" valign="top" width="10%">16</td>
<td align="center" valign="top" width="10%">10</td>
<td align="left" valign="top" width="20%">CHAR(258)</td>
<td align="left" valign="top" width="60%">Object name</td>
</tr>
<tr>
<td align="center" valign="top">274</td>
<td align="center" valign="top">112</td>
<td align="left" valign="top">CHAR(258)</td>
<td align="left" valign="top">Object library name</td>
</tr>
<tr>
<td align="center" valign="top">538</td>
<td align="center" valign="top">21A</td>
<td align="left" valign="top">CHAR(*)</td>
<td align="left" valign="top">Reserved</td>
</tr>
</table>
<br>
<h3><a name="FieldDESCR2">Field Descriptions</a></h3>
<p><strong>Length of rename exit program parameter.</strong> The length of the
structure passed to the rename exit program. The rename exit program must not
modify this value.</p>
<p><strong>Length of object library name.</strong> The length of the library
name of the referenced object. If the rename exit program modifies this length,
it must be greater than zero and not greater than 10. It must reflect the
number of characters in the new object library name.</p>
<p><strong>Length of object name.</strong> The length of the name of the
referenced object. If the rename exit program modifies this length, it must be
greater than zero and must reflect the number of bytes in the new object
name.</p>
<p>If the value that was passed to the rename exit program is less than or
equal to 10 and the rename exit program modifies this length, the new length
must also be less than or equal to 10 (a short system name cannot be renamed to
a long SQL name). If the value that was passed to the rename exit program is
greater than 10 the rename exit program must not modify this length (a long SQL
name cannot be renamed to a short name or a long SQL name of a different
length).</p>
<p><strong>Object library name.</strong> The library name of the referenced
object. If the rename exit program modifies the library name, it must be a
valid library name.</p>
<dl compact>
<dt><em>library-name</em></dt>
<dd>The library name of the referenced object.</dd>
</dl>
<p><strong>Object name.</strong> The name of the referenced object. If the
rename exit program modifies the object name, it must be a valid short object
name or a valid long SQL object name.</p>
<p>If the name passed to the exit program is not a long SQL object name, the
rename exit program must not rename the object to a long SQL object name. If
the name passed to the exit program is a long SQL object name, the rename exit
program may rename the long SQL name to another long SQL name, but the length
of the new long SQL name must be the same as the long SQL name passed to the
rename exit program.</p>
<dl compact>
<dt><em>object-name</em></dt>
<dd>The name of the referenced object. The name may be either a short (10
character) object name or a long (258 character) SQL object name.</dd>
</dl>
<p><strong>Object type.</strong> The type of the referenced object. The
following values may be passed to the exit program for the object type:</p>
<table cellpadding="5">
<tr>
<td width="5%">1</td>
<td width="95%">The object attribute is a constraint.</td>
</tr>
<tr>
<td align="left" valign="top">2</td>
<td align="left" valign="top">The object is an SQL function (*PGM or *SRVPGM).</td>
</tr>
<tr>
<td align="left" valign="top">3</td>
<td align="left" valign="top">The object is a file (*FILE).</td>
</tr>
<tr>
<td align="left" valign="top">4</td>
<td align="left" valign="top">The object is a program object (*PGM).</td>
</tr>
<tr>
<td align="left" valign="top">5</td>
<td align="left" valign="top">The object attribute is a trigger.</td>
</tr>
<tr>
<td align="left" valign="top">6</td>
<td align="left" valign="top">The object is an SQL type (*SQLUDT).</td>
</tr>
<tr>
<td align="left" valign="top">7</td>
<td align="left" valign="top">The object is an data dictionary (*DTADCT).</td>
</tr>
<tr>
<td align="left" valign="top">8</td>
<td align="left" valign="top">The object is a sort sequence or translate table (*TBL).</td>
</tr>
<tr>
<td align="left" valign="top">9</td>
<td align="left" valign="top">The object is a node group (*NODGRP).</td>
</tr>
<tr>
<td align="left" valign="top">10</td>
<td align="left" valign="top">The object is a journal (*JRN).</td>
</tr>
</table>
<p>The rename exit program must not modify this value.</p>
<p>While the rename exit program will be called for referenced journals, data
dictionaries, and SQL types, these objects themselves cannot cannot be renamed.
Furthermore, a library that contains one of these object types cannot be
renamed.</p>
<p><strong>Reserved.</strong> A reserved field. The rename exit program must
not modify this value.</p>
<br>
<h3><a name="Usage_Notes">Usage Notes</a></h3>
<p>If a file is created as a result of replaying a Create File (CT) entry:</p>
<ul>
<li>If journaling was implicitly started when an SQL table was originally
created, the replay operation will also implicitly start journaling to the same
journal.</li>
<li>The File level identifier for the created file will be the same as the File
level identifier of the file when it was originally created.</li>
<li>Any public authority that was specified by the AUT keyword when a file is
created via a CL command will be granted when the file is created.</li>
</ul>
<p>If a member is added as a result of replaying an Add Member operation (MC),
the Member level identifier for the added member will be the same as the Member
level identifier of the member when it was originally added.</p>
<h3>Error Messages</h3>
<table width="100%">
<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">CPF3C21 E</td>
<td valign="top">Format name &amp;1 is not valid.</td>
</tr>
<tr>
<td valign="top">CPF3C39 E</td>
<td valign="top">Value for reserved field not valid.</td>
</tr>
<tr>
<td valign="top">CPF3C3A E</td>
<td valign="top">Value for parameter &amp;2 for API &amp;1 not valid.</td>
</tr>
<tr>
<td valign="top">CPF3C3B E</td>
<td valign="top">Value for parameter &amp;2 for API &amp;1 not valid.</td>
</tr>
<tr>
<td valign="top">CPF3C90 E</td>
<td valign="top">Literal value cannot be changed.</td>
</tr>
<tr>
<td valign="top">CPF3CF1 E</td>
<td valign="top">Error code parameter not valid.</td>
</tr>
<tr>
<td valign="top">CPF3200 E</td>
<td valign="top">All CPF32xx messages could be returned. xx is from 01 to
FF.</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">CPF9800 E</td>
<td valign="top">All CPF98xx messages could be signaled. xx is from 01 to
FF.</td>
</tr>
<tr>
<td valign="top">SQL0113 E</td>
<td valign="top">Name is not valid.</td>
</tr>
</table>
<hr>
API introduced: V5R3
<hr>
<center>
<table cellpadding="2" cellspacing="2">
<tr align="center">
<td valign="middle" align="center"><a href="#top_Of_Page">Top</a> | <a href=
"file1.htm">Database and File APIs</a> | <a href=
"jc1.htm">Journal and Commit APIs</a>| <a href="aplist.htm">APIs by
category</a> </td>
</tr>
</table>
</center>
</body>
</html>