856 lines
26 KiB
HTML
856 lines
26 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">
|
||
|
<!-- 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. -->
|
||
|
<!-- Created for V5R4 by Sergio Toscano (stlomeli) D99930 -->
|
||
|
<!-- Reason vXrYmZ Dev Date Change -->
|
||
|
<!-- d3602 v5r4m0 Sergio Toscano 040905 + Add CPF39EA and CPF39EB -->
|
||
|
<!-- + Add *LIBL to MSGQ lib -->
|
||
|
<!-- + Add CPF9872, CPF24B4 msg-->
|
||
|
<title>Start Watch (QSCSWCH) API</title>
|
||
|
<link rel="stylesheet" type="text/css" href="../rzahg/ic.css">
|
||
|
</head>
|
||
|
<body>
|
||
|
<!--End Header Records ================================================ -->
|
||
|
<!-- Java sync-link =================================================== -->
|
||
|
<script type="text/javascript" language="Javascript" src="../rzahg/synch.js">
|
||
|
</script>
|
||
|
|
||
|
<a name="Top_Of_Page"></a>
|
||
|
|
||
|
<h2><img src="delta.gif" alt="Start of change">Start Watch (QSCSWCH)
|
||
|
API</h2>
|
||
|
|
||
|
<div class="box" style="width: 90%;"><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%">Session ID</td>
|
||
|
<td align="left" valign="top" width="20%">Input</td>
|
||
|
<td align="left" valign="top" width="20%">Char(10)</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top" width="10%">2</td>
|
||
|
<td align="left" valign="top" width="50%">Started session ID</td>
|
||
|
<td align="left" valign="top" width="20%">Output</td>
|
||
|
<td align="left" valign="top" width="20%">Char(10)</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">3</td>
|
||
|
<td align="left" valign="top">Watch program</td>
|
||
|
<td align="left" valign="top">Input</td>
|
||
|
<td align="left" valign="top">Char(20)</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">4</td>
|
||
|
<td align="left" valign="top">Watch for message</td>
|
||
|
<td align="left" valign="top">Input</td>
|
||
|
<td align="left" valign="top">Char(*)</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">5</td>
|
||
|
<td align="left" valign="top">Watch for LIC log entry</td>
|
||
|
<td align="left" valign="top">Input</td>
|
||
|
<td align="left" valign="top">Char(*)</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">6</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>
|
||
|
Default Public Authority: *EXCLUDE
|
||
|
<br>
|
||
|
<!-- iddvc RMBR -->
|
||
|
<br>
|
||
|
Threadsafe: Yes
|
||
|
<br>
|
||
|
<!-- iddvc RMBR -->
|
||
|
<br>
|
||
|
</div>
|
||
|
|
||
|
<p>The Start Watch (QSCSWCH) API starts the watch for event function, which
|
||
|
notifies the user by calling a user specified program when the specified event
|
||
|
(a message or LIC log) occurs.</p>
|
||
|
|
||
|
<p>Up to 10000 watch sessions can be active at a time. The watch session
|
||
|
continues until ended with the End Watch (QSCEWCH) API or with the End Watch
|
||
|
(ENDWCH) command.</p>
|
||
|
|
||
|
<p><strong>Note:</strong> A watch session can be ended from the same job or a
|
||
|
different job.</p>
|
||
|
|
||
|
|
||
|
<br>
|
||
|
|
||
|
|
||
|
<h3>Authorities and Locks</h3>
|
||
|
|
||
|
<dl>
|
||
|
<dt><em>Authority to use the API</em></dt>
|
||
|
|
||
|
<dd>To use this API, you must have service (*SERVICE) special authority, or be
|
||
|
authorized to the Service watch function of Opearting System through iSeries
|
||
|
Navigator's Application Administration support. The Change Function Usage
|
||
|
(CHGFCNUSG) command, with a function ID of QIBM_SERVICE_WATCH, can also be used
|
||
|
to change the list of users that are allowed to start and end watch operations.
|
||
|
<br>
|
||
|
<br>
|
||
|
</dd>
|
||
|
|
||
|
<dt><em>Authority to watch program</em></dt>
|
||
|
|
||
|
<dd>You must have operational (*OBJOPR) and execute (*EXECUTE) authorities to
|
||
|
the watch program to be called, and execute (*EXECUTE) authority to the library
|
||
|
where the program is located.
|
||
|
<br>
|
||
|
<br>
|
||
|
</dd>
|
||
|
|
||
|
<dt><em>Authority to message queue</em></dt>
|
||
|
|
||
|
<dd>You must have use (*USE) authority to the message queue specified in
|
||
|
watched message queue name field, and use (*USE) authority to the library where
|
||
|
the message queue is located.
|
||
|
<br>
|
||
|
<br>
|
||
|
</dd>
|
||
|
|
||
|
<dt><em>Authority to watched job</em></dt>
|
||
|
|
||
|
<dd>When a message is being watched within a job, the issuer of the API must be
|
||
|
running under a user profile which is the same as the job user identity of the
|
||
|
job being watched, or the issuer of the API must be running under a user
|
||
|
profile which has job control (*JOBCTL) special authority. Job control
|
||
|
(*JOBCTL) special authority is also required if a generic user name is
|
||
|
specified in the watched job user name field.
|
||
|
|
||
|
<p>If you specify *ALL for the watched job name, or a generic user name, you
|
||
|
must have all object (*ALLOBJ) special authority, or be authorized to the Watch
|
||
|
any job function of Operating System through iSeries Navigator's Application
|
||
|
Administration support. The Change Function Usage (CHGFCNUSG) command, with a
|
||
|
function ID of QIBM_WATCH_ANY_JOB, can also be used to change the list of users
|
||
|
that are allowed to start and end watch operations.</p>
|
||
|
</dd>
|
||
|
</dl>
|
||
|
|
||
|
|
||
|
<br>
|
||
|
|
||
|
|
||
|
<h3>Required Parameter Group</h3>
|
||
|
|
||
|
<dl>
|
||
|
<dt><strong>Session ID</strong></dt>
|
||
|
|
||
|
<dd>INPUT; CHAR(10)
|
||
|
|
||
|
<p>The session identifier for this watch. This watch session identifier must be
|
||
|
unique across all active watche sessions on the system. You cannot specify a
|
||
|
session identifier that starts with "QSC". You can use this special value for
|
||
|
this parameter:</p>
|
||
|
|
||
|
<table cellpadding="5">
|
||
|
<!-- cols="10 90" -->
|
||
|
<tr>
|
||
|
<td align="left" valign="top"><em>*GEN</em></td>
|
||
|
<td align="left" valign="top">The system will generate a unique session
|
||
|
identifier for this watch that will be returned as output in Started session ID
|
||
|
parameter.</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
|
||
|
|
||
|
<br>
|
||
|
</dd>
|
||
|
|
||
|
<dt><strong>Started session ID</strong></dt>
|
||
|
|
||
|
<dd>OUTPUT; CHAR(10)
|
||
|
|
||
|
<p>The identifier of the watch session just started.</p>
|
||
|
|
||
|
|
||
|
<br>
|
||
|
</dd>
|
||
|
|
||
|
<dt><strong>Watch program</strong></dt>
|
||
|
|
||
|
<dd>INPUT; CHAR(20)
|
||
|
|
||
|
<p>The program to be called to notify that a specified watch event occurred.
|
||
|
The watch program will be called after a match of a message identifier and any
|
||
|
associated comparison data specified for the watch for message parameter, or a
|
||
|
match of a Licensed Internal Code (LIC) log entry and any associated comparison
|
||
|
data specified for the watch for LIC log entry parameter occurs.</p>
|
||
|
|
||
|
<p>The exit program will be called once for each message id and LIC log entry
|
||
|
specified on this API. That is, if a message is watched on a message queue and
|
||
|
in a job log, and the message is sent to both locations, the exit program will
|
||
|
be called twice.</p>
|
||
|
|
||
|
<p>For more information about the watch exit program interface, refer to the
|
||
|
System API Reference information in the iSeries Information Center at
|
||
|
http://www.iseries.ibm.com/infocenter .</p>
|
||
|
|
||
|
<p>The information must be in the following format:</p>
|
||
|
|
||
|
<dl>
|
||
|
<dt><em>Watch program name</em></dt>
|
||
|
|
||
|
<dd>CHAR(10)
|
||
|
<br>
|
||
|
The name of the user-written program to call.
|
||
|
<br>
|
||
|
</dd>
|
||
|
|
||
|
<dt><em>Watch program library</em></dt>
|
||
|
|
||
|
<dd>CHAR(10)
|
||
|
<br>
|
||
|
The library where the user-written program is located. You can use one of these
|
||
|
special values for this field:
|
||
|
|
||
|
<table cellpadding="5">
|
||
|
<!-- cols="15 85" -->
|
||
|
<tr>
|
||
|
<td align="left" valign="top"><em>*LIBL</em></td>
|
||
|
<td align="left" valign="top">All libraries in the job's library list are
|
||
|
searched until the first match is found.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top"><em>*CURLIB</em></td>
|
||
|
<td align="left" valign="top">The current library for the job is used to locate
|
||
|
the program. If no library is specified as the current library for the job, the
|
||
|
QGPL library is used.</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
</dd>
|
||
|
</dl>
|
||
|
</dd>
|
||
|
|
||
|
<dt><strong>Watch for message</strong></dt>
|
||
|
|
||
|
<dd>INPUT; CHAR(*)
|
||
|
|
||
|
<p>The message identifiers which are to be watched for and where to watch for
|
||
|
them. The information must be in the following format:</p>
|
||
|
|
||
|
<dl>
|
||
|
<dt><em>Number of messages being watched</em></dt>
|
||
|
|
||
|
<dd>BINARY(4)
|
||
|
<br>
|
||
|
The total number of all of the messages to watch for within this session. Up to
|
||
|
100 messages might be watched at the same time by a single session.
|
||
|
<br>
|
||
|
</dd>
|
||
|
|
||
|
<dt><em>Message information</em></dt>
|
||
|
|
||
|
<dd>Each message being watched contains a message id, where to watch for the
|
||
|
message (message queue or job log) and it may specify a message comparison
|
||
|
data. Refer to <a href="#HDRFMSG">Format for message information</a> for the
|
||
|
format of this field.</dd>
|
||
|
</dl>
|
||
|
|
||
|
|
||
|
<br>
|
||
|
</dd>
|
||
|
|
||
|
<dt><strong>Watch for LIC log entry</strong></dt>
|
||
|
|
||
|
<dd>INPUT; CHAR(*)
|
||
|
|
||
|
<p>The licensed internal code (LIC) log entry identifiers which are to be
|
||
|
watched for. The watched for condition will be met if a LIC log entry is added
|
||
|
that matches the specified major and minor codes and any comparison data
|
||
|
specified. The information must be in the following format:</p>
|
||
|
|
||
|
<dl>
|
||
|
<dt><em>Number of LIC logs being watched</em></dt>
|
||
|
|
||
|
<dd>BINARY(4)
|
||
|
<br>
|
||
|
The total number of all of the LIC logs to watch for. Up to five LIC logs can
|
||
|
be specified.
|
||
|
<br>
|
||
|
</dd>
|
||
|
|
||
|
<dt><em>LIC log information</em></dt>
|
||
|
|
||
|
<dd>Each LIC log entry contains a major and a minor code and it may specify a
|
||
|
LIC log comparison data. Refer to <a href="#HDRFLIC">Format for LIC log
|
||
|
information</a> for the format of this field.</dd>
|
||
|
</dl>
|
||
|
<br>
|
||
|
</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>
|
||
|
<br>
|
||
|
|
||
|
<h3><a name="HDRFMSG">Format for message information</a></h3>
|
||
|
|
||
|
<p>The following table shows the format for the messages to be watched for. For
|
||
|
a detailed description of each field, see <a href="#Header_8">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%">BINARY(4)</td>
|
||
|
<td align="left" valign="top" width="60%">Length of message information</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top" width="10%">4</td>
|
||
|
<td align="center" valign="top" width="10%">4</td>
|
||
|
<td align="left" valign="top" width="20%">CHAR(7)</td>
|
||
|
<td align="left" valign="top" width="60%">Message id</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">11</td>
|
||
|
<td align="center" valign="top">B</td>
|
||
|
<td align="left" valign="top">CHAR(1)</td>
|
||
|
<td align="left" valign="top">Reserved</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">12</td>
|
||
|
<td align="center" valign="top">C</td>
|
||
|
<td align="left" valign="top">CHAR(10)</td>
|
||
|
<td align="left" valign="top">Watched message queue name</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">22</td>
|
||
|
<td align="center" valign="top">16</td>
|
||
|
<td align="left" valign="top">CHAR(10)</td>
|
||
|
<td align="left" valign="top">Watched message queue library</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">32</td>
|
||
|
<td align="center" valign="top">20</td>
|
||
|
<td align="left" valign="top">CHAR(10)</td>
|
||
|
<td align="left" valign="top">Watched job name</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">42</td>
|
||
|
<td align="center" valign="top">2A</td>
|
||
|
<td align="left" valign="top">CHAR(10)</td>
|
||
|
<td align="left" valign="top">Watched job user name</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">52</td>
|
||
|
<td align="center" valign="top">34</td>
|
||
|
<td align="left" valign="top">CHAR(6)</td>
|
||
|
<td align="left" valign="top">Watched job number</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">58</td>
|
||
|
<td align="center" valign="top">3A</td>
|
||
|
<td align="left" valign="top">CHAR(6)</td>
|
||
|
<td align="left" valign="top">Reserved</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">64</td>
|
||
|
<td align="center" valign="top">40</td>
|
||
|
<td align="left" valign="top">BINARY(4)</td>
|
||
|
<td align="left" valign="top">Offset to message comparison data</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">68</td>
|
||
|
<td align="center" valign="top">44</td>
|
||
|
<td align="left" valign="top">BINARY(4)</td>
|
||
|
<td align="left" valign="top">Length of message comparison data</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">72</td>
|
||
|
<td align="center" valign="top">48</td>
|
||
|
<td align="left" valign="top">CHAR(10)</td>
|
||
|
<td align="left" valign="top">Compare against</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">82</td>
|
||
|
<td align="center" valign="top">52</td>
|
||
|
<td align="left" valign="top">CHAR(*)</td>
|
||
|
<td align="left" valign="top">Message comparison data</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
|
||
|
<br>
|
||
|
<br>
|
||
|
|
||
|
<h3><a name="HDRFLIC">Format for LIC log information</a></h3>
|
||
|
|
||
|
<p>The following table shows the format for the LIC logs to be watched for. For
|
||
|
a detailed description of each field, see <a href="#Header_8">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%">BINARY(4)</td>
|
||
|
<td align="left" valign="top" width="60%">Length of LIC log information</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top" width="10%">4</td>
|
||
|
<td align="center" valign="top" width="10%">4</td>
|
||
|
<td align="left" valign="top" width="20%">CHAR(4)</td>
|
||
|
<td align="left" valign="top" width="60%">LIC log major code</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">8</td>
|
||
|
<td align="center" valign="top">8</td>
|
||
|
<td align="left" valign="top">CHAR(4)</td>
|
||
|
<td align="left" valign="top">LIC log minor code</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">Offset to LIC log comparison data</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">Length of LIC log comparison data</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">20</td>
|
||
|
<td align="center" valign="top">14</td>
|
||
|
<td align="left" valign="top">CHAR(*)</td>
|
||
|
<td align="left" valign="top">LIC log comparison data</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
|
||
|
<br>
|
||
|
<br>
|
||
|
|
||
|
<h3><a name="Header_8">Field Descriptions</a></h3>
|
||
|
|
||
|
<p><strong>Compare against.</strong> The part of the message the data specified
|
||
|
in message comparison data field is to be compared against. You must specify
|
||
|
blanks if zero was specified for the length of message comparison data field.
|
||
|
You can specify the following special values for this field:</p>
|
||
|
|
||
|
<table cellpadding="5">
|
||
|
<!-- cols="15 85" -->
|
||
|
<tr>
|
||
|
<td align="left" valign="top"><em>*MSGDTA</em></td>
|
||
|
<td align="left" valign="top">The message comparison data will be compared
|
||
|
against the message replacement data.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top"><em>*FROMPGM</em></td>
|
||
|
<td align="left" valign="top">The message comparison data will be compared
|
||
|
against the name of the program sending the message, or the name of the ILE
|
||
|
program that contains the procedure sending the message.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top"><em>*TOPGM</em></td>
|
||
|
<td align="left" valign="top">The message comparison data will be compared
|
||
|
against the name of the program the message was sent to, or the name of the ILE
|
||
|
program that contains the procedure the message was sent to.</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
|
||
|
<p><strong>Length of LIC log comparison data.</strong> The length of the text
|
||
|
specified in LIC log comparison data field. Valid values are 0 through 72.</p>
|
||
|
|
||
|
<p><strong>Length of LIC log information.</strong> The length of the structure
|
||
|
containing the information of the LIC log to watch for.</p>
|
||
|
|
||
|
<p><strong>Length of message comparison data.</strong> The length of the text
|
||
|
specified in message comparison data field. Valid values are 0 through 72.</p>
|
||
|
|
||
|
<p><strong>Length of message information.</strong> The length of the structure
|
||
|
containing the information of the message to watch for.</p>
|
||
|
|
||
|
<p><strong>LIC log comparison data.</strong> The comparison data to be used if
|
||
|
a log entry matching the specified major and minor codes is added to the
|
||
|
licensed internal code (LIC) log. If this text is found in the LIC log entry
|
||
|
data fields of the watched for log entry, the watched for condition is true.
|
||
|
This text is case sensitive. The LIC log fields which can be compared are TDE
|
||
|
number, task name, server type, job name, user ID, job number, thread ID,
|
||
|
exception ID, LIC module compile binary timestamp, LIC module offset, LIC
|
||
|
module RU name, LIC module name, LIC module entry point name. The comparison
|
||
|
data cannot be used to match across two fields, and can match an entire field
|
||
|
or a substring of any field. When watching for an exception ID, all four
|
||
|
hexadecimal digits of the exception ID must be specified. Also, the prefix MCH
|
||
|
may be specified if you want to compare only against the exception ID field and
|
||
|
avoid possible substring matches with the other fields.</p>
|
||
|
|
||
|
<p><strong>LIC log major code.</strong> The LIC log major code to be watched
|
||
|
for. You can specify either a hexadecimal digit or a question mark for each
|
||
|
character in the four-digit code. A question mark is a wildcard character that
|
||
|
will match any digit in that position. Up to three wildcard characters can be
|
||
|
specified. You can specify the following special value for this field:</p>
|
||
|
|
||
|
<table cellpadding="5">
|
||
|
<!-- cols="10 90" -->
|
||
|
<tr>
|
||
|
<td align="left" valign="top"><em>*ALL</em></td>
|
||
|
<td align="left" valign="top">Any LIC log entry major code will be considered
|
||
|
to be a match. If *ALL is specified for the major code, you cannot specify *ALL
|
||
|
for the LIC log entry minor code.</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
|
||
|
<p><strong>LIC log minor code.</strong> The LIC log minor code to be watched
|
||
|
for. You can specify either a hexadecimal digit or a question mark for each
|
||
|
character in the four-digit code. A question mark is a wildcard character that
|
||
|
will match any digit in that position. Up to three wildcard characters can be
|
||
|
specified. You can specify the following special value for this field:</p>
|
||
|
|
||
|
<table cellpadding="5">
|
||
|
<!-- cols="10 90" -->
|
||
|
<tr>
|
||
|
<td align="left" valign="top"><em>*ALL</em></td>
|
||
|
<td align="left" valign="top">Any LIC log entry minor code will be considered
|
||
|
to be a match. If *ALL is specified for the minor code, you cannot specify *ALL
|
||
|
for the LIC log entry major code.</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
|
||
|
<p><strong>Message comparison data.</strong> The comparison data to be used if
|
||
|
a message matching the specified message ID is added to the specified message
|
||
|
queue or log. If the message data, the "From program" or the "To program"
|
||
|
includes the specified text, the watched for condition is true. This text is
|
||
|
case sensitive.</p>
|
||
|
|
||
|
<p><strong>Message id.</strong> The 7-character message identifier to be
|
||
|
watched for.</p>
|
||
|
|
||
|
<p><strong>Offset to LIC log comparison data.</strong> The offset to the field
|
||
|
that holds the LIC log comparison data.</p>
|
||
|
|
||
|
<p><strong>Offset to message comparison data.</strong> The offset to the field
|
||
|
that holds the message comparison data.</p>
|
||
|
|
||
|
<p><strong>Reserved.</strong> A reserved field. This field must be set to
|
||
|
hexadecimal or binary zero.</p>
|
||
|
|
||
|
<p><strong>Watched job name.</strong> The name of the job to be watched. You
|
||
|
must specify blanks if something different from *JOBLOG is specified for
|
||
|
watched message queue name field. You can specify the following special values
|
||
|
for this field:</p>
|
||
|
|
||
|
<table cellpadding="5">
|
||
|
<!-- cols="15 85" -->
|
||
|
<tr>
|
||
|
<td align="left" valign="top"><em>generic-name</em></td>
|
||
|
<td align="left" valign="top">The generic name of the job to be watched. A
|
||
|
generic name is a character string of one or more characters followed by an
|
||
|
asterisk (*); for example, ABC*. The asterisk substitutes for any valid
|
||
|
characters. A generic job name specifies all jobs with job names that begin
|
||
|
with the generic prefix.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top"><em>*</em></td>
|
||
|
<td align="left" valign="top">Only the job log of the job that issued this API
|
||
|
is watched.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top"><em>*ALL</em></td>
|
||
|
<td align="left" valign="top">All jobs with the specified job user name are
|
||
|
watched. *ALL for the job name is considered to be a generic job specification
|
||
|
because it will watch all jobs that meet the job user name qualifier that you
|
||
|
specified.</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
|
||
|
<p><strong>Watched job number.</strong> The job number (000001-999999) to
|
||
|
further qualify the job name and user name. You must specify blanks if a
|
||
|
generic job name or a generic user name qualifier is specified, or if something
|
||
|
different from *JOBLOG is specified for watched message queue name field. You
|
||
|
can specify the following special value for this field:</p>
|
||
|
|
||
|
<table cellpadding="5">
|
||
|
<!-- cols="10 90" -->
|
||
|
<tr>
|
||
|
<td align="left" valign="top"><em>*ALL</em></td>
|
||
|
<td align="left" valign="top">All jobs with the specified job name and user
|
||
|
name are watched.</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
|
||
|
<p><strong>Watched job user name.</strong> The user name of the job to be
|
||
|
watched. You must specify blanks if '*' is specified for the watched job name
|
||
|
field or something different from *JOBLOG is specified for watched message
|
||
|
queue name field. You can specify the following special value for this
|
||
|
field:</p>
|
||
|
|
||
|
<table cellpadding="5">
|
||
|
<!-- cols="15 85" -->
|
||
|
<tr>
|
||
|
<td align="left" valign="top"><em>generic-name</em></td>
|
||
|
<td align="left" valign="top">The generic name of the user name of the job to
|
||
|
be watched. A generic name is a character string of one or more characters
|
||
|
followed by an asterisk (*); for example, ABC*. The asterisk substitutes for
|
||
|
any valid characters. A generic user name specifies all jobs with the specified
|
||
|
job name and with user names that begin with the generic prefix.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top"><em>*ALL</em></td>
|
||
|
<td align="left" valign="top">All jobs with the specified job name are watched.
|
||
|
*ALL for the job user name is considered to be a generic job specification
|
||
|
because it will watch all jobs that meet the job name qualifier that you
|
||
|
specified.</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
|
||
|
<p><strong>Watched message queue library.</strong> The name of the library
|
||
|
where the message queue is located. This field is ignored if *SYSOPR, *JOBLOG
|
||
|
or *HSTLOG was specified in the message queue name. You can specify the
|
||
|
following special value for this field:</p>
|
||
|
|
||
|
<table cellpadding="5">
|
||
|
<!-- cols="10 90" -->
|
||
|
<tr>
|
||
|
<td align="left" valign="top"><em>*LIBL</em></td>
|
||
|
<td align="left" valign="top">All libraries in the job's library list are
|
||
|
searched until the first match is found.</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
|
||
|
<p><strong>Watched message queue name.</strong> The name of the message queue
|
||
|
to watch. You can specify the following special values for this field:</p>
|
||
|
|
||
|
<table cellpadding="5">
|
||
|
<!-- cols="15 85" -->
|
||
|
<tr>
|
||
|
<td align="left" valign="top"><em>*SYSOPR</em></td>
|
||
|
<td align="left" valign="top">Watch messages added to the system operator
|
||
|
message queue (QSYSOPR message queue in library QSYS).</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top"><em>*JOBLOG</em></td>
|
||
|
<td align="left" valign="top">Watch messages added to the job logs of the jobs
|
||
|
specified for the watched job field.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top"><em>*HSTLOG</em></td>
|
||
|
<td align="left" valign="top">Watch messages added to the history log (QHST
|
||
|
message queue in library QSYS).</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
|
||
|
|
||
|
<br>
|
||
|
<br>
|
||
|
|
||
|
|
||
|
<h3><a name="header_9">Error Messages</a></h3>
|
||
|
|
||
|
<p>The following messages may be sent from this function:</p>
|
||
|
|
||
|
<table width="100%">
|
||
|
<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">CPF24B4</td>
|
||
|
<td width="85%" valign="top">Severe error while addressing parameter list.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td valign="top">CPF2401</td>
|
||
|
<td valign="top">Not authorized to library &1.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td valign="top">CPF2403</td>
|
||
|
<td valign="top">Message queue &1 in &2 not found.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td valign="top">CPF2408</td>
|
||
|
<td valign="top">Not authorized to message queue &1.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td width="15%" valign="top">CPF3CF1</td>
|
||
|
<td width="85%" valign="top">Error code parameter not valid.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td valign="top">CPF3C1D</td>
|
||
|
<td valign="top">Length specified in parameter &1 not valid.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td valign="top">CPF3C20</td>
|
||
|
<td valign="top">Error found by program &1.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td valign="top">CPF3C3A</td>
|
||
|
<td valign="top">Value for parameter &2 for API &1 not valid.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td valign="top">CPF39D0</td>
|
||
|
<td valign="top">Watch for event function cannot start.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td valign="top">CPF39D1</td>
|
||
|
<td valign="top">Limit exceeded for jobs watching for trace events.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td valign="top">CPF39EA</td>
|
||
|
<td valign="top">Value specified for watched job user name filed is not
|
||
|
valid.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td valign="top">CPF39EB</td>
|
||
|
<td valign="top">Watched job name, watched job user name or watched job number
|
||
|
field not valid.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td valign="top">CPF39E3</td>
|
||
|
<td valign="top">Session ID &1 already exists.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td valign="top">CPF39E5</td>
|
||
|
<td valign="top">No active jobs found, watch session not started.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td valign="top">CPF39E6</td>
|
||
|
<td valign="top">The user does not have the required authority.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td valign="top">CPF39E7</td>
|
||
|
<td valign="top">Invalid session identifier.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td valign="top">CPF39E8</td>
|
||
|
<td valign="top">Not enough authority to watch operations.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td valign="top">CPF39E9</td>
|
||
|
<td valign="top">*JOBCTL special authority required.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td valign="top">CPF3958</td>
|
||
|
<td valign="top">Not authorized to use program &1 in library &2.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td valign="top">CPF9811</td>
|
||
|
<td valign="top">Program &1 in library &2 not found.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td valign="top">CPF9872</td>
|
||
|
<td valign="top">Program or service program &1 in library &2 ended.
|
||
|
Reason code &3.</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
|
||
|
<br>
|
||
|
<img src="deltaend.gif" alt="End of change">
|
||
|
|
||
|
<hr>
|
||
|
API introduced: V5R4
|
||
|
<hr>
|
||
|
<center>
|
||
|
<table cellpadding="2" cellspacing="2">
|
||
|
<tr align="center">
|
||
|
<td valign="middle" align="center"><a href="#Top_Of_Page">Top</a> | <a href=
|
||
|
"pm1.htm">Problem Management APIs</a> | <a href="aplist.htm">APIs by
|
||
|
category</a></td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
</center>
|
||
|
</body>
|
||
|
</html>
|
||
|
|