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

1925 lines
58 KiB
HTML
Raw Normal View History

2024-04-02 14:02:31 +00:00
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Copyright" content="Copyright (c) 2006 by IBM Corporation">
<title>Open List of Messages (QGYOLMSG) 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>Open List of Messages (QGYOLMSG) API</h2>
<div class="box" style="width: 80%;">
<br>
&nbsp;&nbsp;Required Parameter Group:<br>
<!-- iddvc RMBR -->
<br>
<table width="100%">
<tr>
<td align="center" valign="top" width="10%">1</td>
<td align="left" valign="top" width="50%">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">List information</td>
<td align="left" valign="top">Output</td>
<td align="left" valign="top">Char(80)</td>
</tr>
<tr>
<td align="center" valign="top">4</td>
<td align="left" valign="top">Number of records to return</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">Sort information</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Char(1)</td>
</tr>
<tr>
<td align="center" valign="top">6</td>
<td align="left" valign="top">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">7</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">8</td>
<td align="left" valign="top">User or queue information</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Char(21)</td>
</tr>
<tr>
<td align="center" valign="top">9</td>
<td align="left" valign="top">Message queues used</td>
<td align="left" valign="top">Output</td>
<td align="left" valign="top">Char(44)</td>
</tr>
<tr>
<td align="center" valign="top">10</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 Open List of Messages (QGYOLMSG) API provides information on one of the
following:</p>
<ul>
<li>Messages for the current user</li>
<li>Messages for a specific user</li>
<li>Messages on one specific message queue</li>
</ul>
<p>If messages for the current user are to be listed, the user's messages are
listed from both the user message queue and the APPC device message queue. The
messages are sorted by their type and sending date and time, unless the message
being listed is a message needing a reply or a reply message. When a reply
message exists for a message needing a reply, the reply message is not
positioned by the sending date and time of the reply. The reply message is
listed immediately after the message that needs a reply.</p>
<p>This API only lists messages from nonprogram message queues. The Open List
of Messages API cannot be used to list messages sent to a job log (including
*EXT) or to list messages sent to the QHST message queue.</p>
<p>New messages are prevented from being added to or removed from the message
queues listed during the use of the QGYOLMSG API when it calls the List
Nonprogram Messages (QMHLSTM) API.</p>
<p>Message file overrides are not honored by the server job when the list is
built asynchronously by the server job.</p>
<p><strong>Note:</strong> The QTEMP library and the system portion of the
library list could be different between the main job and the server job when
the list is being built asynchronously. If this is a problem, then request that
the list be built synchronously.</p>
<p>For more information, see <a href="misc1b.htm">Process Open List
APIs</a>.</p>
<br>
<h3>Differences between the QMHLSTM and QGYOLMSG APIs</h3>
<p>The differences between the QGYOLMSG API and the List Nonprogram Messages
(QMHLSTM) API follow:</p>
<ul>
<li>The message information for the QGYOLMSG API is returned into a receiver
variable instead of a user space.</li>
<li>The request handle parameter was added to the QGYOLMSG API so that a
distinct value is associated with the list. This value ensures that a request
for more messages from the list (Get List Entries (QGYGTLE) API) is sent to the
correct list.</li>
<li>The total records parameter was added to the QGYOLMSG API so that the
caller of the API knows the size of the list from which information can be
requested.</li>
<li>The records returned parameter was added to the QGYOLMSG API. If the
request is for X records and only Y records exist (where Y &gt; X), the
requestor is aware that it did not get the number of records requested.</li>
<li>The amount of information returned by the QMHLSTM API is limited by the
size of a user space, approximately 16MB. The list created by the QGYOLMSG
API can contain up to 2GB of information.</li>
</ul>
<br>
<h3>Difference between the QSYRUSRI and QGYOLMSG APIs</h3>
<p>The difference between the QGYOLMSG API and the Retrieve User Information
(QSYRUSRI) API is:</p>
<ul>
<li>The user name parameter was added to the QGYOLMSG API so that the message
queue name for that user can be retrieved by calling the QSYRUSRI API.</li>
</ul>
<br>
<h3>Authorities and Locks</h3>
<dl>
<dt><em>Message Queue</em></dt>
<dd>*USE</dd>
<dt><em>Message Queue Library</em></dt>
<dd>*EXECUTE</dd>
</dl>
<br>
<h3>Required Parameter Group</h3>
<dl>
<dt><strong>Receiver variable</strong></dt>
<dd>OUTPUT; CHAR(*)
<p>The receiver variable that receives the information requested. You can
specify the size of the area to be smaller than the format requested as long as
you specify the length parameter correctly. As a result, the API returns only
the data that the area can hold.</p>
<p>The entries returned are in the LSTM0100 format. See <a href="#HDRQGY1">
LSTM0100 Format</a> for information about the format.</p>
</dd>
<dt><strong>Length of receiver variable</strong></dt>
<dd>INPUT; BINARY(4)
<p>The length of the receiver variable provided. The length of receiver
variable parameter may be specified up to the size of the 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.</p>
</dd>
<dt><strong>List information</strong></dt>
<dd>OUTPUT; CHAR(80)
<p>The variable used to return status information about the list of messages
that was opened. For a description of the layout of this parameter, see <a
href="../apiref/oli.htm">Format of Open List Information</a>.</p>
</dd>
<dt><strong>Number of records to return</strong></dt>
<dd>INPUT; BINARY(4)
<p>The number of records in the list to put into the receiver variable after
the sorting has been done. The valid values for this field are as follows:</p>
<table cellpadding="5">
<!-- cols="10 90" -->
<tr>
<td align="left" valign="top"><em>-1</em></td>
<td align="left" valign="top">All records are built synchronously in the list
by the main job.</td>
</tr>
<tr>
<td align="left" valign="top"><em>0</em></td>
<td align="left" valign="top">All records are built asynchronously in the list
by a server job.</td>
</tr>
</table>
<p>If a positive number of records is specified, at least that many records are
built synchronously (in order to return those records immediately to the caller
of this API), and the remainder are built asynchronously by a server job.</p>
</dd>
<dt><strong>Sort information</strong></dt>
<dd>INPUT; CHAR(1)
<p>Indicates whether the list should be sorted by type if the selection
criteria contains *ALL. Possible values are as follows:</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>0</em></td>
<td align="left" valign="top">No sort</td>
</tr>
<tr>
<td align="left" valign="top"><em>1</em></td>
<td align="left" valign="top">Sort by the following message types in the listed
order:
<table cellpadding="5">
<tr>
<td align="left" valign="top"><em>*MNR</em></td>
<td align="left" valign="top">Unanswered, inquiry-type messages</td>
</tr>
<tr>
<td align="left" valign="top"><em>*SCNR</em></td>
<td align="left" valign="top">Unanswered, sender's-copy type of messages</td>
</tr>
<tr>
<td align="left" valign="top"><em>*MNNR</em></td>
<td align="left" valign="top">Informational, completion, diagnostic, request,
notify, escape, request, answered inquiry, and answered, sender's-copy type
messages.</td>
</tr>
</table>
</td>
</tr>
</table>
<br>
</dd>
<dt><strong>Message selection information</strong></dt>
<dd>INPUT; CHAR(*)
<p>The information that determines the message queues and messages to be
listed. The format of this information is described in <a href="#HDRMSGSI">
Message Selection Information 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. The
minimum value required for this parameter is 62.</p>
</dd>
<dt><strong>User or queue information</strong></dt>
<dd>INPUT; CHAR(21)
<p>The name that is given (the user name or the qualified user message queue
name) and the value of that name. This parameter consists of the following
parts:</p>
<dl>
<dt><em>User or queue indicator</em></dt>
<dd>CHAR(1)
<p>Whether a value is given in the user name part of this parameter, or in the
qualified-user message queue name part of this parameter. One of the following
values must be specified:</p>
<table cellpadding="3">
<!-- cols="5 95" -->
<tr>
<td valign="top"><em>0</em></td>
<td valign="top">The user name is given</td>
</tr>
<tr>
<td valign="top"><em>1</em></td>
<td valign="top">The user message queue name is given</td>
</tr>
</table>
<p>Depending on the value of this parameter, either the user name or the
qualified-user message queue name contains a nonblank value.</p>
</dd>
<dt><em>User or queue name</em></dt>
<dd>CHAR(20)
<p>If the user or queue indicator value is 0, the first 10 characters specify
the user name for which information is returned; the last 10 characters must be
blank. You can specify the following special value in the first 10
characters:</p>
<table cellpadding="3">
<!-- cols="15 85" -->
<tr>
<td valign="top"><em>*CURRENT</em></td>
<td valign="top">The information for the user running currently is
returned.</td>
</tr>
</table>
<p>This value is used to get the message queue name for the user.</p>
<p>If the user or queue indicator value is 1, this field contains the name of a
message queue. The first 10 characters contain the name of the message queue,
and the second 10 characters contain the name of the library where the message
queue is located.</p>
</dd>
</dl>
</dd>
<dt><strong>Message queues used</strong></dt>
<dd>OUTPUT; CHAR(44)
<p>The name given (the user name or the qualified user message queue name) and
the value of that name. This parameter consists of two parts:</p>
<dl>
<dt><em>Number of queues used</em></dt>
<dd>BINARY(4)
<p>The number of message queues used to build the list. This value is 2 if both
of the following list items are true:</p>
<ul>
<li>*CURRENT is specified for the user name in the user or queue information
parameter</li>
<li>Messages from both a user queue and a workstation message queue are
included in the list.</li>
</ul>
<p>Otherwise, this value is set to 1.</p>
</dd>
<dt><em>Message queue names</em></dt>
<dd>ARRAY(2) OF CHAR(20)
<p>An array of qualified message queue names, which contain the names of the
queues used to build the list. For each array element, the first 10 characters
represent the message queue name, and the last 10 characters hold the library
name.</p>
</dd>
</dl>
</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><a name="HDRQGY1">LSTM0100 Format</a></h3>
<p>The following table shows the information returned in the receiver variable
for the LSTM0100 format. The offsets listed are from the beginning of the
receiver variable. For a detailed description of each field, see <a href=
"#HDRLFDD">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(10)</td>
<td align="left" valign="top">Message queue</td>
</tr>
<tr>
<td align="center" valign="top">59</td>
<td align="center" valign="top">3B</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Message queue library used</td>
</tr>
<tr>
<td align="center" valign="top">69</td>
<td align="center" valign="top">45</td>
<td align="left" valign="top">CHAR(7)</td>
<td align="left" valign="top">Date sent</td>
</tr>
<tr>
<td align="center" valign="top">76</td>
<td align="center" valign="top">4C</td>
<td align="left" valign="top">CHAR(6)</td>
<td align="left" valign="top">Time sent</td>
</tr>
<tr>
<td align="center" valign="top">
82</td>
<td align="center" valign="top">52</td>
<td align="left" valign="top">CHAR(6)</td>
<td align="left" valign="top">Microseconds</td>
</tr>
<tr>
<td align="center" valign="top">
88</td>
<td align="center" valign="top">58/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="HDRLFDD">Field Descriptions</a></h3>
<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>Identifier field.</strong> The field returned. See <a href=
"#HDRVTFD2">Valid Field Identifiers</a> for the list of valid field
identifiers.</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>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 was 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 identifier.</p>
<p><strong>Message file name.</strong> The name of the message file containing
the message listed.</p>
<p><strong>Message identifier.</strong> The identifying code of the message
listed. If an immediate message is listed, this field is set to blanks.</p>
<p><strong>Message key.</strong> The key of the message listed.</p>
<p><strong>Message queue.</strong> The name of the message queue where the
message was listed.</p>
<p><strong>Message queue library used.</strong> The actual library that
contains the message queue.</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="15 85" -->
<tr>
<th align="left" valign="top">Value</th>
<th align="left" valign="top">Message Type</th>
</tr>
<tr>
<td align="left" valign="top" width="15%">01</td>
<td align="left" valign="top" width="85%">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 align="left" valign="top">23</td>
<td align="left" valign="top">Reply, message default used</td>
</tr>
<tr>
<td align="left" valign="top">24</td>
<td align="left" valign="top">Reply, system default used</td>
</tr>
<tr>
<td align="left" valign="top">25</td>
<td align="left" 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>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>Offset to fields returned.</strong> The offset, in bytes, from the
beginning of the receiver variable to the beginning of the first repeating
identified field of the LSTM0100 format.</p>
<p><strong>Offset to the next entry.</strong> The offset, in bytes, from the
beginning of the receiver variable to the beginning of the next message
entry.</p>
<p><strong>Offset to the next field information returned.</strong> The offset,
in bytes, from the beginning of the receiver variable to the beginning of the
next repeating identified field of the LSTM0100 format.</p>
<p><strong>Reserved.</strong> An ignored 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 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 about 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 the text of the message 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 information fields
(identifiers 0601, 0603) when a problem is encountered while attempting to
retrieve this information. When one of these fields cannot be retrieved from
the message:</p>
<ul>
<li>The status of data field is set to N.</li>
<li>The length of data field is set to 0.</li>
</ul>
<p>The status of data field is always blank for the other field identifiers.
The length of data field is zero.</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.</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDRMSGSI">Message Selection Information Format</a></h3>
<p>The organization of the message selection information parameter is shown
below. For detailed descriptions of each field, see <a href="#HDRMTFD2">Field
Descriptions</a>.</p>
<table border width="80%">
<tr>
<th align="center" valign="bottom" colspan="2">Offset</th>
<th align="left" valign="bottom" rowspan="2">Type</th>
<th align="left" valign="bottom" rowspan="2">Field</th>
</tr>
<tr>
<th align="center" valign="bottom">Dec</th>
<th align="center" valign="bottom">Hex</th>
</tr>
<tr>
<td align="center" valign="top" width="10%">0</td>
<td align="center" valign="top" width="10%">0</td>
<td align="left" valign="top" width="20%">CHAR(10)</td>
<td align="left" valign="top" width="60%">List direction</td>
</tr>
<tr>
<td align="center" valign="top">10</td>
<td align="center" valign="top">0A</td>
<td align="left" valign="top">CHAR(2)</td>
<td align="left" valign="top">Reserved</td>
</tr>
<tr>
<td align="center" valign="top">12</td>
<td align="center" valign="top">0C</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Severity criteria</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">Maximum message length</td>
</tr>
<tr>
<td align="center" valign="top">20</td>
<td align="center" valign="top">14</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">24</td>
<td align="center" valign="top">18</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Offset of selection criteria</td>
</tr>
<tr>
<td align="center" valign="top">28</td>
<td align="center" valign="top">1C</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Number of selection criteria</td>
</tr>
<tr>
<td align="center" valign="top">32</td>
<td align="center" valign="top">20</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Offset of starting message keys</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">Offset of identifiers of fields to return</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">Number of fields to return</td>
</tr>
<tr>
<td align="left" valign="top" rowspan="3" colspan="2">The offsets to these
fields are specified in the previous offset variables.</td>
<td align="left" valign="top">ARRAY(*) of CHAR(10)</td>
<td align="left" valign="top">Selection criteria</td>
</tr>
<tr>
<td align="left" valign="top">ARRAY(*) of CHAR(4)</td>
<td align="left" valign="top">Starting message keys</td>
</tr>
<tr>
<td align="left" valign="top">ARRAY(*) of BINARY(4)</td>
<td align="left" valign="top">Identifiers of fields to return</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDRMTFD2">Field Descriptions</a></h3>
<p><strong>Identifiers of fields to return.</strong> The list of the
identifiers of fields to be returned in the receiver variable. For a list of
the valid field identifiers, see <a href="#HDRVTFD2">Valid Field
Identifiers</a>.</p>
<p>The reply status field must always be requested.</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">Return messages that are newer than the messages
specified by the starting message keys parameter. *NEXT lists the messages
starting with the oldest message first in the list, and the most recently sent
message last in the list.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*PRV</em></td>
<td align="left" valign="top">Return messages that are older than the messages
specified by the starting message keys parameter. *PRV lists the messages
starting with the most recently sent message first in the list, and the oldest
message last in the list.</td>
</tr>
</table>
<p>If multiple message queues are to be listed, messages are intermixed and
sorted by date and time in the specified manner.</p>
<p><strong>Maximum message help length.</strong> The maximum length to be
returned for fields 0401, 0402, 0403, and 0404.</p>
<p><strong>Maximum message length.</strong> The maximum length to be returned
for fields 0301 and 0302.</p>
<p><strong>Number of fields to return.</strong> The number of fields to return.
The reply status field must always be requested.</p>
<p><strong>Number of selection criteria.</strong> The number of selection
criteria specified. You must specify at least 1 and no more than 3.</p>
<p><strong>Offset of 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 of starting message keys.</strong> The offset, in bytes, from
the beginning of the message selection information parameter to the beginning
of the starting message keys array.</p>
<p><strong>Offset to selection criteria.</strong> The offset, in bytes, from
the beginning of the message selection information parameter to the beginning
of the selection criteria array.</p>
<p><strong>Reserved.</strong> An ignored field.</p>
<p><strong>Selection criteria.</strong> The type of messages to be listed. You
must use at least one of these values and no more than three for this
parameter. If more than one value is given and one of them is *ALL, an error is
given. If more than one value is given, the messages are grouped by type.
Specifying all three values is equivalent to specifying *ALL and requesting
sorting.</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>*ALL</em></td>
<td align="left" valign="top">All messages are to be listed.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*MNR</em></td>
<td align="left" valign="top">Only messages that need a reply are listed. This
includes only unanswered, inquiry-type messages.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*SCNR</em></td>
<td align="left" valign="top">Only the sender's copy messages that need a reply
are listed. This includes only unanswered, sender's-copy type of messages.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*MNNR</em></td>
<td align="left" valign="top">Only messages that do not need a reply are
listed. This includes informational, completion, diagnostic, request, notify,
escape, request, answered inquiry, and answered, sender's-copy type of
messages.</td>
</tr>
</table>
<p><strong>Severity criteria.</strong> The minimum severity of a message to be
included in the list. The value must be in the range 0 to 99. To list all
messages, specify a severity criteria of 0.</p>
<p><strong>Starting message keys.</strong> The message key used to begin
searching for messages to list from the corresponding entry in the message
queue. If *CURRENT is specified for the user name in the user or queue
information parameter, two values must be specified. The first value is the
starting message key for the current user's user message queue. The second
value is the starting message key for the current user's workstation message
queue. If either a specific user name or a specific message queue name is
specified in the user or queue information parameter, only one message key is
used.</p>
<p>You can use these special values for the message keys:</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>If a value other than '00000000'X or 'FFFFFFFF'X is specified and a message
with that key does not exist, an error is returned. If a key of a reply message
is specified, the message search begins with the inquiry or sender's copy
message that the reply is associated with, not the reply message itself.</p>
<p>If the message specified by the starting message key exists but does not
meet the selection criteria and severity criteria parameters specified, no
error is returned and the search for messages to list begins from the message
specified by the starting message key.</p>
<br>
<h3><a name="HDRVTFD2">Valid Field Identifiers</a></h3>
<p>For a detailed description of each field, see <a href="#HDRTFD2">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 immediate 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">1002</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Critical break message 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="HDRTFD2">Field Descriptions</a></h3>
<p><strong>Alert option.</strong> Whether and when an SNA alert is created and
sent for the message. If a message is listed, 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>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 that 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 data 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 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 (CCSID) for data field for this information.</p>
<p><strong>Critical break message status.</strong> Whether the message was sent
by the operating system as a critical break message. The following values are
returned:</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>1</em></td>
<td align="left" valign="top">The message was sent as a critical break
message.</td>
</tr>
<tr>
<td align="left" valign="top"><em>0</em></td>
<td align="left" valign="top">The message was not sent as a critical break
message.</td>
</tr>
</table>
<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>Message.</strong> The text of a predefined message without
replacement data substitution. If an immediate message is listed, this field
contains the immediate message text.</p>
<p><strong>Message file library used.</strong> The actual name of the library
that contains the message file that is used to retrieve the message
information. If an immediate message is listed, this field is set to
blanks.</p>
<p><strong>Message help.</strong> The message help for the message listed
without formatting characters and without replacement of data. If an immediate
message is listed, this field contains the immediate 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. They are
defined in the online help of the Add Message Description (ADDMSGD) command to
have these meanings:</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<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 immediate 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 immediate message is
listed, this field contains the immediate 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 immediate message is listed, this field contains the
immediate message text.</p>
<p><strong>Message with replacement data.</strong> The text of a predefined
message with the replacement data included. If an immediate message is listed,
this field contains the immediate message text.</p>
<p><strong>Number of receiving statement numbers or instruction numbers
available followed by an array of the receiving statement numbers or
instruction numbers.</strong> This field can be specified for the QGYOLMSG API,
but it never returns any data and the length of data field is 0.</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> This field can be specified for the QGYOLMSG API, but it
never returns any data and the length of data field is 0.</p>
<p><strong>Problem identification.</strong> The number the system generates to
identify a problem if problem analysis can be run for the message being listed.
The problem identification is in the following format:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>CHAR 1-10</em></td>
<td align="left" valign="top">Problem ID number. The number the system
generates to identify the problem.</td>
</tr>
<tr>
<td align="left" valign="top"><em>CHAR 11-30</em></td>
<td align="left" valign="top">Origin system in the format <em>
network-ID.control-point-name.</em></td>
</tr>
</table>
<p>If problem analysis cannot be run, and this field is specified, the length
of data field is 0.</p>
<p><strong>Qualified sender job name.</strong> The name of the job that sent
the message. The job name has three parts:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>CHAR 1-10</em></td>
<td align="left" valign="top">The specific job name.</td>
</tr>
<tr>
<td align="left" valign="top"><em>CHAR 11-20</em></td>
<td align="left" valign="top">The specific user profile name.</td>
</tr>
<tr>
<td align="left" valign="top"><em>CHAR 21-26</em></td>
<td align="left" valign="top">The specific job number.</td>
</tr>
</table>
<p><strong>Receiving module name.</strong> This field can be specified for the
QGYOLMSG API, but it never returns any data and the length of data field is
0.</p>
<p><strong>Receiving procedure name.</strong> This field can be specified for
the QGYOLMSG API, but it never returns any data and the length of data field is
0.</p>
<p><strong>Receiving program name.</strong> This field can be specified for the
QGYOLMSG API, but it never returns any data and the length of data field is
0.</p>
<p><strong>Receiving type.</strong> This field can be specified for the
QGYOLMSG API, but it never returns any data and the length of data field is
0.</p>
<p><strong>Replacement data or immediate message text.</strong> The values for
replacement variables in a predefined message, or the text of an immediate
message. If the message identifier field is not blank, this field contains
message data. If the message identifier field is blank, this field contains
immediate message text.</p>
<p>Any pointer data in this field is marked as not valid if both of the
following are true:</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). This field must
always be requested. 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> This field can be specified for the QGYOLMSG
API, but it never returns any data and the length of data field is 0.</p>
<p><strong>Request status.</strong> This field can be specified for the
QGYOLMSG API, but it never returns any data and the length of data field is
0.</p>
<p><strong>Sender type.</strong> This field can be specified for the QGYOLMSG
API, but it never returns any data and the length of data field is 0.</p>
<p><strong>Sending module name.</strong> This field can be specified for the
QGYOLMSG API, but it never returns any data and the length of data field is
0.</p>
<p><strong>Sending procedure name.</strong> This field can be specified for the
QGYOLMSG API, but it never returns any data and the length of data field is
0.</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>
<br>
<h3>Error Messages</h3>
<table width="100%" cellpadding="5">
<!-- cols="15 85" -->
<tr>
<th align="left" valign="top">Message ID</th>
<th align="left" valign="top">Error Message Text</th>
</tr>
<tr>
<td width="15%" valign="top">CPF2203 E</td>
<td width="85%" valign="top">User profile &amp;1 not correct.</td>
</tr>
<tr>
<td valign="top">CPF2204 E</td>
<td valign="top">User profile &amp;1 not found.</td>
</tr>
<tr>
<td valign="top">CPF2207 E</td>
<td valign="top">Not authorized to use object &amp;1 in library &amp;3 type
*&amp;2.</td>
</tr>
<tr>
<td valign="top">CPF2213 E</td>
<td valign="top">Not able to allocate user profile &amp;1.</td>
</tr>
<tr>
<td valign="top">CPF2217 E</td>
<td valign="top">Not authorized to user profile &amp;1.</td>
</tr>
<tr>
<td valign="top">CPF2225 E</td>
<td valign="top">Not able to allocate internal system object.</td>
</tr>
<tr>
<td valign="top">CPF2401 E</td>
<td valign="top">Not authorized to library &1.</td>
</tr>
<tr>
<td valign="top">CPF24B4 E</td>
<td valign="top">Severe error while addressing parameter list.</td>
</tr>
<tr>
<td valign="top">CPF3C19 E</td>
<td valign="top">Error occurred with receiver variable specified.</td>
</tr>
<tr>
<td valign="top">CPF3C90 E</td>
<td valign="top">Literal value cannot be changed.</td>
</tr>
<tr>
<td valign="top">CPF3CF1 E</td>
<td valign="top">Error code parameter not valid.</td>
</tr>
<tr>
<td valign="top">CPF9872 E</td>
<td valign="top">Program or service program &amp;1 in library &amp;2 ended.
Reason code &amp;3.</td>
</tr>
<tr>
<td valign="top">GUI0002 E</td>
<td valign="top">&amp;2 is not valid for length of receiver variable.</td>
</tr>
<tr>
<td valign="top">GUI0017 E</td>
<td valign="top">&amp;1 is not valid for user or queue indicator.</td>
</tr>
<tr>
<td valign="top">GUI0027 E</td>
<td valign="top">&amp;1 is not valid for number of records to return.</td>
</tr>
<tr>
<td valign="top">GUI0040 E</td>
<td valign="top">User name cannot be blank.</td>
</tr>
<tr>
<td valign="top">GUI0043 E</td>
<td valign="top">&amp;1 is not valid for sort indicator parameter.</td>
</tr>
<tr>
<td valign="top">GUI0044 E</td>
<td valign="top">&amp;1 is not valid for length of message selection
information.</td>
</tr>
<tr>
<td valign="top">GUI0045 E</td>
<td valign="top">&amp;1 is not valid for number of selection criteria.</td>
</tr>
<tr>
<td valign="top">GUI0046 E</td>
<td valign="top">*ALL cannot be specified with another value in message
selection criteria.</td>
</tr>
<tr>
<td valign="top">GUI004A E</td>
<td valign="top">Key 1001 for reply status field is not specified.</td>
</tr>
<tr>
<td valign="top">GUI004B E</td>
<td valign="top">Message queue associated with user name &amp;1 does not
exist.</td>
</tr>
<tr>
<td valign="top">GUI004C E</td>
<td valign="top">Message queue name and library must be specified.</td>
</tr>
</table>
<br>
<hr>
API introduced: V3R6
<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>