ibm-information-center/dist/eclipse/plugins/i5OS.ic.rbam6_5.4.0.1/enmsg.htm

79 lines
5.4 KiB
HTML

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="en-us" xml:lang="en-us">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="security" content="public" />
<meta name="Robots" content="index,follow" />
<meta http-equiv="PICS-Label" content='(PICS-1.1 "http://www.icra.org/ratingsv02.html" l gen true r (cz 1 lz 1 nz 1 oz 1 vz 1) "http://www.rsac.org/ratingsv01.html" l gen true r (n 0 s 0 v 0 l 0) "http://www.classify.org/safesurf/" l gen true r (SS~~000 1))' />
<meta name="DC.Type" content="concept" />
<meta name="DC.Title" content="Escape and notify messages" />
<meta name="abstract" content="You can send both escape and notify messages from your CL procedure or program to message queues." />
<meta name="description" content="You can send both escape and notify messages from your CL procedure or program to message queues." />
<meta name="DC.subject" content="escape message, sending, notify message, Integrated Language Environment (ILE) model, ILE (Integrated Language Environment) model, percolate" />
<meta name="keywords" content="escape message, sending, notify message, Integrated Language Environment (ILE) model, ILE (Integrated Language Environment) model, percolate" />
<meta name="DC.Relation" scheme="URI" content="msgcl.htm" />
<meta name="DC.Relation" scheme="URI" content="monmg.htm" />
<meta name="copyright" content="(C) Copyright IBM Corporation 1998, 2006" />
<meta name="DC.Rights.Owner" content="(C) Copyright IBM Corporation 1998, 2006" />
<meta name="DC.Format" content="XHTML" />
<meta name="DC.Identifier" content="enmsg" />
<meta name="DC.Language" content="en-us" />
<!-- 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. -->
<link rel="stylesheet" type="text/css" href="./ibmdita.css" />
<link rel="stylesheet" type="text/css" href="./ic.css" />
<title>Escape and notify messages</title>
</head>
<body id="enmsg"><a name="enmsg"><!-- --></a>
<!-- Java sync-link --><script language="Javascript" src="../rzahg/synch.js" type="text/javascript"></script>
<h1 class="topictitle1">Escape and notify messages</h1>
<div><p>You can send both escape and notify messages from your CL procedure
or program to message queues.</p>
<p>You can send escape messages from your CL procedure or program to the call
message queue of the calling program or procedure with the <span class="cmdname">Send Program
Message (SNDPGMMSG)</span> command. An escape message tells the caller
that the procedure or program ended abnormally and why. The caller can monitor
for the arrival of the escape message and handle the condition it describes.
When the caller handles the condition, control does not return to the sender
of an escape message.</p>
<p>If the caller is another procedure within the same program, the program
itself does not end. The procedure to which the escape message was sent is
allowed to continue. If the escape message was sent to the caller of the program
itself, then all active procedures within the program are ended immediately.
As a result, the program cannot continue to run. If the caller does not monitor
for an escape message, default system action is taken.</p>
<p>You can send notify messages from a CL procedure or program to the message
queue of the calling program or procedure or to the external message queue.
A notify message tells the caller about a condition under which processing
can continue. The calling program or procedure can monitor for the arrival
of the notify message and handle the condition it describes. If the caller
is an Integrated
Language Environment<sup>®</sup> procedure, it can perform the following functions: </p>
<ul><li>It can handle the condition.</li>
<li>It can send a reply back to the caller.</li>
<li>It can allow the sending procedure to continue processing.</li>
</ul>
<p>If the caller is an OPM program and is not monitoring for the message,
the sender receives a default reply. If the caller is an ILE procedure, then
the message percolates to the control boundary. When finding no monitor, the
system returns a default reply to the sender. The sender then resumes processing.</p>
<p>Immediate messages are not allowed as escape and notify messages. The system
has defined the message CPF9898, which can be used for immediate escape and
notify messages in application programs. For example: </p>
<pre>SNDPGMMSG MSGID(CPF9898) MSGF(QCPFMSG) MSGDTA('Error condition') +
MSGTYPE(*ESCAPE)</pre>
</div>
<div>
<div class="familylinks">
<div class="parentlink"><strong>Parent topic:</strong> <a href="msgcl.htm" title="Various message types are described in this topic. Use the Send Program Message (SNDPGMMSG) command or the Send User Message (SNDUSRMSG) command to send a message from a CL procedure or program.">Send messages from a CL program</a></div>
</div>
<div class="reltasks"><strong>Related tasks</strong><br />
<div><a href="monmg.htm" title="You can monitor for exception messages. Exception messages include escape, notify, and status messages that are sent to your CL procedure's or program's call message queue by the commands in your procedure or program or by commands in another procedure or program. Diagnostic messages cannot be monitored.">Monitor for messages in a CL program or procedure</a></div>
</div>
</div>
</body>
</html>