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

112 lines
5.5 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="task" />
<meta name="DC.Title" content="Determine if a request-processor exists" />
<meta name="abstract" content="You can determine if a job has a request processor by displaying the job's call stack." />
<meta name="description" content="You can determine if a job has a request processor by displaying the job's call stack." />
<meta name="DC.subject" content="request processor program, determining existence, Display Call Stack display" />
<meta name="keywords" content="request processor program, determining existence, Display Call Stack display" />
<meta name="DC.Relation" scheme="URI" content="rmclp.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="msgdeterm" />
<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>Determine if a request-processor exists</title>
</head>
<body id="msgdeterm"><a name="msgdeterm"><!-- --></a>
<!-- Java sync-link --><script language="Javascript" src="../rzahg/synch.js" type="text/javascript"></script>
<h1 class="topictitle1">Determine if a request-processor exists</h1>
<div><p>You can determine if a job has a request processor by displaying
the job's call stack.</p>
<div class="section"> <p>Use either option 11 on the <span class="cmdname">Display Job (DSPJOB)</span> or <span class="cmdname">Work
with Job (WRKJOB)</span> command, or select option 10 for the job listed
on the WRKACTJOB display. If a number is shown in the request level column
on the display of the job's call stack, the program or ILE procedure associated
with the number is a request-processor. In the following example, both QCMD
and QTEVIREF are request processors: </p>
<pre class="screen"> Display Call Stack
System: S0000000
Job: WS31 User: QSECOFR Number: 000173
Type options, press Enter.
5=Display details
Request Program or
Opt Level Procedure Library Statement Instruction
QCMD QSYS 01DC
1 QCMD QSYS 016B
QTECADTR QSYS 0001
2 QTEVIREF QSYS 02BA
Bottom
F3=Exit F10=Update stack F11=Display activation group F12=Cancel
F17=Top F18=Bottom
</pre>
<p>The following is an example of a request-processing procedure:
</p>
<pre>PGM
SNDPGMMSG MSG('Request Message') TOPGMQ(*EXT) MSGTYPE(*RQS)
RCVMSG PGMQ(*EXT) MSGTYPE(*RQS) RMV(*NO)
.
.
.
CALL PGM(PGMONE)
MONMSG MSGID(CPF1907)
.
.
.
RMVMSG CLEAR(*ALL)
CALL PGM(PGMTWO)
.
.
.
ENDPGM</pre>
<p>The first two commands in the procedure make it a request processor.
The procedure remains a request processor until the <span class="cmdname">Remove Message
(RMVMSG)</span> command is run. A Monitor Message command is placed after
the call to program PGMONE because an end request may be sent from PGMONE
to the request-processor. If monitoring is not used, a function check would
occur for an end request. No message monitor is specified after the call
to PGMTWO because the <span class="cmdname">Remove Message (RMVMSG)</span> command ends
request processing.</p>
<p>If an end request is attempted when no request-processing
procedure or program is called, an error message is issued and the end operation
is not performed.</p>
<div class="note"><span class="notetitle">Note:</span> In the sample programs, the <span class="cmdname">Receive Message
(RCVMSG)</span> command uses the minimal number of parameters
needed to become a request processor. You need to say you want to receive
a request message but do not want to remove it. You also need to identify
the specific call queue from which the message request originated. Other parameters
can be added as necessary.</div>
</div>
</div>
<div>
<div class="familylinks">
<div class="parentlink"><strong>Parent topic:</strong> <a href="rmclp.htm" title="You can use the Receive Message (RCVMSG) command to obtain a message from a message queue for your procedure or program. This topic includes general information on receiving messages and the details on receiving request messages and request processing programs.">Receive messages into a CL procedure or program</a></div>
</div>
</div>
</body>
</html>