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

1127 lines
34 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>Send Journal Entry (QJOSJRNE) 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 -->
<!-- JC1 SCRIPT A converted by B2H R4.1 (346) (CMS) by V2KEA304 -->
<!-- at RCHVMW2 on 17 Feb 1999 at 11:05:09 -->
<!-- 010402 V5R2 47URKM Added standby and cache info -->
<!-- 030531 v5r3 mel removed inactive, add mbr *NONE -->
<!-- 040209 v5r4 47UAKF Added doc per D99779 -->
<!--File Edited by Kersten OCT 2001 -->
<!--End Header Records -->
<link rel="stylesheet" type="text/css" href="../rzahg/ic.css">
</head>
<body>
<a name="Top_Of_Page"></a>
<!-- Java sync-link -->
<script type="text/javascript" language="Javascript" src="../rzahg/synch.js">
</script>
<h2>Send Journal Entry (QJOSJRNE) 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%">Qualified journal 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">Journal entry information</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">Entry data</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">Length of entry data</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">Error Code</td>
<td align="left" valign="top">I/O</td>
<td align="left" valign="top">Char(*)</td>
</tr>
</table>
<br>
&nbsp;&nbsp;<img src="delta.gif" alt="Start of change">Optional Parameter Group 1:<br>
<!-- iddvc RMBR -->
<br>
<table width="100%">
<tr>
<td align="center" valign="top" width="10%">6</td>
<td align="left" valign="top" width="50%">Receiver variable</td>
<td align="left" valign="top" width="20%">Output</td>
<td align="left" valign="top" width="20%">Char(*)</td>
</tr>
<tr>
<td align="center" valign="top">7</td>
<td align="left" valign="top">Length of receiver variable</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Binary(4)</td>
</tr>
<tr>
<td align="center" valign="top">8</td>
<td align="left" valign="top">Format of receiver variable</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Char(8)</td>
</tr>
<tr>
<td align="center" valign="top">9</td>
<td align="left" valign="top">Minimum length of entry data returned</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Binary(4)<img src="deltaend.gif" alt="End of change"></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 Send Journal Entry (QJOSJRNE) API writes a single journal entry to a
specific journal. <img src="delta.gif" alt="Start of change">The format of
the entry is determined by the API caller.
<img src="deltaend.gif" alt="End of change">
You can assign an
entry type to the journal entry. You can associate the journal entry with
additional information such as a journaled object or a commit cycle
identifier.</p>
<p> If the journal currently has
a state of *STANDBY, then the journal entry will not be deposited unless 1 is
specified for the override standby key.</p>
<p><strong>Note:</strong>The journal code for the entry is 'U', indicating a
user-specified journal entry. See the <a href=
"../rzaki/rzakikickoff.htm">Journal management</a> topic for more
information.</p>
<br>
<h3>Restrictions</h3>
<ul>
<li>
If an object other than a file is specified, it currently must be journaled
to the specified journal.
<p>If a file object is specified, it currently must either be journaled to the
specified journal or it must have been last journaled to the specified
journal.</p>
</li>
<li>The specified journal cannot be a remote journal.</li>
<li>Only one of the following keys can be specified in one call of this
API:<br>
<ul>
<li>Keys 2 and 3, qualified file name and member name</li>
<li>Key 6, qualified object name</li>
<li>Key 7, object path name</li>
<li>Key 8, object file identifier</li>
</ul>
</li>
</ul>
<br>
<h3>Authorities and Locks</h3>
<dl>
<dt><em>Journal Authority</em></dt>
<dd>*OBJOPR and *ADD</dd>
<dt><em>Journal Library Authority</em></dt>
<dd>*EXECUTE</dd>
<dt><em>Non-IFS Object Authority</em></dt>
<dd>*OBJOPR</dd>
<dt><em>Non-IFS Object Library Authority</em></dt>
<dd>*EXECUTE</dd>
<dt><em>IFS Object Authority (if present)</em></dt>
<dd>*R</dd>
<dt><em>IFS Object Directory Authority</em></dt>
<dd>*X</dd>
<dt><em>File Lock</em></dt>
<dd>*SHRNUP</dd>
<dt><em>Non-IFS Object, other than File, Lock</em></dt>
<dd>*SHRRD</dd>
<dt><em>IFS Object Lock (if present)</em></dt>
<dd>O_RDONLY | O_SHARE_RDWR</dd>
<dt><em>Journal Lock</em></dt>
<dd>*SHRUPD</dd>
</dl>
<p>*EXECUTE, *OBJOPR, *R, *X, *SHRUPD, *SHRRD, and O_RDONLY | O_SHARE_RDWR are
required only if an object is specified in the qualified file name, qualified
object name, object path, or object file identifier key fields.</p>
<br>
<h3>Required Parameter Group</h3>
<dl>
<dt><strong>Qualified journal name</strong></dt>
<dd>INPUT; CHAR(20)
<p>The name of the journal to which the entry is to be added and the library in
which it is located. The first 10 characters contain the journal name and the
second 10 characters contain the library name. The special values supported for
the library name are:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>*LIBL</em></td>
<td align="left" valign="top">Library list</td>
</tr>
<tr>
<td align="left" valign="top"><em>*CURLIB</em></td>
<td align="left" valign="top">Current library</td>
</tr>
</table>
<br>
</dd>
<dt><strong>Journal entry information</strong></dt>
<dd>INPUT; CHAR(*)
<p>Information pertinent to the journal entry that is to be added. The
information must be in the following format:</p>
<dl>
<dt><em>Number of variable length records</em></dt>
<dd>BINARY(4)</dd>
<dd>Total number of all of the variable length records.</dd>
<dt><em>Variable length records</em></dt>
<dd>The fields of the information that should be included in the journal entry.
For the specific format of the variable length record, see <a href=
"#HDRVARLREC">Format for Variable Length Record</a>.<br>
<br>
</dd>
</dl>
</dd>
<dt><strong>Entry data</strong></dt>
<dd>INPUT; CHAR(*)
<p>The user-specified data that is placed in the variable portion of the
journal entry (also known as entry specific data).</p>
</dd>
<dt><strong>Length of entry data</strong></dt>
<dd>INPUT; BINARY(4)
<p>The length of the entry data parameter. Valid values are 0 - <img src="delta.gif" alt="Start of change">15761440<img src="deltaend.gif" alt="End of change">. If 0 is specified, this is equivalent to *BLANKS on the SNDJRNE CL command.<img src="delta.gif" alt="Start of change"> If the length of the entry data is greater than 32766, then a pointer to the entry data will be returned when retrieving the entry. If the retrieve interface is expecting pointers, the data can be accessed through the pointer returned on the retrieve. Otherwise, the data returned by the retrieve interface will be *POINTER.<img src="deltaend.gif" alt="End of change"></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>.</p>
</dd>
</dl>
<br>
<h3><img src="delta.gif" alt="Start of change">Optional Parameter Group 1</h3>
<dl>
<dt><strong>Receiver variable</strong></dt>
<dd>OUTPUT; CHAR(*)
<p>The receiver variable that receives the entry information for the journal entry just deposited. You can specify the size of the area smaller than the format requested as long as you specify the length of receiver variable parameter correctly. As a result, the API returns only the data the receiver variable can hold. This parameter is ignored if Length of receiver variable is 0.</p>
</dd>
<dt><strong>Length of receiver variable</strong></dt>
<dd>INPUT; BINARY(4)
<p>The length of the receiver variable specified in the user program. If the length of the receiver variable parameter specified is larger than the allocated size of the receiver variable specified in the user program, the results are not predictable. The allowed values are 0 or a value of 8 or greater. The default value is 0.</p>
</dd>
<dt><strong>Format of receiver variable</strong></dt>
<dd>INPUT; CHAR(8)
<p>The following formats are valid inputs: SJNE0000 and SJNE0100. The default value is SJNE0000, which indicates that the Receiver variable parameter is not being used. See the <a href="#HDRRCVFMTFLD1">SJNE0100 Format</a> for more information.</p>
</dd>
<dt><strong>Minimum length of entry data returned</strong></dt>
<dd>INPUT; BINARY(4)
<p>The minimum number of bytes of entry data the caller wants returned on interfaces that retrieve journal information when the length of the entry data is greater than 32766. A pointer will be returned to the remaining information. The default value for this parameter is 0, which indicates that only the pointer will be returned as entry specific data.</p>
<p>If the length of entry data is 32766 or less, the value of the Minimum length of entry data returned parameter must be 0. If the length of entry data is greater than 32766, the user may specify a value of 0 or a multiple of 16 (up to a maximum of 32736) indicating how much of the entry data parameter should be returned as entry specific data prior to a pointer addressing the rest of the entry specific data.</p>
<p><strong>Example:</strong> The length of entry data is 40,000 so a pointer to the data will be returned when the journal entry is retrieved. The caller, however, wants the first 16 bytes of the entry data to be returned prior to the pointer and for the pointer to address the remaining 39,984 bytes. This can be done by specifying a Minimum length of entry data returned parameter value of 16. The 16 bytes of user data that are returned as entry specific data could contain information such as the length of data addressed by the pointer.</p>
<p>When the length of entry data is greater than 32766, all of the actual data cannot be returned on interfaces that retrieve journal entry information. Instead, on these interfaces, a pointer is returned to the actual data.</p>
</dd>
</dl>
<p><strong>Note:</strong> The user of the QJOSJRNE API must pass all or none of the parameters in
Optional Parameter Group 1.<img src="deltaend.gif" alt="End of change"></p>
<br>
<h3><a name="HDRVARLREC">Format for Variable Length Record</a></h3>
<p>The following table defines the format for the variable length records.</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%">Key</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">Length of data</td>
</tr>
<tr>
<td align="center" valign="top">8</td>
<td align="center" valign="top">8</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 will be truncated at the right. No message will be issued.</p>
<p>If the length of the data is smaller than the key field's data length, an
error message (CPF3C4D) will be issued.</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="HDRSJRNE1">Field Descriptions</a></h3>
<p><strong>Data.</strong> The data used to determine how the journal entry
should be sent. All values are validity checked.</p>
<p><strong>Key.</strong> Identifies specific information about the journal
entry that will be sent. See <a href="#HDRKEYFLD1">Keys</a> for the list of
valid keys.</p>
<p><strong>Length of data.</strong> The length of the journal entry information
value. The length of data field is used to get the addressability of the next
attribute record.</p>
<br>
<h3><a name="HDRKEYFLD1">Keys</a></h3>
<p>The following table lists the valid keys for the key field area of the
variable length record.</p>
<p>Some messages for this API refer to parameters and values of the Send
Journal Entry (SNDJRNE) command. This table also can be used to locate the key
names that correspond to the SNDJRNE command parameters.</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>
<th align="left" valign="bottom">SNDJRNE Command Parameter</th>
</tr>
<tr>
<td align="center" valign="top" width="10%">1</td>
<td align="left" valign="top" width="20%">CHAR(2)</td>
<td align="left" valign="top" width="40%">Journal entry type</td>
<td align="left" valign="top" width="30%">TYPE</td>
</tr>
<tr>
<td align="center" valign="top">2</td>
<td align="left" valign="top">CHAR(20)</td>
<td align="left" valign="top">Qualified file name</td>
<td align="left" valign="top">FILE</td>
</tr>
<tr>
<td align="center" valign="top">3</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Member name</td>
<td align="left" valign="top">FILE</td>
</tr>
<tr>
<td align="center" valign="top">4</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Force journal entry</td>
<td align="left" valign="top">FORCE</td>
</tr>
<tr>
<td align="center" valign="top">5</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Include commit cycle identifier</td>
<td align="left" valign="top">Not applicable</td>
</tr>
<tr>
<td align="center" valign="top">6</td>
<td align="left" valign="top">CHAR(40)</td>
<td align="left" valign="top">Qualified object name</td>
<td align="left" valign="top">OBJ</td>
</tr>
<tr>
<td align="center" valign="top">7</td>
<td align="left" valign="top">CHAR(*)</td>
<td align="left" valign="top">Object path name</td>
<td align="left" valign="top">OBJPATH</td>
</tr>
<tr>
<td align="center" valign="top">8</td>
<td align="left" valign="top">CHAR(16)</td>
<td align="left" valign="top">Object file identifier</td>
<td align="left" valign="top">OBJFID</td>
</tr>
<tr>
<td align="center" valign="top">9</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Override journal state</td>
<td align="left" valign="top">OVRSTATE</td>
</tr>
</table>
<br>
<h3><a name="HDRLMBRDE1">Field Descriptions</a></h3>
<p><strong>Force journal entry.</strong> Whether the journal receiver is forced
to auxiliary storage after the user entry is written to it. Possible 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 journal receiver is not forced to auxiliary
storage. This is the default value if the key is not specified.</td>
</tr>
<tr>
<td align="left" valign="top"><em>1</em></td>
<td align="left" valign="top">The journal receiver is forced to auxiliary
storage.</td>
</tr>
</table>
<p><strong>Include commit cycle identifier.</strong> Whether the commit cycle
identifier should be included with this user journal entry when it is written.
The commit cycle identifier will be the one associated with the commitment
definition that is being used by the program that calls this API. Possible
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 commit cycle identifier is not included and
will not be written with this user journal entry. This is the default value if
the key is not specified.</td>
</tr>
<tr>
<td align="left" valign="top"><em>1</em></td>
<td align="left" valign="top">The commit cycle identifier is determined and
will be associated with this user journal entry if it is available. So that the
commit cycle identifier can be determined for the specified journal, you
<em>must</em> have registered an API commitment resource with the Add
Commitment Resource (QTNADDCR) API. Also, you must have specified that this
journal was associated with this commitment resource. For more information, see
<a href="QTNADDCR.htm">Add Commitment Resource</a> (QTNADDCR) API.
<p><strong>Note:</strong> If commitment control is not active for the program
that calls this API, an error will be returned as no commit cycle identifier is
available. You can use the <a href="QTNRCMTI.htm">Retrieve Commitment
Information</a> (QTNRCMTI) API to determine whether commitment control is
active or not for the commitment definition of the program that calls this
API.</p>
</td>
</tr>
</table>
<p><strong>Notes:</strong></p>
<ol>
<li>If QJOSJRNE is called during commitment control IPL recovery, no commit
cycle identifier is available to be included. Therefore, during this IPL
recovery, the journal entry will be sent without a commit cycle identifier, no
matter which value is specified.</li>
<li>For more information on commitment definitions and commit cycle
identifiers, see the <a href="../rzaki/rzakikickoff.htm">Journal management</a>
topic.</li>
</ol>
<p><strong>Journal entry type.</strong> The journal entry type of this journal
entry. Specify a 2-character value for the journal entry type. This value must
be greater than or equal to hex C000. A default value of '00' (hex F0F0) is
assumed if the key is not specified.</p>
<p>If a hexadecimal value is specified that does not represent characters, that
value is not shown on the DSPJRN display or printout.</p>
<p><strong>Member name.</strong> The name of the physical file member with
which this entry is associated. Special values are *FIRST and *NONE. The default
value is *FIRST. If file name is *NONE and this field has a specific member
listed, an error will be returned.</p>
<p><strong>Object file identifier.</strong> The file identifier (FID) of the
object with which this entry is associated. An FID is a unique identifier
associated with integrated file system-related objects. Only objects whose FIDs
identify objects of type *STMF, *DIR, or *SYMLNK that are in the Root ('/'),
QOpensys, and user-defined file systems are supported.</p>
<p>The only special value supported is 16 bytes of hexadecimal zeros
('00000000000000000000000000000000'X) and represents no object identified by an
FID will be associated with the entry. This is the default if the object file
identifier key is not specified.</p>
<p><strong>Object path name.</strong> The path name of the object with which
this entry is associated. Only objects whose FIDs identify object of type
*STMF, *DIR, or *SYMLNK that are in the Root ('/'), QOpensys, and user-defined
file systems are supported. Symbolic links within the path name will not be
followed.</p>
<p>If a pointer is specified in the object path name, it must be 16-byte
aligned. If not, unpredictable results may occur.</p>
<p>For more information on the path name format, see <a href="../apiref/pns.htm">Path
name format</a>.</p>
<p>The only special value supported is *NONE, and this is the default if the
object path name key is not specified. If *NONE is specified, then in the path
name header structure, the length must be set to 5 and *NONE must follow the
path name header structure.</p>
<p>The maximum length of data for this key is 16,773,120.</p>
<p> <strong>Override journal
state.</strong> Whether the journal entry will be deposited, overriding the
current state of the journal. Possible values are:</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>0</em></td>
<td align="left" valign="top">None of the journal state values are overridden.
That is,
<ul>
<li>The journal entry is deposited if the journal state is *ACTIVE.</li>
<li>The journal entry is not deposited and no error is sent if the journal
state is *STANDBY.</li>
</ul>
</td>
</tr>
<tr>
<td align="left" valign="top"><em>1</em></td>
<td align="left" valign="top">The journal entry is deposited even if the
journal state is *STANDBY.
</td>
</tr>
</table>
<p><strong>Qualified file name.</strong> The first 10 characters contain the
name of the physical file with which this entry is associated. The only special
value supported for the file name is *NONE. The second 10 characters contain
the name of the library containing the physical file. Special values are:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>*LIBL</em></td>
<td align="left" valign="top">Library list</td>
</tr>
<tr>
<td align="left" valign="top"><em>*CURLIB</em></td>
<td align="left" valign="top">Current library</td>
</tr>
</table>
<br>
<p>If the file name is *NONE, then the library name is ignored. *NONE is the
default if the qualified file name key is not specified.</p>
<p><strong>Qualified object name.</strong> The qualified name of the object
with which this entry is associated. For the format of this field, see <a href=
"#HDRSOBJFMT">Qualified Object Name Format</a>.</p>
<p>If *NONE is specified for object name, the remaining fields should be set to
blanks. *NONE is the default if the qualified file name key is not
specified.</p>
<br>
<h3><a name="HDRSOBJFMT">Qualified Object Name Format</a></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%"><br>
</td>
<td align="center" valign="top" width="10%"><br>
</td>
<td align="left" valign="top" width="20%">CHAR(10)</td>
<td align="left" valign="top" width="60%">Object name</td>
</tr>
<tr>
<td align="center" valign="top"><br>
</td>
<td align="center" valign="top"><br>
</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Object library name</td>
</tr>
<tr>
<td align="center" valign="top"><br>
</td>
<td align="center" valign="top"><br>
</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Object type</td>
</tr>
<tr>
<td align="center" valign="top"><br>
</td>
<td align="center" valign="top"><br>
</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Member name, if *FILE specified</td>
</tr>
</table>
<br>
<h3>Field Descriptions</h3>
<p><strong>Member name.</strong> The name of the physical file member with
which this entry is associated. The possible values are:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>*FIRST</em></td>
<td align="left" valign="top">The entry is associated with the first member in
the file.</td>
</tr>
<tr>
<td align="left" valign="top">
<em>*NONE</em></td>
<td align="left" valign="top">The entry is associated with the file, not
with any member of the file.
</td>
</tr>
<tr>
<td align="left" valign="top"><em>member name</em></td>
<td align="left" valign="top">The name of the file member with which this entry
is associated.</td>
</tr>
<tr>
<td align="left" valign="top"><em>blank</em></td>
<td align="left" valign="top">The member name field must be blank if *NONE is
specified for the object name.</td>
</tr>
</table>
<p><strong>Note:</strong> If the specified object type was not *FILE, the
member name value is ignored.</p>
<p><strong>Object library name.</strong> The name of the library containing the
object. 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">All libraries in the job's library list are
searched until the first match is found.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*CURLIB</em></td>
<td align="left" valign="top">The current library for the job is searched. If
no library is specified as the current library for the job, the QGPL library is
used.</td>
</tr>
<tr>
<td align="left" valign="top"><em>library name</em></td>
<td align="left" valign="top">The name of the library to be searched.</td>
</tr>
<tr>
<td align="left" valign="top"><em>blank</em></td>
<td align="left" valign="top">The library name field must be blank if *NONE is
specified for the object name.</td>
</tr>
</table>
<p><strong>Object name.</strong> The name of the object with which this entry
is associated.</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>*NONE</em></td>
<td align="left" valign="top">No object is associated with the journal
entry.</td>
</tr>
<tr>
<td align="left" valign="top"><em>Object name</em></td>
<td align="left" valign="top">The name of the object with which this entry is
associated.</td>
</tr>
</table>
<p><strong>Object type.</strong> The object type associated with the object
with which this entry is associated. The possible values are:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>*FILE</em></td>
<td align="left" valign="top">The entry is associated with a
database file or database file member.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*DTAARA</em></td>
<td align="left" valign="top">The entry is associated with a data area.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*DTAQ</em></td>
<td align="left" valign="top">The entry is associated with a data queue.</td>
</tr>
<tr>
<td align="left" valign="top"><em>blank</em></td>
<td align="left" valign="top">The object type field must be blank if *NONE is
specified for the object name.</td>
</tr>
</table>
<br>
<h3><img src="delta.gif" alt="Start of change"><a name="#HDRRCVFMTFLD1">SJNE0100 Format</a></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%">Bytes returned</td>
</tr>
<tr>
<td align="center" valign="top">4</td>
<td align="center" valign="top">4</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Bytes available</td>
</tr>
<tr>
<td align="center" valign="top">8</td>
<td align="center" valign="top">8</td>
<td align="left" valign="top">CHAR(20)</td>
<td align="left" valign="top">Sequence number</td>
</tr>
<tr>
<td align="center" valign="top">28</td>
<td align="center" valign="top">1C</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Journal receiver name</td>
</tr>
<tr>
<td align="center" valign="top">38</td>
<td align="center" valign="top">26</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Journal receiver library</td>
</tr>
<tr>
<td align="center" valign="top">48</td>
<td align="center" valign="top">30</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Journal receiver ASP device name</td>
</tr>
</table>
<br>
<h3>Field Descriptions</h3>
<p><strong>Bytes available:</strong> The length, in bytes, of the SJNE0100 information available for the API to return to the caller.</p>
<p><strong>Bytes returned:</strong> The number of bytes that are being returned in the receiver variable.</p>
<p><strong>Journal receiver ASP device name:</strong> The name of the ASP device on which the journal receiver resides.</p>
<p><strong>Journal receiver library:</strong> The name of the library that contains the journal receiver.</p>
<p><strong>Journal receiver name:</strong> The name of the journal receiver that contains the sent entry.</p>
<p><strong>Sequence number:</strong> This is the number assigned by the system to the journal entry
that was just sent. This is a Char(20) field and it is treated as Zoned(20,0).<img src="deltaend.gif" alt="End of change"></p>
<br>
<h3>Error Messages</h3>
<table width="100%" cellpadding="3">
<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">CPFA0D4 E</td>
<td width="85%" valign="top">File system error occurred.</td>
</tr>
<tr>
<td valign="top">CPF24B4 E</td>
<td valign="top">Severe error while addressing parameter list.</td>
</tr>
<tr>
<td valign="top">CPF3CF1 E</td>
<td valign="top">Error code parameter not valid.</td>
</tr>
<tr>
<td valign="top">
<img src="delta.gif" alt="Start of change">CPF3C21 E</td>
<td valign="top">Format name &amp;1 is not valid.</td>
</tr>
<tr>
<td valign="top">CPF3C36 E</td>
<td valign="top">Number of parameters, &amp;1, entered for this API was not valid.
<img src="deltaend.gif" alt="End of change"></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">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">CPF3C88 E</td>
<td valign="top">Number of variable length records &amp;1 is 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"><img src="delta.gif" alt="Start of change">CPF6948 E</td>
<td valign="top">Length of the receiver variable &amp;1 not valid.
</td>
</tr>
<tr>
<td valign="top">CPF694E E</td>
<td valign="top">Value specified for parameter Minimum length of entry data returned not valid.
<img src="deltaend.gif" alt="End of change"></td>
</tr>
<tr>
<td valign="top">CPF7002 E</td>
<td valign="top">File &amp;1 in library &amp;2 not a physical file.</td>
</tr>
<tr>
<td valign="top">CPF7003 E</td>
<td valign="top">Entry not journaled to journal &amp;1. Reason code
&amp;3.</td>
</tr>
<tr>
<td valign="top">CPF7004 E</td>
<td valign="top">Maximum number of objects journaled to journal &amp;1.</td>
</tr>
<tr>
<td valign="top">CPF7007 E</td>
<td valign="top">Cannot allocate member &amp;3 file &amp;1 in &amp;2.</td>
</tr>
<tr>
<td valign="top">CPF7035 E</td>
<td valign="top">Object &amp;1 in &amp;2 already known to journal.</td>
</tr>
<tr>
<td valign="top">CPF7037 E</td>
<td valign="top">File &amp;1 not journaled to journal &amp;3.</td>
</tr>
<tr>
<td valign="top">CPF706E E</td>
<td valign="top">Length of entry data &amp;1 not valid.</td>
</tr>
<tr>
<td valign="top">CPF708D E</td>
<td valign="top">Journal receiver found logically damaged.</td>
</tr>
<tr>
<td valign="top">CPF70EF E</td>
<td valign="top">Parameters cannot be used together.</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">CPF83DE E</td>
<td valign="top">No API commitment resource associated with journal
&amp;2.</td>
</tr>
<tr>
<td valign="top">CPF83D1 E</td>
<td valign="top">Commit cycle identifier not available.</td>
</tr>
<tr>
<td valign="top">CPF8350 E</td>
<td valign="top">Commitment definition not found.</td>
</tr>
<tr>
<td valign="top">CPF9801 E</td>
<td valign="top">Object &amp;2 in library &amp;3 not found.</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">CPF9803 E</td>
<td valign="top">Cannot allocate object &amp;2 in library &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">CPF9812 E</td>
<td valign="top">File &amp;1 in library &amp;2 not found.</td>
</tr>
<tr>
<td valign="top">CPF9815 E</td>
<td valign="top">Member &amp;5 file &amp;2 in library &amp;3 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">CPF9822 E</td>
<td valign="top">Not authorized to file &amp;1 in library &amp;2.</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>
<table cellpadding="2" cellspacing="2" align="center">
<tr align="center">
<td valign="middle" align="center"><a href="#Top_Of_Page">Top</a> | <a href=
"jc1.htm">Journal and Commit APIs</a> | <a href="aplist.htm">APIs by
category</a></td>
</tr>
</table>
</body>
</html>