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

542 lines
13 KiB
HTML
Raw Permalink Normal View History

2024-04-02 14:02:31 +00:00
<!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>Add Collector Notification (QypsAddCollectorNotification) 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. -->
<!-- Change History: -->
<!-- YYMMDD USERID Change description -->
<!-- Edited by Kersten Feb 2002 -->
<!-- Created by Bill Lynch for V5R2 -->
<!-- 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 type="text/javascript" language="javascript" src="../rzahg/synch.js">
</script>
<h2>Add Collector Notification (QypsAddCollectorNotification) API</h2>
<div class="box" style="width: 80%;">
<br>
&nbsp;&nbsp;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%">Collector name</td>
<td align="left" valign="top" width="20%">I</td>
<td align="left" valign="top" width="20%">Char(10)</td>
</tr>
<tr>
<td align="center" valign="top">2</td>
<td align="left" valign="top">Qualified data queue name</td>
<td align="left" valign="top">I</td>
<td align="left" valign="top">Char(20)</td>
</tr>
<tr>
<td align="center" valign="top">3</td>
<td align="left" valign="top">Notification type</td>
<td align="left" valign="top">I</td>
<td align="left" valign="top">Binary(4)</td>
</tr>
<tr>
<td align="center" valign="top">4</td>
<td align="left" valign="top">Category list</td>
<td align="left" valign="top">I</td>
<td align="left" valign="top">Array of Char(10)</td>
</tr>
<tr>
<td align="center" valign="top">5</td>
<td align="left" valign="top">Category count</td>
<td align="left" valign="top">I</td>
<td align="left" valign="top">Binary(4)</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>
&nbsp;&nbsp;Service Program Name: QYPSCOLL<br>
<!-- iddvc RMBR -->
<br>
&nbsp;&nbsp;Default Public Authority: *EXCLUDE<br>
<!-- iddvc RMBR -->
<br>
&nbsp;&nbsp;Threadsafe: Yes<br>
<!-- iddvc RMBR -->
<br>
</div>
<p>The Add Collector Notification (QypsAddCollectorNotification) API registers
with a collector to provide notifications to a specified data queue for a
collection event. A collection event occurs when:</p>
<ul>
<li>The collector cycle interval is reached.</li>
<li>The collector is ended.</li>
<li>The default data collection interval is reached.</li>
</ul>
<p>When a collector is ended, notifications are removed. When a collector is
started, no notifications are registered.</p>
<br>
<h3>Authorities and Locks</h3>
<dl>
<dt><em>API Public Authority</em></dt>
<dd>*EXCLUDE<br>
<br>
</dd>
<dt><em>Data Queue Authority</em></dt>
<dd>*CHANGE<br>
<br>
</dd>
<dt><em>Library Authority</em></dt>
<dd>*EXECUTE<br>
<br>
</dd>
</dl>
<br>
<h3>Required Parameter Group</h3>
<dl>
<dt><strong>Collector name</strong></dt>
<dd>INPUT; CHAR(10)
<p>The name of the collector that is adding a notification. One of these
special values must be used:</p>
<table cellpadding="5">
<!-- cols="10 90" -->
<tr>
<td align="left" valign="top"><em>*PFR</em></td>
<td align="left" valign="top">Performance Collector</td>
</tr>
</table>
<br>
</dd>
<dt><strong>Qualified data queue name</strong></dt>
<dd>INPUT; CHAR(20)
<p>The data queue used to send the event notification. The first ten characters
contain the data queue name, and the second ten characters contain the data
queue library name. The data queue must already exist, and the user profile
running the API must have *CHANGE authority to it. 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>
<br>
</dd>
<dt><strong>Notification type</strong></dt>
<dd>INPUT; BINARY(4)
<p>Notification is to be sent to the specified data queue when one of these
events occur:</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>0</em></td>
<td align="left" valign="top">Collector - notify when a cycle, end, or interval
event occurs.</td>
</tr>
<tr>
<td align="left" valign="top"><em>1</em></td>
<td align="left" valign="top">Cycle - notify when the collection cycle interval
occurs.</td>
</tr>
<tr>
<td align="left" valign="top"><em>2</em></td>
<td align="left" valign="top">End - notify when the collection is ended.</td>
</tr>
<tr>
<td align="left" valign="top"><em>3</em></td>
<td align="left" valign="top">Interval - notify when the collection interval
occurs.</td>
</tr>
<tr>
<td align="left" valign="top"><em>4</em></td>
<td align="left" valign="top">Category - notify when the category interval
occurs.</td>
</tr>
</table>
<p>For more information on the format of the notification record, see <a href=
"#NOTIFICATION">Notification Record Format</a>.</p>
</dd>
<dt><strong>Category list</strong></dt>
<dd>INPUT; ARRAY OF CHAR(10)
<p>List of category names, for which notification is to be sent. This field is
only applicable when Notification type is set to category notification (4).
Category name can be a system-defined category name or a user-defined category
name.</p>
</dd>
<dt><strong>System-defined category name</strong></dt>
<dd>A 10 character name of a system-defined category. For the *PFR collector
system-defined categories are:<br>
<br>
<ul>
<li>*APPN
</li>
<li>*CMNBASE
</li>
<li>*CMNSAP
</li>
<li>*CMNSTN
</li>
<li>*DISK
</li>
<li>*HDWCFG
</li>
<li>*IOPBASE
</li>
<li>*IPCS
</li>
<li>*JOBMI
</li>
<li>*JOBOS
</li>
<li>*LCLRSP
</li>
<li>*POOL
</li>
<li>*POOLTUNE
</li>
<li>*SNA
</li>
<li>*SNADS
</li>
<li>*SUBSYSTEM
</li>
<li>*SYSBUS
</li>
<li>*SYSCPU
</li>
<li>*SYSLVL
</li>
<li>*TCPBASE
</li>
<li>*TCPIFC
</li>
<li>*USRTNS
</li>
</ul><br><br>
</dd>
<dt><strong>Registered user-defined category name</strong></dt>
<dd>A 10 character name of a user-defined category registered by the Register
Collector Data Category (QypsRegCollectorDataCategory) API.<br>
<br>
</dd>
<dt><strong>Category count</strong></dt>
<dd>INPUT; BINARY(4)
<p>The number of categories entered in input field Category list. This field is
only applicable when Notification type is set to category notification (4).
Category count must have a value of '0' when Notification type is not a
category notification (4).</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>Usage Notes</h3>
<p>An application uses the Add Collector Notification
(QypsAddCollectorNotification) API to start receiving notifications about
collector events. The collector sends notifications using the data queue. The
application program has to create a data queue and pass the qualified name of
this data queue to the Add Collector Notification
(QypsAddCollectorNotification) API. The collector sends notification messages
or records to the specified data queue. The format of the notification records
is shown below. The application program is responsible for reading and removing
entries from the data queue.</p>
<p>When the application no longer needs to receive notifications from the
collector, it uses the Remove Collector Notification
(QypsRmvCollectorNotification) API.</p>
<p>The application is responsible for cleaning up the data queue.</p>
<h3><a name="NOTIFICATION">Notification Record Format</a></h3>
<p>For detailed descriptions of the fields in this table, see <a href=
"#NOTFIELD">Notification Record 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%">Char(10)</td>
<td align="left" valign="top" width="60%">Entry type</td>
</tr>
<tr>
<td align="center" valign="top">10</td>
<td align="center" valign="top">A</td>
<td align="left" valign="top">Char(2)</td>
<td align="left" valign="top">Entry identifier</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">Collection object 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">Library name</td>
</tr>
<tr>
<td align="center" valign="top">32</td>
<td align="center" valign="top">20</td>
<td align="left" valign="top">Char(8)</td>
<td align="left" valign="top">Sequence identifier</td>
</tr>
<tr>
<td align="center" valign="top">40</td>
<td align="center" valign="top">28</td>
<td align="left" valign="top">Char(10)</td>
<td align="left" valign="top">Category</td>
</tr>
<tr>
<td align="center" valign="top">50</td>
<td align="center" valign="top">32</td>
<td align="left" valign="top">Char(40)</td>
<td align="left" valign="top">Reserved</td>
</tr>
</table>
<br>
<br>
<h3><a name="NOTFIELD">Notification Record Field Descriptions</a></h3>
<p><strong>Category</strong>&nbsp;&nbsp; The category associated with the
notification. This field is only applicable when the notification event
specified in Entry identifier is set to category notification ('04').</p>
<p><strong>Collection object name</strong>&nbsp;&nbsp; The name of the
collection object where any data collected was placed. This name is generated
when the collector starts , and is of the form QDDDHHMMSS.</p>
<p><strong>Entry identifier</strong>&nbsp;&nbsp; The notification event that
occurred. Values are:</p>
<table cellpadding="5">
<!-- cols="10 90" -->
<tr>
<td align="left" valign="top" nowrap><em>'01'</em></td>
<td align="left" valign="top">Cycle - a collection cycle interval
occurred.</td>
</tr>
<tr>
<td align="left" valign="top"><em>'02'</em></td>
<td align="left" valign="top">End - a collection has ended.</td>
</tr>
<tr>
<td align="left" valign="top"><em>'03'</em></td>
<td align="left" valign="top">Interval - a collection interval occurred.</td>
</tr>
<tr>
<td align="left" valign="top"><em>'04'</em></td>
<td align="left" valign="top">Category - a category collection interval
occurred.</td>
</tr>
</table>
<p><strong>Entry type</strong>&nbsp;&nbsp; The type of this data queue entry.
Set to value '*COLNOT '.</p>
<p><strong>Library name</strong>&nbsp;&nbsp; The name of the library containing
the collection object for which the event occurred.</p>
<p><strong>Reserved</strong>&nbsp;&nbsp; This space is reserved for possible
future use.</p>
<p><strong>Sequence identifier</strong>&nbsp;&nbsp; A unique identifier
assigned to this collection event. Its format is based on the time since the
collector was started in the format DDHHMMSS , where 00000000 represents the
time the collector was started.</p>
<h3>Error Messages</h3>
<table width="100%" cellpadding="5">
<!-- cols="15 85" -->
<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">CPF3C1E E</td>
<td width="85%" valign="top">Required parameter &amp;1 omitted.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3C3C E</td>
<td align="left" valign="top">Value for parameter &amp;1 not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3CF2 E</td>
<td align="left" valign="top">Error(s) occurred during running of &amp;1
API.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9801 E</td>
<td align="left" valign="top">Object &amp;2 in library &amp;3 not found.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9802 E</td>
<td align="left" valign="top">Not authorized to object &amp;2 in &amp;3.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9810 E</td>
<td align="left" valign="top">Library &amp;1 not found.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9820 E</td>
<td align="left" valign="top">Not authorized to use library &amp;1.</td>
</tr>
<tr>
<td align="left" valign="top">CPFB94A E</td>
<td align="left" valign="top">Collector communications error. Reason code
&amp;1.</td>
</tr>
</table>
<br>
<hr>
<p>Introduced: V5R2</p>
<hr>
<table cellpadding="2" cellspacing="2" align="center">
<tr align="center">
<td valign="middle" align="center"><a href="#Top_Of_Page">Top</a> | <a href=
"perfmgmt.htm">Performance Management</a> | <a href="aplist.htm">APIs by category</a></td>
</tr>
</table>
</body>
</html>