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

2516 lines
80 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>List Job Log Messages (QMHLJOBL) 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. -->
<!-- MH1TEMP SCRIPT A converted by B2H R4.1 (346) (CMS) by HOLTJM at -->
<!-- RCHVMW2 on 26 Jan 1999 at 10:37:34 -->
<!-- Change History: -->
<!-- YYMMDD USERID Change description -->
<!--File Edited Oct 2001 by v2cdijab -->
<!--End Header Records -->
<link rel="stylesheet" type="text/css" href="../rzahg/ic.css">
</head>
<body>
<a name="Top_Of_Page"></a>
<!-- Java sync-link -->
<script language="Javascript" src="../rzahg/synch.js" type="text/javascript">
</script>
<h2>List Job Log Messages (QMHLJOBL) API</h2>
<div class="box" style="width: 70%;">
<br>
&nbsp;&nbsp;Required Parameter Group:<br>
<!-- iddvc RMBR -->
<br>
<table width="100%">
<tr>
<td align="center" valign="top" width="10%">1</td>
<td align="left" valign="top" width="50%">Qualified user space name</td>
<td align="left" valign="top" width="20%">Input</td>
<td align="left" valign="top" width="20%">Char(20)</td>
</tr>
<tr>
<td align="center" valign="top">2</td>
<td align="left" valign="top">Format name</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Char(8)</td>
</tr>
<tr>
<td align="center" valign="top">3</td>
<td align="left" valign="top">Message selection information</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Char(*)</td>
</tr>
<tr>
<td align="center" valign="top">4</td>
<td align="left" valign="top">Size of message selection information</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Binary(4)</td>
</tr>
<tr>
<td align="center" valign="top">5</td>
<td align="left" valign="top">Format of message selection information</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Char(8)</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>
&nbsp;&nbsp;Default Public Authority: *USE<br>
<!-- iddvc RMBR -->
<br>
&nbsp;&nbsp;Threadsafe: No<br>
<!-- iddvc RMBR -->
<br>
</div>
<p>The List Job Log Messages (QMHLJOBL) API lists messages sent to the job
message queue of a job. This API gets the requested message information and
returns it in a user space in the format specified in the parameter list. The
following discusses how the list is sorted for nonbatch jobs and for batch
jobs.</p>
<p>When the job whose messages are being listed is not a batch job, the
returned messages are sorted by their sending date and time unless the message
being listed is a reply message to an inquiry, a sender's copy, or a notify
message. If it is a reply message, it is listed immediately following the
inquiry, sender's copy, or notify message with which it is associated.</p>
<p>If the last message listed is an inquiry, a sender's copy, or a notify
message, the user of the API must call the API again using parameters that
would include listing the next later message after the inquiry, sender's copy,
or notify message in order to obtain an available reply message.</p>
<p>When the job whose messages are listed is a batch job, the messages are
grouped into two categories:</p>
<ul>
<li>Request messages that have been or are being processed, and the other
messages that occurred during the processing of those requests.</li>
<li>Request messages that are yet to be processed, and any diagnostic messages
associated with these request messages.</li>
</ul>
<p>The API treats unprocessed request messages as if they had a sending time
later than all the request messages and their associated messages that have
been or are being processed. The following two examples describe the sorting
further.</p>
<p>For example, if the call to this API specifies to list the messages for a
batch job from oldest to newest, the list consists of all requests and their
associated messages that have been or are being processed. They are sorted as
described above for a job that is not a batch job. They are followed by any
request messages and any associated diagnostic messages that have not yet been
processed (in the order that they will be processed).</p>
<p>As an opposite example, if the call to this API specifies to list the
messages for a batch job from newest to oldest, the list consists of the
request messages that remain to be processed. They are in the opposite order
that they are processed. They are followed by the request messages that have
been or are being processed and their associated messages. These are sorted
backward through time as described above for nonbatch jobs.</p>
<p>The generated list replaces any existing information in the user space.</p>
<p>If the user space is not large enough to contain the data to be returned,
the user space is increased to the maximum user space size allowed (16MB) or
the maximum amount of storage allowed to the user of the API. If this is not
large enough to contain the data to be returned, only the number of complete
messages that fit in the user space are returned. The information status field
in the generic header is set to P (partial but accurate). The user can then
resubmit the request from the last message returned to obtain the additional
messages. The key of the last message listed for each message queue is provided
in the ending message key field in the header portion of the user space.</p>
<p>An alternative to making multiple calls to QMHLJOBL to list all of the messages
is to change to use the Open List of Job Log Messages (QGYOLJBL) API. QGYOLJBL
can create a list that contains up to 2GB of data. Instead of acessing a user
space to get the message entries, the Get List Entry (QGYGTLE) API is
used to get the the message entries from the list created by QGYOLJBL.</p>
<p>The maximum messages requested field and the number of fields to return
field for each listed message increase the system resources required to create
the list. Users of this API should use caution when specifying parameters that
list many messages or request many identified fields to be returned for each
listed message.</p>
<br>
<h3>Authorities and Locks</h3>
<dl>
<dt><em>User space</em></dt>
<dd>*CHANGE</dd>
<dt><em>User space library</em></dt>
<dd>*EXECUTE</dd>
<dt><em>User space lock</em></dt>
<dd>*EXCLRD</dd>
<dt><em>Job authority</em></dt>
<dd>
<ul>
<li>*JOBCTL special authority if the job for which messages are being retrieved has a user
profile different from that of the job that calls the QMHLJOBL API.</li>
<li>*ALLOBJ and *JOBCTL special authorities if the job for which messages are being retrieved has *ALLOBJ
and *JOBCTL special authority. As an alternative to having *ALLOBJ authority,
the user calling the API can be authorized to the All Object Job Log function
of Operating System/400 through iSeries Navigator's Application Administration
support. The Change Function Usage (CHGFCNUSG) command, with a function
ID of QIBM_ACCESS_ALLOBJ_JOBLOG, can also be used to change the list of users
that are allowed to access a job log that has *ALLOBJ special authority. </li>
</ul>
<p>For additional information on job authorities, see <a href=
"../rzamv/rzamvplansec.htm">Plan and set up system security</a>.</p>
</dd>
</dl>
<br>
<h3>Required Parameter Group</h3>
<dl>
<dt><strong>Qualified user space name</strong></dt>
<dd>INPUT;CHAR(20)
<p> The user space that receives the generated list, and the library in which
it is located. The first 10 characters contain the user space name, and the
second 10 characters contain the user space library. You can use these special
values for the library name:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>*CURLIB</em></td>
<td align="left" valign="top">The job's current library</td>
</tr>
<tr>
<td align="left" valign="top"><em>*LIBL</em></td>
<td align="left" valign="top">The library list</td>
</tr>
</table>
<br>
</dd>
<dt><strong>Format name</strong></dt>
<dd>INPUT; CHAR(8)
<p>The format of the returned message information. You must use this
format:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>LJOB0100</em></td>
<td align="left" valign="top">Basic message information with identified return
fields. This format is described in <a href="#HDRLSTL01">LJOB0100
Format</a>.</td>
</tr>
</table>
<br>
</dd>
<dt><strong>Message selection information</strong></dt>
<dd>INPUT; CHAR(*)
<p>The information that determines the job message queue and messages to be
listed. The format of this information is described in <a href="#HDRINFMT02">
JSLT0100 Format</a> and in <a href="#HDRINFMT04">JSLT0200 Format</a>.</p>
</dd>
<dt><strong>Size of message selection information</strong></dt>
<dd>INPUT; BINARY(4)
<p>The size in bytes of the message selection information parameter.</p>
</dd>
<dt><strong>Format of message selection information</strong></dt>
<dd>INPUT; CHAR(8)
<p>The format of the message selection information parameter. You must use one
of these formats:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>JSLT0100</em></td>
<td align="left" valign="top">The specific information identifying the messages
to be listed. This format is described in <a href="#HDRINFMT02">JSLT0100
Format</a>. Message text and data are returned in the CCSID of your job.</td>
</tr>
<tr>
<td align="left" valign="top"><em>JSLT0200</em></td>
<td align="left" valign="top">The specific information identifying the messages
to be listed. This format is described in <a href="#HDRINFMT04">JSLT0200
Format</a>. This format is the same as JSLT0100 with the exception that you can
specify the CCSID you want your message text and data returned in.</td>
</tr>
</table>
<br>
</dd>
<dt><strong>Error code</strong></dt>
<dd>I/O; CHAR(*)
<p>The structure in which to return error information. For the format of the
structure, see <a href="../apiref/error.htm#hdrerrcod">Error Code Parameter</a>.</p>
</dd>
</dl>
<br>
<h3>Format of Generated Lists</h3>
<p>The user space created consists of:</p>
<ul>
<li>A user area</li>
<li>A generic header</li>
<li>An input parameter section</li>
<li>A header section</li>
<li>LJOB0100 format</li>
</ul>
<p>For details about the user area and generic header, see the <a href=
"../apiref/usf.htm">User Space Format for List APIs</a>. For details about the remaining
items, see the following sections. For descriptions of each field in the list
returned, see <a href="#HDRLSTFD2">Field Descriptions</a>.</p>
<br>
<h3>Input Parameter Section</h3>
<table border width="80%">
<tr>
<th align="center" valign="bottom" colspan="2">Offset</th>
<th align="left" valign="bottom" rowspan="2">Type</th>
<th align="left" valign="bottom" rowspan="2">Field</th>
</tr>
<tr>
<th align="center" valign="bottom">Dec</th>
<th align="center" valign="bottom">Hex</th>
</tr>
<tr>
<td align="center" valign="top" width="10%">0</td>
<td align="center" valign="top" width="10%">0</td>
<td align="left" valign="top" width="20%">CHAR(10)</td>
<td align="left" valign="top" width="60%">User space name specified</td>
</tr>
<tr>
<td align="center" valign="top">10</td>
<td align="center" valign="top">A</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">User space library specified</td>
</tr>
<tr>
<td align="center" valign="top">20</td>
<td align="center" valign="top">14</td>
<td align="left" valign="top">CHAR(8)</td>
<td align="left" valign="top">Format name specified</td>
</tr>
<tr>
<td align="center" valign="top">28</td>
<td align="center" valign="top">1C</td>
<td align="left" valign="top">CHAR(8)</td>
<td align="left" valign="top">Format of message selection information
specified</td>
</tr>
<tr>
<td align="center" valign="top">36</td>
<td align="center" valign="top">24</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Size of message selection information
specified</td>
</tr>
<tr>
<td align="center" valign="top">40</td>
<td align="center" valign="top">28</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Maximum messages requested specified</td>
</tr>
<tr>
<td align="center" valign="top">44</td>
<td align="center" valign="top">2C</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">List direction specified</td>
</tr>
<tr>
<td align="center" valign="top">54</td>
<td align="center" valign="top">36</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Job name specified</td>
</tr>
<tr>
<td align="center" valign="top">64</td>
<td align="center" valign="top">40</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">User profile specified</td>
</tr>
<tr>
<td align="center" valign="top">74</td>
<td align="center" valign="top">4A</td>
<td align="left" valign="top">CHAR(6)</td>
<td align="left" valign="top">Job number specified</td>
</tr>
<tr>
<td align="center" valign="top">80</td>
<td align="center" valign="top">50</td>
<td align="left" valign="top">CHAR(16)</td>
<td align="left" valign="top">Internal job identifier specified</td>
</tr>
<tr>
<td align="center" valign="top">96</td>
<td align="center" valign="top">60</td>
<td align="left" valign="top">CHAR(4)</td>
<td align="left" valign="top">Starting message key specified</td>
</tr>
<tr>
<td align="center" valign="top">100</td>
<td align="center" valign="top">64</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Maximum message length specified</td>
</tr>
<tr>
<td align="center" valign="top">104</td>
<td align="center" valign="top">68</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Maximum message help length specified</td>
</tr>
<tr>
<td align="center" valign="top">108</td>
<td align="center" valign="top">6C</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Offset to identifiers of fields to return
specified</td>
</tr>
<tr>
<td align="center" valign="top">112</td>
<td align="center" valign="top">70</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Number of fields to return specified</td>
</tr>
<tr>
<td align="center" valign="top">116</td>
<td align="center" valign="top">74</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Offset to call message queue specified</td>
</tr>
<tr>
<td align="center" valign="top">120</td>
<td align="center" valign="top">78</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Length of call message queue specified</td>
</tr>
<tr>
<td align="center" valign="top">124</td>
<td align="center" valign="top">7C</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Coded character set identifier (CCSID)
specified</td>
</tr>
<tr>
<td align="center" valign="top">128</td>
<td align="center" valign="top">80</td>
<td align="left" valign="top">CHAR(*)</td>
<td align="left" valign="top">Reserved</td>
</tr>
<tr>
<td align="left" valign="top" rowspan="2" colspan="2">The offsets to these
fields are specified in the previous offset variables.</td>
<td align="left" valign="top">ARRAY(*) of BINARY(4)</td>
<td align="left" valign="top">Identifiers of fields to return specified</td>
</tr>
<tr>
<td align="left" valign="top">CHAR(*)</td>
<td align="left" valign="top">Call message queue specified</td>
</tr>
</table>
<br>
<br>
<h3>Header Section</h3>
<table border width="80%">
<tr>
<th align="center" valign="bottom" colspan="2">Offset</th>
<th align="left" valign="bottom" rowspan="2">Type</th>
<th align="left" valign="bottom" rowspan="2">Field</th>
</tr>
<tr>
<th align="center" valign="bottom">Dec</th>
<th align="center" valign="bottom">Hex</th>
</tr>
<tr>
<td align="center" valign="top" width="10%">0</td>
<td align="center" valign="top" width="10%">0</td>
<td align="left" valign="top" width="20%">CHAR(10)</td>
<td align="left" valign="top" width="60%">User space name used</td>
</tr>
<tr>
<td align="center" valign="top">10</td>
<td align="center" valign="top">A</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">User space library used</td>
</tr>
<tr>
<td align="center" valign="top">20</td>
<td align="center" valign="top">14</td>
<td align="left" valign="top">CHAR(4)</td>
<td align="left" valign="top">Starting message key used</td>
</tr>
<tr>
<td align="center" valign="top">24</td>
<td align="center" valign="top">18</td>
<td align="left" valign="top">CHAR(4)</td>
<td align="left" valign="top">Ending message key</td>
</tr>
<tr>
<td align="center" valign="top">28</td>
<td align="center" valign="top">1C</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Job name used</td>
</tr>
<tr>
<td align="center" valign="top">38</td>
<td align="center" valign="top">26</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">User profile used</td>
</tr>
<tr>
<td align="center" valign="top">48</td>
<td align="center" valign="top">30</td>
<td align="left" valign="top">CHAR(6)</td>
<td align="left" valign="top">Job number used</td>
</tr>
<tr>
<td align="center" valign="top">54</td>
<td align="center" valign="top">36</td>
<td align="left" valign="top">CHAR(2)</td>
<td align="left" valign="top">Reserved</td>
</tr>
<tr>
<td align="center" valign="top">56</td>
<td align="center" valign="top">38</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Coded character set identifier (CCSID) used</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDRLSTL01">LJOB0100 Format</a></h3>
<p>The following table shows the information returned in the list data section
of the user space for the LJOB0100 format. The offsets listed are from the
beginning of the user space. For a detailed description of each field, see <a
href="#HDRLSTFD2">Field Descriptions</a>.</p>
<p>The structure defined by this format is repeated for each message entry
returned.</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%">Offset to the next entry</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 fields returned</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 fields returned</td>
</tr>
<tr>
<td align="center" valign="top">12</td>
<td align="center" valign="top">C</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Message severity</td>
</tr>
<tr>
<td align="center" valign="top">16</td>
<td align="center" valign="top">10</td>
<td align="left" valign="top">CHAR(7)</td>
<td align="left" valign="top">Message identifier</td>
</tr>
<tr>
<td align="center" valign="top">23</td>
<td align="center" valign="top">17</td>
<td align="left" valign="top">CHAR(2)</td>
<td align="left" valign="top">Message type</td>
</tr>
<tr>
<td align="center" valign="top">25</td>
<td align="center" valign="top">19</td>
<td align="left" valign="top">CHAR(4)</td>
<td align="left" valign="top">Message key</td>
</tr>
<tr>
<td align="center" valign="top">29</td>
<td align="center" valign="top">1D</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Message file name</td>
</tr>
<tr>
<td align="center" valign="top">39</td>
<td align="center" valign="top">27</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Message file library specified at send time</td>
</tr>
<tr>
<td align="center" valign="top">49</td>
<td align="center" valign="top">31</td>
<td align="left" valign="top">CHAR(7)</td>
<td align="left" valign="top">Date sent</td>
</tr>
<tr>
<td align="center" valign="top">56</td>
<td align="center" valign="top">38</td>
<td align="left" valign="top">CHAR(6)</td>
<td align="left" valign="top">Time sent</td>
</tr>
<tr>
<td align="center" valign="top">62</td>
<td align="center" valign="top">3E</td>
<td align="left" valign="top">CHAR(6)</td>
<td align="left" valign="top">Microseconds</td>
</tr>
<tr>
<td align="center" valign="top">
<img src= "v5r4adelta.gif" alt="Start of change">68</td>
<td align="center" valign="top">44</td>
<td align="left" valign="top">CHAR(8)</td>
<td align="left" valign="top">Thread ID
<img src="v5r4adeltaend.gif" alt="End of change"></td>
</tr>
<tr>
<td align="center" valign="top">
<img src= "v5r4adelta.gif" alt="Start of change">76</td>
<td align="center" valign="top">4C
<img src="v5r4adeltaend.gif" alt="End of change"></td>
<td align="left" valign="top">CHAR(*)</td>
<td align="left" valign="top">Reserved</td>
</tr>
<tr>
<td align="left" valign="top" rowspan="9" colspan="2">These fields repeat for
each identifier field specified.</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Offset to the next field information
returned</td>
</tr>
<tr>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Length of field information returned</td>
</tr>
<tr>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Identifier field</td>
</tr>
<tr>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Type of data</td>
</tr>
<tr>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Status of data</td>
</tr>
<tr>
<td align="left" valign="top">CHAR(14)</td>
<td align="left" valign="top">Reserved</td>
</tr>
<tr>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Length of data</td>
</tr>
<tr>
<td align="left" valign="top">CHAR(*)</td>
<td align="left" valign="top">Data</td>
</tr>
<tr>
<td align="left" valign="top">CHAR(*)</td>
<td align="left" valign="top">Reserved</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDRINFMT02">JSLT0100 Format</a></h3>
<p>The organization of the JSLT0100 format of the message selection information
parameter follows. For a detailed description of each field, see <a href=
"#HDRLSTFD2">Field Descriptions</a>.</p>
<table border width="80%">
<tr>
<th align="center" valign="bottom" colspan="2">Offset</th>
<th align="left" valign="bottom" rowspan="2">Type</th>
<th align="left" valign="bottom" rowspan="2">Field</th>
</tr>
<tr>
<th align="center" valign="bottom">Dec</th>
<th align="center" valign="bottom">Hex</th>
</tr>
<tr>
<td align="center" valign="top" width="10%">0</td>
<td align="center" valign="top" width="10%">0</td>
<td align="left" valign="top" width="20%">BINARY(4)</td>
<td align="left" valign="top" width="60%">Maximum messages requested</td>
</tr>
<tr>
<td align="center" valign="top">4</td>
<td align="center" valign="top">4</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">List direction</td>
</tr>
<tr>
<td align="center" valign="top">14</td>
<td align="center" valign="top">E</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Qualified job name</td>
</tr>
<tr>
<td align="center" valign="top">24</td>
<td align="center" valign="top">18</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Qualified user name</td>
</tr>
<tr>
<td align="center" valign="top">34</td>
<td align="center" valign="top">22</td>
<td align="left" valign="top">CHAR(6)</td>
<td align="left" valign="top">Qualified job number</td>
</tr>
<tr>
<td align="center" valign="top">40</td>
<td align="center" valign="top">28</td>
<td align="left" valign="top">CHAR(16)</td>
<td align="left" valign="top">Internal job identifier</td>
</tr>
<tr>
<td align="center" valign="top">56</td>
<td align="center" valign="top">38</td>
<td align="left" valign="top">CHAR(4)</td>
<td align="left" valign="top">Starting message key</td>
</tr>
<tr>
<td align="center" valign="top">60</td>
<td align="center" valign="top">3C</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Maximum message length</td>
</tr>
<tr>
<td align="center" valign="top">64</td>
<td align="center" valign="top">40</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Maximum message help length</td>
</tr>
<tr>
<td align="center" valign="top">68</td>
<td align="center" valign="top">44</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Offset to identifiers of fields to return</td>
</tr>
<tr>
<td align="center" valign="top">72</td>
<td align="center" valign="top">48</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Number of fields to return</td>
</tr>
<tr>
<td align="center" valign="top">76</td>
<td align="center" valign="top">4C</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Offset to call message queue name</td>
</tr>
<tr>
<td align="center" valign="top">80</td>
<td align="center" valign="top">50</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Length of call message queue name</td>
</tr>
<tr>
<td align="left" valign="top" rowspan="2" colspan="2">The offsets to these
fields are specified in the previous offset variables.</td>
<td align="left" valign="top">ARRAY(*) of BINARY(4)</td>
<td align="left" valign="top">Identifiers of fields to return</td>
</tr>
<tr>
<td align="left" valign="top">CHAR(*)</td>
<td align="left" valign="top">Call message queue name</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDRINFMT04">JSLT0200 Format</a></h3>
<p>The organization of the JSLT0200 format of the message selection information
parameter follows. For a detailed description of each field, see <a href=
"#HDRLSTFD2">Field Descriptions</a>.</p>
<table border width="80%">
<tr>
<th align="center" valign="bottom" colspan="2">Offset</th>
<th align="left" valign="bottom" rowspan="2">Type</th>
<th align="left" valign="bottom" rowspan="2">Field</th>
</tr>
<tr>
<th align="center" valign="bottom">Dec</th>
<th align="center" valign="bottom">Hex</th>
</tr>
<tr>
<td align="center" valign="top" width="10%">0</td>
<td align="center" valign="top" width="10%">0</td>
<td align="left" valign="top" width="20%">BINARY(4)</td>
<td align="left" valign="top" width="60%">Maximum messages requested</td>
</tr>
<tr>
<td align="center" valign="top">4</td>
<td align="center" valign="top">4</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">List direction</td>
</tr>
<tr>
<td align="center" valign="top">14</td>
<td align="center" valign="top">E</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Qualified job name</td>
</tr>
<tr>
<td align="center" valign="top">24</td>
<td align="center" valign="top">18</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Qualified user name</td>
</tr>
<tr>
<td align="center" valign="top">34</td>
<td align="center" valign="top">22</td>
<td align="left" valign="top">CHAR(6)</td>
<td align="left" valign="top">Qualified job number</td>
</tr>
<tr>
<td align="center" valign="top">40</td>
<td align="center" valign="top">28</td>
<td align="left" valign="top">CHAR(16)</td>
<td align="left" valign="top">Internal job identifier</td>
</tr>
<tr>
<td align="center" valign="top">56</td>
<td align="center" valign="top">38</td>
<td align="left" valign="top">CHAR(4)</td>
<td align="left" valign="top">Starting message key</td>
</tr>
<tr>
<td align="center" valign="top">60</td>
<td align="center" valign="top">3C</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Maximum message length</td>
</tr>
<tr>
<td align="center" valign="top">64</td>
<td align="center" valign="top">40</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Maximum message help length</td>
</tr>
<tr>
<td align="center" valign="top">68</td>
<td align="center" valign="top">44</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Offset to identifiers of fields to return</td>
</tr>
<tr>
<td align="center" valign="top">72</td>
<td align="center" valign="top">48</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Number of fields to return</td>
</tr>
<tr>
<td align="center" valign="top">76</td>
<td align="center" valign="top">4C</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Offset to call message queue name</td>
</tr>
<tr>
<td align="center" valign="top">80</td>
<td align="center" valign="top">50</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Length of call message queue name</td>
</tr>
<tr>
<td align="center" valign="top">84</td>
<td align="center" valign="top">54</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Coded character set identifier (CCSID) to return
text and data in</td>
</tr>
<tr>
<td align="center" valign="top">88</td>
<td align="center" valign="top">58</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Reserved (must be set to 0)</td>
</tr>
<tr>
<td align="left" valign="top" rowspan="2" colspan="2">The offsets to these
fields are specified in the previous offset variables.</td>
<td align="left" valign="top">ARRAY(*) of BINARY(4)</td>
<td align="left" valign="top">Identifiers of fields to return</td>
</tr>
<tr>
<td align="left" valign="top">CHAR(*)</td>
<td align="left" valign="top">Call message queue name</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDRLIDS2">Valid Field Identifiers</a></h3>
<p>The following table contains a list of the valid identifiers that can be
specified in the message selection information parameter. For a detailed
description of each field, see <a href="#HDRLSTFD2">Field Descriptions</a>.</p>
<table border width="90%">
<tr>
<th align="left" valign="top">Identifier</th>
<th align="left" valign="top">Type</th>
<th align="left" valign="top">Description</th>
</tr>
<tr>
<td align="left" valign="top" width="15%">0101</td>
<td align="left" valign="top" width="20%">CHAR(9)</td>
<td align="left" valign="top" width="65%">Alert option</td>
</tr>
<tr>
<td align="left" valign="top">0201</td>
<td align="left" valign="top">CHAR(*)</td>
<td align="left" valign="top">Replacement data or impromptu message text</td>
</tr>
<tr>
<td align="left" valign="top">0301</td>
<td align="left" valign="top">CHAR(*)</td>
<td align="left" valign="top">Message</td>
</tr>
<tr>
<td align="left" valign="top">0302</td>
<td align="left" valign="top">CHAR(*)</td>
<td align="left" valign="top">Message with replacement data</td>
</tr>
<tr>
<td align="left" valign="top">0401</td>
<td align="left" valign="top">CHAR(*)</td>
<td align="left" valign="top">Message help</td>
</tr>
<tr>
<td align="left" valign="top">0402</td>
<td align="left" valign="top">CHAR(*)</td>
<td align="left" valign="top">Message help with replacement data</td>
</tr>
<tr>
<td align="left" valign="top">0403</td>
<td align="left" valign="top">CHAR(*)</td>
<td align="left" valign="top">Message help with formatting characters</td>
</tr>
<tr>
<td align="left" valign="top">0404</td>
<td align="left" valign="top">CHAR(*)</td>
<td align="left" valign="top">Message help with replacement data and formatting
characters</td>
</tr>
<tr>
<td align="left" valign="top">0501</td>
<td align="left" valign="top">CHAR(*)</td>
<td align="left" valign="top">Default reply</td>
</tr>
<tr>
<td align="left" valign="top">0601</td>
<td align="left" valign="top">CHAR(26)</td>
<td align="left" valign="top">Qualified sender job name</td>
</tr>
<tr>
<td align="left" valign="top">0602</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Sender type</td>
</tr>
<tr>
<td align="left" valign="top">0603</td>
<td align="left" valign="top">CHAR(*)</td>
<td align="left" valign="top">Sending program name</td>
</tr>
<tr>
<td align="left" valign="top">0604</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Sending module name</td>
</tr>
<tr>
<td align="left" valign="top">0605</td>
<td align="left" valign="top">CHAR(*)</td>
<td align="left" valign="top">Sending procedure name</td>
</tr>
<tr>
<td align="left" valign="top">0606</td>
<td align="left" valign="top">BINARY(4) followed by ARRAY(*) of CHAR(10)</td>
<td align="left" valign="top">Number of sending statement numbers or
instruction numbers available followed by an array of the sending statement
numbers or instruction numbers</td>
</tr>
<tr>
<td align="left" valign="top">0607</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Sending user profile</td>
</tr>
<tr>
<td align="left" valign="top">0702</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Receiving type</td>
</tr>
<tr>
<td align="left" valign="top">0703</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Receiving program name</td>
</tr>
<tr>
<td align="left" valign="top">0704</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Receiving module name</td>
</tr>
<tr>
<td align="left" valign="top">0705</td>
<td align="left" valign="top">CHAR(*)</td>
<td align="left" valign="top">Receiving procedure name</td>
</tr>
<tr>
<td align="left" valign="top">0706</td>
<td align="left" valign="top">BINARY(4) followed by ARRAY(*) of CHAR(10)</td>
<td align="left" valign="top">Number of receiving statement numbers or
instruction numbers available followed by an array of the receiving statement
numbers or instruction numbers</td>
</tr>
<tr>
<td align="left" valign="top">0801</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Message file library used</td>
</tr>
<tr>
<td align="left" valign="top">0901</td>
<td align="left" valign="top">CHAR(30)</td>
<td align="left" valign="top">Problem identification</td>
</tr>
<tr>
<td align="left" valign="top">1001</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Reply status</td>
</tr>
<tr>
<td align="left" valign="top">1101</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Request status</td>
</tr>
<tr>
<td align="left" valign="top">1201</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Request level</td>
</tr>
<tr>
<td align="left" valign="top">1301</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Coded character set identifier (CCSID) for
text</td>
</tr>
<tr>
<td align="left" valign="top">1302</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">CCSID conversion status indicator for text</td>
</tr>
<tr>
<td align="left" valign="top">1303</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Coded character set identifier (CCSID) for
data</td>
</tr>
<tr>
<td align="left" valign="top">1304</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">CCSID conversion status indicator for data</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDRLSTFD2">Field Descriptions</a></h3>
<p><strong>Alert option.</strong> Whether and when an SNA alert is created and
sent for the message. The value is one of the following:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>*DEFER</em></td>
<td align="left" valign="top">An alert is sent after local problem
analysis.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*IMMED</em></td>
<td align="left" valign="top">An alert is sent immediately when the message is
sent to a message queue that has the allow alerts attribute set to *YES.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*NO</em></td>
<td align="left" valign="top">No alert is sent.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*UNATTEND</em></td>
<td align="left" valign="top">An alert is sent immediately when the system is
running in unattended mode (when the value of the alert status network
attribute, ALRSTS, is *UNATTEND).</td>
</tr>
</table>
<p>For more information about alerts, see the <a href=
"../books/sc415413.pdf" target="_blank">Alerts Support</a> <img src=
"wbpdf.gif" alt="Link to PDF"> book.</p>
<p>This field is set to blanks if no alert option was specified when the
message was sent.</p>
<p><strong>Call message queue name.</strong> The name of the call message queue
from which the messages are listed. You must use one of these values:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>*</em></td>
<td align="left" valign="top">Messages from every call stack entry of the job
are listed. If the length of call message queue name field is greater than 1,
the value must be left-justified and padded on the right with blanks.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*EXT</em></td>
<td align="left" valign="top">Only messages sent to the external message queue
(*EXT) of the job are to be listed. If the length of the call message queue
name field is greater than 4. The value must be left-justified in the field and
padded on the right with blanks.</td>
</tr>
</table>
<p><strong>Call message queue specified.</strong> The call message queue name
as specified on the call to the API.</p>
<p><strong>CCSID conversion status indicator for data.</strong> The following
values may be returned:</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>0</em></td>
<td align="left" valign="top">No conversion was needed because the CCSID of the
data matched the CCSID you wanted the data converted to.</td>
</tr>
<tr>
<td align="left" valign="top"><em>1</em></td>
<td align="left" valign="top">No conversion occurred because either the data
was 65535 or the CCSID you wanted the data converted to was 65535.</td>
</tr>
<tr>
<td align="left" valign="top"><em>2</em></td>
<td align="left" valign="top">No conversion occurred because you did not ask
for any message data to be returned or the data did not contain any *CCHAR type
data.</td>
</tr>
<tr>
<td align="left" valign="top"><em>3</em></td>
<td align="left" valign="top">The data was converted to the CCSID specified
using the best fit conversion tables.</td>
</tr>
<tr>
<td align="left" valign="top"><em>4</em></td>
<td align="left" valign="top">A conversion error occurred using the best fit
conversion tables so a default conversion was attempted. This completed without
error.</td>
</tr>
<tr>
<td align="left" valign="top"><em>-1</em></td>
<td align="left" valign="top">An error occurred on both the best fit and
default conversions. The text was not converted.</td>
</tr>
</table>
<p><strong>CCSID conversion status indicator for text.</strong> The following
values may be returned:</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>0</em></td>
<td align="left" valign="top">No conversion was needed because the CCSID of the
text matched the CCSID you wanted the text converted to.</td>
</tr>
<tr>
<td align="left" valign="top"><em>1</em></td>
<td align="left" valign="top">No conversion occurred because either the text
was 65535 or the CCSID you wanted the text converted to was 65535.</td>
</tr>
<tr>
<td align="left" valign="top"><em>2</em></td>
<td align="left" valign="top">No conversion occurred because you did not ask
for any text to be returned.</td>
</tr>
<tr>
<td align="left" valign="top"><em>3</em></td>
<td align="left" valign="top">The text was converted to the CCSID specified
using the best fit conversion tables.</td>
</tr>
<tr>
<td align="left" valign="top"><em>4</em></td>
<td align="left" valign="top">A conversion error occurred using the best fit
conversion tables so a default conversion was attempted. This completed without
error.</td>
</tr>
<tr>
<td align="left" valign="top"><em>-1</em></td>
<td align="left" valign="top">An error occurred on both the best fit and
default conversions. The data was not converted.</td>
</tr>
</table>
<p><strong>Coded character set identifier (CCSID) for data.</strong> The coded
character set identifier that the replacement data is returned in. This only
applies to the part of the replacement data that corresponds to a convertible
character data type (*CCHAR). All other replacement data will not be converted
before it is returned and can be considered to have a CCSID of 65535. If a
conversion error occurs or if the CCSID you requested the data to be converted
to is 65535, the CCSID of the data is returned. If there is no *CCHAR
replacement data, 65535 is returned. Otherwise the CCSID you wanted the data
converted to is returned.</p>
<p>For more information about message handler and its use of CCSIDs, see <a
href="../nls/rbagsccsidmsgsup2.htm">CCSIDs: Message Support</a> in the
Globalization topic. For more information about the *CCHAR field type, see the
<a href="../cl/addmsgd.htm">Add Message Description</a> (ADDMSGD) command.</p>
<p><strong>Coded character set identifier (CCSID) for text.</strong> The coded
character set identifier that the message text is returned in. If a conversion
error occurs or if the CCSID you requested the message text to be converted to
is 65535, the CCSID that the message text is stored in is returned. Otherwise
the CCSID you wanted your message text converted to is returned. If you do not
want the text converted before it is returned to you but you do want to know
the CCSID that the message text is stored in, specify 65535 on the coded
character set identifier to return text and data in parameter. The CCSID that
the message text is stored in is returned in the coded character set identifier
for text output field.</p>
<p>This applies to the following fields only:</p>
<ul>
<li>Message</li>
<li>Message with replacement data</li>
<li>Message help</li>
<li>Message help with replacement data</li>
<li>Message help with replacement data and formatting characters</li>
<li>Message help with formatting characters</li>
</ul>
<p><strong>Note:</strong> This CCSID value does not apply to the replacement
data that has been substituted into the text. See the coded character set
identifier for data for this information.</p>
<p><strong>Coded character set identifier to return text and data in.</strong>
The CCSID that the text and data are converted to before they are returned. The
following values are allowed:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>0</em></td>
<td align="left" valign="top">The text and data are converted to the CCSID of
the job before being returned. This is the default value used when the JSLT0100
format is specified.</td>
</tr>
<tr>
<td align="left" valign="top"></td>
<td align="left" valign="top">If the job is 65535 and the text or data is
something other than EBCDIC single byte or EBCDIC mixed, the text and data are
converted to the default job CCSID.</td>
</tr>
<tr>
<td align="left" valign="top"><em>65535</em></td>
<td align="left" valign="top">The text and data are not converted before being
returned.</td>
</tr>
<tr>
<td align="left" valign="top"><em>CCSID</em></td>
<td align="left" valign="top">Specify a valid CCSID you want your text and data
converted to before being returned. The CCSID must be between 1 and 65535. The
CCSID is validated by this API. Only CCSIDs that a job can be changed to are
accepted.
<p>For a list of valid CCSIDs, see <a href="../nls/rbagsccsidmsgsup2.htm">
CCSIDs: Message Support</a>.</p>
</td>
</tr>
</table>
<p><strong>Coded character set identifier specified.</strong> The CCSID that
was specified that the text and data are converted to before they are
returned.</p>
<p><strong>Coded character set identifier used.</strong> The CCSID that was
used that the text and data are converted to before they are returned.</p>
<p><strong>Data.</strong> The data returned for the specified identifier
field.</p>
<p><strong>Date sent.</strong> The date on which the message was sent, in
CYYMMDD (century, year, month, and day) format.</p>
<p><strong>Default reply.</strong> The text of the default reply when a stored
message is being listed and a default reply exists. If this is not an inquiry
message, or no default reply exists, this field is not used and the length of
data field is 0.</p>
<p><strong>Ending message key.</strong> The message key of the last message
actually listed by the API. If no message is listed, the value returned is the
same as the value specified in the starting message key specified field.</p>
<p><strong>Format of message selection information specified.</strong> The
format name of the message selection information parameter as specified on the
call to the API.</p>
<p><strong>Format name specified.</strong> The format name as specified on the
call to the API.</p>
<p><strong>Identifier field.</strong> The field ID actually returned in the
LJOB0100 format. See <a href="#HDRLIDS2">Valid Field Identifiers</a> for the
list of valid field identifiers.</p>
<p><strong>Identifiers of fields to return.</strong> The list of the field
identifiers returned in the LJOB0100 format. For a list of the valid field
identifiers, see <a href="#HDRLIDS2">Valid Field Identifiers</a>.</p>
<p><strong>Identifiers of fields to return specified.</strong> The list of
identifiers of fields to return as specified on the call to the API.</p>
<p><strong>Internal job identifier.</strong> The internal name for the job. The
List Job (QUSLJOB) API creates this identifier. If you do not specify *INT for
the qualified job name parameter, this parameter must contain blanks. If your
application already has this information available from QUSLJOB, the QMHLJOBL
API can locate the job more quickly with this information than with a job name.
However, calling QUSLJOB solely to obtain this parameter for use by QMHLJOBL
would result in poorer performance than using a job name in calling
QMHLJOBL.</p>
<p><strong>Internal job identifier specified.</strong> The internal job
identifier as specified on the call to the API.</p>
<p><strong>Job name specified.</strong> The job name of the job that lists the
messages as specified on the call to the API.</p>
<p><strong>Job name used.</strong> The actual job name of the job that was used
to list the messages.</p>
<p><strong>Job number specified.</strong> The job number of the job that lists
the messages as specified on the call to the API.</p>
<p><strong>Job number used.</strong> The actual job number of the job that was
used to list the messages.</p>
<p><strong>Length of data.</strong> The length of the data returned for the
data field, in bytes.</p>
<p><strong>Length of field information returned.</strong> The total length of
information returned for this field, in bytes.</p>
<p><strong>Length of call message queue name.</strong> The length of the call
message queue name field, in bytes. The maximum length that can be specified is
256. The minimum length is 1.</p>
<p><strong>Length of call message queue specified.</strong> The length of the
call message queue specified field, in bytes.</p>
<p><strong>List direction.</strong> The direction to list messages. You must
use one of these directions:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>*NEXT</em></td>
<td align="left" valign="top">Returns messages that are newer than the message
specified by the starting message key field.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*PRV</em></td>
<td align="left" valign="top">Returns messages that are older than the messages
specified by the starting message key field.</td>
</tr>
</table>
<p>When a batch job is being listed, request messages that have not yet been
processed or received are considered to have a sending date and time later than
all other messages on the job log. This is also true for any diagnostic
messages associated with those request messages.</p>
<p><strong>List direction specified.</strong> The direction to list messages as
specified on the call to the API.</p>
<p><strong>Maximum message help length.</strong> The maximum number of
characters of text that this API returns for field identifiers 0401, 0402,
0403, and 0404. (See <a href="#HDRLIDS2">Valid Field Identifiers</a>.)</p>
<p>Specify a value to limit the number of characters returned for field
identifiers 0401, 0402, 0403, and 0404. This value can be no smaller than 4.
The maximum allowed value is 32765. To specify that the maximum length be used,
use the special value of -1. This value is not checked if field identifiers
0401, 0402, 0403 or 0404 are not specified.</p>
<p><strong>Maximum message help length specified.</strong> The maximum number
of characters to return for field identifiers 0401, 0402, 0403 and 0404 as
specified on the call to the API.</p>
<p><strong>Maximum message length.</strong> The maximum number of characters of
text that this API returns for field identifiers 0301 and 0302.</p>
<p>Specify a value to limit the number of characters returned for field
identifiers 0301 and 0302. (See <a href="#HDRLIDS2">Valid Field
Identifiers</a>.) This value can be no smaller than 4. The maximum allowed
value is 32765. To specify that the maximum length be used, use the special
value -1. This value is not checked if field identifiers 0301 or 0302 are not
specified.</p>
<p><strong>Maximum message length specified.</strong> The maximum number of
characters to return for field identifiers 0301 and 0302 as specified on the
call to the API.</p>
<p><strong>Maximum messages requested.</strong> The maximum number of messages
to be returned.</p>
<p>If fewer messages than the number requested exist on the job message queue,
only the number of messages that exist are returned. No error is signaled, and
the information status field in the generic header would be marked as C for
complete and accurate.</p>
<p>To list all messages in the job log in the specified list direction from the
starting message key, use the special value of -1.</p>
<p><strong>Maximum messages requested specified.</strong> The number of
messages requested to be listed as specified on the call to the API.</p>
<p><strong>Message.</strong> The text of a predefined message without
replacement data substitution. If an impromptu message is listed, this field
contains the impromptu message text.</p>
<p><strong>Message file library specified at send time.</strong> The name of
the library containing the message file as specified when the message was sent.
If *CURLIB or *LIBL were specified for the library when the message was sent,
that value is returned as the library here. For the actual library used when
the message is sent, see the message file library used field.</p>
<p><strong>Message file library used.</strong> The actual name of the library
that contains the message file used to retrieve the message information. If an
immediate message is listed, this field is set to blanks.</p>
<p><strong>Message file name.</strong> The name of the message file containing
the message listed.</p>
<p><strong>Message help.</strong> The message help for the message listed
without formatting characters and without replacement of data. If an impromptu
message is listed, this field contains the impromptu message text.</p>
<p><strong>Message help with formatting characters.</strong> The message help
for the message listed, including formatting characters.</p>
<p>Three format control characters can be returned within the message. In the
Add Message Description (ADDMSGD) command, they are defined to have these
meanings:</p>
<table cellpadding="5">
<!-- cols="10 90" -->
<tr>
<td align="left" valign="top"><em>&amp;N</em></td>
<td align="left" valign="top">Forces the text to a new line (column 2). If the
text is longer than one line, the next lines are indented to column 4 until the
end of text or another format control character is found.</td>
</tr>
<tr>
<td align="left" valign="top"><em>&amp;P</em></td>
<td align="left" valign="top">Forces the text to a new line indented to column
6. If the text is longer than one line, the next lines start in column 4 until
the end of text or another format control character is found.</td>
</tr>
<tr>
<td align="left" valign="top"><em>&amp;B</em></td>
<td align="left" valign="top">Forces the text to a new line, starting in column
4. If the text is longer than one line, the next lines are indented to column 6
until the end of text or another format control character is found.</td>
</tr>
</table>
<p>If an impromptu message is listed, this field contains the immediate message
text.</p>
<p><strong>Message help with replacement data.</strong> The message help for
the message listed, including the replacement data. If an impromptu message is
listed, this field contains the impromptu message text.</p>
<p><strong>Message help with replacement data and formatting
characters.</strong> The message help for the message listed, including the
replacement data and the formatting characters. See the description of the
message help with formatting characters field for an explanation of formatting
characters. If an impromptu message is listed, this field contains the
impromptu message text.</p>
<p><strong>Message identifier.</strong> The identifying code of the message
listed. If an impromptu message is listed, this field is set to blanks.</p>
<p><strong>Message key.</strong> The message reference key of the message
listed.</p>
<p><strong>Message severity.</strong> The severity of the message listed.
Possible values are 0 through 99.</p>
<p><strong>Message type.</strong> The type of message listed. The possible
values and their meanings follow:</p>
<table cellpadding="5">
<!-- cols="10 90" -->
<tr>
<th align="left" valign="top">Value</th>
<th align="left" valign="top">Message Type</th>
</tr>
<tr>
<td width="15%" valign="top">01</td>
<td width="85%" valign="top">Completion</td>
</tr>
<tr>
<td align="left" valign="top">02</td>
<td align="left" valign="top">Diagnostic</td>
</tr>
<tr>
<td align="left" valign="top">04</td>
<td align="left" valign="top">Informational</td>
</tr>
<tr>
<td align="left" valign="top">05</td>
<td align="left" valign="top">Inquiry</td>
</tr>
<tr>
<td align="left" valign="top">06</td>
<td align="left" valign="top">Sender's copy</td>
</tr>
<tr>
<td align="left" valign="top">08</td>
<td align="left" valign="top">Request</td>
</tr>
<tr>
<td align="left" valign="top">10</td>
<td align="left" valign="top">Request with prompting</td>
</tr>
<tr>
<td align="left" valign="top">14</td>
<td align="left" valign="top">Notify, exception already handled when API is
called</td>
</tr>
<tr>
<td align="left" valign="top">15</td>
<td align="left" valign="top">Escape, exception already handled when API is
called</td>
</tr>
<tr>
<td align="left" valign="top">16</td>
<td align="left" valign="top">Notify, exception not handled when API is
called</td>
</tr>
<tr>
<td align="left" valign="top">17</td>
<td align="left" valign="top">Escape, exception not handled when API is
called</td>
</tr>
<tr>
<td align="left" valign="top">21</td>
<td align="left" valign="top">Reply, not checked for validity</td>
</tr>
<tr>
<td align="left" valign="top">22</td>
<td align="left" valign="top">Reply, checked for validity</td>
</tr>
<tr>
<td valign="top">23</td>
<td valign="top">Reply, message default used</td>
</tr>
<tr>
<td valign="top">24</td>
<td valign="top">Reply, system default used</td>
</tr>
<tr>
<td valign="top">25</td>
<td valign="top">Reply, from system reply list</td>
</tr>
<tr>
<td align="left" valign="top">26</td>
<td align="left" valign="top">Reply, from exit program</td>
</tr>
</table>
<p><strong>Message with replacement data.</strong> The text of a predefined
message with the replacement data included. If an impromptu message is listed,
this field contains the impromptu message text.</p>
<p>
<strong>Microseconds.</strong> The microseconds part of the time sent.</p>
<p><strong>Number of fields returned.</strong> The number of identifier fields
returned to the application.</p>
<p><strong>Number of fields to return.</strong> The number of fields to return
in the LJOB0100 format (the number of entries in the identifiers of fields to
return array).</p>
<p><strong>Number of fields to return specified.</strong> The number of
identifier fields to return as specified on the call to the API.</p>
<p><strong>Number of receiving statement numbers or instruction numbers
available followed by an array of the receiving statement numbers.</strong> The
number of statement numbers or instruction numbers available for the receiving
program or procedure.</p>
<p>For OPM programs and nonoptimized procedures, this count is 1.</p>
<p>For optimized procedures, this count can be greater than 1. In this case,
each statement number represents a potential point at which the message could
have been received. If the mapping table information has been removed from the
program, this field returns a count of 0 and no statement numbers are
available. The array of receiving statement numbers or instruction numbers
immediately follows this field in the returned data.</p>
<p><strong>Number of sending statement numbers or instruction numbers available
followed by an array of the sending statement numbers or instruction
numbers.</strong> The number of statement numbers or instruction numbers
available for the sending program or procedure.</p>
<p>For OPM programs and nonoptimized procedures, this count is 1.</p>
<p>For optimized procedures, this count can be greater than 1. In this case,
each statement number represents a potential point at which the message could
have been sent. If the mapping table information has been removed from the
program, this field returns a count of 0, and no statement numbers are
available. The array of sending statement numbers or instruction numbers
immediately follows this field in the returned data.</p>
<p><strong>Offset of fields to return specified.</strong> The offset, in bytes,
from the beginning of the user space to the beginning of the identifiers of
fields to return specified field.</p>
<p><strong>Offset to call message queue name.</strong> The offset, in bytes,
from the beginning of the message selection information parameter to the
beginning of the call message queue name field.</p>
<p><strong>Offset to call message queue specified.</strong> The offset, in
bytes, from the beginning of the user space to the beginning of the call
message queue specified field.</p>
<p><strong>Offset to fields returned.</strong> The offset, in bytes, from the
beginning of the user space to the beginning of the first repeating identified
field of the LJOB0100 format.</p>
<p><strong>Offset to identifiers of fields to return.</strong> The offset, in
bytes, from the beginning of the message selection information parameter to the
beginning of the identifiers of fields to return array.</p>
<p><strong>Offset to the next entry.</strong> The offset, in bytes, from the
beginning of the user space to the beginning of the next message entry.</p>
<p><strong>Offset, in bytes, to the next field information returned.</strong>
The offset from the beginning of the user space to the beginning of the next
repeating identified field of the LJOB0100 format.</p>
<p><strong>Problem identification.</strong> This field can be specified for the
QMHLJOBL API, but it never returns any data and the length of data field is
0.</p>
<p><strong>Qualified job name.</strong> The specific job name of the job whose
messages are to be listed, or one of the following special values:</p>
<table cellpadding="5">
<!-- cols="10 90" -->
<tr>
<td align="left" valign="top"><em>*</em></td>
<td align="left" valign="top">The job that this program is running in. If this
special value is used, the Qualified User Name and Qualified Job Number
parameters must be blank.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*INT</em></td>
<td align="left" valign="top">The internal job identifier locates the job. If
this special value is used, the Qualified User Name and Qualified Job Number
parameters must be blank.</td>
</tr>
</table>
<p><strong>Qualified user name.</strong> A specific user profile name of the
job whose messages are to be listed, or blanks when the Qualified Job Name
parameter is the special value of * or *INT.</p>
<p><strong>Qualified job number.</strong> A specific job number of the job
whose messages are to be listed, or blanks when the Qualified Job Name
parameter is the special value of * or *INT.</p>
<p><strong>Qualified sender job name.</strong> This field can be specified for
the QMHLJOBL API, but it never returns any data and the length of data field is
0.</p>
<p><strong>Receiving module name.</strong> The name of the module that contains
the procedure where the message was sent. If the message was not sent to a
procedure within a ILE program, this field is not set and the length of data
field is 0.</p>
<p><strong>Receiving procedure name.</strong> The name of the procedure
receiving the message. If the message was not sent to a procedure within an ILE
program, this field is not set and the length of data field is 0. A nested
procedure name has each procedure name separated by a colon. The outermost
procedure name is identified first followed by the procedures it contains. The
innermost procedure is identified last in the string.</p>
<p><strong>Receiving program name.</strong> The program name, or the ILE
program name that contains the procedure that the message was sent to.</p>
<p><strong>Receiving type.</strong> The type of the receiver (whether it is a
program or a procedure). Possible values and their meanings follow:</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>0</em></td>
<td align="left" valign="top">Receiver is an original program model (OPM)
program.</td>
</tr>
<tr>
<td align="left" valign="top"><em>1</em></td>
<td align="left" valign="top">Receiver is a procedure within an ILE program,
and the procedure name is up to and including 256 characters in length.</td>
</tr>
<tr>
<td align="left" valign="top"><em>2</em></td>
<td align="left" valign="top">Receiver is a procedure within an ILE program,
and the procedure name is 257 or more characters in length.</td>
</tr>
</table>
<p><strong>Replacement data or impromptu message text.</strong> The values for
replacement variables in a predefined message, or the text of an impromptu
message. If the message identifier field is not blank, this field contains
message data. If the message identifier field is blank, this field contains
impromptu message text.</p>
<p>Any pointer data in this field is marked as not valid if both:</p>
<ul>
<li>The API is called by a call stack entry not running in system state.</li>
<li>The system security level is 50 or above.</li>
</ul>
<p><strong>Reply status.</strong> The reply status of the message (whether it
accepts a reply, and if so, whether a reply has been sent). Possible values and
their meanings follow:</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>A</em></td>
<td align="left" valign="top">Message accepts a reply, and a reply has been
sent.</td>
</tr>
<tr>
<td align="left" valign="top"><em>W</em></td>
<td align="left" valign="top">Message accepts a reply, and a reply has not been
sent. (The message is waiting for a reply.)</td>
</tr>
<tr>
<td align="left" valign="top"><em>N</em></td>
<td align="left" valign="top">Message does not accept a reply.</td>
</tr>
</table>
<p><strong>Request level.</strong> The level of the request-processing program
that received the request message. If the message being listed is not a
request, this field is set to 0.</p>
<p><strong>Request status.</strong> Information regarding the processing status
of the request message. Possible values and their meanings follow:</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>O</em></td>
<td align="left" valign="top">This request message has been received and
processed.</td>
</tr>
<tr>
<td align="left" valign="top"><em>C</em></td>
<td align="left" valign="top">This request message is currently being
processed.</td>
</tr>
<tr>
<td align="left" valign="top"><em>N</em></td>
<td align="left" valign="top">This request message has not yet been
processed.</td>
</tr>
</table>
<p>If the message being listed is not a request, this field is set to a blank
character.</p>
<p><strong>Reserved.</strong> An ignored field.</p>
<p><strong>Sender type.</strong> The type of the sender (whether it is a
program or procedure). Possible values and their meanings follow:</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>0</em></td>
<td align="left" valign="top">Sender is an OPM or a System Licensed Internal
Code (SLIC) program with a name that is 12 characters or less.</td>
</tr>
<tr>
<td align="left" valign="top"><em>1</em></td>
<td align="left" valign="top">Sender is a procedure within an ILE program, and
the procedure name is up to and including 256 characters in length.</td>
</tr>
<tr>
<td align="left" valign="top"><em>2</em></td>
<td align="left" valign="top">Sender is a procedure within an ILE program, and
the procedure name is from 257 characters up to and including 4096 characters
in length.</td>
</tr>
<tr>
<td align="left" valign="top"><em>3</em></td>
<td align="left" valign="top">Sender is a SLIC program with a name that is from
13 characters up to and including 256 characters in length.</td>
</tr>
</table>
<p><strong>Sending module name.</strong> The name of the module that contains
the procedure sending the message. If the message was not sent by a procedure
within an ILE program, this field is not set and the length of data field is
0.</p>
<p><strong>Sending procedure name.</strong> The name of the procedure sending
the message. If the message was not sent by a procedure within an ILE program,
this field is not set and the length of data field is 0. A nested procedure
name has each procedure name separated by a colon. The outermost procedure name
is identified first followed by the procedures it contains. The innermost
procedure is identified last in the string.</p>
<p><strong>Sending program name.</strong> The sending program name or ILE
program name that contains the procedure sending the message.</p>
<p><strong>Sending user profile.</strong> The name of the user profile that the thread
was running under when the message was sent.</p>
<p><strong>Size of message selection information specified.</strong> The size
of the message selection information field, in bytes, as specified in the call
to the API.</p>
<p><strong>Starting message key.</strong> The message key to begin searching
for messages to list from the job. You can use these special values for the
message key:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>'00000000'X</em></td>
<td align="left" valign="top">The first message to be returned is the oldest
message in the queue.</td>
</tr>
<tr>
<td align="left" valign="top"><em>'FFFFFFFF'X</em></td>
<td align="left" valign="top">The first message to be returned is the newest
message in the queue.</td>
</tr>
</table>
<p>When the list direction field is *NEXT, the first message listed is the
first message with a message key equal to or greater than the key specified. If
no message is found in this manner, an error is returned. When the list
direction field is *PRV, the first message listed is the first message with a
message key equal or less than the key specified. If no message is found in
this manner, an error is returned.</p>
<p>If a key of a reply message is specified, the message search begins with the
inquiry, sender's copy, or notify message with which the reply is associated.
It does not begin with the reply message itself.</p>
<p><strong>Note:</strong> When a batch job is being listed, request messages
that have not yet been processed or received are considered to have a sending
date and time later than all other messages on the job log. This is also true
for any diagnostic messages associated with those request messages. If the
starting message key provided is to one of these messages, and the list
direction is *NEXT, only additional request messages and associated diagnostic
messages that remain to be processed are listed. If the list direction is *PRV,
any earlier request messages or associated diagnostic messages are listed.
These are followed by messages on the job log associated with request messages
that have been or are being processed.</p>
<p><strong>Starting message key specified.</strong> The starting message key as
specified on the call to the API.</p>
<p><strong>Starting message key used.</strong> The message keys of the first
message actually listed by the API. If no message is listed, the value returned
is the same as the value specified in the starting message key specified
field.</p>
<p><strong>Status of data.</strong> The status of the data listed for this
message. Possible values and their meanings follow:</p>
<table cellpadding="5">
<!-- cols="10 90" -->
<tr>
<td align="left" valign="top"><em>blank</em></td>
<td align="left" valign="top">The data returned is complete.</td>
</tr>
<tr>
<td align="left" valign="top"><em>A</em></td>
<td align="left" valign="top">The caller of the API was not authorized to view
the data. This occurs when the caller of the API is not authorized to the
message file or the message file library containing a stored message being
listed.</td>
</tr>
<tr>
<td align="left" valign="top"><em>D</em></td>
<td align="left" valign="top">The data was damaged. This occurs when the
message file or library specified at send time for a stored message is damaged
when the API is called.</td>
</tr>
<tr>
<td align="left" valign="top"><em>U</em></td>
<td align="left" valign="top">The data was unavailable. This occurs when the
message file or library specified at send time for a stored message is
exclusively used by another process when the API is called.</td>
</tr>
<tr>
<td align="left" valign="top"><em>N</em></td>
<td align="left" valign="top">The data was not found. This occurs when the
message file or library specified at send time for a stored message cannot be
found or resolved when the API is called.</td>
</tr>
</table>
<p>This field is applicable to the field identifiers that are retrieved from
the message file for a stored message. A description of the action that occurs
for specific field identifiers when the status of data field is not blank
follows:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>0101</em></td>
<td align="left" valign="top">When the status of data field is not blank, the
alert option field identifier contains blanks.</td>
</tr>
<tr>
<td align="left" valign="top"><em>0301,&nbsp;0302</em></td>
<td align="left" valign="top">When the status of data field is not blank, these
message field identifiers contain message text regarding the problem
encountered while attempting to access the message file. Both fields have the
replacement data substituted.</td>
</tr>
<tr>
<td align="left" valign="top"><em>0401, 0402, 0403, 0404</em></td>
<td align="left" valign="top">When the status of data field is not blank, these
message help field identifiers contain message text regarding the problem
encountered while attempting to access the message file. All fields have the
replacement data substituted. The message help with formatting characters and
message help with replacement data and formatting characters field identifiers
also have the message formatting characters included.</td>
</tr>
<tr>
<td align="left" valign="top"><em>0501</em></td>
<td align="left" valign="top">When the status of data field is not blank, the
default reply field identifier contains the system default reply.</td>
</tr>
<tr>
<td align="left" valign="top"><em>0801</em></td>
<td align="left" valign="top">When the status of data field is not blank, the
message file library used field identifier contains blanks.</td>
</tr>
</table>
<p>This field is also applicable to the various sending and receiving
information fields when a problem is encountered while attempting to retrieve
this information. This includes field identifiers 0602, 0603, 0604, 0605, 0606,
0702, 0703, 0704, 0705, and 0706. When one of these fields cannot be retrieved
from the message, the status of data field is set to U and the field is set to
blanks.</p>
<p>The status of data field is always blank for the other field
identifiers.</p>
<p><img src= "v5r4adelta.gif" alt="Start of change">
<strong>Thread ID.</strong> The 8-byte thread ID of the thread in
which this message was sent.
<img src="v5r4adeltaend.gif" alt="End of change"></p>
<p><strong>Time sent.</strong> The time at which the message being listed was
sent, in HHMMSS (hour, minute, and second) format.</p>
<p><strong>Type of data.</strong> The type of data returned.</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>C</em></td>
<td align="left" valign="top">The data is returned in character format.</td>
</tr>
<tr>
<td align="left" valign="top"><em>B</em></td>
<td align="left" valign="top">The data is returned in binary format.</td>
</tr>
<tr>
<td align="left" valign="top"><em>M</em></td>
<td align="left" valign="top">The data is returned in a mixed format. This
value is returned for the field IDs 0606 and 0706, which contain a binary(4)
value followed by an array of 10-character elements.</td>
</tr>
</table>
<p><strong>User profile specified.</strong> The user profile of the job from
which to list messages as specified on the call to the API.</p>
<p><strong>User profile used.</strong> The actual user profile of the job used
from which to list messages.</p>
<p><strong>User space library specified.</strong> The name of the user space
library as specified on the call to the API.</p>
<p><strong>User space library used.</strong> The actual name of the library
where the user space was found.</p>
<p><strong>User space name specified.</strong> The name of the user space as
specified on the call to the API.</p>
<p><strong>User space name used.</strong> The actual name of the user space
used to store the data listed.</p>
<br>
<h3>Error Messages</h3>
<table width="100%" cellpadding="5">
<tr>
<th align="left" valign="top">Message ID</th>
<th align="left" valign="top">Error Message Text</th>
</tr>
<tr>
<td align="left" valign="top" width="15%">CPF1866 E</td>
<td align="left" valign="top" width="85%">Value &amp;1 for number of fields to
return not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF24B4 E</td>
<td align="left" valign="top">Severe error while addressing parameter
list.</td>
</tr>
<tr>
<td align="left" valign="top">CPF24B7 E</td>
<td align="left" valign="top">Value &amp;1 for call stack entry name length not
valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF240D E</td>
<td align="left" valign="top">Message search direction specified is not
valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF240E E</td>
<td align="left" valign="top">Format name of message selection information is
not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF240F E</td>
<td align="left" valign="top">Field identifier is not valid or is a duplicate
of another field identifier specified.</td>
</tr>
<tr>
<td align="left" valign="top">CPF241E E</td>
<td align="left" valign="top">Call stack entry name is not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF241F E</td>
<td align="left" valign="top">Length &amp;1 specified for maximum message
length is not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF2410 E</td>
<td align="left" valign="top">Message key not found in message queue
&amp;1.</td>
</tr>
<tr>
<td align="left" valign="top">CPF2441 E</td>
<td align="left" valign="top">Not authorized to display job log.</td>
</tr>
<tr>
<td align="left" valign="top">CPF2443 E</td>
<td align="left" valign="top">Job log not displayed or listed because job has
ended.</td>
</tr>
<tr>
<td align="left" valign="top">CPF247D E</td>
<td align="left" valign="top">Size of message selection information, &amp;1, is
not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF247E E</td>
<td align="left" valign="top">CCSID &amp;1 is not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF2476 E</td>
<td align="left" valign="top">The maximum number of messages to list, &amp;1,
is not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF252F E</td>
<td align="left" valign="top">Length &amp;1 specified for maximum message help
length is not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF2532 E</td>
<td align="left" valign="top">Job message queue is damaged. Job log ended.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3CAA E</td>
<td align="left" valign="top">List is too large for user space &amp;1.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3CF1 E</td>
<td align="left" valign="top">Error code parameter not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3C21 E</td>
<td align="left" valign="top">Format name &amp;1 is not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3C51 E</td>
<td align="left" valign="top">Internal job identifier not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3C52 E</td>
<td align="left" valign="top">Internal job identifier no longer valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3C53 E</td>
<td align="left" valign="top">Job &amp;3/&amp;2/&amp;1 not found.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3C55 E</td>
<td align="left" valign="top">Job &amp;3/&amp;2/&amp;1 does not exist.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3C58 E</td>
<td align="left" valign="top">Job name specified is not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3C59 E</td>
<td align="left" valign="top">Internal identifier is not blanks and job name is
not *INT.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3C90 E</td>
<td align="left" valign="top">Literal value cannot be changed.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9801 E</td>
<td align="left" valign="top">Object &amp;2 in library &amp;3 not found.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9802 E</td>
<td align="left" valign="top">Not authorized to object &amp;2 in &amp;3.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9803 E</td>
<td align="left" valign="top">Cannot allocate object &amp;2 in library
&amp;3.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9807 E</td>
<td align="left" valign="top">One or more libraries in library list
deleted.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9808 E</td>
<td align="left" valign="top">Cannot allocate one or more libraries on library
list.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9810 E</td>
<td align="left" valign="top">Library &amp;1 not found.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9811 E</td>
<td align="left" valign="top">Program &amp;1 in library &amp;2 not found.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9812 E</td>
<td align="left" valign="top">File &amp;1 in library &amp;2 not found.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9814 E</td>
<td align="left" valign="top">Device &amp;1 not found.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9820 E</td>
<td align="left" valign="top">Not authorized to use library &amp;1.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9821 E</td>
<td align="left" valign="top">Not authorized to program &amp;1 in library
&amp;2.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9822 E</td>
<td align="left" valign="top">Not authorized to file &amp;1 in library
&amp;2.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9825 E</td>
<td align="left" valign="top">Not authorized to device &amp;1.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9830 E</td>
<td align="left" valign="top">Cannot assign library &amp;1.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9831 E</td>
<td align="left" valign="top">Cannot assign device &amp;1.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9838 E</td>
<td align="left" valign="top">User profile storage limit exceeded.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9872 E</td>
<td align="left" valign="top">Program or service program &amp;1 in library
&amp;2 ended. Reason code &amp;3.</td>
</tr>
</table>
<br>
<hr>
API introduced: V2R3
<hr>
<center>
<table cellpadding="2" cellspacing="2">
<tr align="center">
<td valign="middle" align="center"><a href="#Top_Of_Page">Top</a> | <a href=
"mh1.htm">Message Handling APIs</a> | <a href="aplist.htm">APIs by
category</a></td>
</tr>
</table>
</center>
</body>
</html>