4795 lines
155 KiB
HTML
4795 lines
155 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>Retrieve Journal Entries (QjoRetrieveJournalEntries) 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. -->
|
|
<!-- JC1 SCRIPT A converted by B2H R4.1 (346) (CMS) by V2KEA304 -->
|
|
<!-- at RCHVMW2 on 17 Feb 1999 at 11:05:09 -->
|
|
<!-- Created for V5R3 by (Peg Levering) -->
|
|
<!-- Change history: -->
|
|
<!-- 021220 Levering:(changed rcvr range 256 to 1024, DCR 99207)-->
|
|
<!-- 030924 trschmid: changed note about MILLIS to "this key"-->
|
|
<!-- 031028 trschmid: changed MILLIS to "uuuuuu"-->
|
|
<!-- 031028 trschmid: added note about QLEAPADJ affecting granularity-->
|
|
<!--End Header Records -->
|
|
<!--Edited by Kersten Oct 2001 -->
|
|
<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>Retrieve Journal Entries (QjoRetrieveJournalEntries) API</h2>
|
|
|
|
<div class="box" style="width: 80%;">
|
|
<br>
|
|
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%">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">2</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">3</td>
|
|
<td align="left" valign="top">Qualified journal name</td>
|
|
<td align="left" valign="top">Input</td>
|
|
<td align="left" valign="top">Char(20)</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">4</td>
|
|
<td align="left" valign="top">Format name</td>
|
|
<td align="left" valign="top">Input</td>
|
|
<td align="left" valign="top">Char(8)</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<br>
|
|
Omissible Parameter Group:<br>
|
|
<!-- iddvc RMBR -->
|
|
<br>
|
|
<table width="100%">
|
|
|
|
<tr>
|
|
<td align="center" valign="top" width="10%">5</td>
|
|
<td align="left" valign="top" width="50%">Journal entries to retrieve</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">6</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>
|
|
Service Program Name: QJOURNAL<br>
|
|
<!-- iddvc RMBR -->
|
|
<br>
|
|
Header File Name: QSYSINC/H.QJOURNAL<br>
|
|
<!-- iddvc RMBR -->
|
|
<br>
|
|
Default Public Authority: *USE<br>
|
|
<!-- iddvc RMBR -->
|
|
<br>
|
|
Threadsafe: No<br>
|
|
<!-- iddvc RMBR -->
|
|
<br>
|
|
</div>
|
|
|
|
<p>The Retrieve Journal Entries (QjoRetrieveJournalEntries) API provides access
|
|
to journal entries. The journal entry information available is similar to what
|
|
is provided by using the Display Journal (DSPJRN), Receive Journal Entry
|
|
(RCVJRNE), and Retrieve Journal Entry (RTVJRNE) CL commands. Additionally,
|
|
journal entry data that cannot be retrieved through these CL interfaces because
|
|
of length or structure is available through this API as pointers to the
|
|
additional data.</p>
|
|
|
|
<p>See the <a href="../rzaki/rzakikickoff.htm">Journal management</a> topic for
|
|
more information about journaling and the various types of journal entries that
|
|
are available for retrieval.</p>
|
|
|
|
<p><strong>Note:</strong> Under certain conditions, even if an error message is
|
|
returned to this API, a partial list of journal entries may be retrieved into
|
|
the receiver variable. If you receive error messages CPF3CF1, CPF3C90, CPF6948,
|
|
CPF6949 or CPF9872, then the receiver variable has not yet been modified. For
|
|
all other error messages, a non-zero value for bytes returned indicates journal
|
|
entry information may be available and the number of entries retrieved field
|
|
will reflect how many entries are being returned prior to receiving the error
|
|
message.</p>
|
|
|
|
<br>
|
|
|
|
<h3>Restrictions</h3>
|
|
|
|
<ul>
|
|
<li>If the sequence number is reset in the range of the receivers specified,
|
|
the first occurrence of starting sequence number or ending sequence number is
|
|
used if these key fields are specified.</li>
|
|
|
|
<li>The job, program, and user profile keys cannot be used to specify selection
|
|
criteria if one or more journal receivers in the specified receiver range was
|
|
attached to a journal that had a RCVSIZOPT or FIXLENDTA option specified that
|
|
omitted the collection of that data.</li>
|
|
|
|
<li>The file,
|
|
<img src="delta.gif" alt="Start of change">
|
|
object, object path, object file identifier, directory subtree, name pattern,
|
|
<img src="deltaend.gif" alt="End of change">
|
|
journal code, entry type, job, program, user profile, commit
|
|
cycle identifier, and dependent entries keys can be used to specify a subset of
|
|
all available entries within a range of journal entries.
|
|
|
|
<ul>
|
|
<li>If no values are specified using these keys, all available journal entries
|
|
are retrieved.</li>
|
|
|
|
<li>If more than one of these keys are specified, then a journal entry must
|
|
satisfy all of the values specified on these keys, except when ignore file
|
|
selection (*IGNFILSLT) <img src="delta.gif" alt="Start of change">
|
|
or ignore object selection (*IGNOBJSLT)
|
|
<img src="deltaend.gif" alt="End of change">
|
|
is specified on the journal code key.</li>
|
|
|
|
<li>If a journal code is specified on the journal code key and *IGNFILSLT is
|
|
the second element of that journal code, then journal entries with the
|
|
specified journal code are selected if they satisfy all selection criteria
|
|
except what is specified on the file key.</li>
|
|
|
|
<li><img src="delta.gif" alt="Start of change">
|
|
If a journal code is specified on the journal code key and *IGNOBJSLT is
|
|
the second element of that journal code, then journal entries with the
|
|
specified journal code are selected if they satisfy all selection criteria
|
|
except what is specified on the object, object path, object file identifier,
|
|
directory subtree, and name pattern keys.
|
|
<img src="deltaend.gif" alt="End of change"></li>
|
|
</ul>
|
|
</li>
|
|
|
|
<li>If more than the maximum number of objects is identified (
|
|
<img src="delta.gif" alt="Start of change">
|
|
32767
|
|
<img src="deltaend.gif" alt="End of change">
|
|
objects),
|
|
an error occurs and no entries are converted for output. This restriction is
|
|
ignored if *ALLFILE is specified
|
|
<img src="delta.gif" alt="Start of change">
|
|
or no objects are specified. All journal entries are retrieved, regardless of
|
|
which objects, if any, the entries are associated with.
|
|
<img src="deltaend.gif" alt="End of change">
|
|
</li>
|
|
</ul>
|
|
<br>
|
|
<h3>Authorities and Locks</h3>
|
|
|
|
<dl>
|
|
<dt><em>Journal Authority</em></dt>
|
|
|
|
<dd>*USE</dd>
|
|
|
|
<dt><em>Journal Library Authority</em></dt>
|
|
|
|
<dd>*EXECUTE</dd>
|
|
|
|
<dt><em>Journal Receivers Authority</em></dt>
|
|
|
|
<dd>*USE</dd>
|
|
|
|
<dt><em>Journal Receivers Library's Authority</em></dt>
|
|
|
|
<dd>*EXECUTE</dd>
|
|
|
|
<dt><img src="delta.gif" alt="Start of change">
|
|
<em>Non-Integrated File System Object Authority (if specified)</em></dt>
|
|
|
|
<dd>*USE</dd>
|
|
|
|
<dt><em>Non-Integrated File System Object Library Authority</em></dt>
|
|
|
|
<dd>*EXECUTE</dd>
|
|
|
|
<dt><em>Integrated File System Object Authority (if specified)</em></dt>
|
|
|
|
<dd>*R (also *X if object is a directory and *ALL is specified
|
|
for the directory subtree key)</dd>
|
|
|
|
<dt><em>Directory Authority (for each directory preceding the last
|
|
component in the path name)</em></dt>
|
|
|
|
<dd>*X<img src="deltaend.gif" alt="End of change"></dd>
|
|
|
|
<dt><em>Journal Lock</em></dt>
|
|
|
|
<dd>*SHRRD</dd>
|
|
|
|
<dt><em>Journal Receiver Lock</em></dt>
|
|
|
|
<dd>*SHRRD</dd>
|
|
|
|
<dt><em><img src="delta.gif" alt="Start of change">
|
|
Non-Integrated File System Object Lock (if specified)</em></dt>
|
|
|
|
<dd>*SHRRD</dd>
|
|
|
|
<dt><em>Integrated File System Object Lock (if specified)</em></dt>
|
|
|
|
<dd>O_RDONLY | O_SHARE_RDWR<img src="deltaend.gif" alt="End of change"></dd>
|
|
</dl>
|
|
|
|
<p>*OBJEXIST is also required for the journal authority if any of the the
|
|
following are true:</p>
|
|
|
|
<ul>
|
|
<li>*ALLFILE has been specified for the file key
|
|
<img src="delta.gif" alt="Start of change">
|
|
or no objects were specified
|
|
<img src="deltaend.gif" alt="End of change">
|
|
</li>
|
|
|
|
<li>Specified object does not exist on the system</li>
|
|
|
|
<li>*IGNFILSLT <img src="delta.gif" alt="Start of change">
|
|
or *IGNOBJSLT <img src="deltaend.gif" alt="End of change">
|
|
is specified for the journal code selection value for any
|
|
selected journal codes</li>
|
|
|
|
<li>The journal is a remote journal</li>
|
|
</ul>
|
|
<br>
|
|
<h3>Required Parameter Group</h3>
|
|
|
|
<dl>
|
|
<dt><strong>Receiver variable</strong></dt>
|
|
|
|
<dd>OUTPUT; CHAR(*)
|
|
|
|
<p>The receiver variable that receives the entries requested. 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 area can hold. Only complete journal entries will be
|
|
returned.</p>
|
|
|
|
<p><strong>Note:</strong> This receiver variable must be aligned on a 16-byte
|
|
boundary since the journal entry specific data could include actual
|
|
pointers.</p>
|
|
|
|
<p>If the receiver variable was not large enough to hold the retrieved journal
|
|
entries, the API can be called again, specifying the same selection criteria
|
|
and specifying a starting sequence number one greater than the last sequence
|
|
number returned.</p>
|
|
</dd>
|
|
|
|
<dt><strong>Length of receiver variable</strong></dt>
|
|
|
|
<dd>INPUT; BINARY(4)
|
|
|
|
<p>The length of receiver variable specified in the user program. If the length
|
|
of receiver variable parameter specified is larger than the allocated size of
|
|
the receiver variable specified in the user program, the results are not
|
|
predictable.
|
|
<img src="delta.gif" alt="Start of change">
|
|
If the length of receiver variable parameter specified is smaller
|
|
than the journal entry to be returned, no journal entry will be returned and
|
|
no error will be signalled.
|
|
<img src="deltaend.gif" alt="End of change">
|
|
The minimum length is 13 bytes.</p>
|
|
</dd>
|
|
|
|
<dt><strong>Qualified journal name</strong></dt>
|
|
|
|
<dd>INPUT; CHAR(20)
|
|
|
|
<p>The name of the journal and its library from which the journal entries are
|
|
to be retrieved. The first 10 characters contain the journal name. The second
|
|
10 characters contain the library name. The special values supported for the
|
|
library name follow:</p>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="15 85" -->
|
|
<tr>
|
|
<td valign="top"><em>*LIBL</em></td>
|
|
<td valign="top">Library list</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>*CURLIB</em></td>
|
|
<td valign="top">Current library</td>
|
|
</tr>
|
|
</table>
|
|
</dd>
|
|
|
|
<dt><strong>Format name</strong></dt>
|
|
|
|
<dd>INPUT; CHAR(8)
|
|
|
|
<p> The formats RJNE0100 and RJNE0200 are the only supported formats that are
|
|
used by this API. For more information, see the <a href="#HDRRJNEFMT">RJNE0100
|
|
Format</a> and the <a href="#HDRRJNEFMT2">RJNE0200 Format</a>.</p>
|
|
</dd>
|
|
</dl>
|
|
<br>
|
|
<h3>Omissible Parameter Group</h3>
|
|
|
|
<dl>
|
|
<dt><strong>Journal entries to retrieve</strong></dt>
|
|
|
|
<dd>INPUT; CHAR(*)
|
|
|
|
<p>The selection criteria, if any, to use for the journal entries to be
|
|
retrieved from the journal. If this parameter is not specified, all journal
|
|
entries in the currently attached journal receiver that fit in the length of
|
|
receiver variable parameter will be retrieved. Only complete journal entries
|
|
will be returned. The information must be in the following format:</p>
|
|
|
|
<dl>
|
|
<dt><em>Number of variable length records</em></dt>
|
|
|
|
<dd>BINARY(4)</dd>
|
|
|
|
<dd>The total number of all of the variable length records. If this field is
|
|
zero, no variable length records are processed, and no key information will be
|
|
retrieved.<br>
|
|
<br>
|
|
</dd>
|
|
|
|
<dt><em>Variable length records</em></dt>
|
|
|
|
<dd>CHAR(*)</dd>
|
|
|
|
<dd>The types of entries that should be retrieved. For the specific format of
|
|
the variable length record, see <a href="#HDRRJRNEVL">Format for Variable
|
|
Length Record</a>.
|
|
|
|
<p><img src="delta.gif" alt="Start of change">
|
|
<strong>Note:</strong> This receiver variable must be aligned on a 16-byte
|
|
boundary since the journal entry specific data could include actual
|
|
pointers.
|
|
<img src="deltaend.gif" alt="End of change"></p>
|
|
</dd>
|
|
</dl>
|
|
|
|
<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>. If this
|
|
parameter is omitted, diagnostic and escape messages are issued to the
|
|
application.</p>
|
|
</dd>
|
|
</dl>
|
|
<br>
|
|
<h3><a name="HDRRJRNEVL">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%">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">Key</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">8</td>
|
|
<td align="center" valign="top">8</td>
|
|
<td align="left" valign="top">BINARY(4)</td>
|
|
<td align="left" valign="top">Length of data</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">12</td>
|
|
<td align="center" valign="top">C</td>
|
|
<td align="left" valign="top">CHAR(*)</td>
|
|
<td align="left" valign="top">Data</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<p>If you specify a length of data that is longer than the key field's required
|
|
data length, the data will be truncated at the right. No error message will be
|
|
returned.</p>
|
|
|
|
<p>If you specify a length of data that is shorter than the key field's
|
|
required data length, an error message will be returned.</p>
|
|
|
|
<p>You may 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.
|
|
<img src="delta.gif" alt="Start of change">
|
|
If any keys are specified which include pointers, e.g. Object Path or Name
|
|
Pattern, it is recommended that the length of each variable length record be a
|
|
mulitple of 16 bytes. If not, errors may occur.
|
|
<img src="deltaend.gif" alt="End of change">
|
|
</p>
|
|
<br>
|
|
<h3><a name="HDRRJRNE1">Field Descriptions</a></h3>
|
|
|
|
<p><strong>Data.</strong> The data that is used to determine how the journal
|
|
entries should be retrieved. All values are validity checked.</p>
|
|
|
|
<p><strong>Key.</strong> Identifies specific entries to be retrieved from the
|
|
journal. See <a href="#HDRRJRNEKY">Keys</a> for the list of valid keys.</p>
|
|
|
|
<p><strong>Length of data.</strong> The length of the key information.</p>
|
|
|
|
<p><strong>Length of variable length record.</strong> The length of the
|
|
variable length record. This field is used to get the addressability of the
|
|
next variable length record.</p>
|
|
|
|
<br>
|
|
<h3><a name="HDRRJRNEKY">Keys</a></h3>
|
|
|
|
<p>The following table lists the valid keys for the key field area of the
|
|
variable length record. For detailed descriptions of the keys, see the <a href=
|
|
"#HDRRJRNE2">Field Descriptions</a>.</p>
|
|
|
|
<p>Some messages for this API refer to parameters and values of the Receive
|
|
Journal Entry (RCVJRNE) command. This table also can be used to locate the key
|
|
names that correspond to the RCVJRNE command parameters.</p>
|
|
|
|
<table border width="80%">
|
|
<tr>
|
|
<th align="center" valign="bottom">Key</th>
|
|
<th align="left" valign="bottom">Input Type</th>
|
|
<th align="left" valign="bottom">Field</th>
|
|
<th align="left" valign="bottom">RCVJRNE Command Parameter</th>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top" width="10%">1</td>
|
|
<td align="left" valign="top" width="20%">CHAR(40)</td>
|
|
<td align="left" valign="top" width="40%">Range of journal receivers</td>
|
|
<td align="left" valign="top" width="30%">RCVRNG</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">2</td>
|
|
<td align="left" valign="top">CHAR(20)</td>
|
|
<td align="left" valign="top">Starting sequence number</td>
|
|
<td align="left" valign="top">FROMENT</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">3</td>
|
|
<td align="left" valign="top">CHAR(26)</td>
|
|
<td align="left" valign="top">Starting time stamp</td>
|
|
<td align="left" valign="top">FROMTIME</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">4</td>
|
|
<td align="left" valign="top">CHAR(20)</td>
|
|
<td align="left" valign="top">Ending sequence number</td>
|
|
<td align="left" valign="top">TOENT</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">5</td>
|
|
<td align="left" valign="top">CHAR(26)</td>
|
|
<td align="left" valign="top">Ending time stamp</td>
|
|
<td align="left" valign="top">TOTIME</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">6</td>
|
|
<td align="left" valign="top">BINARY(4)</td>
|
|
<td align="left" valign="top">Number of entries</td>
|
|
<td align="left" valign="top">NBRENT</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">7</td>
|
|
<td align="left" valign="top">CHAR(*)</td>
|
|
<td align="left" valign="top">Journal codes</td>
|
|
<td align="left" valign="top">JRNCDE</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">8</td>
|
|
<td align="left" valign="top">CHAR(*)</td>
|
|
<td align="left" valign="top">Journal entry types</td>
|
|
<td align="left" valign="top">ENTTYP</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">9</td>
|
|
<td align="left" valign="top">CHAR(26)</td>
|
|
<td align="left" valign="top">Job</td>
|
|
<td align="left" valign="top">JOB</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">10</td>
|
|
<td align="left" valign="top">CHAR(10)</td>
|
|
<td align="left" valign="top">Program</td>
|
|
<td align="left" valign="top">PGM</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">11</td>
|
|
<td align="left" valign="top">CHAR(10)</td>
|
|
<td align="left" valign="top">User profile</td>
|
|
<td align="left" valign="top">USRPRF</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">12</td>
|
|
<td align="left" valign="top">CHAR(20)</td>
|
|
<td align="left" valign="top">Commit cycle identifier</td>
|
|
<td align="left" valign="top">CMTCYCID</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">13</td>
|
|
<td align="left" valign="top">CHAR(10)</td>
|
|
<td align="left" valign="top">Dependent entries</td>
|
|
<td align="left" valign="top">DEPENT</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">14</td>
|
|
<td align="left" valign="top">CHAR(10)</td>
|
|
<td align="left" valign="top">Include entries</td>
|
|
<td align="left" valign="top">INCENT</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">15</td>
|
|
<td align="left" valign="top">CHAR(10)</td>
|
|
<td align="left" valign="top">Null value indicators length</td>
|
|
<td align="left" valign="top">NULLINDLEN</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">16</td>
|
|
<td align="left" valign="top">CHAR(*)</td>
|
|
<td align="left" valign="top">File</td>
|
|
<td align="left" valign="top">FILE</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">
|
|
<img src="delta.gif" alt="Start of change">17</td>
|
|
<td align="left" valign="top">CHAR(*)</td>
|
|
<td align="left" valign="top">Object</td>
|
|
<td align="left" valign="top">OBJ</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">18</td>
|
|
<td align="left" valign="top">CHAR(*)</td>
|
|
<td align="left" valign="top">Object path</td>
|
|
<td align="left" valign="top">OBJPATH</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">19</td>
|
|
<td align="left" valign="top">CHAR(*)</td>
|
|
<td align="left" valign="top">Object file identifier</td>
|
|
<td align="left" valign="top">OBJFID</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">20</td>
|
|
<td align="left" valign="top">CHAR(5)</td>
|
|
<td align="left" valign="top">Directory subtree</td>
|
|
<td align="left" valign="top">SUBTREE</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">21</td>
|
|
<td align="left" valign="top">CHAR(*)</td>
|
|
<td align="left" valign="top">Name pattern</td>
|
|
<td align="left" valign="top">PATTERN
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">22</td>
|
|
<td align="left" valign="top">CHAR(10)</td>
|
|
<td align="left" valign="top">Format Minimized Data</td>
|
|
<td align="left" valign="top">FMTMINDTA
|
|
<img src="deltaend.gif" alt="End of change"></td>
|
|
</tr>
|
|
</table>
|
|
<br>
|
|
<br>
|
|
<h3><a name="HDRRJRNE2">Field Descriptions</a></h3>
|
|
|
|
<p><strong>Commit cycle identifier.</strong> The commit cycle identifier of the
|
|
specific journal that participated in a logical unit of work for which the
|
|
journal entries are to be retrieved. This Char(20) field is treated as
|
|
Zoned(20,0) except when the special value *ALL is specified. The default is
|
|
*ALL. The possible values are:</p>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="15 85" -->
|
|
<tr>
|
|
<td valign="top"><em>*ALL</em></td>
|
|
<td valign="top">The journal entries for all commit cycle identifiers are to be
|
|
retrieved.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>commit cycle identifier</em></td>
|
|
<td valign="top">The identifier for the commit cycle whose journaled changes
|
|
are to be retrieved.</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<p><strong>Dependent entries</strong> Whether the journal entries to be
|
|
retrieved include the journal entries recording actions</p>
|
|
|
|
<ul>
|
|
<li>that occur as a result of a trigger program.</li>
|
|
|
|
<li>on records that are part of a referential constraint.</li>
|
|
|
|
<li>that will be ignored during an apply journaled changes (APYJRNCHG) or
|
|
remove journaled changes (RMVJRNCHG) operation.</li>
|
|
</ul>
|
|
|
|
<p>The default is *ALL. The possible values are:</p>
|
|
|
|
<br>
|
|
<table cellpadding="5">
|
|
<!-- cols="15 85" -->
|
|
<tr>
|
|
<td valign="top"><em>*ALL</em></td>
|
|
<td valign="top">The journal entries relating to trigger programs, referential
|
|
constraints, and the entries that will be ignored by an apply journaled changes
|
|
or remove journaled changes operation are retrieved.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>*NONE</em></td>
|
|
<td valign="top">The journal entries relating to trigger programs, referential
|
|
constraints, and the entries that will be ignored by an apply journaled changes
|
|
or remove journaled changes operation are not retrieved.</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<img src="delta.gif" alt="Start of change">
|
|
<p><strong>Directory subtree.</strong> Whether the directory subtrees are
|
|
included in the retrieve operation. The default is *NONE.</p>
|
|
|
|
<p><strong>Note:</strong> This key is ignored if Key 18 (object path)
|
|
is not specified or if the object is not a directory.</p>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="15 85" -->
|
|
<tr>
|
|
<td align="left" valign="top"><em>*NONE</em></td>
|
|
<td align="left" valign="top">Only the objects that match the selection
|
|
criteria are processed. The objects within selected directories are not
|
|
processed implicitly.<br>
|
|
<br>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top"><em>*ALL</em></td>
|
|
<td align="left" valign="top">All objects that meet the selection criteria are
|
|
processed in addition to the entire subtree of each directory that matches the
|
|
selection criteria. The subtree includes all subdirectories and the objects
|
|
within those subdirectories.</td>
|
|
</tr>
|
|
</table>
|
|
<img src="deltaend.gif" alt="End of change">
|
|
|
|
<p><strong>Ending sequence number.</strong> The last journal entry considered
|
|
for retrieval. This Char(20) field is treated as Zoned(20,0) except when the
|
|
special value *LAST is specified. The default is *LAST. The possible
|
|
values are:</p>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="15 85" -->
|
|
<tr>
|
|
<td valign="top"><em>*LAST</em></td>
|
|
<td valign="top">The last journal entry in the specified journal receiver range
|
|
is the last entry considered for retrieval.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>sequence number</em></td>
|
|
<td valign="top">The sequence number of the journal entry that is the last
|
|
entry considered for retrieval.</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<p><img src="delta.gif" alt="Start of change">
|
|
<strong>Note:</strong> If this key is specified, Key 5 (ending time stamp)
|
|
cannot also be specified.
|
|
<img src="deltaend.gif" alt="End of change"></p>
|
|
|
|
<p><strong>Ending time stamp.</strong> The time stamp of the last journal entry
|
|
considered for retrieval. This Char(26) field is in the format YYYY-MM-DD-HH.MM.SS.UUUUUU where</p>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="15 85" -->
|
|
<tr>
|
|
<td valign="top"><em>YYYY</em></td>
|
|
<td valign="top">Year</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>MM</em></td>
|
|
<td valign="top">Month</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>DD</em></td>
|
|
<td valign="top">Day</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>HH</em></td>
|
|
<td valign="top">Hours</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>MM</em></td>
|
|
<td valign="top">Minutes</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>SS</em></td>
|
|
<td valign="top">Seconds</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>UUUUUU</em></td>
|
|
<td valign="top">Microseconds</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<p><strong>Notes:</strong>
|
|
<ol>
|
|
<li>If this key is specified, Key 4 (ending sequence number) cannot also be
|
|
specified.<br>
|
|
<br>
|
|
</li>
|
|
|
|
<li>If the system value QLEAPADJ (Leap year adjustment) is zero, then the
|
|
result returned will be in 1 microsecond granularity. If the system value
|
|
QLEAPADJ is greater than zero, then the result returned will be in
|
|
8 microsecond granularity.
|
|
</li>
|
|
</ol>
|
|
|
|
<p><strong>File.</strong> A list of files and members for which journal entries
|
|
are to be retrieved. For the format of this field, see <a href="#HDRFILE">File
|
|
Format</a>. If *ALLFILE is specified for the file name, the list cannot contain
|
|
other entries.</p>
|
|
|
|
<p>To determine which journal entries are to be retrieved, based on the
|
|
specified file member name, the following is done:</p>
|
|
|
|
<ul>
|
|
<li>If the journal is a local journal, and if the specified file member
|
|
currently exists on the system, the journal identifier is determined from the
|
|
specified file member. All journal entries in the specified receiver range for
|
|
that journal identifier are retrieved.</li>
|
|
|
|
<li>If the journal is a remote journal, or if the specified file member does
|
|
not currently exist on the system, the specified receiver range is searched to
|
|
determine all possible journal identifiers that are associated with the
|
|
specified file member. All journal entries in the specified receiver range for
|
|
those journal identifiers are retrieved. Specify the
|
|
library name or *CURLIB to have entries returned for a file.
|
|
|
|
<p><img src="delta.gif" alt="Start of change">
|
|
There may be more than one journal identifier associated with a specified
|
|
object within the specified receiver range. This can happen when a journaled
|
|
object is deleted, and then a new object is created with the same name and
|
|
journaled to the same journal.
|
|
<img src="deltaend.gif" alt="End of change"></p>
|
|
</li>
|
|
</ul>
|
|
|
|
<strong>Notes:</strong>
|
|
|
|
<ol>
|
|
<li>The journal identifier is the unique identifier associated with the object
|
|
when journaling is started for that object. The journal identifier stays
|
|
constant, even if the object is renamed, moved or restored. See the <a href=
|
|
"../rzaki/rzakikickoff.htm">Journal management</a> topic for more
|
|
information.<br>
|
|
<br>
|
|
</li>
|
|
|
|
<li>When specifying a database file on this key, journal entries with the
|
|
following journal code values are retrieved only if they satisfy the values
|
|
specified on the other keys:
|
|
|
|
<ul>
|
|
<li>Journal code D (database file-level information entries).</li>
|
|
|
|
<li>Journal code F (file member-level information entries).</li>
|
|
|
|
<li>Journal code R (record-level information entries).</li>
|
|
|
|
<li>Journal code U (user-generated entries).</li>
|
|
|
|
<li>Other journal codes if *IGNFILSLT is the second element of the journal code
|
|
key. If *ALLSLT is the second element of the journal code key, no journal
|
|
entries with that code are retrieved.</li>
|
|
</ul>
|
|
<br>
|
|
|
|
<li><img src="delta.gif" alt="Start of change">
|
|
Either Key 16 (file) may be specified, or one or more of the object keys,
|
|
Key 17 (object), Key 18 (object path), or Key 19 (object file identifier) may be
|
|
specified, but not both.
|
|
<img src="deltaend.gif" alt="End of change"><br>
|
|
</li>
|
|
</ol>
|
|
|
|
<img src="delta.gif" alt="Start of change">
|
|
<p><strong>Format minimized data.</strong> Specifies whether entry specific data
|
|
which has been minimized on field boundaries will be returned in a readable
|
|
format. The default is *NO. The possible values are:</p>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="15 85" -->
|
|
<tr>
|
|
<td valign="top"><em>*NO</em></td>
|
|
<td valign="top">The journal entries which have entry specific data that has
|
|
been minimized on field boundaries will not be returned in a readable format.
|
|
Therefore, the entry specific data may not be viewable.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>*YES</em></td>
|
|
<td valign="top">The journal entries which have entry specific data that has
|
|
been minimized on field boundaries will be returned in a readable format.
|
|
Therefore, the entry specific data is viewable and may be used for auditing
|
|
purposes. The fields that were changed are accurately reflected. The fields
|
|
that were not changed and were not recorded return default data and are
|
|
indicated by a value of '9' in the null value indicators field.</td>
|
|
</tr>
|
|
</table>
|
|
<img src="deltaend.gif" alt="End of change"><br>
|
|
|
|
<p><strong>Include entries.</strong> Whether only the confirmed or both the
|
|
confirmed and unconfirmed journal entries are retrieved. This key only applies
|
|
when retrieving journal entries from a remote journal. The default is
|
|
*CONFIRMED.</p>
|
|
|
|
<p>Confirmed entries are those journal entries that have been sent to this
|
|
remote journal, and the state of the input/output (I/O) to auxiliary storage
|
|
for the same journal entries on the local journal is known.</p>
|
|
|
|
<p>Unconfirmed entries can occur for two reasons. First, the journal entries
|
|
have been sent to the remote journal, but the state of the input/output (I/O)
|
|
to auxiliary storage for the same journal entries on the local journal is not
|
|
yet known. If the connection to the source system is lost, these entries will
|
|
be deleted from the remote system and will never become confirmed. This
|
|
situation only occurs if synchronous delivery mode is being used for the remote
|
|
journal. Secondly, unconfirmed entries may exist because the object name
|
|
information for those journal entries is not yet known to the remote journal.
|
|
Even if the connection to the source system is lost, these entries will
|
|
eventually become confirmed. This situation can occur for either synchronous or
|
|
asynchronous delivery mode to a remote journal.</p>
|
|
|
|
<p>The possible values are:</p>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="15 85" -->
|
|
<tr>
|
|
<td valign="top"><em>*CONFIRMED</em></td>
|
|
<td valign="top">Only those journal entries that have been confirmed are
|
|
retrieved.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>*ALL</em></td>
|
|
<td valign="top">All confirmed and unconfirmed journal entries are
|
|
retrieved.</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<p><strong>Job.</strong> Whether the journal entries being retrieved are
|
|
limited to the journal entries for a specified job. Only journal entries for
|
|
the specified job are considered for retrieval. The default is *ALL. The
|
|
possible values are:</p>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="15 85" -->
|
|
<tr>
|
|
<td valign="top"><em>*ALL</em></td>
|
|
<td valign="top">The retrieval is not limited to entries for a specific
|
|
job.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>job</em></td>
|
|
<td valign="top">The retrieval is limited to entries for a specific job where
|
|
the first 10 characters are the job name, the second 10 characters are the user
|
|
name, and the last 6 characters are the job number.</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<p><strong>Journal codes.</strong> A list of journal codes for which entries
|
|
are to be retrieved. For the format of this field, see <a href="#HDRJRNCDE">
|
|
Journal Code Format</a>. If *ALL or *CTL is specified for the journal code
|
|
value, the list cannot contain other entries and the journal code selection
|
|
field must be blank. The default is *ALL for the journal code value.</p>
|
|
|
|
<p><strong>Journal entry types.</strong> A list of journal entry types for
|
|
which entries are to be retrieved. For the format of this field, see <a href=
|
|
"#HDRENTTYP">Journal Entry Type Format</a>. If *ALL or *RCD is specified for
|
|
the journal entry type, the list cannot contain other entries. The default is
|
|
*ALL for the journal entry type.</p>
|
|
|
|
<img src="delta.gif" alt="Start of change">
|
|
<p><strong>Name pattern.</strong> The patterns to be used to include or omit
|
|
objects for which journal entries are to be retrieved. The default will be to include all
|
|
patterns that match. For the format of this field, see <a href="#HDRPATTERN">Name
|
|
Pattern Format</a>.</p>
|
|
|
|
<p><strong>Notes:</strong>
|
|
<ol>
|
|
<li>This key is ignored if Key 18 (object path)
|
|
is not specified.<br>
|
|
<br>
|
|
</li>
|
|
<li>The sum of the lengths of all the variable length records that precede
|
|
this key must be a multiple of 16 bytes. If not, errors will occur. For ease
|
|
of implementation, it is recommended that the length of each variable length
|
|
record be a mulitple of 16 bytes.
|
|
<br>
|
|
</li>
|
|
</ol>
|
|
<img src="deltaend.gif" alt="End of change">
|
|
|
|
<p><strong>Null value indicators length.</strong> The length, in bytes, used
|
|
for the null value indicators portion of the journal entry retrieved by the
|
|
user. This Char(10) field is treated as Zoned(10,0) except when the special
|
|
value *VARLEN is specified. The default is *VARLEN. The possible values
|
|
are:</p>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="15 85" -->
|
|
<tr>
|
|
<td valign="top"><em>*VARLEN</em></td>
|
|
<td valign="top">The null value indicators field is a variable-length field.
|
|
The received journal entry has the format shown in <a href="#TBLJENVIV">This
|
|
journal entry's null value indicators if Null Value Indicators (*VARLEN)
|
|
specified</a>. All possible null value indicators will be retrieved.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>field length</em></td>
|
|
<td valign="top">The null value indicators field is a fixed-length field of the
|
|
specified field length. Valid values range from 1 to 8000 characters. The
|
|
format of the retrieved journal entry is shown in <a href="#TBLJENVIF">This
|
|
journal entry's null value indicators if Null Value Indicators (field length)
|
|
specified</a>.</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<p>If the journal entry being retrieved has fewer null value indicators than
|
|
the length specified, the trailing bytes are set to 'F0'X. Conversely, if a
|
|
journal entry retrieved has more null value indicators than the specified field
|
|
length and truncation will result in the loss of a significant
|
|
null value indicator (either a 'F1'X or a 'F9'X),
|
|
the request is ended.</p>
|
|
|
|
<p><strong>Number of entries.</strong> The maximum number of journal entries
|
|
that are requested to be retrieved. Less than this maximum could be retrieved
|
|
if fewer entries meet all the other selection criteria or if there is not
|
|
enough space for all the requested entries.</p>
|
|
|
|
<img src="delta.gif" alt="Start of change">
|
|
<p><strong>Object.</strong> A list of objects for which journal entries
|
|
are to be retrieved. For the format of this field, see <a href="#HDROBJ">Object
|
|
Format</a>. Only objects of type *DTAARA, *DTAQ, and *FILE are supported.</p>
|
|
|
|
<p>To determine which journal entries are to be retrieved, based on the
|
|
specified object name, the following is done:</p>
|
|
|
|
<ul>
|
|
<li>If the journal is a local journal, and if the specified object
|
|
currently exists on the system, the journal identifier is determined from the
|
|
specified object. All journal entries in the specified receiver range for
|
|
that journal identifier are retrieved.</li>
|
|
|
|
<li>If the journal is a remote journal, or if the specified object does
|
|
not currently exist on the system, the specified receiver range is searched to
|
|
determine all possible journal identifiers that are associated with the
|
|
specified object. All journal entries in the specified receiver range for
|
|
those journal identifiers are retrieved. Specify the
|
|
library name or *CURLIB to have entries returned for an object.
|
|
|
|
<p>There may be more than one journal identifier associated with a specified
|
|
object within the specified receiver range. This can happen when a journaled
|
|
object is deleted, and then a new object is created with the same name and
|
|
journaled to the same journal.</p>
|
|
</li>
|
|
</ul>
|
|
|
|
<strong>Notes:</strong>
|
|
|
|
<ol>
|
|
<li>The journal identifier is the unique identifier associated with the object
|
|
when journaling is started for that object. The journal identifier stays
|
|
constant, even if the object is renamed, moved or restored. See the <a href=
|
|
"../rzaki/rzakikickoff.htm">Journal management</a> topic for more
|
|
information.<br>
|
|
<br>
|
|
</li>
|
|
|
|
<li>When specifying an object on this key, journal entries with the
|
|
following journal code values are retrieved only if they satisfy the values
|
|
specified on the other keys:
|
|
|
|
<ul>
|
|
<li>Journal code D (database file-level information entries).</li>
|
|
|
|
<li>Journal code E (data area information entries).</li>
|
|
|
|
<li>Journal code F (file member-level information entries).</li>
|
|
|
|
<li>Journal code R (record-level information entries).</li>
|
|
|
|
<li>Journal code Q (data queue information entries).</li>
|
|
|
|
<li>Journal code U (user-generated entries).</li>
|
|
|
|
<li>Other journal codes if *IGNOBJSLT is the second element of the journal code
|
|
key. If *ALLSLT is the second element of the journal code key, no journal
|
|
entries with that code are retrieved.</li>
|
|
</ul>
|
|
<br>
|
|
</li>
|
|
|
|
<li>
|
|
Either Key 16 (file) may be specified, or one or more of the object keys,
|
|
Key 17 (object), Key 18 (object path), or Key 19 (object file identifier) may be
|
|
specified, but not both.
|
|
</li>
|
|
</ol>
|
|
|
|
<p><strong>Object file identifier.</strong> A list of file identifiers (FIDs) for
|
|
which journal entries are to be retrieved. FIDs are unique identifiers
|
|
associated with integrated file system objects. Only objects whose FID
|
|
identifies an object of type *STMF, *DIR, or *SYMLNK that is in the "root" ('/'),
|
|
QOpenSys, and user-defined file systems are supported. All other objects are
|
|
ignored. For the format of this field, see
|
|
<a href="#HDROBJFID">Object File Identifier Format</a>. </p>
|
|
|
|
<p>To determine which journal entries are to be retrieved, based on the
|
|
specified file identifier, the following is done:</p>
|
|
|
|
<ul>
|
|
<li>If the journal is a local journal, and if the specified object
|
|
currently exists on the system, the journal identifier is determined from the
|
|
specified object. All journal entries in the specified receiver range for
|
|
that journal identifier are retrieved.</li>
|
|
|
|
<li>If the journal is a remote journal, or if the specified object does
|
|
not currently exist on the system, the specified receiver range is searched to
|
|
determine all possible journal identifiers that are associated with the
|
|
specified object. All journal entries in the specified receiver range for
|
|
those journal identifiers are retrieved.
|
|
</li>
|
|
</ul>
|
|
|
|
<strong>Notes:</strong>
|
|
|
|
<ol>
|
|
<li>The journal identifier is the unique identifier associated with the object
|
|
when journaling is started for that object. The journal identifier stays
|
|
constant, even if the object is renamed, moved or restored. See the <a href=
|
|
"../rzaki/rzakikickoff.htm">Journal management</a> topic for more
|
|
information.<br>
|
|
<br>
|
|
</li>
|
|
|
|
<li>When specifying an object on this key, journal entries with the
|
|
following journal code values are retrieved only if they satisfy the values
|
|
specified on the other keys:
|
|
|
|
<ul>
|
|
<li>Journal code B (integrated file system information entries).</li>
|
|
|
|
<li>Journal code U (user-generated entries).</li>
|
|
|
|
<li>Other journal codes if *IGNOBJSLT is the second element of the journal code
|
|
key. If *ALLSLT is the second element of the journal code key, no journal
|
|
entries with that code are retrieved.</li>
|
|
</ul>
|
|
<br>
|
|
</li>
|
|
|
|
<li>Either Key 16 (file) may be specified, or one or more of the object keys,
|
|
Key 17 (object), Key 18 (object path), or Key 19 (object file identifier) may be
|
|
specified, but not both.</li>
|
|
|
|
</ol>
|
|
|
|
<p><strong>Object path.</strong> A list of integrated file system objects,
|
|
entered via path name, for which journal entries are to be retrieved. Only
|
|
objects of type *STMF, *DIR, or *SYMLNK that are in the "root" ('/'),
|
|
QOpenSys, and user-defined file systems are supported. All other objects
|
|
are ignored. For the format of this field, see
|
|
<a href="#HDROBJPATH">Object Path Format</a>. </p>
|
|
|
|
<p>Only objects that are currently linked with the specified path name and
|
|
have a journal identifier associated with them are used in journal
|
|
entry selection. If the specified object does exist, the journal
|
|
identifier associated with that link is used for journal entry
|
|
selection. If a specified object does not exist or does not have a
|
|
journal identifier associated with it, that link is not used in
|
|
selecting journal entries and no error is sent.</p>
|
|
|
|
<strong>Notes:</strong>
|
|
|
|
<ol>
|
|
<li>The sum of the lengths of all the variable length records that precede
|
|
this key must be a multiple of 16 bytes. If not, errors will occur. For ease
|
|
of implementation, it is recommended that the length of each variable length
|
|
record be a mulitple of 16 bytes.<br>
|
|
<br>
|
|
</li>
|
|
|
|
<li>The journal identifier is the unique identifier associated with the object
|
|
when journaling is started for that object. The journal identifier stays
|
|
constant, even if the object is renamed, moved or restored. See the <a href=
|
|
"../rzaki/rzakikickoff.htm">Journal management</a> topic for more
|
|
information.<br>
|
|
<br>
|
|
</li>
|
|
|
|
<li>When specifying an object on this key, journal entries with the
|
|
following journal code values are retrieved only if they satisfy the values
|
|
specified on the other keys:
|
|
|
|
<ul>
|
|
<li>Journal code B (integrated file system information entries).</li>
|
|
|
|
<li>Journal code U (user-generated entries).</li>
|
|
|
|
<li>Other journal codes if *IGNOBJSLT is the second element of the journal code
|
|
key. If *ALLSLT is the second element of the journal code key, no journal
|
|
entries with that code are retrieved.</li>
|
|
</ul>
|
|
<br>
|
|
</li>
|
|
|
|
<li>Either Key 16 (file) may be specified, or one or more of the object keys,
|
|
Key 17 (object), Key 18 (object path), or Key 19 (object file identifier) may be
|
|
specified, but not both.</li>
|
|
|
|
</ol>
|
|
<img src="deltaend.gif" alt="End of change">
|
|
|
|
<p><strong>Program.</strong> Whether the journal entries being retrieved are
|
|
limited to the journal entries for a specified program. Only journal entries
|
|
for the specified program name are considered for retrieval. The default is
|
|
*ALL. The possible values are:</p>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="15 85" -->
|
|
<tr>
|
|
<td valign="top"><em>*ALL</em></td>
|
|
<td valign="top">The retrieval is not limited to entries for a specific
|
|
program.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>program</em></td>
|
|
<td valign="top">The name of the program whose journal entries are considered
|
|
for retrieval. Only journal entries for this program are considered for
|
|
retrieval.</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<p><strong>Range of journal receivers.</strong> The qualified names of the
|
|
starting (first) and ending (last) journal receivers used in the search for a
|
|
journal entry to be retrieved. For the format of this field, see <a href=
|
|
"#HDRRCVRNG">Receiver Range Format</a>. The system starts the search with the
|
|
starting journal receiver and proceeds through the receiver chain until the
|
|
ending journal receiver is processed.</p>
|
|
|
|
<p>If *CURCHAIN or *CURRENT is specified for the starting journal receiver, the
|
|
remaining fields should be set to blanks. The default is *CURRENT for the
|
|
starting journal receiver. If the total number of receivers in the range is
|
|
larger than
|
|
<img src="delta.gif" alt="Start of change">
|
|
2045,
|
|
<img src="deltaend.gif" alt="End of change">
|
|
an error message is sent and no journal entry is
|
|
retrieved.</p>
|
|
|
|
<p><strong>Starting sequence number.</strong> The first journal entry
|
|
considered for retrieval. This Char(20) field is treated as Zoned(20,0) except
|
|
when the special value *FIRST is specified. The default is *FIRST. The
|
|
possible values are:</p>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="15 85" -->
|
|
<tr>
|
|
<td valign="top"><em>*FIRST</em></td>
|
|
<td valign="top">The first journal entry in the specified journal receiver
|
|
range is the first entry considered for retrieval.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>sequence number</em></td>
|
|
<td valign="top">The sequence number of the journal entry that is the first
|
|
entry considered for retrieval.</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<p><img src="delta.gif" alt="Start of change">
|
|
<strong>Note:</strong> If this key is specified, Key 3 (starting time stamp) cannot also be
|
|
specified.<img src="deltaend.gif" alt="End of change"></p>
|
|
|
|
|
|
<p><strong>Starting time stamp.</strong> The time stamp of the first journal
|
|
entry considered for retrieval. This Char(26) field is in the format YYYY-MM-DD-HH.MM.SS.UUUUUU where</p>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="15 85" -->
|
|
<tr>
|
|
<td valign="top"><em>YYYY</em></td>
|
|
<td valign="top">Year</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>MM</em></td>
|
|
<td valign="top">Month</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>DD</em></td>
|
|
<td valign="top">Day</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>HH</em></td>
|
|
<td valign="top">Hours</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>MM</em></td>
|
|
<td valign="top">Minutes</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>SS</em></td>
|
|
<td valign="top">Seconds</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>UUUUUU</em></td>
|
|
<td valign="top">Microseconds</td>
|
|
</tr>
|
|
</table>
|
|
|
|
|
|
<strong>Notes:</strong>
|
|
|
|
<ol>
|
|
<li>If this key is specified, Key 2 (starting sequence number) cannot also be
|
|
specified.<br>
|
|
<br>
|
|
</li>
|
|
|
|
<li>Note: If the system value QLEAPADJ (Leap year adjustment) is zero, then the
|
|
result returned will be in 1 microsecond granularity. If the system value
|
|
QLEAPADJ is greater than zero, then the result returned will be in
|
|
8 microsecond granularity.</li>
|
|
</ol>
|
|
|
|
<p><strong>User profile.</strong> Whether the journal entries being retrieved
|
|
are limited to the journal entries for a specified user profile name. The user
|
|
profile name is the user profile under which the job is run that deposited the
|
|
journal entries. Only journal entries for the specified user profile are
|
|
considered for retrieval. The default is *ALL. The possible values are:</p>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="15 85" -->
|
|
<tr>
|
|
<td valign="top"><em>*ALL</em></td>
|
|
<td valign="top">The retrieval is not limited to entries for a specific user
|
|
profile.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>user profile</em></td>
|
|
<td valign="top">The name of the user profile whose journal entries are
|
|
considered for retrieval. Only journal entries for this user profile are
|
|
considered for retrieval.</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<h3><a name="HDRFILE">File Format</a></h3>
|
|
|
|
<table border width="80%">
|
|
<tr>
|
|
<th align="center" colspan="2" valign="bottom">Offset</th>
|
|
<th align="left" rowspan="2" valign="bottom">Type</th>
|
|
<th align="left" rowspan="2" valign="bottom">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%"> </td>
|
|
<td align="center" valign="top" width="10%"> </td>
|
|
<td align="left" valign="top" width="20%">BINARY(4)</td>
|
|
<td align="left" valign="top" width="60%">Number in array</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" colspan="4" valign="top"><strong>Note:</strong> These fields
|
|
repeat for each file member.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top"> </td>
|
|
<td align="center" valign="top"> </td>
|
|
<td align="left" valign="top">CHAR(10)</td>
|
|
<td align="left" valign="top">File name</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top"> </td>
|
|
<td align="center" valign="top"> </td>
|
|
<td align="left" valign="top">CHAR(10)</td>
|
|
<td align="left" valign="top">Library name</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top"> </td>
|
|
<td align="center" valign="top"> </td>
|
|
<td align="left" valign="top">CHAR(10)</td>
|
|
<td align="left" valign="top">Member name</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<br>
|
|
<br>
|
|
<h3>Field Descriptions</h3>
|
|
|
|
<p><strong>File name.</strong> The file name for which journal entries are to
|
|
be retrieved. The possible values are:</p>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="15 85" -->
|
|
<tr>
|
|
<td valign="top"><em>*ALLFILE</em></td>
|
|
<td valign="top">The search for the journal entries retrieved is not limited to
|
|
a specified file name.
|
|
All journal entries are converted for output,
|
|
regardless of which objects, if any, the entries are associated with.
|
|
If *ALLFILE is specified, the associated library name
|
|
and member name fields should be blank.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>*ALL</em></td>
|
|
<td valign="top">Journal entries for all physical files in the specified
|
|
library (the library name must be specified) for which journaled changes
|
|
currently in the specified journal receiver range are retrieved. If *ALL is
|
|
specified and the user does not have the required authority to all of the
|
|
files, an error occurs and the command ends.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>file name</em></td>
|
|
<td valign="top">The name of the physical database file for which journaled
|
|
changes are being retrieved.</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<p><strong>Library name.</strong> The library name associated with the file
|
|
name for which journal entries are to be retrieved. The possible values
|
|
are:</p>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="15 85" -->
|
|
<tr>
|
|
<td valign="top"><em>*LIBL</em></td>
|
|
<td valign="top">All libraries in the job's library list are searched until the
|
|
first match is found.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>*CURLIB</em></td>
|
|
<td 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 valign="top"><em>library name</em></td>
|
|
<td valign="top">The name of the library to be searched.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>blank</em></td>
|
|
<td valign="top">The library name field must be blank if *ALLFILE is specified
|
|
for the file name.</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<p><strong>Member name.</strong> The file member name for which journal entries
|
|
are to be retrieved. The possible values are:</p>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="15 85" -->
|
|
<tr>
|
|
<td valign="top"><em>*FIRST</em></td>
|
|
<td valign="top">Entries for <img src="delta.gif" alt="Start of change">
|
|
the database file and <img src="deltaend.gif" alt="End of change">
|
|
the first member in the file are retrieved.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>*ALL</em></td>
|
|
<td valign="top">Entries for <img src="delta.gif" alt="Start of change">
|
|
the database file and all the <img src="deltaend.gif" alt="End of change">
|
|
currently existing members of the file are retrieved.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><img src="delta.gif" alt="Start of change"><em>*NONE</em>
|
|
</td>
|
|
<td valign="top">Only entries for the database file are retrieved. Entries
|
|
for members of the file are not retrieved.
|
|
<img src="deltaend.gif" alt="End of change"></td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>member name</em></td>
|
|
<td valign="top">The name of the file member for which entries are retrieved.
|
|
If the specified physical file does not exist on the system, specify either
|
|
*ALL or a specific file member name.
|
|
|
|
<p>If *ALL is specified for the file name, this member name is used for all
|
|
applicable files in the library.</p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>blank</em></td>
|
|
<td valign="top">The member name field must be blank if *ALLFILE is specified
|
|
for the file name.</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<p><strong>Number in array.</strong> The number of file codes that are
|
|
specified for this key. The possible values are 1 through 300. The value must
|
|
be 1 if *ALLFILE or *ALL is specified for file name.</p>
|
|
|
|
<br>
|
|
<h3><a name="HDRJRNCDE">Journal Code Format</a></h3>
|
|
|
|
<table border width="80%">
|
|
<tr>
|
|
<th align="center" colspan="2" valign="bottom">Offset</th>
|
|
<th align="left" rowspan="2" valign="bottom">Type</th>
|
|
<th align="left" rowspan="2" valign="bottom">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%"> </td>
|
|
<td align="center" valign="top" width="10%"> </td>
|
|
<td align="left" valign="top" width="20%">BINARY(4)</td>
|
|
<td align="left" valign="top" width="60%">Number in array</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" colspan="4" valign="top"><strong>Note:</strong> These fields
|
|
repeat for each journal code.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top"> </td>
|
|
<td align="center" valign="top"> </td>
|
|
<td align="left" valign="top">CHAR(10)</td>
|
|
<td align="left" valign="top">Journal code value</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top"> </td>
|
|
<td align="center" valign="top"> </td>
|
|
<td align="left" valign="top">CHAR(10)</td>
|
|
<td align="left" valign="top">Journal code selection</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<br>
|
|
<br>
|
|
<h3>Field Descriptions</h3>
|
|
|
|
<p><strong>Journal code value.</strong> The journal code for which journal
|
|
entries are to be retrieved. The possible values are:</p>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="15 85" -->
|
|
<tr>
|
|
<td valign="top"><em>*ALL</em></td>
|
|
<td valign="top">The retrieval of journal entries is not limited to entries
|
|
with a particular journal code.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>*CTL</em></td>
|
|
<td valign="top">Only journal entries deposited to control the journal
|
|
functions are to be retrieved (journal codes = J and F).</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>code</em></td>
|
|
<td valign="top">The 1-character journal code for which journal entries are to
|
|
be retrieved.
|
|
|
|
<p>A list of journal codes that can be specified is provided in the <a href=
|
|
"../rzaki/rzakikickoff.htm">Journal management</a> topic. The 1-character code
|
|
should be left-justified.</p>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<p><strong>Journal code selection.</strong> Whether other selection criteria
|
|
apply to this specified journal code. The possible values are:</p>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="15 85" -->
|
|
<tr>
|
|
<td valign="top"><em>*ALLSLT</em></td>
|
|
<td valign="top">The journal entries with the specified journal code are to be
|
|
retrieved only if all selection keys are satisfied.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>*IGNFILSLT</em></td>
|
|
<td valign="top">The journal entries with the specified journal code are to be
|
|
retrieved only if all selection keys except the file key are satisfied.
|
|
<strong>Note:</strong> This value is not valid for journal codes D, F, and R.
|
|
<img src="delta.gif" alt="Start of change">
|
|
This value is not valid if Key 17 (object), Key 18 (object path), or Key 19
|
|
(object file identifier) is specified.
|
|
<img src="deltaend.gif" alt="End of change"></td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top">
|
|
<em><img src="delta.gif" alt="Start of change">*IGNOBJSLT</em></td>
|
|
<td valign="top">The journal entries with the specified journal code are to be
|
|
retrieved only if all selection keys are satisfied except the object, object path,
|
|
object file identifier, directory subtree, and name pattern keys.
|
|
<strong>Note:</strong> This value is not valid for journal codes
|
|
B, D, E, F, Q, and R. This value is not valid if Key 16 (file) is specified.
|
|
<img src="deltaend.gif" alt="End of change"></td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>blank</em></td>
|
|
<td valign="top">The journal code selection must be blank if *ALL or *CTL is
|
|
specified for the journal code value.</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<p><strong>Number in array.</strong> The number of journal codes that are
|
|
specified for this key. The possible values are 1 through 16. The value must be
|
|
1 if *ALL or *CTL is specified for the journal code value.</p>
|
|
|
|
<br>
|
|
|
|
<h3><a name="HDRENTTYP">Journal Entry Type Format</a></h3>
|
|
|
|
<table border width="80%">
|
|
<tr>
|
|
<th align="center" colspan="2" valign="bottom">Offset</th>
|
|
<th align="left" rowspan="2" valign="bottom">Type</th>
|
|
<th align="left" rowspan="2" valign="bottom">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%"> </td>
|
|
<td align="center" valign="top" width="10%"> </td>
|
|
<td align="left" valign="top" width="20%">BINARY(4)</td>
|
|
<td align="left" valign="top" width="60%">Number in array</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" colspan="4" valign="top"><strong>Note:</strong> These fields
|
|
repeat for each entry type.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top"> </td>
|
|
<td align="center" valign="top"> </td>
|
|
<td align="left" valign="top">CHAR(10)</td>
|
|
<td align="left" valign="top">Journal entry type</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<br>
|
|
<br>
|
|
<h3>Field Descriptions</h3>
|
|
|
|
<p><strong>Journal entry types.</strong> The journal entry types for which
|
|
journal entries are to be retrieved. The possible values are:</p>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="15 85" -->
|
|
<tr>
|
|
<td valign="top"><em>*ALL</em></td>
|
|
<td valign="top">The retrieval of journal entries is not limited to entries
|
|
with a particular journal entry type.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>*RCD</em></td>
|
|
<td valign="top">Only journal entries that have an entry type for record level
|
|
operations are retrieved. The following entry types are valid: BR, DL, DR, IL,
|
|
PT, PX, UB, UP, and UR.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>entry type</em></td>
|
|
<td valign="top">The 2-character entry type that limits the search for the
|
|
journal entries to retrieve. Only journal entries that contain the specified
|
|
entry type are considered for retrieval. A list of valid entry types is in the
|
|
<a href="../rzaki/rzakikickoff.htm">Journal management</a> topic. The
|
|
2-character entry type should be left-justified.</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<p><strong>Number in array.</strong> The number of journal entry types that are
|
|
specified for this key. The possible values are 1 through 300. The value must
|
|
be 1 if *ALL or *RCD is specified for journal entry type.</p>
|
|
|
|
<img src="delta.gif" alt="Start of change">
|
|
<br>
|
|
<h3><a name="HDRPATTERN">Name Pattern Format</a></h3>
|
|
|
|
<table border="1" width="80%" cellpadding="5">
|
|
<!-- cols="15 40 25 20" -->
|
|
<tr>
|
|
<th align="center" colspan="2" valign="bottom">Offset</th>
|
|
<th align="left" rowspan="2" valign="bottom">Type</th>
|
|
<th align="left" rowspan="2" valign="bottom">Field</th>
|
|
</tr>
|
|
|
|
<tr>
|
|
<th align="left" valign="bottom">Dec</th>
|
|
<th align="left" valign="bottom">Hex</th>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top" width="10%"> </td>
|
|
<td align="center" valign="top" width="10%"> </td>
|
|
<td align="left" valign="top" width="20%">BINARY(4)</td>
|
|
<td align="left" valign="top" width="60%">Number in array</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">4</td>
|
|
<td align="center" valign="top">4</td>
|
|
<td align="left" valign="top">CHAR(12)</td>
|
|
<td align="left" valign="top">Reserved</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" colspan="4" valign="top"><strong>Note:</strong> These fields
|
|
repeat for each pattern.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">16</td>
|
|
<td align="center" valign="top">10</td>
|
|
<td align="left" valign="top">BINARY(4)</td>
|
|
<td align="left" valign="top">Length of this pattern entry</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top"> </td>
|
|
<td align="center" valign="top"> </td>
|
|
<td align="left" valign="top">CHAR(10)</td>
|
|
<td align="left" valign="top">Include or omit</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top"> </td>
|
|
<td align="center" valign="top"> </td>
|
|
<td align="left" valign="top">CHAR(2)</td>
|
|
<td align="left" valign="top">Reserved</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top"> </td>
|
|
<td align="center" valign="top"> </td>
|
|
<td align="left" valign="top">PTR(16)</td>
|
|
<td align="left" valign="top">Pointer to pattern path structure</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<br>
|
|
<br>
|
|
<h3>Field Descriptions</h3>
|
|
|
|
<p><strong>Include or omit.</strong> Whether the name pattern is included or
|
|
omitted from the retrieve operation.</p>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="15 85" -->
|
|
<tr>
|
|
<td valign="top"><em>*INCLUDE</em></td>
|
|
<td valign="top">The objects that match the object name pattern are to be
|
|
included in determining what journal entries are retrieved, unless overridden
|
|
by an *OMIT specification.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>*OMIT</em></td>
|
|
<td valign="top">The objects that match the object name pattern are not to be
|
|
included in determining what journal entries are retrieved. This overrides an
|
|
*INCLUDE specification and is intended to be used to omit a subset of a
|
|
previously selected pattern.</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<p><strong>Length of this pattern entry.</strong> The length of the current
|
|
pattern entry that can be used as the displacement from the start of this
|
|
pattern entry to the next pattern entry. The length must be a minimum of 32
|
|
bytes and must be a multiple of 16.</p>
|
|
|
|
<p><strong>Number in array.</strong> The number of patterns that are
|
|
specified for this key. The possible values are 1 through 20.</p>
|
|
|
|
<p><strong>Pointer to pattern path structure.</strong> A pointer to a path
|
|
structure.</p>
|
|
|
|
<p>This pointer must be 16-byte aligned. If not, unpredictable results may
|
|
occur.</p>
|
|
|
|
<p>Additional information about path name patterns is in the
|
|
<a href="../ifs/rzaaxkickoff.htm">Integrated file system</a> information
|
|
in the Files and file systems topic.</p>
|
|
|
|
<p>The pointer given points to a path name structure. If that path name
|
|
structure contains a pointer, it must be 16-byte aligned. If not, unpredictable
|
|
results may occur.</p>
|
|
|
|
<p>For more information on the pattern path name format, see <a href=
|
|
"../apiref/pns.htm">Path name format</a>.</p>
|
|
|
|
<p><strong>Reserved.</strong> A reserved field that must be set to hexadecimal
|
|
zeros.</p>
|
|
|
|
<br>
|
|
<h3><a name="HDROBJ">Object Format</a></h3>
|
|
|
|
<table border="1" width="80%" cellpadding="5">
|
|
<!-- cols="15 40 25 20" -->
|
|
<tr>
|
|
<th align="center" colspan="2" valign="bottom">Offset</th>
|
|
<th align="left" rowspan="2" valign="bottom">Type</th>
|
|
<th align="left" rowspan="2" valign="bottom">Field</th>
|
|
</tr>
|
|
|
|
<tr>
|
|
<th align="left" valign="bottom">Dec</th>
|
|
<th align="left" valign="bottom">Hex</th>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top" width="10%"> </td>
|
|
<td align="center" valign="top" width="10%"> </td>
|
|
<td align="left" valign="top" width="20%">BINARY(4)</td>
|
|
<td align="left" valign="top" width="60%">Number in array</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" colspan="4" valign="top"><strong>Note:</strong> These fields
|
|
repeat for each object.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top"> </td>
|
|
<td align="center" valign="top"> </td>
|
|
<td align="left" valign="top">CHAR(10)</td>
|
|
<td align="left" valign="top">Object name</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top"> </td>
|
|
<td align="center" valign="top"> </td>
|
|
<td align="left" valign="top">CHAR(10)</td>
|
|
<td align="left" valign="top">Library name</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top"> </td>
|
|
<td align="center" valign="top"> </td>
|
|
<td align="left" valign="top">CHAR(10)</td>
|
|
<td align="left" valign="top">Object type</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top"> </td>
|
|
<td align="center" valign="top"> </td>
|
|
<td align="left" valign="top">CHAR(10)</td>
|
|
<td align="left" valign="top">Member name, if *FILE specified</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<br>
|
|
<br>
|
|
<h3>Field Descriptions</h3>
|
|
|
|
<p><strong>Library name.</strong> The library name associated with the object
|
|
for which journal entries are to be retrieved. The possible values
|
|
are:</p>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="15 85" -->
|
|
<tr>
|
|
<td valign="top"><em>*LIBL</em></td>
|
|
<td valign="top">All libraries in the job's library list are searched until the
|
|
first match is found.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>*CURLIB</em></td>
|
|
<td 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 valign="top"><em>library name</em></td>
|
|
<td valign="top">The name of the library to be searched.</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<p><strong>Member name, if *FILE specified.</strong> The file member name for
|
|
which journal entries are to be retrieved. If the specified object type was
|
|
not *FILE, the member name is ignored. The possible values are:</p>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="15 85" -->
|
|
<tr>
|
|
<td valign="top"><em>*FIRST</em></td>
|
|
<td valign="top">Entries for the database file and
|
|
the first member in the file are retrieved.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>*ALL</em></td>
|
|
<td valign="top">Entries for the database file and all the
|
|
currently existing members of the file are retrieved.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>*NONE</em>
|
|
</td>
|
|
<td valign="top">Only entries for the database file are retrieved. Entries
|
|
for members of the file are not retrieved.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>member name</em></td>
|
|
<td valign="top">The name of the file member for which entries are retrieved.
|
|
If the specified physical file does not exist on the system, specify either
|
|
*ALL or a specific file member name.
|
|
|
|
<p>If *ALL is specified for the file name, this member name is used for all
|
|
applicable files in the library.</p>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<p><strong>Number in array.</strong> The number of object names that are
|
|
specified for this key. The possible values are 1 through 300.</p>
|
|
|
|
<p><strong>Object name.</strong> The object name for which journal entries are to
|
|
be retrieved. The possible values are:</p>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="15 85" -->
|
|
<tr>
|
|
<td valign="top"><em>*ALL</em></td>
|
|
<td valign="top">Journal entries for all objects of the specified object type
|
|
in the specified
|
|
library (the library name must be specified) for which journaled changes
|
|
currently in the specified journal receiver range are retrieved. If *ALL is
|
|
specified and the user does not have the required authority to all of the
|
|
objects, an error occurs and the command ends.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>object name</em></td>
|
|
<td valign="top">The name of the object for which journaled
|
|
changes are being retrieved.</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<p><strong>Object type.</strong> The object type associated with the object for
|
|
which journal entries are to be retrieved. The possible values are:</p>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="15 85" -->
|
|
<tr>
|
|
<td valign="top"><em>*FILE</em></td>
|
|
<td valign="top">Entries for database files and database file members are
|
|
retrieved.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>*DTAARA</em></td>
|
|
<td valign="top">Entries for data areas are retrieved.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>*DTAQ</em></td>
|
|
<td valign="top">Entries for data queues are retrieved.</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<br>
|
|
<h3><a name="HDROBJFID">Object File Identifier Format</a></h3>
|
|
|
|
<table border="1" width="80%" cellpadding="5">
|
|
<!-- cols="15 40 25 20" -->
|
|
<tr>
|
|
<th align="center" colspan="2" valign="bottom">Offset</th>
|
|
<th align="left" rowspan="2" valign="bottom">Type</th>
|
|
<th align="left" rowspan="2" valign="bottom">Field</th>
|
|
</tr>
|
|
|
|
<tr>
|
|
<th align="left" valign="bottom">Dec</th>
|
|
<th align="left" valign="bottom">Hex</th>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top" width="10%"> </td>
|
|
<td align="center" valign="top" width="10%"> </td>
|
|
<td align="left" valign="top" width="20%">BINARY(4)</td>
|
|
<td align="left" valign="top" width="60%">Number in array</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" colspan="4" valign="top"><strong>Note:</strong> These fields
|
|
repeat for each object.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top"> </td>
|
|
<td align="center" valign="top"> </td>
|
|
<td align="left" valign="top">CHAR(16)</td>
|
|
<td align="left" valign="top">File identifier</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<br>
|
|
<br>
|
|
<h3>Field Descriptions</h3>
|
|
|
|
<p><strong>File identifier.</strong> The file identifier of the object
|
|
for which journal entries are to be retrieved.</p>
|
|
|
|
<p><strong>Number in array.</strong> The number of file identifiers that
|
|
are specified for this key. The possible values are 1 through 300.</p>
|
|
|
|
<br>
|
|
<h3><a name="HDROBJPATH">Object Path Format</a></h3>
|
|
|
|
<table border="1" width="80%" cellpadding="5">
|
|
<!-- cols="15 40 25 20" -->
|
|
<tr>
|
|
<th align="center" colspan="2" valign="bottom">Offset</th>
|
|
<th align="left" rowspan="2" valign="bottom">Type</th>
|
|
<th align="left" rowspan="2" valign="bottom">Field</th>
|
|
</tr>
|
|
|
|
<tr>
|
|
<th align="left" valign="bottom">Dec</th>
|
|
<th align="left" valign="bottom">Hex</th>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top" width="10%"> </td>
|
|
<td align="center" valign="top" width="10%"> </td>
|
|
<td align="left" valign="top" width="20%">BINARY(4)</td>
|
|
<td align="left" valign="top" width="60%">Number in array</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top"> </td>
|
|
<td align="center" valign="top"> </td>
|
|
<td align="left" valign="top">CHAR(12)</td>
|
|
<td align="left" valign="top">Reserved</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" colspan="4" valign="top"><strong>Note:</strong> These fields
|
|
repeat for each object path name.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top"> </td>
|
|
<td align="center" valign="top"> </td>
|
|
<td align="left" valign="top">BINARY(4)</td>
|
|
<td align="left" valign="top">Length of this object path name entry</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top"> </td>
|
|
<td align="center" valign="top"> </td>
|
|
<td align="left" valign="top">CHAR(10)</td>
|
|
<td align="left" valign="top">Include or omit</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top"> </td>
|
|
<td align="center" valign="top"> </td>
|
|
<td align="left" valign="top">CHAR(2)</td>
|
|
<td align="left" valign="top">Reserved</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top"> </td>
|
|
<td align="center" valign="top"> </td>
|
|
<td align="left" valign="top">PTR(16)</td>
|
|
<td align="left" valign="top">Pointer to an object path name</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<br>
|
|
<br>
|
|
<h3>Field Descriptions</h3>
|
|
|
|
<p><strong>Include or omit.</strong> Whether names that match the path name
|
|
should be included or omitted from the operation. Note that in
|
|
determining whether a name matches a pattern, relative name patterns are always
|
|
treated as relative to the current working directory.</p>
|
|
|
|
<p><strong>Note:</strong> Key 20 (directory subtree) specifies whether the
|
|
subtrees are included or omitted.</p>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="15 85" -->
|
|
<tr>
|
|
<td valign="top"><em>*INCLUDE</em></td>
|
|
<td valign="top">The objects that match the object name pattern are to be
|
|
included in determining what journal entries are retrieved, unless overridden
|
|
by an *OMIT specification.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>*OMIT</em></td>
|
|
<td valign="top">The objects that match the object name pattern are not to be
|
|
included in determining what journal entries are retrieved. This overrides an
|
|
*INCLUDE specification and is intended to be used to omit a subset of a
|
|
previously selected pattern.</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<p><strong>Length of this object path name entry.</strong> The length of the
|
|
current object path name entry that can be used as the displacement from the
|
|
start of this path name entry to the next path name entry. The length must be a
|
|
minimum of 32 bytes and must be a multiple of 16.</p>
|
|
|
|
<p><strong>Number in array.</strong> The number of object path names that are
|
|
specified for this key. The possible values are 1 through 300.</p>
|
|
|
|
<p><strong>Pointer to an object path name.</strong> A pointer to the object path name
|
|
of the object for which journal entries are to be retrieved. All path names
|
|
are relative to the current directory at the time of the call.</p>
|
|
|
|
<p>In the last component of the path name, an asterisk (*) or a question mark
|
|
(?) can be used to search for patterns of names. The * tells the system to
|
|
search for names that have any number of characters in the position of the *
|
|
character. The ? tells the system to search for names that have a single
|
|
character in the position of the ? character. Symbolic links within the path
|
|
name will not be followed. If the path name begins with the tilde (~)
|
|
character, then the path is assumed to be relative to the appropriate home
|
|
directory.</p>
|
|
|
|
<p>Additional information about path name patterns is in the
|
|
<a href="../ifs/rzaaxkickoff.htm">Integrated file system</a> information
|
|
in the Files and file systems topic.</p>
|
|
|
|
<p>The pointer given points to a path name structure. If that path name
|
|
structure contains a pointer, 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><strong>Reserved.</strong> A reserved field that must be set to hexadecimal
|
|
zeros.</p>
|
|
<img src="deltaend.gif" alt="End of change">
|
|
|
|
<br>
|
|
<h3><a name="HDRRCVRNG">Receiver Range Format</a></h3>
|
|
|
|
<table border width="80%">
|
|
<tr>
|
|
<th align="center" colspan="2" valign="bottom">Offset</th>
|
|
<th align="left" rowspan="2" valign="bottom">Type</th>
|
|
<th align="left" rowspan="2" valign="bottom">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%"> </td>
|
|
<td align="center" valign="top" width="10%"> </td>
|
|
<td align="left" valign="top" width="20%">CHAR(10)</td>
|
|
<td align="left" valign="top" width="60%">Starting journal receiver name</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top"> </td>
|
|
<td align="center" valign="top"> </td>
|
|
<td align="left" valign="top">CHAR(10)</td>
|
|
<td align="left" valign="top">Starting journal receiver library</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top"> </td>
|
|
<td align="center" valign="top"> </td>
|
|
<td align="left" valign="top">CHAR(10)</td>
|
|
<td align="left" valign="top">Ending journal receiver name</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top"> </td>
|
|
<td align="center" valign="top"> </td>
|
|
<td align="left" valign="top">CHAR(10)</td>
|
|
<td align="left" valign="top">Ending journal receiver library</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<br>
|
|
<br>
|
|
<h3>Field Descriptions</h3>
|
|
|
|
<p><strong>Ending journal receiver library.</strong> The ending journal
|
|
receiver library for which journal entries are to be retrieved. The possible
|
|
values are:</p>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="15 85" -->
|
|
<tr>
|
|
<td valign="top"><em>*LIBL</em></td>
|
|
<td valign="top">All libraries in the job's library list are searched until the
|
|
first match is found.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>*CURLIB</em></td>
|
|
<td 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 valign="top"><em>library</em></td>
|
|
<td valign="top">The name of the library to be searched.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>blank</em></td>
|
|
<td valign="top">This field can be blank only if *CURCHAIN or *CURRENT is
|
|
specified.</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<p><strong>Ending journal receiver name.</strong> The ending journal receiver
|
|
name for which journal entries are to be retrieved. The possible values
|
|
are:</p>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="15 85" -->
|
|
<tr>
|
|
<td valign="top"><em>*CURRENT</em></td>
|
|
<td valign="top">The journal receiver that is attached when starting to
|
|
retrieve journal entries is used. If *CURRENT is specified, the associated
|
|
library name field should be blank.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>name</em></td>
|
|
<td valign="top">The name of the last journal receiver that contains entries to
|
|
be retrieved. If a name is specified, the ending journal receiver name field
|
|
must be specified also. If the end of the receiver chain is reached before a
|
|
receiver of this name is found, an error message is sent and no journal entry
|
|
is retrieved.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>blank</em></td>
|
|
<td valign="top">This field can be blank only if *CURCHAIN or *CURRENT is
|
|
specified.</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<p><strong>Starting journal receiver library.</strong> The starting journal
|
|
receiver library for which journal entries are to be retrieved. The possible
|
|
values are:</p>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="15 85" -->
|
|
<tr>
|
|
<td valign="top"><em>*LIBL</em></td>
|
|
<td valign="top">All libraries in the job's library list are searched until the
|
|
first match is found.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>*CURLIB</em></td>
|
|
<td 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 valign="top"><em>library</em></td>
|
|
<td valign="top">The name of the library to be searched.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>blank</em></td>
|
|
<td valign="top">This field can be blank only if *CURCHAIN or *CURRENT is
|
|
specified.</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<p><strong>Starting journal receiver name.</strong> The starting journal
|
|
receiver name for which journal entries are to be retrieved. The possible
|
|
values are:</p>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="15 85" -->
|
|
<tr>
|
|
<td valign="top"><em>*CURRENT</em></td>
|
|
<td valign="top">The journal receiver that is attached when starting to
|
|
retrieve journal entries is used. If *CURRENT is specified, the associated
|
|
library name and ending journal receiver fields should be blank.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>*CURCHAIN</em></td>
|
|
<td valign="top">The journal receiver chain that includes the journal receiver
|
|
that is attached when starting to retrieve journal entries is used. This
|
|
receiver chain does not cross a break in the chain. If there is a break in the
|
|
chain, the receiver range is from the most recent break in the chain through
|
|
the receiver that is attached when starting to retrieve journal entries. If
|
|
*CURCHAIN is specified, the associated library name and ending journal receiver
|
|
fields should be blank.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>name</em></td>
|
|
<td valign="top">The name of the first journal receiver that contains entries
|
|
to be retrieved.</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<br>
|
|
<br>
|
|
<h3><a name="HDRRJNEFMT">RJNE0100 Format</a></h3>
|
|
|
|
<p>The structure of the information returned is determined by the specified
|
|
format name. For detailed descriptions of the fields, see <a href=
|
|
"#HDRRJRNEFL">Field Descriptions</a>. The retrieved data is composed of four
|
|
different sections as follows:<br>
|
|
<br>
|
|
</p>
|
|
|
|
<ul>
|
|
<li>A header section. Only one header section is returned per call. See <a
|
|
href="#TBLJHDR">Header</a>.</li>
|
|
|
|
<li>Journal entry sections. These three sections will be repeated for each
|
|
journal entry retrieved.
|
|
|
|
<ul>
|
|
<li>Header section of journal entry. See <a href="#TBLJEHDR">This journal
|
|
entry's header with format RJNE0100</a>.</li>
|
|
|
|
<li>Null value indicators section of journal entry. This section will be one of
|
|
the two following formats, depending on what was specified for the null value
|
|
indicators key.<br>
|
|
<br>
|
|
|
|
|
|
<ul>
|
|
<li>If the user did not specify the null value indicators key or specified null
|
|
value indicators length(*VARLEN), see <a href="#TBLJENVIV">This journal entry's
|
|
null value indicators if Null Value Indicators (*VARLEN) specified</a>.</li>
|
|
|
|
<li>If the user specified null value indicators length(field length), see <a
|
|
href="#TBLJENVIF">This journal entry's null value indicators if Null Value
|
|
Indicators (field length) specified</a>.
|
|
|
|
<p><strong>Note:</strong> If a null value indicators length of 0 was specified,
|
|
then this section will not appear in the journal entry data.</p>
|
|
</li>
|
|
</ul>
|
|
|
|
<br>
|
|
<br>
|
|
</li>
|
|
|
|
<li>Entry specific data section of journal entry. See <a href="#TBLJEESD">This
|
|
journal entry's entry specific data</a>.</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
|
|
<br>
|
|
<p><strong><a name="TBLJHDR">Header</a></strong><br>
|
|
</p>
|
|
|
|
<table border width="80%">
|
|
<tr>
|
|
<th align="center" colspan="2" valign="bottom">Offset</th>
|
|
<th align="left" rowspan="2" valign="bottom">Type</th>
|
|
<th align="left" rowspan="2" valign="bottom">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">Offset to first journal entry header</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">Number of entries retrieved</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">12</td>
|
|
<td align="center" valign="top">C</td>
|
|
<td align="left" valign="top">CHAR(1)</td>
|
|
<td align="left" valign="top">Continuation handle</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<br>
|
|
<p><strong> <a name="TBLJEHDR">This journal entry's header with format
|
|
RJNE0100</a></strong><br>
|
|
</p>
|
|
|
|
<table border width="80%">
|
|
<tr>
|
|
<th align="center" colspan="2" valign="bottom">Offset</th>
|
|
<th align="left" rowspan="2" valign="bottom">Type</th>
|
|
<th align="left" rowspan="2" valign="bottom">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%">Displacement to next journal entry's
|
|
header</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">Displacement to this journal entry's null value
|
|
indicators</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">Displacement to this journal entry's entry
|
|
specific data</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">12</td>
|
|
<td align="center" valign="top">C</td>
|
|
<td align="left" valign="top">BINARY(4), UNSIGNED</td>
|
|
<td align="left" valign="top">Pointer handle</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">16</td>
|
|
<td align="center" valign="top">10</td>
|
|
<td align="left" valign="top">CHAR(20)</td>
|
|
<td align="left" valign="top">Sequence number</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">36</td>
|
|
<td align="center" valign="top">24</td>
|
|
<td align="left" valign="top">CHAR(1)</td>
|
|
<td align="left" valign="top">Journal code</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">37</td>
|
|
<td align="center" valign="top">25</td>
|
|
<td align="left" valign="top">CHAR(2)</td>
|
|
<td align="left" valign="top">Entry type</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">39</td>
|
|
<td align="center" valign="top">27</td>
|
|
<td align="left" valign="top">CHAR(26)</td>
|
|
<td align="left" valign="top">Time stamp</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">65</td>
|
|
<td align="center" valign="top">41</td>
|
|
<td align="left" valign="top">CHAR(10)</td>
|
|
<td align="left" valign="top">Job name</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">75</td>
|
|
<td align="center" valign="top">4B</td>
|
|
<td align="left" valign="top">CHAR(10)</td>
|
|
<td align="left" valign="top">User name</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">85</td>
|
|
<td align="center" valign="top">55</td>
|
|
<td align="left" valign="top">CHAR(6)</td>
|
|
<td align="left" valign="top">Job number</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">91</td>
|
|
<td align="center" valign="top">5B</td>
|
|
<td align="left" valign="top">CHAR(10)</td>
|
|
<td align="left" valign="top">Program name</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">101</td>
|
|
<td align="center" valign="top">65</td>
|
|
<td align="left" valign="top">CHAR(30)</td>
|
|
<td align="left" valign="top">Object</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">131</td>
|
|
<td align="center" valign="top">83</td>
|
|
<td align="left" valign="top">CHAR(10)</td>
|
|
<td align="left" valign="top">Count/relative record number</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">141</td>
|
|
<td align="center" valign="top">8D</td>
|
|
<td align="left" valign="top">CHAR(1)</td>
|
|
<td align="left" valign="top">Indicator flag</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">142</td>
|
|
<td align="center" valign="top">8E</td>
|
|
<td align="left" valign="top">CHAR(20)</td>
|
|
<td align="left" valign="top">Commit cycle identifier</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">162</td>
|
|
<td align="center" valign="top">A2</td>
|
|
<td align="left" valign="top">CHAR(10)</td>
|
|
<td align="left" valign="top">User profile</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">172</td>
|
|
<td align="center" valign="top">AC</td>
|
|
<td align="left" valign="top">CHAR(8)</td>
|
|
<td align="left" valign="top">System name</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">180</td>
|
|
<td align="center" valign="top">B4</td>
|
|
<td align="left" valign="top">CHAR(10)</td>
|
|
<td align="left" valign="top">Journal identifier</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">190</td>
|
|
<td align="center" valign="top">BE</td>
|
|
<td align="left" valign="top">CHAR(1)</td>
|
|
<td align="left" valign="top">Referential constraint</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">191</td>
|
|
<td align="center" valign="top">BF</td>
|
|
<td align="left" valign="top">CHAR(1)</td>
|
|
<td align="left" valign="top">Trigger</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">192</td>
|
|
<td align="center" valign="top">C0</td>
|
|
<td align="left" valign="top">CHAR(1)</td>
|
|
<td align="left" valign="top">Incomplete data</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">193</td>
|
|
<td align="center" valign="top">C1</td>
|
|
<td align="left" valign="top">CHAR(1)</td>
|
|
<td align="left" valign="top">Object name indicator</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">194</td>
|
|
<td align="center" valign="top">C2</td>
|
|
<td align="left" valign="top">CHAR(1)</td>
|
|
<td align="left" valign="top">Ignore during APYJRNCHG or RMVJRNCHG</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">195</td>
|
|
<td align="center" valign="top">C3</td>
|
|
<td align="left" valign="top">CHAR(1)</td>
|
|
<td align="left" valign="top">Minimized entry specific data</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<p><strong><a name="TBLJENVIV">This journal entry's null value indicators if
|
|
Null Value Indicators (*VARLEN) specified</a></strong><br>
|
|
</p>
|
|
|
|
<table border width="80%">
|
|
<tr>
|
|
<th align="center" colspan="2" valign="bottom">Offset</th>
|
|
<th align="left" rowspan="2" valign="bottom">Type</th>
|
|
<th align="left" rowspan="2" valign="bottom">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 null value indicators</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">4</td>
|
|
<td align="center" valign="top">4</td>
|
|
<td align="left" valign="top">CHAR(*)</td>
|
|
<td align="left" valign="top">Null value indicators</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<p><strong><a name="TBLJENVIF">This journal entry's null value indicators if
|
|
Null Value Indicators (field length) specified</a></strong><br>
|
|
</p>
|
|
|
|
<table border width="80%">
|
|
<tr>
|
|
<th align="center" colspan="2" valign="bottom">Offset</th>
|
|
<th align="left" rowspan="2" valign="bottom">Type</th>
|
|
<th align="left" rowspan="2" valign="bottom">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(specified Null value indicators
|
|
field length)</td>
|
|
<td align="left" valign="top" width="60%">Null value indicators</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<br>
|
|
<p><strong><a name="TBLJEESD">This journal entry's entry specific
|
|
data</a></strong><br>
|
|
</p>
|
|
|
|
<table border width="80%">
|
|
<tr>
|
|
<th align="center" colspan="2" valign="bottom">Offset</th>
|
|
<th align="left" rowspan="2" valign="bottom">Type</th>
|
|
<th align="left" rowspan="2" valign="bottom">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(5)</td>
|
|
<td align="left" valign="top" width="60%">Length of entry specific data</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">5</td>
|
|
<td align="center" valign="top">5</td>
|
|
<td align="left" valign="top">CHAR(11)</td>
|
|
<td align="left" valign="top">Reserved</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">16</td>
|
|
<td align="center" valign="top">16</td>
|
|
<td align="left" valign="top">CHAR(*)</td>
|
|
<td align="left" valign="top">Entry specific data</td>
|
|
</tr>
|
|
</table>
|
|
<br><br>
|
|
<h3><a name="HDRRJNEFMT2">RJNE0200 Format</a></h3>
|
|
|
|
<p>The structure of the information returned is determined by the specified
|
|
format name. For detailed descriptions of the fields, see <a href=
|
|
"#HDRRJRNEFL">Field Descriptions</a>. The retrieved data is composed as
|
|
follows:<br>
|
|
</p>
|
|
|
|
<ul>
|
|
<li>A header section. Only one header section is returned per call. See <a
|
|
href="#TBLJHDR6">Header</a>.</li>
|
|
|
|
<li>Journal entry sections. These optional sections will be repeated for each
|
|
journal entry retrieved.
|
|
|
|
<ul>
|
|
<li>Header section of journal entry. See <a href="#TBLJEHDR2">This journal
|
|
entry's header with format RJNE0200</a>.</li>
|
|
|
|
<li>Transaction identifier section of journal entry if the displacement to
|
|
transaction identifier is not 0. See the QSYSINC/H.XA header file for the
|
|
layout of this data.</li>
|
|
|
|
<li>Logical unit of work section of journal entry if the displacement to
|
|
logical unit of work is not 0. See <a href="#TBLJELUW">This journal entry's
|
|
Logical unit of work if the displacement to logical unit of work is not
|
|
0</a>.</li>
|
|
|
|
<li>Receiver information section of journal entry if the displacement to
|
|
receiver information is not 0. See <a href="#TBLJERCV">This journal entry's
|
|
receiver information if the displacement to receiver information is not
|
|
0</a>.</li>
|
|
|
|
<li>Null value indicators section of journal entry if the displacement to null
|
|
values indicators is not 0. This section will be one of the two following
|
|
formats, depending on what was specified for the null value indicators key
|
|
|
|
<ul>
|
|
<li>If the user did not specify the null value indicators key or specified null
|
|
value indicators length(*VARLEN), see <a href="#TBLJENVIV">This journal entry's
|
|
null value indicators if Null Value Indicators (*VARLEN) specified</a>.</li>
|
|
|
|
<li>If the user specified null value indicators length(field length), see <a
|
|
href="#TBLJENVIF">This journal entry's null value indicators if Null Value
|
|
Indicators (field length) specified</a>.
|
|
|
|
<p><strong>Note:</strong> If a null value indicators length of 0 was specified,
|
|
then this section will not appear in the journal entry data.</p>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
|
|
<li>Entry specific data section of journal entry if the displacement to entry
|
|
specific data is not 0. See <a href="#TBLJEESD">This journal entry's entry
|
|
specific data</a>.</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
|
|
<p><strong><a name="TBLJHDR6">Header</a></strong><br>
|
|
</p>
|
|
|
|
<table border width="80%">
|
|
<tr>
|
|
<th align="center" colspan="2" valign="bottom">Offset</th>
|
|
<th align="left" rowspan="2" valign="bottom">Type</th>
|
|
<th align="left" rowspan="2" valign="bottom">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">Offset to first journal entry header</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">Number of entries retrieved</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">12</td>
|
|
<td align="center" valign="top">C</td>
|
|
<td align="left" valign="top">CHAR(1)</td>
|
|
<td align="left" valign="top">Continuation indicator</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">Continuation starting receiver</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">23</td>
|
|
<td align="center" valign="top">17</td>
|
|
<td align="left" valign="top">CHAR(10)</td>
|
|
<td align="left" valign="top">Continuation starting receiver library</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">33</td>
|
|
<td align="center" valign="top">21</td>
|
|
<td align="left" valign="top">CHAR(20)</td>
|
|
<td align="left" valign="top">Continuation starting sequence number</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">53</td>
|
|
<td align="center" valign="top">35</td>
|
|
<td align="left" valign="top">CHAR(11)</td>
|
|
<td align="left" valign="top">Reserved</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<br>
|
|
<p><strong><a name="TBLJEHDR2">This journal entry's header with format
|
|
RJNE0200</a></strong><br>
|
|
</p>
|
|
|
|
<table border width="80%">
|
|
<tr>
|
|
<th align="center" colspan="2" valign="bottom">Offset</th>
|
|
<th align="left" rowspan="2" valign="bottom">Type</th>
|
|
<th align="left" rowspan="2" valign="bottom">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), UNSIGNED</td>
|
|
<td align="left" valign="top" width="60%">Displacement to next journal entry's
|
|
header</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">4</td>
|
|
<td align="center" valign="top">4</td>
|
|
<td align="left" valign="top">BINARY(4), UNSIGNED</td>
|
|
<td align="left" valign="top">Displacement to this journal entry's null value
|
|
indicators</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">8</td>
|
|
<td align="center" valign="top">8</td>
|
|
<td align="left" valign="top">BINARY(4), UNSIGNED</td>
|
|
<td align="left" valign="top">Displacement to this journal entry's entry
|
|
specific data</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">12</td>
|
|
<td align="center" valign="top">C</td>
|
|
<td align="left" valign="top">BINARY(4), UNSIGNED</td>
|
|
<td align="left" valign="top">Displacement to this journal entry's transaction
|
|
identifier</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">16</td>
|
|
<td align="center" valign="top">10</td>
|
|
<td align="left" valign="top">BINARY(4), UNSIGNED</td>
|
|
<td align="left" valign="top">Displacement to this journal entry's logical unit
|
|
of work</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">20</td>
|
|
<td align="center" valign="top">14</td>
|
|
<td align="left" valign="top">BINARY(4), UNSIGNED</td>
|
|
<td align="left" valign="top">Displacement to this journal entry's receiver
|
|
information</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">24</td>
|
|
<td align="center" valign="top">18</td>
|
|
<td align="left" valign="top">BINARY(8), UNSIGNED</td>
|
|
<td align="left" valign="top">Sequence number</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">32</td>
|
|
<td align="center" valign="top">20</td>
|
|
<td align="left" valign="top">BINARY(8), UNSIGNED</td>
|
|
<td align="left" valign="top">Unformatted Time stamp</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">40</td>
|
|
<td align="center" valign="top">28</td>
|
|
<td align="left" valign="top">BINARY(8), UNSIGNED</td>
|
|
<td align="left" valign="top">Thread identifier</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">48</td>
|
|
<td align="center" valign="top">30</td>
|
|
<td align="left" valign="top">BINARY(8), UNSIGNED</td>
|
|
<td align="left" valign="top">System sequence number</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">56</td>
|
|
<td align="center" valign="top">38</td>
|
|
<td align="left" valign="top">BINARY(8), UNSIGNED</td>
|
|
<td align="left" valign="top">Count/relative record number</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">64</td>
|
|
<td align="center" valign="top">40</td>
|
|
<td align="left" valign="top">BINARY(8), UNSIGNED</td>
|
|
<td align="left" valign="top">Commit cycle indentifier</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">72</td>
|
|
<td align="center" valign="top">48</td>
|
|
<td align="left" valign="top">BINARY(4), UNSIGNED</td>
|
|
<td align="left" valign="top">Pointer handle</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">76</td>
|
|
<td align="center" valign="top">4C</td>
|
|
<td align="left" valign="top">BINARY(2), UNSIGNED</td>
|
|
<td align="left" valign="top">Remote port</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">78</td>
|
|
<td align="center" valign="top">4E</td>
|
|
<td align="left" valign="top">BINARY(2), UNSIGNED</td>
|
|
<td align="left" valign="top">Arm number</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">80</td>
|
|
<td align="center" valign="top">50</td>
|
|
<td align="left" valign="top">BINARY(2), UNSIGNED</td>
|
|
<td align="left" valign="top">Program library ASP number</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">82</td>
|
|
<td align="center" valign="top">52</td>
|
|
<td align="left" valign="top">CHAR(16)</td>
|
|
<td align="left" valign="top">Remote Address</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">98</td>
|
|
<td align="center" valign="top">62</td>
|
|
<td align="left" valign="top">CHAR(1)</td>
|
|
<td align="left" valign="top">Journal code</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">99</td>
|
|
<td align="center" valign="top">63</td>
|
|
<td align="left" valign="top">CHAR(2)</td>
|
|
<td align="left" valign="top">Entry type</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">101</td>
|
|
<td align="center" valign="top">65</td>
|
|
<td align="left" valign="top">CHAR(10)</td>
|
|
<td align="left" valign="top">Job name</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">111</td>
|
|
<td align="center" valign="top">6F</td>
|
|
<td align="left" valign="top">CHAR(10)</td>
|
|
<td align="left" valign="top">User name</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">121</td>
|
|
<td align="center" valign="top">79</td>
|
|
<td align="left" valign="top">CHAR(6)</td>
|
|
<td align="left" valign="top">Job number</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">127</td>
|
|
<td align="center" valign="top">7F</td>
|
|
<td align="left" valign="top">CHAR(10)</td>
|
|
<td align="left" valign="top">Program name</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">137</td>
|
|
<td align="center" valign="top">89</td>
|
|
<td align="left" valign="top">CHAR(10)</td>
|
|
<td align="left" valign="top">Program library name</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">147</td>
|
|
<td align="center" valign="top">93</td>
|
|
<td align="left" valign="top">CHAR(10)</td>
|
|
<td align="left" valign="top">Program library ASP device name</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">157</td>
|
|
<td align="center" valign="top">9D</td>
|
|
<td align="left" valign="top">CHAR(30)</td>
|
|
<td align="left" valign="top">Object</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">187</td>
|
|
<td align="center" valign="top">BB</td>
|
|
<td align="left" valign="top">CHAR(10)</td>
|
|
<td align="left" valign="top">User profile</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">197</td>
|
|
<td align="center" valign="top">C5</td>
|
|
<td align="left" valign="top">CHAR(10)</td>
|
|
<td align="left" valign="top">Journal identifier</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">207</td>
|
|
<td align="center" valign="top">CF</td>
|
|
<td align="left" valign="top">CHAR(1)</td>
|
|
<td align="left" valign="top">Address family</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">208</td>
|
|
<td align="center" valign="top">D0</td>
|
|
<td align="left" valign="top">CHAR(8)</td>
|
|
<td align="left" valign="top">System name</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">216</td>
|
|
<td align="center" valign="top">D8</td>
|
|
<td align="left" valign="top">CHAR(1)</td>
|
|
<td align="left" valign="top">Indicator flag</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">217</td>
|
|
<td align="center" valign="top">D9</td>
|
|
<td align="left" valign="top">CHAR(1)</td>
|
|
<td align="left" valign="top">Object name indicator</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">218(0)</td>
|
|
<td align="center" valign="top">DA(0)</td>
|
|
<td align="left" valign="top">BIT(1)</td>
|
|
<td align="left" valign="top">Referential constraint</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">218(1)</td>
|
|
<td align="center" valign="top">DA(1)</td>
|
|
<td align="left" valign="top">BIT(1)</td>
|
|
<td align="left" valign="top">Trigger</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">218(2)</td>
|
|
<td align="center" valign="top">DA(2)</td>
|
|
<td align="left" valign="top">BIT(1)</td>
|
|
<td align="left" valign="top">Incomplete data</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">218(3)</td>
|
|
<td align="center" valign="top">DA(3)</td>
|
|
<td align="left" valign="top">BIT(1)</td>
|
|
<td align="left" valign="top">Ignored during APYJRNCHG or RMVJRNCHG</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">218(4)</td>
|
|
<td align="center" valign="top">DA(4)</td>
|
|
<td align="left" valign="top">BIT(1)</td>
|
|
<td align="left" valign="top">Minimized entry specific data</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">
|
|
<img src="delta.gif" alt="Start of change">
|
|
218(5)</td>
|
|
<td align="center" valign="top">DA(5)</td>
|
|
<td align="left" valign="top">BIT(1)</td>
|
|
<td align="left" valign="top">File type indicator</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">218(6)</td>
|
|
<td align="center" valign="top">DA(6)</td>
|
|
<td align="left" valign="top">BIT(1)</td>
|
|
<td align="left" valign="top">Minimized on field boundaries</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">218(7)</td>
|
|
<td align="center" valign="top">DA(7)</td>
|
|
<td align="left" valign="top">BIT(1)</td>
|
|
<td align="left" valign="top">Reserved</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">219</td>
|
|
<td align="center" valign="top">DB</td>
|
|
<td align="left" valign="top">CHAR(10)</td>
|
|
<td align="left" valign="top">Object type</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">229</td>
|
|
<td align="center" valign="top">E5</td>
|
|
<td align="left" valign="top">CHAR(3)</td>
|
|
<td align="left" valign="top">Reserved</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">229</td>
|
|
<td align="center" valign="top">E8</td>
|
|
<td align="left" valign="top">BINARY(4), UNSIGNED</td>
|
|
<td align="left" valign="top">Nested commit level
|
|
<img src="deltaend.gif" alt="End of change"></td>
|
|
</tr>
|
|
</table>
|
|
|
|
<p><strong><a name="TBLJELUW">This journal entry's Logical unit of work if the
|
|
displacement to logical unit of work is not 0</a></strong><br>
|
|
</p>
|
|
|
|
<table border width="80%">
|
|
<tr>
|
|
<th align="center" colspan="2" valign="bottom">Offset</th>
|
|
<th align="left" rowspan="2" valign="bottom">Type</th>
|
|
<th align="left" rowspan="2" valign="bottom">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(39)</td>
|
|
<td align="left" valign="top" width="60%">Logical unit of work</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<p><strong><a name="TBLJERCV">This journal entry's receiver information if the
|
|
displacement to receiver information is not 0</a></strong><br>
|
|
</p>
|
|
|
|
<table border width="80%">
|
|
<tr>
|
|
<th align="center" colspan="2" valign="bottom">Offset</th>
|
|
<th align="left" rowspan="2" valign="bottom">Type</th>
|
|
<th align="left" rowspan="2" valign="bottom">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%">Receiver name</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top" width="10%">10</td>
|
|
<td align="center" valign="top" width="10%">A</td>
|
|
<td align="left" valign="top" width="20%">CHAR(10)</td>
|
|
<td align="left" valign="top" width="60%">Receiver library name</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top" width="10%">20</td>
|
|
<td align="center" valign="top" width="10%">14</td>
|
|
<td align="left" valign="top" width="20%">CHAR(10)</td>
|
|
<td align="left" valign="top" width="60%">Receiver library ASP device name</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top" width="10%">30</td>
|
|
<td align="center" valign="top" width="10%">1E</td>
|
|
<td align="left" valign="top" width="20%">BINARY(2)</td>
|
|
<td align="left" valign="top" width="60%">Receiver library ASP number</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<br>
|
|
<br>
|
|
|
|
<h3><a name="HDRRJRNEFL">Field Descriptions</a></h3>
|
|
|
|
<p> <strong>Address family.</strong> The address family identifies the format
|
|
of the remote address for this journal entry. If RCVSIZOPT(*MINFIXLEN) was in
|
|
effect or FIXLENDTA(*RMTADR) was not in effect for the journal when the journal
|
|
receiver that contains this journal entry was attached, then 0 will be returned
|
|
for the address family.</p>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="5 95" -->
|
|
<tr>
|
|
<td valign="top"><em>0</em></td>
|
|
<td valign="top">This entry was not associated with any remote address.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>4</em></td>
|
|
<td valign="top">The format of the remote address is internet protocol version
|
|
4. <img src="delta.gif" alt="Start of change">
|
|
The remote address is returned as a 16-byte character field.
|
|
<img src="deltaend.gif" alt="End of change">
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>6</em></td>
|
|
<td valign="top">The format of the remote address is internet protocol version
|
|
6. <img src="delta.gif" alt="Start of change">
|
|
The remote address is returned as a 128-bit binary number.
|
|
<img src="deltaend.gif" alt="End of change">
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<p><strong>Arm number.</strong> The number of the disk arm that contains the
|
|
journal entry.</p>
|
|
|
|
<p><strong>Bytes returned.</strong> The number of bytes of data returned.</p>
|
|
|
|
<p>If an error message is returned, other than error messages CPF3CF1, CPF3C90,
|
|
CPF6948, CPF6949 or CPF9872, this field should be checked to determine if
|
|
partial journal entry information has been returned.</p>
|
|
|
|
<p><strong>Commit cycle identifier.</strong> A number that identifies the
|
|
commit cycle. This is either a Char(20) or Binary(8) field and if Char(20), it
|
|
is treated as Zoned(20,0). A commit cycle is from one commit or rollback
|
|
operation to another.</p>
|
|
|
|
<p>The commit cycle identifier is found in every journal entry that is
|
|
associated with a commitment transaction. If the journal entry was not made as
|
|
part of a commitment transaction, this field is zero.</p>
|
|
|
|
<p><strong>Continuation handle.</strong> An indicator for more journal entries
|
|
available that meet any specified selection criteria. The possible values
|
|
are:</p>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="5 95" -->
|
|
<tr>
|
|
<td valign="top"><em>0</em></td>
|
|
<td valign="top">All the journal entries that match the search criteria are
|
|
returned to this structure.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>1</em></td>
|
|
<td valign="top">There are more journal entries available in the specified
|
|
receiver range that match the search criteria, but there is no room available
|
|
in the return structure. You may request more data by calling the API again,
|
|
and by specifying one more than the sequence number of the last journal entry
|
|
returned as the starting sequence number on the next API call as long as there
|
|
has been no reset of the sequence number within the receiver range.</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<p><strong>Note:</strong> If an error message was returned and partial journal
|
|
entry information was returned, this field may not correctly indicate whether
|
|
additional journal entries are available.</p>
|
|
|
|
<p><strong>Continuation indicator.</strong> An indicator for more journal
|
|
entries available that meet the specified selection criteria. The possible
|
|
values are:</p>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="10 90" -->
|
|
<tr>
|
|
<td valign="top"><em>0</em></td>
|
|
<td valign="top">All the journal entries that match the search criteria are
|
|
returned to this structure.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>1</em></td>
|
|
<td valign="top">There are more journal entries available in the specified
|
|
receiver range that match the search criteria, but there is no room available
|
|
in the return structure. You may request more data by calling the API again,
|
|
and by specifying the following as part of your selection criteria:
|
|
|
|
|
|
|
|
<table cellpadding="5">
|
|
|
|
<tr>
|
|
<td valign="top"><em>Starting receiver name</em></td>
|
|
<td valign="top">Set from the value returned in Continuation starting
|
|
receiver.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>Starting receiver library name</em></td>
|
|
<td valign="top">Set from the value returned in Continuation starting receiver
|
|
library.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>Starting sequence number</em></td>
|
|
<td valign="top">Set from the value returned in Continuation starting sequence
|
|
number.</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<p><strong>Note:</strong> If an error message was returned and partial journal
|
|
entry information was returned, this field may not correctly indicate whether
|
|
additional journal entries are available.</p>
|
|
|
|
<p><strong>Continuation starting receiver library.</strong> When the
|
|
continuation indicator is <em>1</em>, then this field will identify the name of
|
|
the library that contains the receiver that holds the next journal entry that
|
|
could be retrieved with the same selection criteria on a subsequent call to
|
|
this API. When used in conjunction with the continuation starting receiver name
|
|
and the continuation starting sequence number, a subsequent API call will
|
|
ensure that no journal entries in the given receiver range will be skipped,
|
|
irrespective of any reset of sequence numbers that may have taken place within
|
|
the given receiver range. When the continuation indicator is <em>0</em>, then
|
|
this field will be blanks.</p>
|
|
|
|
<p><strong>Continuation starting receiver.</strong> When the continuation
|
|
indicator is <em>1</em>, then this field will identify the name of the receiver
|
|
that holds the next journal entry that could be retrieved with the same
|
|
selection criteria on a subsequent call to this API. When used in conjunction
|
|
with the continuation starting receiver library name and the continuation
|
|
starting sequence number, a subsequent API call will ensure that no journal
|
|
entries in the given receiver range will be skipped, irrespective of any reset
|
|
of sequence numbers that may have taken place within that receiver range. When
|
|
the continuation indicator is <em>0</em>, then this field will be blanks.</p>
|
|
|
|
<p><strong>Continuation starting sequence number.</strong> When the
|
|
continuation indicator is <em>1</em>, then this field will identify the
|
|
sequence number of the next journal entry that could be retrieved with the same
|
|
selection criteria on a subsequent call to this API. When used in conjunction
|
|
with the continuation starting receiver library name and the continuation
|
|
starting receiver name, a subsequent API call will ensure that no journal
|
|
entries in the given receiver range will be skipped, irrespective of any reset
|
|
of sequence numbers that may have taken place within that receiver range. When
|
|
the continuation indicator is <em>0</em>, then this field will be blanks. This
|
|
is a Char(20) field that is treated as Zoned(20,0).</p>
|
|
|
|
<p><strong>Count/relative record number.</strong> Contains either the relative
|
|
record number (RRN) of the record that caused the journal entry or a count that
|
|
is pertinent to the specific type of journal entry. See the Journal Entry
|
|
Information appendix in the <a href="../rzaki/rzakikickoff.htm">Journal
|
|
management</a> topic to see specific values for this field, if applicable. This
|
|
is either a Char(10) or a unsigned Binary(8) field and if Char(10), it is
|
|
treated as Zoned(10,0).</p>
|
|
|
|
<p><strong>Displacement to next journal entry's header.</strong> The
|
|
displacement from the start of this journal entry's header section to the start
|
|
of the journal entry header section for the next journal entry.</p>
|
|
|
|
<p><strong>Displacement to this journal entry's entry specific data.</strong>
|
|
The displacement from the start of this journal entry's header section to the
|
|
start of the entry specific data section for this journal entry. A value of 0
|
|
indicates that this data is not returned for this journal entry.</p>
|
|
|
|
<p> <strong>Displacement to this journal entry's logical unit of work.</strong>
|
|
The displacement from the start of this journal entry's header section to the
|
|
start of the logical unit of work section for this journal entry. A value of 0
|
|
indicates that this data is not returned for this journal entry.</p>
|
|
|
|
<p><strong>Displacement to this journal entry's receiver information.</strong>
|
|
The displacement from the start of this journal entry's header section to the
|
|
start of the receiver information section for this journal entry. A value of 0
|
|
indicates that this data is not returned for this journal entry. Journal
|
|
receiver information is returned only for the first entry in a buffer and when
|
|
the receiver information changes from one journal entry to the next. If no
|
|
journal receiver information is returned, it can be assumed that the receiver
|
|
information from the previous entry will apply to the current journal
|
|
entry.</p>
|
|
|
|
<p><strong>Displacement to this journal entry's null value indicators.</strong>
|
|
The displacement from the start of this journal entry's header section to the
|
|
start of the null value indicators section for this journal entry. A value of 0
|
|
indicates that this data is not returned for this journal entry.</p>
|
|
|
|
<p> <strong>Displacement to this journal entry's transaction
|
|
identifier.</strong> The displacement from the start of this journal entry's
|
|
header section to the start of the transaction identifier section for this
|
|
journal entry. A value of 0 indicates that this data is not returned for this
|
|
journal entry.</p>
|
|
|
|
<p><strong>Entry specific data.</strong> The entry specific data returned for
|
|
this journal entry. See the <a href="../rzaki/rzakikickoff.htm">Journal
|
|
management</a> topic for the layouts of this information for each journal entry
|
|
type.</p>
|
|
|
|
<p>If the incomplete data indicator is on, then this data contains pointers to
|
|
additional journal entry data. See <a href="#HDRENTPTR">Use of Pointers within
|
|
Entry Specific Data</a> for a discussion on the use of these pointers.</p>
|
|
|
|
<p><strong>Entry type.</strong> Further identifies the type of user-created or
|
|
system-created entry. See the Journal Entry Information in the <a href=
|
|
"../rzaki/rzakikickoff.htm">Journal management</a> topic for descriptions of
|
|
the entry types.</p>
|
|
|
|
<p><strong>Entry type.</strong> Further identifies the type of user-created or
|
|
system-created entry. See the Journal Entry Information in the <a href=
|
|
"../rzaki/rzakikickoff.htm">Journal management</a> topic for descriptions of
|
|
the entry types.</p>
|
|
|
|
<img src="delta.gif" alt="Start of change">
|
|
<p><strong>File type indicator.</strong> Identifies whether or not this
|
|
journal entry is associated with a logical file. The value
|
|
will be 0 if the value for object type is not *FILE.
|
|
The possible values are:</p>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="15 85" -->
|
|
<tr>
|
|
<td valign="top"><em>0</em></td>
|
|
<td valign="top">This entry is not associated with a logical file.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>1</em></td>
|
|
<td valign="top">This entry is associated with a logical file.</td>
|
|
</tr>
|
|
</table>
|
|
<img src="deltaend.gif" alt="End of change">
|
|
|
|
<p><strong>Ignore during APYJRNCHG or RMVJRNCHG.</strong> Whether this entry is
|
|
ignored during a Apply Journaled Changes (APYJRNCHG) or Remove Journaled
|
|
Changed (RMVJRNCHG) command. The possible values are:</p>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="5 95" -->
|
|
<tr>
|
|
<td valign="top"><em>0</em></td>
|
|
<td valign="top">This entry will not be ignored during APYJRNCHG or
|
|
RMVJRNCHG</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>1</em></td>
|
|
<td valign="top">This entry will be ignored during APYJRNCHG or RMVJRNCHG</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<p><strong>Incomplete data.</strong> Whether this entry has data that must be
|
|
additionally retrieved using a pointer returned for the missing information.
|
|
See <a href="#HDRENTPTR">Use of Pointers within Entry Specific Data</a> for
|
|
more information. The possible values are:</p>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="5 95" -->
|
|
<tr>
|
|
<td valign="top"><em>0</em></td>
|
|
<td valign="top">This entry does not have any pointers included.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>1</em></td>
|
|
<td valign="top">This entry does have pointers included.</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<p><strong>Indicator flag.</strong> An indicator for the operation. See the
|
|
Journal Entry Information appendix in the <a href="../rzaki/rzakikickoff.htm">
|
|
Journal management</a> topic to see specific values for this field, if
|
|
applicable.</p>
|
|
|
|
<p><strong>Job name.</strong> The name of the job that added the entry.</p>
|
|
|
|
<p><strong>Notes:</strong></p>
|
|
|
|
<ol>
|
|
<li>If RCVSIZOPT(*MINFIXLEN) was in effect or FIXLENDTA(*JOB) was not in effect
|
|
for the journal when the journal receiver that contains this journal entry was
|
|
attached, then *OMITTED is returned for the job name.</li>
|
|
|
|
<li>If the journal entry was deposited by a system task that was not associated
|
|
with a job, then *TDE will be returned for the job name.</li>
|
|
|
|
<li>If the job name was not available when the journal entry was deposited,
|
|
then *NONE is returned for the job name.</li>
|
|
</ol>
|
|
|
|
<p><strong>Job number.</strong> The job number of the job that added the
|
|
entry.</p>
|
|
|
|
<p><strong>Notes:</strong></p>
|
|
|
|
<ol>
|
|
<li>If the RCVSIZOPT(*MINFIXLEN) was in effect or FIXLENDTA(*JOB) was not was
|
|
in effect for the journal when the journal receiver that contains the journal
|
|
entry was attached, then zeros are returned for the job number.</li>
|
|
|
|
<li>If the journal entry was deposited by a system task that was not associated
|
|
with a job, then zeros will be returned for the job number.</li>
|
|
|
|
<li>If the job name was not available when the journal entry was deposited,
|
|
then zeros are returned for the job number.</li>
|
|
</ol>
|
|
|
|
<p><strong>Journal code.</strong> The primary category of the journal entry.
|
|
See the Journal Entry Information section in the <a href=
|
|
"../rzaki/rzakikickoff.htm">Journal management</a> topic for descriptions of
|
|
the journal codes.</p>
|
|
|
|
<p><strong>Journal identifier.</strong> The journal identifier (JID) for the
|
|
object. When journaling is started for an object, the system assigns a unique
|
|
JID to that object. The JID remains constant even if the object is renamed or
|
|
moved. If journaling is stopped, however, there is no guarantee that the JID
|
|
will be the same when journaling is started again for the same object.</p>
|
|
|
|
<p>If no JID is associated with the entry, this field has hexadecimal
|
|
zeros.</p>
|
|
|
|
<p><strong>Length of entry specific data.</strong> The length of the entry
|
|
specific data returned for this journal entry. This Char(5) field is treated as
|
|
Zoned(5,0). If the entry specific data includes any pointers to additional
|
|
data, the length of that additional data in not included in this value. See <a
|
|
href="#HDRENTPTR">Use of Pointers within Entry Specific Data</a> for more
|
|
information.</p>
|
|
|
|
<p><strong>Length of null value indicators.</strong> The length of the null
|
|
value indicators returned for this journal entry.</p>
|
|
|
|
<p> <strong>Logical unit of work.</strong> The logical unit of work identifies
|
|
entries to be associated with a given unit of work, usually within a commit
|
|
cycle. If RCVSIZOPT(*MINFIXLEN) was in effect or FIXLENDTA(*LUW) was not in
|
|
effect for the journal when the journal receiver that contains this journal
|
|
entry was attached, then no logical unit of work will be returned for this
|
|
entry and the displacement to this entry's logical unit of work will be
|
|
0.</p>
|
|
|
|
<p><strong>Minimized entry specific data.</strong> Whether this entry has
|
|
minimized entry specific data as a result of the journal having specified
|
|
MINENTDTA for the object type of the entry. The possible values are:</p>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="5 95" -->
|
|
<tr>
|
|
<td valign="top"><em>0</em></td>
|
|
<td valign="top">This entry has complete entry specific data.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>1</em></td>
|
|
<td valign="top">This entry has minimized entry specific data.</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<img src="delta.gif" alt="Start of change">
|
|
<p><strong>Minimized on field boundaries.</strong> Whether this entry
|
|
has minimized entry specific data on field boundaries as a result of
|
|
the journal having been specified with MINENTDTA(*FLDBDY). The possible
|
|
values are:</p>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="5 95" -->
|
|
<tr>
|
|
<td valign="top"><em>0</em></td>
|
|
<td valign="top">This entry does not have minimized entry specific data
|
|
on field boundaries.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>1</em></td>
|
|
<td valign="top">This entry has minimized entry specific data on field
|
|
boundaries. Therefore, the entry specific data can be viewable and may
|
|
be used for auditing purposes. In order for the entry specific data to
|
|
be viewable, a value of *YES must have be specified on Key 22 (format
|
|
minimized data). If a value of *YES was specified on Key 22, then the
|
|
fields that were changed are accurately reflected. The fields that were
|
|
not changed and were not recorded return default data and are indicated
|
|
by a value of '9' in the null value indicators field.</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<p><strong>Nested commit level.</strong> Indicates the nesting level
|
|
of the commit cycle that was open when a journal entry representing an
|
|
object level change was deposited. The primary commit cycle is considered
|
|
the first level of nesting and subsequent save point entries that were
|
|
deposited prior to this entry correspond to additional levels of nesting.
|
|
This field will be zero if any of the following are true:</p>
|
|
<ul>
|
|
<li>This journal entry does not represent an object level change (object
|
|
level changes are the result of using commands like:
|
|
CRTPF, CHGPF, MOVOBJ, and RNMOBJ).</li>
|
|
|
|
<li>This journal entry was not deposited under commitment control.</li>
|
|
|
|
<li>This journal entry was deposited on a release prior to V5R4M0.</li>
|
|
</ul>
|
|
<img src="deltaend.gif" alt="End of change">
|
|
|
|
<p><strong>Null value indicators.</strong> The null value indicators returned
|
|
for this journal entry. If the record image has not been minimized or has been
|
|
minimized on field boundaries in the entry specific data, then there is one
|
|
null value indicator for each field in the physical file. Each indicator is
|
|
one character long and has one of the following values:</p>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="5 95" -->
|
|
<tr>
|
|
<td valign="top"><em>0</em></td>
|
|
<td valign="top">Corresponding field is not null.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>1</em></td>
|
|
<td valign="top">Corresponding field is null.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>9</em></td>
|
|
<td valign="top">Corresponding field was not collected and is represented with
|
|
default data.</td>
|
|
</tr>
|
|
|
|
</table>
|
|
|
|
<p><strong>Number of entries retrieved.</strong> The number of journal entries
|
|
that were retrieved.</p>
|
|
|
|
<p>If an error message is returned, other than error messages CPF3CF1, CPF3C90,
|
|
CPF6948, CPF6949 or CPF9872, a non-zero bytes returned field will reflect how
|
|
much data was returned prior to the sending of the error message.</p>
|
|
|
|
<p><strong>Object.</strong> The name of the object for which the journal entry
|
|
was added. If the entry is not associated with a journaled object, this field
|
|
is blank.</p>
|
|
|
|
<p>If the object associated with the journal entry is a file object the format
|
|
of this field is:</p>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="15 85" -->
|
|
<tr>
|
|
<td valign="top"><em>Char(10)</em></td>
|
|
<td valign="top">File name</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>Char(10)</em></td>
|
|
<td valign="top">File library name</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>Char(10)</em></td>
|
|
<td valign="top">Member name</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<p><strong>Note:</strong> If the journal receiver was attached prior to
|
|
installing V4R2M0 on your system, the following items are true:<br>
|
|
</p>
|
|
|
|
<ul>
|
|
<li>If *ALLFILE is specified for the file key, then the fully qualified name is
|
|
the most recent name of the file when the newest receiver in the receiver range
|
|
was the attached receiver and when the file was still being journaled.</li>
|
|
|
|
<li>If a file name is specified or if library *ALL is specified on the file
|
|
key, the current fully qualified name of the file appears in the retrieved
|
|
journal entry.</li>
|
|
</ul>
|
|
|
|
<p>If the journal receiver was attached while V4R2M0 or a later release was
|
|
running on the system, the fully qualified name is the name of the object at
|
|
the time the journal entry was deposited.</p>
|
|
|
|
<p>If the object associated with the journal entry is an integrated file system
|
|
object, the format of this field is:</p>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="15 85" -->
|
|
<tr>
|
|
<td valign="top"><em>Char(16)</em></td>
|
|
<td valign="top">File identifier</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>Char(14)</em></td>
|
|
<td valign="top">Blanks</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<p>For all other entries associated with journaled objects, the format of this
|
|
information is:</p>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="15 85" -->
|
|
<tr>
|
|
<td valign="top"><em>Char(10)</em></td>
|
|
<td valign="top">Object name</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>Char(10)</em></td>
|
|
<td valign="top">Object library name</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>Char(10)</em></td>
|
|
<td valign="top">Blanks</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<p><strong>Object name indicator.</strong> An indicator with respect to the
|
|
information in the object field. The valid values are:</p>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="5 95" -->
|
|
<tr>
|
|
<td valign="top"><em>0</em></td>
|
|
<td valign="top">Either the journal entry has no object information or the
|
|
object information in the journal entry header does not necessarily reflect the
|
|
name of the object at the time the journal entry was deposited into the
|
|
journal.
|
|
|
|
<p><strong>Note:</strong> This value is returned only when retrieving journal
|
|
entries from a journal receiver that was attached to a journal prior to
|
|
V4R2M0.</p>
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>1</em></td>
|
|
<td valign="top">The object information in the journal entry header reflects
|
|
the name of the object at the time the journal entry was deposited into the
|
|
journal.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>2</em></td>
|
|
<td valign="top">The object information in the journal entry header does not
|
|
necessarily reflect the name of the object at the time the journal entry was
|
|
deposited into the journal. The object information may be returned as a
|
|
previously known name for the object prior to the journal entry being deposited
|
|
into the journal or be returned as *UNKNOWN.
|
|
|
|
<p><strong>Note:</strong> This value will be returned only when retrieving
|
|
journal entries from a remote journal and the remote journal is currently being
|
|
caught up from its source journal. A remote journal is being caught up from its
|
|
source journal when the Change Remote Journal (CHGRMTJRN) command or Change
|
|
Journal State (QjoChangeJournalState) API is called and is currently
|
|
replicating journal entries to the remote journal. After the call to the
|
|
CHGRMTJRN command or QjoChangeJournalState API returns, the remote journal is
|
|
maintained with a synchronous or asynchronous delivery mode, and the remote
|
|
journal is no longer being caught up.</p>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<img src="delta.gif" alt="Start of change">
|
|
<p><strong>Object type.</strong> The type of object in the entry. The possible
|
|
values are:</p>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="15 85" -->
|
|
<tr>
|
|
<td valign="top"><em>*DIR</em></td>
|
|
<td valign="top">This entry is for an integrated file system directory.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>*DTAARA</em></td>
|
|
<td valign="top">This entry is for a data area.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>*DTAQ</em></td>
|
|
<td valign="top">This entry is for a data queue.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>*FILE</em></td>
|
|
<td valign="top">This entry is for a database file.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>*JRNRCV</em></td>
|
|
<td valign="top">This entry is for a journal receiver.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>*QDDS</em></td>
|
|
<td valign="top">This entry is for the data portion of a database member.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>*QDDSI</em></td>
|
|
<td valign="top">This entry is for an access path of a database member.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>*STMF</em></td>
|
|
<td valign="top">This entry is for an integrated file system stream file.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>*SYMLNK</em></td>
|
|
<td valign="top">This entry is for an integrated file system symbolic link.</td>
|
|
</tr>
|
|
</table>
|
|
<img src="deltaend.gif" alt="End of change">
|
|
|
|
<p><strong>Offset to first journal entry header.</strong> The offset from the
|
|
start of the format to the journal entry header section for the first journal
|
|
entry that is retrieved. If no entries are retrieved, this value is 0.</p>
|
|
|
|
<p><strong>Pointer handle.</strong> If the entry specific data returned for
|
|
this journal entry returned any pointers, this is the handle associated with
|
|
those pointers. Otherwise, it is 0.</p>
|
|
|
|
<p>See <a href="#HDRENTPTR">Use of Pointers within Entry Specific Data</a> for
|
|
a discussion on the use of these pointers and what you must do with this
|
|
pointer handle.</p>
|
|
|
|
<p> <strong>Program library ASP device name.</strong> The name of the ASP
|
|
device that contains the program.</p>
|
|
|
|
<p><strong>Notes:</strong></p>
|
|
|
|
<ol>
|
|
<li>If the program library ASP is not an independent ASP, then *SYSBAS will be
|
|
returned for the program library ASP device name.</li>
|
|
|
|
<li>If the program library ASP device name was not available when the journal
|
|
entry was deposited, or if RCVSIZOPT(*MINFIXLEN) was in effect or
|
|
FIXLENDTA(*PGMLIB) was not in effect for the journal when the journal receiver
|
|
that contains this journal entry was attached, then *OMITTED is returned for
|
|
the program library ASP device name.</li>
|
|
</ol>
|
|
|
|
<p><strong>Program library ASP number.</strong> The number for the auxiliary
|
|
storage pool that contains the program that added the journal entry. If
|
|
RCVSIZOPT(*MINFIXLEN) was in effect or FIXLENDTA(*PGMLIB) was not in effect for
|
|
the journal when the journal receiver that contains this journal entry was
|
|
attached, then Hex 0 will be returned for program ASP number.</p>
|
|
|
|
<p><strong>Program library name.</strong> The name of the library that contains
|
|
the program that added the journal entry. If RCVSIZOPT(*MINFIXLEN) was in
|
|
effect or FIXLENDTA(*PGMLIB) was not in effect for the journal when the journal
|
|
receiver that contains this journal entry was attached, then *OMITTED will be
|
|
returned for the program library name.</p>
|
|
|
|
<p><strong>Program name.</strong> The name of the program that added the entry.
|
|
If an application or CL program did not add the entry, the field contains the
|
|
name of a system-supplied program such as QCMD or QPGMMENU. If the program name
|
|
is the special value *NONE, then one of the following is true:</p>
|
|
|
|
<ul>
|
|
<li>The program name does not apply to this journal entry.</li>
|
|
|
|
<li>The program name was not available when the journal entry was made. For
|
|
example, the program name is not available if the program was destroyed.</li>
|
|
</ul>
|
|
|
|
<p>If the program that deposited the journal entry is an original program model
|
|
program, this data will be complete. Otherwise, this data is unpredictable.</p>
|
|
|
|
<p>If RCVSIZOPT(*MINFIXLEN) was in effect or FIXLENDTA(*PGM) was not in effect
|
|
for the journal when the journal receiver that contains this journal entry was
|
|
attached, *OMITTED is returned as the program name.</p>
|
|
|
|
<p><strong>Receiver library ASP device name.</strong> The name of the ASP
|
|
device that contains the receiver.</p>
|
|
|
|
<p><strong>Notes:</strong></p>
|
|
|
|
<ol>
|
|
<li>If the receiver library ASP is not an independent ASP, then *SYSBAS will be
|
|
returned for the receiver library ASP device name.</li>
|
|
|
|
<li>If the receiver library ASP device name was not available when the journal
|
|
entry was deposited, then *OMITTED is returned for the receiver library ASP
|
|
device name.</li>
|
|
</ol>
|
|
|
|
<p><strong>Receiver library ASP number.</strong> The number for the auxiliary
|
|
storage pool containing the receiver holding the journal entry.</p>
|
|
|
|
<p><strong>Receiver library name.</strong> The name of the library containing
|
|
the receiver holding the journal entry.</p>
|
|
|
|
<p><strong>Receiver name.</strong> The name of the receiver holding the journal
|
|
entry.</p>
|
|
|
|
<p><strong>Referential constraint.</strong> Whether this entry was recorded for
|
|
actions that occurred on records that are part of a referential constraint.</p>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="5 95" -->
|
|
<tr>
|
|
<td valign="top"><em>0</em></td>
|
|
<td valign="top">This entry was not created as part of a referential
|
|
constraint.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>1</em></td>
|
|
<td valign="top">This entry was created as part of a referential
|
|
constraint.</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<p> <strong>Remote address.</strong> The remote address associated with the
|
|
journal entry. The format of the address is dependent on the value of the
|
|
address family for this journal entry. If RCVSIZOPT(*MINFIXLEN) was in effect
|
|
or FIXLENDTA(*RMTADR) was not in effect for the journal when the journal
|
|
receiver that contains this journal entry was attached, then Hex 0 will be
|
|
returned for remote address.</p>
|
|
|
|
<p><strong>Remote port.</strong> The port number of the remote address
|
|
associate with this journal entry. If RCVSIZOPT(*MINFIXLEN) was in effect or
|
|
FIXLENDTA(*RMTADR) was not in effect for the journal when the journal receiver
|
|
that contains this journal entry was attached, then Hex 0 will be returned for
|
|
remote port.</p>
|
|
|
|
<p><strong>Reserved.</strong> Reserved area. It always contains hexadecimal
|
|
zeros.</p>
|
|
|
|
<p><strong>Sequence number.</strong> A number assigned by the system to each
|
|
journal entry. This is either a Char(20) or Binary(8) field and if Char(20), it
|
|
is treated as Zoned(20,0). It is initially set to 1 for each new or restored
|
|
journal and is incremented until you request that it be reset when you attach a
|
|
new receiver. There are occasional gaps in the sequence numbers because the
|
|
system uses internal journal entries for control purposes. These gaps occur if
|
|
you use commitment control, journal physical files, or journal access
|
|
paths.</p>
|
|
|
|
<p><strong>System name.</strong> The name of the system on which the entry is
|
|
being retrieved, if the journal receiver was attached prior to installing
|
|
V4R2M0 on the system. If the journal receiver was attached while the system was
|
|
running V4R2M0 or a later release, the system name is the system where the
|
|
journal entry was actually deposited.</p>
|
|
|
|
<p> <strong>System sequence number.</strong> The system sequence number
|
|
indicates the relative sequence of when this journal entry was deposited into
|
|
the journal. The system sequence number could be used to sequentially order
|
|
journal entries that are in separate journal receivers. If
|
|
RCVSIZOPT(*MINFIXLEN) was in effect or FIXLENDTA(*SYSSEQ) was not in effect for
|
|
the journal when the journal receiver that contains this journal entry was
|
|
attached, then Hex 0 will be returned for the system sequence number.</p>
|
|
|
|
<p><strong>Thread identifier.</strong> Identifies the thread within the process
|
|
that added the journal entry. If RCVSIZOPT(*MINFIXLEN) was in effect or
|
|
FIXLENDTA(*THD) was not in effect for the journal when the journal receiver
|
|
that contains this journal entry was attached, then hex 0 will be returned for
|
|
the thread identifier.</p>
|
|
|
|
<p><strong>Time stamp.</strong> The system date and time when the journal entry
|
|
was added to the journal receiver. The time stamp is in the format YYYY-MM-DD-HH.MM.SS.UUUUUU where</p>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="10 90" -->
|
|
<tr>
|
|
<td valign="top"><em>YYYY</em></td>
|
|
<td valign="top">Year</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>MM</em></td>
|
|
<td valign="top">Month</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>DD</em></td>
|
|
<td valign="top">Day</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>HH</em></td>
|
|
<td valign="top">Hours</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>MM</em></td>
|
|
<td valign="top">Minutes</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>SS</em></td>
|
|
<td valign="top">Seconds</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>UUUUUU</em></td>
|
|
<td valign="top">Microseconds</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<p>The system cannot assure that the time stamp is always in ascending order
|
|
for sequential journal entries because the value of the system time could have
|
|
been changed.</p>
|
|
|
|
|
|
<p>Note: If the system value QLEAPADJ (Leap year adjustment) is zero, then the
|
|
result returned will be in 1 microsecond granularity. If the system value
|
|
QLEAPADJ is greater than zero, then the result returned will be in
|
|
8 microsecond granularity.</p>
|
|
|
|
|
|
<p> <strong>Transaction identifier.</strong>
|
|
<img src="delta.gif" alt="Start of change">
|
|
The transaction identifier associated with this journal entry. The
|
|
transaction identifier identifies transactions related to specific
|
|
commit cycles.
|
|
<img src="deltaend.gif" alt="End of change">
|
|
See the QSYSINC/H.XA header file
|
|
for the layout of this data. If RCVSIZOPT(*MINFIXLEN) was in effect or
|
|
FIXLENDTA(*XID) was not in effect for the journal when the journal receiver
|
|
that contains the journal entry was attached, then the displacement to
|
|
transaction identifier will be 0 and no transaction identifier will be
|
|
returned.</p>
|
|
|
|
<p><strong>Trigger.</strong> Whether this entry was created as result of a
|
|
trigger program.</p>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="5 95" -->
|
|
<tr>
|
|
<td valign="top"><em>0</em></td>
|
|
<td valign="top">This entry was not created as the result of a trigger
|
|
program.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><em>1</em></td>
|
|
<td valign="top">This entry was created as the result of a trigger
|
|
program.</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<p><strong>Unformatted time stamp.</strong> The system date and time when the
|
|
journal entry was added to the journal receiver. The time stamp is in machine
|
|
readable format and can be used as input to a time conversion API, which will
|
|
convert it to a human readable format.</p>
|
|
|
|
<p><strong>User name.</strong> The user profile name of the user that started
|
|
the job.</p>
|
|
|
|
<p><strong>Notes:</strong></p>
|
|
|
|
<ol>
|
|
<li>If RCVSIZOPT(*MINFIXLEN) was in effect or FIXLENDTA(*JOB) was not in effect
|
|
for the journal when the journal receiver that contains the journal entry was
|
|
attached, then blanks are returned for the user name.</li>
|
|
|
|
<li>If the job name was not available when the journal entry was deposited,
|
|
then blanks are returned for the user name.</li>
|
|
</ol>
|
|
|
|
<p><strong>User profile.</strong> The name of the effective user profile under
|
|
which the job was running when the entry was created.</p>
|
|
|
|
<p><strong>Notes:</strong></p>
|
|
|
|
<ol>
|
|
<li>If RCVSIZOPT(*MINFIXLEN) was in effect or FIXLENDTA(*JOB) was not in effect
|
|
for the journal when the journal receiver that contains this journal entry was
|
|
attached, *OMITTED is returned for the effective user profile.</li>
|
|
|
|
<li>If the journal entry was deposited by a system task that was not associated
|
|
with a job, then a character representation of the task description entry
|
|
number will be returned for the user profile.</li>
|
|
</ol>
|
|
|
|
<br>
|
|
|
|
<h3><a name="HDRENTPTR">Use of Pointers within Entry Specific Data</a></h3>
|
|
|
|
<p>There are some journal entries that require additional handling of the
|
|
journal receiver entry specific data using pointers. This was done to minimize
|
|
movement of large amounts of data and to facilitate support of tables or
|
|
database files with large object (LOB) fields. The types of entries that may
|
|
require pointer support are:</p>
|
|
|
|
<ul>
|
|
<li>Any operations on specific records or files (journal code R or F) of tables
|
|
or database files that include any fields of data type BLOB (binary large
|
|
object), CLOB (character large object), or DBCLOB (double-byte character large
|
|
object). See the <a href="../sqlp/rbafykickoff.htm">DB2 UDB for iSeries SQL
|
|
Programming Concepts</a> and <a href="../db2/rbafzmst02.htm">DB2 UDB for
|
|
iSeries SQL Reference</a> books for more information on these data types.</li>
|
|
|
|
<li>Operations related to byte stream file write operations, Journal Code B,
|
|
Entry type WA. See the <a href="../ifs/rzaaxkickoff.htm">Integrated file
|
|
system</a> information for more information about these journal entries.</li>
|
|
|
|
<li>Operations related to data queue send operations, Journal Code Q, Entry
|
|
types QK and QS. See the <a href="../rzaki/rzakikickoff.htm">Journal
|
|
management</a> topic for more information on these journal entries.</li>
|
|
|
|
<li>Any operations on specific records or files (journal code R or F) of tables
|
|
or database files resulting in minimized entry specific data when the journal
|
|
has MINENTDTA specified for the corresponding object type. See the <a href=
|
|
"../rzaki/rzakikickoff.htm">Journal management</a> topic for restrictions and
|
|
usage of journal entries with minimized entry specific data.</li>
|
|
</ul>
|
|
|
|
<p>If the incomplete data indicator is returned as a 1, then that indicates
|
|
that the journal-entry specific data includes a pointer to additional data.
|
|
Additionally, a pointer handle will be returned with the journal entry. This
|
|
handle is associated with any allocations required to support the pointer
|
|
processing.</p>
|
|
|
|
<p>The pointer must be used by the same process that called this API; it cannot
|
|
be stored and used by a different process. The pointer can be used for read
|
|
access only. See the <a href="../rzaki/rzakikickoff.htm">Journal management</a>
|
|
topic for descriptions of the entry types that may include pointer data. The
|
|
pointer can be used in the following way:</p>
|
|
|
|
<ul>
|
|
<li>It can be used directly to copy the data addressed to some other storage
|
|
space.</li>
|
|
|
|
<li>If the journal entry is a record entry (journal code R), the journal-entry
|
|
specific data could be used for an update or insert operation to the database
|
|
file through SQL. See the <a href="../db2/rbafzmst02.htm">DB2 UDB for iSeries
|
|
SQL Reference</a> book for more information.</li>
|
|
</ul>
|
|
|
|
<p>The pointer handles will be implicitly deleted when the process that
|
|
requested the journal entries is ended.</p>
|
|
|
|
<p>These pointers can be used only with the V4R4M0 or later versions of the
|
|
following languages:</p>
|
|
|
|
<ul>
|
|
<li>ILE COBOL</li>
|
|
|
|
<li>ILE RPG</li>
|
|
|
|
<li>ILE C if the TERASPACE parameter is used when compiling the program. See
|
|
the <a href="../books/sc092712.pdf" target="_blank">WebSphere Development
|
|
Studio: ILE C/C++ Programmer's Guide</a><img alt="Link to PDF" src="wbpdf.gif">
|
|
book for more information.</li>
|
|
</ul>
|
|
|
|
<p>Once the pointer data is used, you must delete the pointer handle to free
|
|
the handle and any allocations associated with that handle. This can be done by
|
|
using the <a href="QJODLTPH.htm">Delete Pointer Handle</a>
|
|
(QjoDeletePointerHandle) API. If the handles are not deleted, the maximum
|
|
number allowed can be reached, which will prevent further retrieval of journal
|
|
entries. The deletion must occur from the same process that called the Retrieve
|
|
Journal Entries (QjoRetrieveJournalEntries) API.</p>
|
|
|
|
<p>Even if the journal entry data is not used, all pointer handles returned to
|
|
the user through this interface should be deleted. This is also true when
|
|
partial journal entry information is returned, even though an error message was
|
|
returned.</p>
|
|
|
|
<p><strong>Note:</strong> No system function will prevent the deletion of
|
|
journal receivers that may have outstanding pointer handles. If you want to
|
|
prevent the journal receivers from being deleted prior to your use of the
|
|
pointers, you may want to consider using the <a href="XDLTRCV.htm">Delete
|
|
Journal Receiver</a> exit point, QIBM_QJO_DLT_JRNRCV.</p>
|
|
|
|
<br>
|
|
<h3>Error Messages</h3>
|
|
|
|
<table cellpadding="3" width="100%">
|
|
<tr>
|
|
<th align="left" valign="top">Message ID</th>
|
|
<th align="left" valign="top">Error Message Text</th>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top" width="15%">CPF24B4 E</td>
|
|
<td valign="top" width="85%">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">CPF3C21 E</td>
|
|
<td valign="top">Format name &1 is not valid.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top">CPF3C4D E</td>
|
|
<td valign="top">Length &1 for key &2 not valid.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top">CPF3C82 E</td>
|
|
<td valign="top">Key &1 not valid for API &2.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top">CPF3C88 E</td>
|
|
<td valign="top">Number of variable length records &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">CPF694A E</td>
|
|
<td valign="top">Number of fields &1 for key &2 is not valid.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top">CPF694B E</td>
|
|
<td valign="top">Length &1 of variable record for key &2 not
|
|
valid.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top">CPF694C E</td>
|
|
<td valign="top">Variable length record data for key &1 not valid.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top">CPF6946 E</td>
|
|
<td valign="top">Number &1 specified for key &2 not valid.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top">CPF6948 E</td>
|
|
<td valign="top">Length of the receiver variable &1 is not valid.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top">CPF6949 E</td>
|
|
<td valign="top">Pointer to a receiver variable is not valid.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top">CPD7061 E</td>
|
|
<td valign="top">FROMENT and FROMTIME parameters cannot be used together.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top">CPD7062 E</td>
|
|
<td valign="top">TOENT and TOTIME parameters cannot be used together.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top">CPD7076 E</td>
|
|
<td valign="top">Value specified for JRNCDE not valid.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top">CPD7078 E</td>
|
|
<td valign="top">Duplicate journal code not valid.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top">CPF7002 E</td>
|
|
<td valign="top">File &1 in library &2 not a physical file.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top">CPF7006 E</td>
|
|
<td valign="top">Member &3 not found in file &1 in &2.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top">CPF7007 E</td>
|
|
<td valign="top">Cannot allocate member &3 file &1 in &2.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top">CPF701B E</td>
|
|
<td valign="top">Journal recovery of interrupted operation failed.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top">CPF705C E</td>
|
|
<td valign="top">INCENT(*ALL) not allowed for a local journal.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top">CPF7053 E</td>
|
|
<td valign="top">Values for RCVRNG parameter not correct; reason code
|
|
&1.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top">CPF7054 E</td>
|
|
<td valign="top">FROM and TO values not valid.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top">CPF7055 E</td>
|
|
<td valign="top">Maximum number of files and members exceeded.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top">CPF7057 E</td>
|
|
<td valign="top">*LIBL not allowed with FILE(*ALL).</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top">CPF706A E</td>
|
|
<td valign="top">Significant null value indicator truncated.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top">CPF7060 E</td>
|
|
<td valign="top"><img src="delta.gif" alt="Start of change">
|
|
Object not found and not journaled in specified receiver range.
|
|
<img src="deltaend.gif" alt="End of change"></td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top">CPF7061 E</td>
|
|
<td valign="top">Conversion of journal entries failed.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top">CPF7062 E</td>
|
|
<td valign="top">No entries converted or received from journal &1.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top">CPF7065 E</td>
|
|
<td valign="top">Entry type (ENTTYP) not valid for journal code (JRNCDE).</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top">CPF7074 E</td>
|
|
<td valign="top">RCVRNG for specified SEARCH 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">CPF709C E</td>
|
|
<td valign="top">JOB, PGM, and USRPRF not valid for receiver range.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top"><img src="delta.gif" alt="Start of change">
|
|
CPF70A9 E</td>
|
|
<td valign="top">OBJPATH parameter not valid for a remote journal.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top">CPF70AC E</td>
|
|
<td valign="top">FID &1 not found.
|
|
<img src="deltaend.gif" alt="End of change"></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">CPF9801 E</td>
|
|
<td valign="top">Object &2 in library &3 not found.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top">CPF9802 E</td>
|
|
<td valign="top">Not authorized to object &2 in &3.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top">CPF9803 E</td>
|
|
<td valign="top">Cannot allocate object &2 in library &3.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top">CPF9809 E</td>
|
|
<td valign="top">Library &1 cannot be accessed.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top">CPF9810 E</td>
|
|
<td valign="top">Library &1 not found.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top">CPF9820 E</td>
|
|
<td valign="top">Not authorized to use library &1.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top">CPF9822 E</td>
|
|
<td valign="top">Not authorized to file &1 in library &2.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top">CPF9872 E</td>
|
|
<td valign="top">Program or service program &1 in library &2 ended.
|
|
Reason code &3.</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<br>
|
|
<h3>Example</h3>
|
|
<p>See <a href="../apiref/aboutapis.htm#codedisclaimer">Code disclaimer information</a>
|
|
for information pertaining to code examples.</p>
|
|
<p>The following example retrieves one journal entry based on four keys that
|
|
we will pass in the Variable Length Record structure.</p>
|
|
|
|
<pre>
|
|
/**********************************************************************/
|
|
/* Setup instructions: */
|
|
/* CRTLIB RJESAMPLE */
|
|
/* CRTJRNRCV JRNRCV(RJESAMPLE/R1) */
|
|
/* CRTJRN JRN(RJESAMPLE/J1) JRNRCV(RJESAMPLE/R1) */
|
|
/* CRTPF FILE(RJESAMPLE/F1) RCDLEN(12) */
|
|
/* STRJRNPF FILE(RJESAMPLE/F1) JRN(RJESAMPLE/J1) IMAGES(*BOTH) */
|
|
/* Create some journal entries: */
|
|
/* STRSQL */
|
|
/* INSERT INTO RJESAMPLE/F1 VALUES ('REC1') */
|
|
/* INSERT INTO RJESAMPLE/F1 VALUES ('REC2') */
|
|
/* INSERT INTO RJESAMPLE/F1 VALUES ('REC3') */
|
|
/* DELETE FROM RJESAMPLE/F1 WHERE F1 = 'REC2' */
|
|
/* F3 to exit, then ENTER */
|
|
/* */
|
|
/* In this example, we are only going to retrieve one journal entry. */
|
|
/* When you retrieve more than one, you can just increase the size */
|
|
/* of the receiver variable and then work through the data using the */
|
|
/* displacement values returned in the structure. All of the */
|
|
/* structures used here are based on structures defined or are */
|
|
/* structures defined in QSYSINC/QJOURNAL. */
|
|
/**********************************************************************/
|
|
|
|
/* Some include files we will need */
|
|
#include <stdio.h>
|
|
#include <string.h>
|
|
#include <stdlib.h>
|
|
#include <ctype.h>
|
|
#include <qusec.h>
|
|
#include <qmhsndpm.h>
|
|
#include <qjournal.h>
|
|
|
|
/* Some constants we should define */
|
|
#define LIB "RJESAMPLE "
|
|
#define JRN "J1 "
|
|
#define RCV "R1 "
|
|
#define FILE "F1 "
|
|
#define SEQ "00000000000000000014"
|
|
|
|
/* These are declares for the Variable Length Record structure
|
|
for the keys */
|
|
typedef _Packed struct
|
|
{
|
|
Qjo_JE_Fmt_Var_Len_Rcrd_t base_structure;
|
|
Qjo_JE_Data_t Data[9004];
|
|
} Qjo_JE_Fmt_Var_Len_Rcrd_varlen_t;
|
|
|
|
typedef _Packed struct
|
|
{
|
|
Qjo_JE_Jrn_Info_Retrieve_t base_structure;
|
|
Qjo_JE_Fmt_Var_Len_Rcrd_varlen_t Fmt_Var_Len_Rcrd[4];
|
|
} Qjo_JE_Jrn_Info_Retrieve_varlen_t;
|
|
|
|
|
|
/* Function prototypes */
|
|
void buildKey1(Qjo_JE_Data_Key_1_t*);
|
|
void buildKey2(Qjo_JE_Data_Key_2_t*);
|
|
void buildKey4(Qjo_JE_Data_Key_4_t*);
|
|
void buildKey6(Qjo_JE_Data_Key_6_t*);
|
|
void copyKeysToVLR(Qjo_JE_Data_Key_1_t*, Qjo_JE_Data_Key_2_t*,
|
|
Qjo_JE_Data_Key_4_t*, Qjo_JE_Data_Key_6_t*,
|
|
Qjo_JE_Jrn_Info_Retrieve_varlen_t*);
|
|
void printEntryInfo(Qjo_RJNE0100_Hdr_t*);
|
|
void sendMsg(int, char*);
|
|
|
|
|
|
const short VLRSize = sizeof(Qjo_JE_Fmt_Var_Len_Rcrd_varlen_t);
|
|
|
|
void main()
|
|
{
|
|
/* declare the key structures - we will input keys 1, 2, 4, and 6 */
|
|
Qjo_JE_Data_Key_1_t key1;
|
|
Qjo_JE_Data_Key_2_t key2;
|
|
Qjo_JE_Data_Key_4_t key4;
|
|
Qjo_JE_Data_Key_6_t key6;
|
|
|
|
/* declare the structure that will hold the keys */
|
|
Qjo_JE_Jrn_Info_Retrieve_varlen_t infoRetrieve;
|
|
|
|
/* Misc variables */
|
|
char qualJrnName[20];
|
|
Qus_EC_t *errCode;
|
|
char errorbuffer[17];
|
|
long int lenRcvVar = 2048;
|
|
|
|
/* declare the header structure for format RJNE0100 */
|
|
Qjo_RJNE0100_Hdr_t *rjne0100Hdr;
|
|
|
|
/* build the key structures */
|
|
buildKey1(&key1);
|
|
buildKey2(&key2);
|
|
buildKey4(&key4);
|
|
buildKey6(&key6);
|
|
|
|
/* Copy the key structures into Format variable length records */
|
|
memset(&(infoRetrieve), 0x00,
|
|
sizeof(Qjo_JE_Jrn_Info_Retrieve_varlen_t));
|
|
infoRetrieve.base_structure.Num_Var_Len_Rcrds = 0;
|
|
copyKeysToVLR(&key1, &key2, &key4, &key6, &infoRetrieve);
|
|
|
|
/* Set up the qualified journal name */
|
|
memcpy(qualJrnName, JRN, sizeof(JRN));
|
|
memcpy(qualJrnName+10, LIB, sizeof(LIB));
|
|
|
|
/* Tell the error code structure we want data returned to the
|
|
job log */
|
|
errCode = (Qus_EC_t *) errorbuffer;
|
|
errCode->Bytes_Provided = 0;
|
|
|
|
/* Allocate the receiver space */
|
|
if((rjne0100Hdr = (Qjo_RJNE0100_Hdr_t *) malloc(lenRcvVar)) != NULL)
|
|
{
|
|
rjne0100Hdr->Bytes_Returned = 0;
|
|
|
|
/* Call the API */
|
|
QjoRetrieveJournalEntries(rjne0100Hdr,
|
|
&lenRcvVar,
|
|
qualJrnName,
|
|
"RJNE0100",
|
|
&infoRetrieve,
|
|
errCode);
|
|
|
|
/* Display the entry information returned (send to job log) */
|
|
printEntryInfo(rjne0100Hdr);
|
|
free(rjne0100Hdr);
|
|
}
|
|
/* That's it :) */
|
|
}
|
|
|
|
void buildKey1(Qjo_JE_Data_Key_1_t *key1)
|
|
{
|
|
/* Initialize to all blanks */
|
|
memset(key1, ' ', sizeof(Qjo_JE_Data_Key_1_t));
|
|
|
|
/* We will use R1 as both the starting and ending receiver */
|
|
|
|
/* Do the starting receiver and receiver lib first */
|
|
memcpy(&(key1->Receiver_Range.Starting_Jrn_Rcv_Name),
|
|
RCV, sizeof(Qjo_Jrn_Rcv_Name_t));
|
|
memcpy(&(key1->Receiver_Range.Starting_Jrn_Rcv_Lib_Name),
|
|
LIB, sizeof(Qjo_Jrn_Rcv_Lib_Name_t));
|
|
|
|
/* Then do the ending receiver and receiver lib */
|
|
memcpy(&(key1->Receiver_Range.Ending_Jrn_Rcv_Name),
|
|
RCV, sizeof(Qjo_Jrn_Rcv_Name_t));
|
|
memcpy(&(key1->Receiver_Range.Ending_Jrn_Rcv_Lib_Name),
|
|
LIB, sizeof(Qjo_Jrn_Rcv_Lib_Name_t));
|
|
}
|
|
|
|
void buildKey2(Qjo_JE_Data_Key_2_t *key2)
|
|
{
|
|
/* We will look for the sequence number of the delete entry (R DL).
|
|
On a V5R2 system, that is journal sequence number 14 based on
|
|
the instructions above. Starting seq num is 14. */
|
|
|
|
/* Initialize key2 structure to NULL */
|
|
memset(key2, 0x00, sizeof(Qjo_JE_Data_Key_2_t));
|
|
memcpy(&(key2->Starting_Seq_Num), SEQ, sizeof(Qjo_Seq_Num_t));
|
|
}
|
|
|
|
void buildKey4(Qjo_JE_Data_Key_4_t *key4)
|
|
{
|
|
/* We will look for the sequence number of the delete entry (R DL).
|
|
On a V5R2 system, that is journal sequence number 14 based on
|
|
the instructions above. Ending seq num is 14. */
|
|
|
|
/* Initialize key4 structure to NULL */
|
|
memset(key4, 0x00, sizeof(Qjo_JE_Data_Key_4_t));
|
|
memcpy(&(key4->Ending_Seq_Num), SEQ, sizeof(Qjo_Seq_Num_t));
|
|
}
|
|
|
|
void buildKey6(Qjo_JE_Data_Key_6_t *key6)
|
|
{
|
|
/* Initialize key6 to NULL */
|
|
memset(key6, 0x00, sizeof(Qjo_JE_Data_Key_6_t));
|
|
|
|
/* We will only look for one entry - the R DL entry */
|
|
key6->Number_Entries = 1;
|
|
}
|
|
|
|
void copyKeysToVLR(Qjo_JE_Data_Key_1_t *key1, Qjo_JE_Data_Key_2_t *key2,
|
|
Qjo_JE_Data_Key_4_t *key4, Qjo_JE_Data_Key_6_t *key6,
|
|
Qjo_JE_Jrn_Info_Retrieve_varlen_t *infoRetrieve)
|
|
{
|
|
short i = infoRetrieve->base_structure.Num_Var_Len_Rcrds;
|
|
|
|
/* Key 1 copy */
|
|
infoRetrieve->Fmt_Var_Len_Rcrd[i].base_structure.Len_Var_Len_Rcrd
|
|
= VLRSize;
|
|
infoRetrieve->Fmt_Var_Len_Rcrd[i].base_structure.Key = 1;
|
|
infoRetrieve->Fmt_Var_Len_Rcrd[i].base_structure.Len_Of_Data =
|
|
sizeof(Qjo_JE_Data_Key_1_t);
|
|
memcpy(&(infoRetrieve->Fmt_Var_Len_Rcrd[i].Data),
|
|
key1, sizeof(Qjo_JE_Data_Key_1_t));
|
|
infoRetrieve->base_structure.Num_Var_Len_Rcrds++;
|
|
i++;
|
|
|
|
/* Key 2 copy */
|
|
infoRetrieve->Fmt_Var_Len_Rcrd[i].base_structure.Len_Var_Len_Rcrd
|
|
= VLRSize;
|
|
infoRetrieve->Fmt_Var_Len_Rcrd[i].base_structure.Key = 2;
|
|
infoRetrieve->Fmt_Var_Len_Rcrd[i].base_structure.Len_Of_Data =
|
|
sizeof(Qjo_JE_Data_Key_2_t);
|
|
memcpy(&(infoRetrieve->Fmt_Var_Len_Rcrd[i].Data),
|
|
key2, sizeof(Qjo_JE_Data_Key_2_t));
|
|
infoRetrieve->base_structure.Num_Var_Len_Rcrds++;
|
|
i++;
|
|
|
|
/* Key 4 copy */
|
|
infoRetrieve->Fmt_Var_Len_Rcrd[i].base_structure.Len_Var_Len_Rcrd
|
|
= VLRSize;
|
|
infoRetrieve->Fmt_Var_Len_Rcrd[i].base_structure.Key = 4;
|
|
infoRetrieve->Fmt_Var_Len_Rcrd[i].base_structure.Len_Of_Data =
|
|
sizeof(Qjo_JE_Data_Key_4_t);
|
|
memcpy(&(infoRetrieve->Fmt_Var_Len_Rcrd[i].Data),
|
|
key4, sizeof(Qjo_JE_Data_Key_4_t));
|
|
infoRetrieve->base_structure.Num_Var_Len_Rcrds++;
|
|
i++;
|
|
|
|
/* Key 6 copy */
|
|
infoRetrieve->Fmt_Var_Len_Rcrd[i].base_structure.Len_Var_Len_Rcrd
|
|
= VLRSize;
|
|
infoRetrieve->Fmt_Var_Len_Rcrd[i].base_structure.Key = 6;
|
|
infoRetrieve->Fmt_Var_Len_Rcrd[i].base_structure.Len_Of_Data =
|
|
sizeof(Qjo_JE_Data_Key_6_t);
|
|
memcpy(&(infoRetrieve->Fmt_Var_Len_Rcrd[i].Data),
|
|
key6, sizeof(Qjo_JE_Data_Key_6_t));
|
|
infoRetrieve->base_structure.Num_Var_Len_Rcrds++;
|
|
}
|
|
|
|
void printEntryInfo(Qjo_RJNE0100_Hdr_t *rjne0100Hdr)
|
|
{
|
|
char msg[50];
|
|
Qjo_RJNE0100_JE_Hdr_t *entry_ptr;
|
|
|
|
/* get a pointer to the entry */
|
|
entry_ptr = (Qjo_RJNE0100_JE_Hdr_t *)((char *)rjne0100Hdr +
|
|
rjne0100Hdr->Offset_First_Jrn_Entry);
|
|
|
|
/* Access the data of interest - we will just print the header,
|
|
sequence number, journal code, and entry type to ensure
|
|
we got the R DL entry */
|
|
memset(msg, ' ', sizeof(msg));
|
|
sprintf(msg, "JH:Bytes Rtrnd:%d\n", rjne0100Hdr->Bytes_Returned);
|
|
sendMsg(sizeof(msg), msg);
|
|
|
|
memset(msg, ' ',sizeof(msg));
|
|
sprintf(msg, "JH:Dsp to 1st JEH:%d\n",
|
|
rjne0100Hdr->Offset_First_Jrn_Entry);
|
|
sendMsg(sizeof(msg), msg);
|
|
|
|
memset(msg, ' ',sizeof(msg));
|
|
sprintf(msg, "JH:Num ent rtrv:%d\n",
|
|
rjne0100Hdr->Number_Entries_Retreived);
|
|
sendMsg(sizeof(msg), msg);
|
|
|
|
memset(msg, ' ',sizeof(msg));
|
|
sprintf(msg, "JH:Cont Hndl:%1.1s\n",
|
|
(char *)&rjne0100Hdr->Continuation_Handle);
|
|
sendMsg(sizeof(msg), msg);
|
|
|
|
memset(msg, ' ',sizeof(msg));
|
|
sprintf(msg, "Seq #:%-20.20s\n", entry_ptr->Seq_Number);
|
|
sendMsg(sizeof(msg), msg);
|
|
|
|
memset(msg, ' ',sizeof(msg));
|
|
sprintf(msg, "Jrn code:%1.1s\n", (char *)&entry_ptr->Jrn_Code);
|
|
sendMsg(sizeof(msg), msg);
|
|
|
|
memset(msg, ' ',sizeof(msg));
|
|
sprintf(msg, "Entry type:%-2.2s\n", entry_ptr->Entry_Type);
|
|
sendMsg(sizeof(msg), msg);
|
|
}
|
|
|
|
void sendMsg(int length, char *message)
|
|
{
|
|
char msgid[8] = "CPF9897";
|
|
char path[21] = "QCPFMSG *LIBL ";
|
|
char msgtype[11] = "*INFO ";
|
|
char callstcken[11] = "* ";
|
|
int callstckco = 1;
|
|
char msgkey[5] = " ";
|
|
Qus_EC_t *errCode;
|
|
char errorbuffer[512];
|
|
|
|
errCode = (Qus_EC_t *) errorbuffer;
|
|
errCode->Bytes_Provided = 0;
|
|
|
|
QMHSNDPM(msgid, path, message, length,
|
|
msgtype, callstcken, callstckco, msgkey,
|
|
errCode);
|
|
}
|
|
</pre>
|
|
|
|
<br>
|
|
|
|
<hr>
|
|
API introduced: V4R4
|
|
|
|
<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>
|
|
|