874 lines
25 KiB
HTML
874 lines
25 KiB
HTML
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||
|
<html>
|
||
|
<head>
|
||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||
|
<meta name="Copyright" content="Copyright (c) 2006 by IBM Corporation">
|
||
|
<title>Send Nonprogram Message (QMHSNDM) 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 Sept 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>Send Nonprogram Message (QMHSNDM) API</h2>
|
||
|
|
||
|
<div class="box" style="width: 80%;">
|
||
|
<br>
|
||
|
Required Parameter Group:<br>
|
||
|
<!-- iddvc RMBR -->
|
||
|
<br>
|
||
|
<table width="100%">
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top" width="10%">1</td>
|
||
|
<td align="left" valign="top" width="50%">Message identifier</td>
|
||
|
<td align="left" valign="top" width="15%">Input</td>
|
||
|
<td align="left" valign="top" width="25%">Char(7)</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">2</td>
|
||
|
<td align="left" valign="top">Qualified message file name</td>
|
||
|
<td align="left" valign="top">Input</td>
|
||
|
<td align="left" valign="top">Char(20)</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">3</td>
|
||
|
<td align="left" valign="top">Message data or immediate text</td>
|
||
|
<td align="left" valign="top">Input</td>
|
||
|
<td align="left" valign="top">Char(*)</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">4</td>
|
||
|
<td align="left" valign="top">Length of message data or immediate text</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">Message type</td>
|
||
|
<td align="left" valign="top">Input</td>
|
||
|
<td align="left" valign="top">Char(10)</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">6</td>
|
||
|
<td align="left" valign="top">List of qualified message queue names</td>
|
||
|
<td align="left" valign="top">Input</td>
|
||
|
<td align="left" valign="top">Array of Char(20)</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">7</td>
|
||
|
<td align="left" valign="top">Number of message queues</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">Qualified name of the reply message queue</td>
|
||
|
<td align="left" valign="top">Input</td>
|
||
|
<td align="left" valign="top">Char(20)</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">9</td>
|
||
|
<td align="left" valign="top">Message key</td>
|
||
|
<td align="left" valign="top">Output</td>
|
||
|
<td align="left" valign="top">Char(4)</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>
|
||
|
Optional Parameter Group:<br>
|
||
|
<!-- iddvc RMBR -->
|
||
|
<br>
|
||
|
<table width="100%">
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top" width="10%">11</td>
|
||
|
<td align="left" valign="top" width="50%">Coded character set identifier</td>
|
||
|
<td align="left" valign="top" width="15%">Input</td>
|
||
|
<td align="left" valign="top" width="25%">Binary(4)</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
|
||
|
<br>
|
||
|
Default Public Authority: *USE<br>
|
||
|
<!-- iddvc RMBR -->
|
||
|
<br>
|
||
|
Threadsafe: Yes<br>
|
||
|
<!-- iddvc RMBR -->
|
||
|
<br>
|
||
|
</div>
|
||
|
|
||
|
<p>The Send Nonprogram Message (QMHSNDM) API sends a message to a nonprogram
|
||
|
message queue so your program can communicate with another job or user.</p>
|
||
|
|
||
|
<p>To send a message to a call message queue or the external message queue, see
|
||
|
<a href="QMHSNDPM.htm">Send Program Message</a> (QMHSNDPM) API.</p>
|
||
|
|
||
|
<p>Before coding your call to the QMHSNDM API, see <a href="#HDRALLPARB">
|
||
|
Dependencies among Parameters</a>.</p>
|
||
|
|
||
|
<p>If your application attempts to diagnose and recover from errors, it might
|
||
|
need to take additional action before calling the QMHSNDM API. The QMHSNDM API
|
||
|
sends a message to a list of message queues. When the API encounters an error
|
||
|
in sending your message to a message queue in the list, it sends a diagnostic
|
||
|
message to your call message queue. The API then proceeds to the next message
|
||
|
queue in the list. After trying to send the message to all specified message
|
||
|
queues and if the API detected any errors, it returns the general escape
|
||
|
message CPF2469. This message is sent as an exception or in the error code.</p>
|
||
|
|
||
|
<p>To diagnose and recover from these errors, your program should call the
|
||
|
Receive Program Message (QMHRCVPM) API to receive the diagnostic messages
|
||
|
sent.</p>
|
||
|
|
||
|
<br>
|
||
|
|
||
|
|
||
|
<h3>Authorities and Locks</h3>
|
||
|
|
||
|
<dl>
|
||
|
<dt><em>Message File Authority</em></dt>
|
||
|
|
||
|
<dd>*USE</dd>
|
||
|
|
||
|
<dt><em>Message File Library Authority</em></dt>
|
||
|
|
||
|
<dd>*EXECUTE</dd>
|
||
|
|
||
|
<dt><em>Message Queue Authority</em></dt>
|
||
|
|
||
|
<dd>*OBJOPR and *ADD</dd>
|
||
|
|
||
|
<dt><em>Message Queue Library Authority</em></dt>
|
||
|
|
||
|
<dd>*EXECUTE</dd>
|
||
|
|
||
|
<dt><em>Reply Message Queue Authority</em></dt>
|
||
|
|
||
|
<dd>*OBJOPR and *ADD</dd>
|
||
|
|
||
|
<dt><em>Reply Message Queue Library Authority</em></dt>
|
||
|
|
||
|
<dd>*EXECUTE</dd>
|
||
|
</dl>
|
||
|
|
||
|
<br>
|
||
|
|
||
|
|
||
|
<h3>Required Parameter Group</h3>
|
||
|
|
||
|
<dl>
|
||
|
<dt><strong>Message identifier</strong></dt>
|
||
|
|
||
|
<dd>INPUT; CHAR(7)
|
||
|
|
||
|
<p>The identifying code for the predefined message being sent, or blanks for an
|
||
|
immediate message.</p>
|
||
|
|
||
|
<p>If you specify a message identifier, you must specify a qualified message
|
||
|
file name. If you do not specify a message identifier, the qualified message
|
||
|
file name parameter is ignored.</p>
|
||
|
</dd>
|
||
|
|
||
|
<dt><strong>Qualified message file name</strong></dt>
|
||
|
|
||
|
<dd>INPUT; CHAR(20)
|
||
|
|
||
|
<p>For a predefined message, the name of the message file and the library in
|
||
|
which it resides. The first 10 characters specify the file name, and the second
|
||
|
10 characters specify the library.</p>
|
||
|
|
||
|
<p>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>
|
||
|
|
||
|
<p>For an immediate message, use blanks for this parameter. If you specify a
|
||
|
name, the API ignores it and does not return an error.</p>
|
||
|
</dd>
|
||
|
|
||
|
<dt><strong>Replacement data or impromptu message text</strong></dt>
|
||
|
|
||
|
<dd>INPUT; CHAR(*)
|
||
|
|
||
|
<p>If a message identifier is specified, the data to insert in the predefined
|
||
|
message's substitution variables. If no message identifier is specified, the
|
||
|
complete text of an immediate message.</p>
|
||
|
|
||
|
<p>If this parameter contains pointer data, each pointer must start on a
|
||
|
16-byte boundary to keep the data accurate.</p>
|
||
|
</dd>
|
||
|
|
||
|
<dt><strong>Length of replacement data or impromptu message text</strong></dt>
|
||
|
|
||
|
<dd>INPUT; BINARY(4)
|
||
|
|
||
|
<p>The length of the message data or immediate text, in bytes. Valid values for
|
||
|
each are:</p>
|
||
|
|
||
|
<table cellpadding="5">
|
||
|
<!-- cols="15 85" -->
|
||
|
<tr>
|
||
|
<td align="left" valign="top"><em>Replacement data</em></td>
|
||
|
<td align="left" valign="top">0-32767</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top"><em>Impromptu message text</em></td>
|
||
|
<td align="left" valign="top">1-6000</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
|
||
|
<br>
|
||
|
</dd>
|
||
|
|
||
|
<dt><strong>Message type</strong></dt>
|
||
|
|
||
|
<dd>INPUT; CHAR(10)
|
||
|
|
||
|
<p>The type of the message. You must specify one of these values:</p>
|
||
|
|
||
|
<table cellpadding="5">
|
||
|
<!-- cols="15 85" -->
|
||
|
<tr>
|
||
|
<td align="left" valign="top"><em>*COMP</em></td>
|
||
|
<td align="left" valign="top">Completion</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top"><em>*DIAG</em></td>
|
||
|
<td align="left" valign="top">Diagnostic</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top"><em>*INFO</em></td>
|
||
|
<td align="left" valign="top">Informational</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top"><em>*INQ</em></td>
|
||
|
<td align="left" valign="top">Inquiry. When you send an inquiry message, a copy
|
||
|
of the message is placed on the reply message queue. The message key returned
|
||
|
by this API is the key to that copy. To receive the reply, use the <a href=
|
||
|
"Qmhrcvm.htm">Receive Nonprogram Message (QMHRCVM) API</a>, specifying that key
|
||
|
and a message type of reply. To receive the copy of the inquiry, specify the
|
||
|
same key and a message type of *COPY.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top"></td>
|
||
|
<td align="left" valign="top">To send reply messages, see <a href=
|
||
|
"QMHSNDRM.htm">Send Reply Message</a> (QMHSNDRM) API.</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
|
||
|
<p> For descriptions of the message types, see <a href="term.htm#HDRMSGTYPE">
|
||
|
Message Types</a>. For details about coding the other parameters when sending a
|
||
|
particular type of message, see <a href="#HDRALLPARB">Dependencies among
|
||
|
Parameters</a>.</p>
|
||
|
</dd>
|
||
|
|
||
|
<dt><strong>List of qualified message queue names</strong></dt>
|
||
|
|
||
|
<dd>INPUT; ARRAY of CHAR(20)
|
||
|
|
||
|
<p>A list of 1 through 50 message queues to which the message is being sent,
|
||
|
and the libraries in which they reside. When sending an inquiry message, you
|
||
|
can list one message queue, or you can list two message queues if one of the
|
||
|
queues is *HSTLOG. The special value *HSTLOG indicates the message will be sent
|
||
|
to QSYS/QHST. When using the special value *ALLACT, you can list only one
|
||
|
queue. In all other cases, you can list up to 50 message queues.</p>
|
||
|
|
||
|
<p>You can specify user profile message queues or other nonprogram message
|
||
|
queues, or you can use several special values.</p>
|
||
|
|
||
|
<p>To specify the default message queue associated with a user profile, use the
|
||
|
first 10 characters for the user profile name. In the second 10 characters, use
|
||
|
the special value *USER.</p>
|
||
|
|
||
|
<p>To specify other nonprogram message queues, use the first 10 characters for
|
||
|
the message queue name and the second 10 characters for the library name. 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>
|
||
|
|
||
|
<p>To specify other types of message queues, use one of the following special
|
||
|
values for the first 10 characters, and leave the second 10 characters
|
||
|
blank:</p>
|
||
|
|
||
|
<table cellpadding="5">
|
||
|
<!-- cols="15 85" -->
|
||
|
<tr>
|
||
|
<td align="left" valign="top"><em>*ALLACT</em></td>
|
||
|
<td align="left" valign="top">The default message queues of all active users.
|
||
|
When you use this value, it must be the only item in the list. You cannot use
|
||
|
this value with inquiry messages.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top"><em>*REQUESTER</em></td>
|
||
|
<td align="left" valign="top">In an interactive job, the current user's message
|
||
|
queue. In a batch job, the system operator's message queue, QSYSOPR.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top"><em>*SYSOPR</em></td>
|
||
|
<td align="left" valign="top">The system operator's message queue,
|
||
|
QSYS/QSYSOPR. Any message sent to QSYSOPR automatically has a copy of the
|
||
|
message sent to QHST.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top"><em>*HSTLOG</em></td>
|
||
|
<td align="left" valign="top">he system history log message queue, QSYS/QHST.
|
||
|
If *HSTLOG is specified more than once, only one message will be sent to
|
||
|
QSYS/QHST. If *HSTLOG is specified with QSYSOPR, only one message is sent to
|
||
|
QSYS/QHST.</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
|
||
|
<br>
|
||
|
</dd>
|
||
|
|
||
|
<dt><strong>Number of message queues</strong></dt>
|
||
|
|
||
|
<dd>INPUT; BINARY(4)
|
||
|
|
||
|
<p>The number of message queues specified in the list of qualified message
|
||
|
queue names parameter. Valid values are 1 through 50. When using the special
|
||
|
value *ALLACT for the message queue, you must specify 1. When sending an
|
||
|
inquiry message, you can specify 1 or you can specify 2 if one of the values is
|
||
|
*HSTLOG.</p>
|
||
|
</dd>
|
||
|
|
||
|
<dt><strong>Qualified name of the reply message queue</strong></dt>
|
||
|
|
||
|
<dd>INPUT; CHAR(20)
|
||
|
|
||
|
<p>For an inquiry message only, the name of the message queue to receive the
|
||
|
reply message, and the library in which it resides.</p>
|
||
|
|
||
|
<p>The first 10 characters specify the message queue, and the second 10
|
||
|
characters specify the library.</p>
|
||
|
|
||
|
<p>You can use these special values for the message queue name:</p>
|
||
|
|
||
|
<table cellpadding="5">
|
||
|
<!-- cols="15 85" -->
|
||
|
<tr>
|
||
|
<td align="left" valign="top"><em>*PGMQ</em></td>
|
||
|
<td align="left" valign="top">The current call stack entry's call message
|
||
|
queue. Use blanks for the library name.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top"><em>*WRKSTN</em></td>
|
||
|
<td align="left" valign="top">The work station message queue. Use blanks for
|
||
|
the library name. You cannot use this value when running in batch mode.</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
|
||
|
<p>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>
|
||
|
|
||
|
<p>For all message types except inquiry, use blanks for this parameter. If you
|
||
|
specify a message queue, the API ignores it and does not return an error.</p>
|
||
|
</dd>
|
||
|
|
||
|
<dt><strong>Message key</strong></dt>
|
||
|
|
||
|
<dd>OUTPUT; CHAR(4)
|
||
|
|
||
|
<p>For an inquiry message only, the key to the sender's copy of the message in
|
||
|
the reply message queue. This API assigns the key when it sends the
|
||
|
message.</p>
|
||
|
|
||
|
<p>For all other message types, no key is returned.</p>
|
||
|
</dd>
|
||
|
|
||
|
<dt><strong>Error code</strong></dt>
|
||
|
|
||
|
<dd>I/O; CHAR(*)
|
||
|
|
||
|
<p>The structure in which to return error information. For the format of the
|
||
|
structure, see <a href="../apiref/error.htm#hdrerrcod">Error Code Parameter</a>.</p>
|
||
|
</dd>
|
||
|
</dl>
|
||
|
|
||
|
<br>
|
||
|
|
||
|
|
||
|
<h3>Optional Parameter Group</h3>
|
||
|
|
||
|
<dl>
|
||
|
<dt><strong>Coded character set identifier</strong></dt>
|
||
|
|
||
|
<dd>INPUT; BINARY(4)
|
||
|
|
||
|
<p>The coded character set identifier (CCSID) that the supplied replacement
|
||
|
data or impromptu message text is in. If a message identifier is specified, the
|
||
|
text supplied by the replacement data or impromptu message text parameter that
|
||
|
corresponds to *CCHAR type fields is assumed to be in the CCSID supplied by
|
||
|
this parameter. The data supplied that does not correspond to a *CCHAR field is
|
||
|
65535 and is not converted. For more information about *CCHAR type fields see
|
||
|
the Add Message Description (ADDMSGD) command.</p>
|
||
|
|
||
|
<p>If no message identifier is specified, the impromptu message text supplied
|
||
|
by the replacement data or impromptu message text parameter will all be assumed
|
||
|
to be in the CCSID supplied by this parameter. 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. 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 replacement data or impromptu message text is
|
||
|
assumed in the CCSID of the job running this API. This is the default value if
|
||
|
this parameter is not specified.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top"><em>65535</em></td>
|
||
|
<td align="left" valign="top">The replacement data or impromptu message text
|
||
|
will not be converted.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top"><em>CCSID</em></td>
|
||
|
<td align="left" valign="top">Specify a valid CCSID that your replacement data
|
||
|
or impromptu message is in. Valid values are between 1 and 65535. This API will
|
||
|
validate the CCSID.
|
||
|
|
||
|
<p>For a list of valid CCSIDs, see <em>CCSIDs: Message Support</em> in the
|
||
|
Globalization topic.</p>
|
||
|
</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
</dd>
|
||
|
</dl>
|
||
|
|
||
|
<br>
|
||
|
|
||
|
|
||
|
<h3><a name="HDRALLPARB">Dependencies among Parameters</a></h3>
|
||
|
|
||
|
<p>You can use many different combinations of parameters when calling the
|
||
|
QMHSNDM API. The values you specify for the message identifier and message type
|
||
|
parameters determine which other input parameters you must specify and which
|
||
|
you must code as blanks. They also determine whether the system returns the
|
||
|
message key in the message key output parameter.</p>
|
||
|
|
||
|
<p>The following table summarizes the use of parameters for the QMHSNDM
|
||
|
API.</p>
|
||
|
|
||
|
<table border width="100%">
|
||
|
<tr>
|
||
|
<th align="center" valign="top" rowspan="3">Parameter</th>
|
||
|
<th align="center" valign="bottom" colspan="4">Message Type</th>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<th align="center" valign="bottom" colspan="2">*COMP, *DIAG, *INFO</th>
|
||
|
<th align="center" valign="bottom" colspan="2">*INQ</th>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<th align="left" valign="bottom">Predefined</th>
|
||
|
<th align="left" valign="bottom">Immediate</th>
|
||
|
<th align="left" valign="bottom">Predefined</th>
|
||
|
<th align="left" valign="bottom">Immediate</th>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top" width="40%">Message identifier</td>
|
||
|
<td align="left" valign="top" width="15%">Message ID</td>
|
||
|
<td align="left" valign="top" width="15%">Blank</td>
|
||
|
<td align="left" valign="top" width="15%">Message ID</td>
|
||
|
<td align="left" valign="top" width="15%">Blank</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">Qualified message file name</td>
|
||
|
<td align="left" valign="top">Required</td>
|
||
|
<td align="left" valign="top">Ignored</td>
|
||
|
<td align="left" valign="top">Required</td>
|
||
|
<td align="left" valign="top">Ignored</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">Message data or immediate text</td>
|
||
|
<td align="left" valign="top">Data</td>
|
||
|
<td align="left" valign="top">Text</td>
|
||
|
<td align="left" valign="top">Data</td>
|
||
|
<td align="left" valign="top">Text</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">Length of message data or immediate text</td>
|
||
|
<td align="left" valign="top">0-32767</td>
|
||
|
<td align="left" valign="top">1-6000</td>
|
||
|
<td align="left" valign="top">0-32767</td>
|
||
|
<td align="left" valign="top">1-6000</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">List of qualified message queue names</td>
|
||
|
<td align="left" valign="top">Required</td>
|
||
|
<td align="left" valign="top">Required</td>
|
||
|
<td align="left" valign="top">Required</td>
|
||
|
<td align="left" valign="top">Required</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">Number of message queues</td>
|
||
|
<td align="left" valign="top">1-50</td>
|
||
|
<td align="left" valign="top">1-50</td>
|
||
|
<td align="left" valign="top">1,2 if *HSTLOG</td>
|
||
|
<td align="left" valign="top">1,2 if *HSTLOG</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">Reply message queue</td>
|
||
|
<td align="left" valign="top">Ignored</td>
|
||
|
<td align="left" valign="top">Ignored</td>
|
||
|
<td align="left" valign="top">Required</td>
|
||
|
<td align="left" valign="top">Required</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">Message key</td>
|
||
|
<td align="left" valign="top">Not used</td>
|
||
|
<td align="left" valign="top">Not used</td>
|
||
|
<td align="left" valign="top">Returned</td>
|
||
|
<td align="left" valign="top">Returned</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">Error code</td>
|
||
|
<td align="left" valign="top">Required</td>
|
||
|
<td align="left" valign="top">Required</td>
|
||
|
<td align="left" valign="top">Required</td>
|
||
|
<td align="left" valign="top">Required</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
|
||
|
<p>The terms used in the table to describe the parameter values are defined in
|
||
|
the following list.</p>
|
||
|
|
||
|
<table cellpadding="5">
|
||
|
<!-- cols="15 85" -->
|
||
|
<tr>
|
||
|
<th align="left" valign="top">Term</th>
|
||
|
<th align="left" valign="top">Meaning</th>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top"><em>Blank</em></td>
|
||
|
<td align="left" valign="top">You must use blanks for this parameter.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top"><em>Data</em></td>
|
||
|
<td align="left" valign="top">You must specify data for this parameter. The
|
||
|
data is used as the values for a predefined message's substitution
|
||
|
variables.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top"><em>Ignored</em></td>
|
||
|
<td align="left" valign="top">The API ignores this parameter. You should use
|
||
|
blanks for the value, but if you use another value, no error is returned.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top"><em>Message ID</em></td>
|
||
|
<td align="left" valign="top">You must specify the message identifier of the
|
||
|
predefined message being sent.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top"><em>Not used</em></td>
|
||
|
<td align="left" valign="top">The API does not return data in this output
|
||
|
parameter. The space remains unchanged.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top"><em>Required</em></td>
|
||
|
<td align="left" valign="top">You must specify a valid value for this
|
||
|
parameter.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top"><em>Returned</em></td>
|
||
|
<td align="left" valign="top">The API returns data in this output
|
||
|
parameter.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top"><em>Text</em></td>
|
||
|
<td align="left" valign="top">You must specify text for this parameter. The
|
||
|
text is used as the complete text of an immediate message.</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
|
||
|
<br>
|
||
|
<br>
|
||
|
|
||
|
|
||
|
<h3>Error Messages</h3>
|
||
|
|
||
|
<table width="100%" cellpadding="3">
|
||
|
<tr>
|
||
|
<th align="left" valign="top">Message ID</th>
|
||
|
<th align="left" valign="top">Error Message Text</th>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top" width="15%">CPF2204 E</td>
|
||
|
<td align="left" valign="top" width="85%">User profile &1 not found.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPF24AC E</td>
|
||
|
<td align="left" valign="top">Either message identifier or message text must be
|
||
|
specified.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPF24A2 E</td>
|
||
|
<td align="left" valign="top">Value for number of message queues not
|
||
|
valid.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPF24B3 E</td>
|
||
|
<td align="left" valign="top">Message type &1 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">CPF24B6 E</td>
|
||
|
<td align="left" valign="top">Length of &1, not valid for message text or
|
||
|
data.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPF2428 E</td>
|
||
|
<td align="left" valign="top">Message queue parameter is not valid.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPF2433 E</td>
|
||
|
<td align="left" valign="top">Function not allowed for system log message queue
|
||
|
&1.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPF2435 E</td>
|
||
|
<td align="left" valign="top">System reply list not found.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPF2469 E</td>
|
||
|
<td align="left" valign="top">Error occurred when sending message&1.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPF2401 E</td>
|
||
|
<td align="left" valign="top">Not authorized to library &1.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPF2403 E</td>
|
||
|
<td align="left" valign="top">Message queue &1 in &2 not found.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPF2407 E</td>
|
||
|
<td align="left" valign="top">Message file &1 in &2 not found.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPF2408 E</td>
|
||
|
<td align="left" valign="top">Not authorized to message queue &1.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPF2411 E</td>
|
||
|
<td align="left" valign="top">Not authorized to message file &1 in
|
||
|
&2.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPF2421 E</td>
|
||
|
<td align="left" valign="top">Message not sent. &1 in &2 not work
|
||
|
station message queue.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPF2460 E</td>
|
||
|
<td align="left" valign="top">Message queue &1 could not be extended.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPF2467 E</td>
|
||
|
<td align="left" valign="top">&3 message queue &1 in library &2
|
||
|
logically damaged.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPF2477 E</td>
|
||
|
<td align="left" valign="top">Message queue &1 currently in use.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPF247E E</td>
|
||
|
<td align="left" valign="top">CCSID &1 is not valid.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPF2548 E</td>
|
||
|
<td align="left" valign="top">Damage to message file &1 in &2.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPF2557 E</td>
|
||
|
<td align="left" valign="top">System reply list damaged.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPF2558 E</td>
|
||
|
<td align="left" valign="top">System reply list currently in use.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPF8100 E</td>
|
||
|
<td align="left" valign="top">All CPF81xx messages could be returned. xx is
|
||
|
from 01 to FF.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPF2481 E</td>
|
||
|
<td align="left" valign="top">Work station message queue not available.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPF2488 E</td>
|
||
|
<td align="left" valign="top">Reply message queue *WRKSTN not valid for batch
|
||
|
job.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPF2499 E</td>
|
||
|
<td align="left" valign="top">Message identifier &1 not allowed.</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">CPF3CF1 E</td>
|
||
|
<td align="left" valign="top">Error code parameter not valid.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPF9830 E</td>
|
||
|
<td align="left" valign="top">Cannot assign library &1.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPF9872 E</td>
|
||
|
<td align="left" valign="top">Program or service program &1 in library
|
||
|
&2 ended. Reason code &3.</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>
|
||
|
|