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

200 lines
6.6 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>QMHSNDPM()--Send Program Message for i5/OS PASE</title>
<!-- Begin Header Records -->
<!-- All rights reserved. Licensed Materials Property of IBM -->
<!-- US Government Users Restricted Rights -->
<!-- Use, duplication or disclosure restricted by -->
<!-- GSA ADP Schedule Contract with IBM Corp. -->
<!-- Change History: -->
<!-- YYMMDD USERID Change description -->
<!-- Created by V2DCIJB on 23 Nov 1999 -->
<!-- Edited by Kersten Jan 02 -->
<!-- End Header Records -->
<link rel="stylesheet" type="text/css" href="../rzahg/ic.css">
</head>
<body>
<!-- Java sync-link -->
<script language="Javascript" src="../rzahg/synch.js" type="text/javascript">
</script>
<a name="Top_Of_Page"></a>
<h2>QMHSNDPM()--Send Program Message for i5/OS PASE</h2>
<div class="box" style="width: 60%;">
<br>
&nbsp;&nbsp;Syntax
<pre>
#include &lt;os400msg.h&gt;
int QMHSNDPM(const char *<em>msgid</em>,
const char *<em>msgf</em>,
const void *<em>msgdata</em>,
int <em>msgdataLen</em>,
const char *<em>msgtype</em>,
const char *<em>pgmq</em>,
int <em>pgmqDelta</em>,
int *<em>msgkey</em>,
void *<em>errcode</em>);
int QMHSNDPM1(const char *<em>msgid</em>,
const char *<em>msgf</em>,
const void *<em>msgdata</em>,
int <em>msgdataLen</em>,
const char *<em>msgtype</em>,
const char *<em>pgmq</em>,
int <em>pgmqDelta</em>,
int *<em>msgkey</em>,
void *<em>errcode</em>,
int <em>pgmqLen</em>,
const char *<em>pgmqQual</em>,
int <em>extWait</em>);
int QMHSNDPM2(const char *<em>msgid</em>,
const char *<em>msgf</em>,
const void *<em>msgdata</em>,
int <em>msgdataLen</em>,
const char *<em>msgtype</em>,
const void *<em>pgmq</em>,
int <em>pgmqDelta</em>,
int *<em>msgkey</em>,
void *<em>errcode</em>,
int <em>pgmqLen</em>,
const char *<em>pgmqQual</em>,
int <em>extWait</em>,
const char *<em>pgmqType</em>,
int <em>ccsid</em>);
</pre>
<br>
&nbsp;&nbsp;Library: Standard C Library (libc.a)<br>
<!-- iddvc RMBR -->
<br>
&nbsp;&nbsp;Default Public Authority: *USE<br>
<!-- iddvc RMBR -->
<br>
&nbsp;&nbsp;Threadsafe: Yes<br>
<!-- iddvc RMBR -->
<br>
</div>
<p>Note: These functions can only be used in an i5/OS PASE program. See <a href=
"../rzalf/rzalfintro.htm">i5/OS PASE</a> for more information about creating
i5/OS PASE programs.</p>
<p>The Send Program Message (QMHSNDPM, QMHSNDPM1, and QMHSNDPM2) i5/OS PASE
runtime functions allow an i5/OS PASE program to send a message to a program
call message queue or to the job external message queue.</p>
<br>
<h3>Parameters</h3>
<p>These i5/OS PASE runtime functions accept the same arguments as the Send
Program Message (QMHSNDPM) i5/OS API, except that the i5/OS PASE functions
use character string inputs that are null-terminated strings in the i5/OS PASE
CCSID. i5/OS PASE runtime automatically converts input character strings to
the job default CCSID and pads with blanks (as necessary) to match the
fixed-length inputs required by the system API.</p>
<p>No conversions are done for the <em>msgdata</em> (input) argument and the
<em>errcode</em> (input/output) argument because they can contain a mixture of
character and binary data. The <em>ccsid</em> argument specifies the CCSID for
character data in the <em>msgdata</em> argument, and users can request CCSID
information for the <em>errcode</em> argument by using ERRC0200 format. The
QMHSNDPM and QMHSNDPM1 i5/OS PASE runtime functions use the current i5/OS
PASE CCSID as a default for the <em>ccsid</em> value passed to the system
API.</p>
<p>See <a href="QMHSNDPM.htm">QMHSNDPM()--Send Program Message</a> for further
description of the arguments for the QMHSNDPM, QMHSNDPM1, and QMHSNDPM2 i5/OS
PASE runtime functions.</p>
<br>
<h3>Authorities</h3>
<p>See <a href="QMHSNDPM.htm">QMHSNDPM()--Send Program Message</a> for
information about authorities required for the QMHSNDPM, QMHSNDPM1, and
QMHSNDPM2 i5/OS PASE runtime functions.</p>
<br>
<h3>Return Value</h3>
<p>The function result is zero for normal completion. The result is nonzero if
any input character string could not be converted to the job default CCSID or
was too long for the QMHSNDPM API, or if the QMHSNDPM API returned error
information in the <em>errcode</em> argument.</p>
<br>
<h3>Usage Notes</h3>
<ol>
<li>The system only creates program call message queues ILE procedures and OMI
programs, so you cannot send to or receive from a program message queue for a
specific function in an i5/OS PASE program.<br>
<br>
</li>
<li>When "*" is specified for the <em>pgmq</em> argument, the system locates
the program call message queue for an (internal) ILE procedure in service
program QP2USER that is the apparent caller of any ILE procedure called by the
i5/OS PASE program using i5/OS PASE runtime function _ILECALLX or _ILECALL.
i5/OS PASE programs should generally use "*PGMBDY" or "*CTLBDY" instead of "*"
to send messages to their caller because a variable number of program call
message queues can exist between the queue identified by <em>pgmq</em> "*" and
the queue for the ILE API that called the i5/OS PASE program.</li>
</ol>
<br>
<h3>Related Information</h3>
<ul>
<li><a href="QMHSNDPM.htm">QMHSNDPM()</a>--Send Program Message (system
API)<br>
<br>
</li>
<li><a href="pase_qmhrcvpm.htm">QMHRCVPM()--Receive Program Message for i5/OS
PASE</a><br>
<br>
</li>
<li><a href="pase_qmhsndm.htm">QMHSNDM()--Send Nonprogram Message for i5/OS
PASE</a><br>
<br>
</li>
<li><a href="pase_qmhrcvm.htm">QMHRCVM()--Receive Nonprogram Message for i5/OS
PASE</a></li>
</ul>
<br>
<hr>
API introduced: V5R1
<hr>
<center>
<table cellpadding="2" cellspacing="2">
<tr align="center">
<td valign="middle" align="center"><a href="#Top_Of_Page">Top</a> | <a href=
"pase1.htm">i5/OS PASE APIs</a> | <a href="aplist.htm">APIs by category</a>
</td>
</tr>
</table>
</center>
</body>
</html>