1595 lines
45 KiB
HTML
1595 lines
45 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>Report Software Error (QpdReportSoftwareError) 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. -->
|
||
|
<!-- QPDRPTSE SCRIPT A converted by B2H R4.1 (346) (CMS) by KENTALA -->
|
||
|
<!-- at RCHVMW2 on 2 Oct 1998 at 13:46:21 -->
|
||
|
<!-- Change History: -->
|
||
|
<!-- YYMMDD USERID Change description -->
|
||
|
<!--File Edited April 2001 -->
|
||
|
<!--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 language="Javascript" src="../rzahg/synch.js" type="text/javascript">
|
||
|
</script>
|
||
|
|
||
|
<h2>Report Software Error (QpdReportSoftwareError) API</h2>
|
||
|
|
||
|
<div class="box" style="width: 80%;">
|
||
|
<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%">Problem description records</td>
|
||
|
<td align="left" valign="top" width="20%">Input</td>
|
||
|
<td align="left" valign="top" width="20%">Array of Pointers</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">2</td>
|
||
|
<td align="left" valign="top">Number of problem description records</td>
|
||
|
<td align="left" valign="top">Input</td>
|
||
|
<td align="left" valign="top">Binary(4)</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">3</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: *USE<br>
|
||
|
<!-- iddvc RMBR -->
|
||
|
<br>
|
||
|
Service Program: QPDSRVPG<br>
|
||
|
<!-- iddvc RMBR -->
|
||
|
<br>
|
||
|
Threadsafe: Conditional; see <a href="#usage_notes">Usage Notes</a>.<br>
|
||
|
<!-- iddvc RMBR -->
|
||
|
<br>
|
||
|
</div>
|
||
|
|
||
|
<p>Use the Report Software Error (QpdReportSoftwareError) API whenever your ILE
|
||
|
program detects a software problem that must be fixed.</p>
|
||
|
|
||
|
<p>The API logs the problem in the system problem log, which lets you track the
|
||
|
problem, as well as send it to a service provider. See the System Manager for
|
||
|
iSeries product for more information about service providers and service
|
||
|
requesters.</p>
|
||
|
|
||
|
<p>The API also lets you specify the symptoms that identify the problem. The
|
||
|
operating system and the service provider use those symptoms to find a PTF that
|
||
|
may fix the problem.</p>
|
||
|
|
||
|
<p>The API also lets you specify data to dump to spooled files. If neither the
|
||
|
operating system nor the service provider can find a PTF, you may be able to
|
||
|
find the cause of the problem using the data the program dumped.</p>
|
||
|
|
||
|
<br>
|
||
|
|
||
|
|
||
|
<h3>Authorities and Locks</h3>
|
||
|
|
||
|
<dl>
|
||
|
<dt><em>Object Authority</em></dt>
|
||
|
|
||
|
<dd>
|
||
|
<p>*USE for objects in libraries</p>
|
||
|
|
||
|
<p>*R for objects in directories</p>
|
||
|
</dd>
|
||
|
|
||
|
<dt><em>Object Library Authority</em></dt>
|
||
|
|
||
|
<dd>*EXECUTE</dd>
|
||
|
|
||
|
<dt><em>Object Directory Authority</em></dt>
|
||
|
|
||
|
<dd>*RX</dd>
|
||
|
|
||
|
<dt><em>Locks</em></dt>
|
||
|
|
||
|
<dd>None</dd>
|
||
|
</dl>
|
||
|
|
||
|
<br>
|
||
|
|
||
|
|
||
|
<h3>Required Parameter Group</h3>
|
||
|
|
||
|
<dl>
|
||
|
<dt><strong>Problem description records</strong></dt>
|
||
|
|
||
|
<dd>INPUT; ARRAY of POINTERS
|
||
|
|
||
|
<p>This is a list of pointers to problem symptom and data description records.
|
||
|
See <a href="#HDRGENFMTS">Problem Description Records Format</a> for the format
|
||
|
of the records.</p>
|
||
|
</dd>
|
||
|
|
||
|
<dt><strong>Number of Problem description records</strong></dt>
|
||
|
|
||
|
<dd>INPUT; BINARY(4)
|
||
|
|
||
|
<p>The number of problem description records your program is passing to the
|
||
|
API.</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>. If this
|
||
|
parameter is omitted, diagnostic and escape messages are issued to the
|
||
|
application.</p>
|
||
|
</dd>
|
||
|
</dl>
|
||
|
|
||
|
<br>
|
||
|
|
||
|
|
||
|
<h3><a name="HDRGENFMTS">Problem Description Records Format</a></h3>
|
||
|
|
||
|
<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%">Key</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">4</td>
|
||
|
<td align="center" valign="top">4</td>
|
||
|
<td align="left" valign="top">CHAR(*)</td>
|
||
|
<td align="left" valign="top">Problem record description</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
|
||
|
<br>
|
||
|
<br>
|
||
|
|
||
|
|
||
|
<h3>Field Descriptions</h3>
|
||
|
|
||
|
<p><strong>Key</strong> Identifies a particular problem symptom or data. See <a
|
||
|
href="#HDRPDKEYS">Keys</a> for a list of the possible keys.</p>
|
||
|
|
||
|
<p><strong>Problem record description</strong> This describes a particular
|
||
|
symptom of the problem, or specifies data to collect. See <a href=
|
||
|
"#HDRSPCFMT1">Formats of Specific Problem Description Records</a> for the
|
||
|
various problem record description formats.</p>
|
||
|
|
||
|
<br>
|
||
|
|
||
|
|
||
|
<h3><a name="HDRPDKEYS">Keys</a></h3>
|
||
|
|
||
|
<p>The following table lists the valid keys of the key field area of the
|
||
|
software problem record.</p>
|
||
|
|
||
|
<table border width="80%">
|
||
|
<!-- cols="15 85" -->
|
||
|
<tr>
|
||
|
<th align="center" valign="top">Key</th>
|
||
|
<th align="left" valign="top">Description</th>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">100</td>
|
||
|
<td align="left" valign="top"><a href="#Header_8">Call stack
|
||
|
counter</a></td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">101</td>
|
||
|
<td align="left" valign="top"><a href="#Header_9">Suspected
|
||
|
program</a></td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">102</td>
|
||
|
<td align="left" valign="top"><a href="#Header_10">Suspected
|
||
|
service program</a></td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">103</td>
|
||
|
<td align="left" valign="top"><a href="#Header_11">Suspected
|
||
|
module</a></td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">104</td>
|
||
|
<td align="left" valign="top"><a href="#Header_12">Suspected
|
||
|
procedure</a></td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">105</td>
|
||
|
<td align="left" valign="top"><a href="#Header_13">Detecting
|
||
|
program</a></td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">106</td>
|
||
|
<td align="left" valign="top"><a href="#Header_14">Detecting
|
||
|
service program</a></td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">200</td>
|
||
|
<td align="left" valign="top"><a href="#Header_15">
|
||
|
Symptom</a></td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">201</td>
|
||
|
<td align="left" valign="top"><a href="#Header_16">Instruction
|
||
|
number</a></td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">300</td>
|
||
|
<td align="left" valign="top"><a href="#Header_17">System
|
||
|
object</a></td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">301</td>
|
||
|
<td align="left" valign="top"><a href="#Header_18">Data</a></td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">302</td>
|
||
|
<td align="left" valign="top"><a href="#Header_19">Named system
|
||
|
object</a></td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">303</td>
|
||
|
<td align="left" valign="top"><a href="#Header_20">Spooled
|
||
|
file</a></td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">304</td>
|
||
|
<td align="left" valign="top"><a href="#Header_21">Named
|
||
|
integrated file system object</a></td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">400</td>
|
||
|
<td align="left" valign="top"><a href="#Header_22">Service
|
||
|
identifier</a></td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
|
||
|
<br>
|
||
|
<br>
|
||
|
|
||
|
|
||
|
<h3><a name="HDRSPCFMT1">Formats of Specific Problem Description
|
||
|
Records</a></h3>
|
||
|
|
||
|
<h4><a name="Header_8">Key 100-Call Stack Counter</a></h4>
|
||
|
|
||
|
<p>This key specifies which invocation on the program stack is suspected of
|
||
|
causing the error being reported. If this key is used, you must not use keys
|
||
|
101, 102, 103, or 104. If neither key 100, 101, nor 102 are specified, the API
|
||
|
assumes that the program or service program that called the API is the one that
|
||
|
has the problem.</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%">Key</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">4</td>
|
||
|
<td align="center" valign="top">4</td>
|
||
|
<td align="left" valign="top">BINARY(4)</td>
|
||
|
<td align="left" valign="top">Call stack counter</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
|
||
|
<br>
|
||
|
<br>
|
||
|
|
||
|
|
||
|
<h4><a name="Header_9">Key 101-Suspected Program</a></h4>
|
||
|
|
||
|
<p>This key is used to identify which program is suspected of causing the error
|
||
|
being reported. If this key is used, you must not use key 100 or 102, but
|
||
|
should use keys 103 and 104 if applicable. If neither key 100, 101, nor 102 are
|
||
|
specified, the API assumes that the program or service program that called the
|
||
|
API is the one that has the problem.</p>
|
||
|
|
||
|
<p><strong>Note:</strong> The program must exist on the system at the time the
|
||
|
API is called.</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%">Key</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">4</td>
|
||
|
<td align="center" valign="top">4</td>
|
||
|
<td align="left" valign="top">BINARY(4)</td>
|
||
|
<td align="left" valign="top">Length of program name</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">8</td>
|
||
|
<td align="center" valign="top">8</td>
|
||
|
<td align="left" valign="top">BINARY(4)</td>
|
||
|
<td align="left" valign="top">Length of library name</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">12</td>
|
||
|
<td align="center" valign="top">C</td>
|
||
|
<td align="left" valign="top">CHAR(4)</td>
|
||
|
<td align="left" valign="top">Reserved</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">16</td>
|
||
|
<td align="center" valign="top">10</td>
|
||
|
<td align="left" valign="top">POINTER</td>
|
||
|
<td align="left" valign="top">Program name</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">32</td>
|
||
|
<td align="center" valign="top">20</td>
|
||
|
<td align="left" valign="top">POINTER</td>
|
||
|
<td align="left" valign="top">Library name</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
|
||
|
<br>
|
||
|
<br>
|
||
|
|
||
|
|
||
|
<h4><a name="Header_10">Key 102-Suspected Service Program</a></h4>
|
||
|
|
||
|
<p>This key is used to identify which service program is suspected of causing
|
||
|
the error being reported. If this key is used, you must not use key 100 or 101,
|
||
|
but should use keys 103 and 104 if applicable. If neither key 100, 101, nor 102
|
||
|
are specified, the API assumes that the program or service program that called
|
||
|
the API is the one that has the problem.</p>
|
||
|
|
||
|
<p><strong>Note:</strong> The service program must exist on the system at the
|
||
|
time the API is called.</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%">Key</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">4</td>
|
||
|
<td align="center" valign="top">4</td>
|
||
|
<td align="left" valign="top">BINARY(4)</td>
|
||
|
<td align="left" valign="top">Length of service program name</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">8</td>
|
||
|
<td align="center" valign="top">8</td>
|
||
|
<td align="left" valign="top">BINARY(4)</td>
|
||
|
<td align="left" valign="top">Length of library name</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">12</td>
|
||
|
<td align="center" valign="top">C</td>
|
||
|
<td align="left" valign="top">CHAR(4)</td>
|
||
|
<td align="left" valign="top">Reserved</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">16</td>
|
||
|
<td align="center" valign="top">10</td>
|
||
|
<td align="left" valign="top">POINTER</td>
|
||
|
<td align="left" valign="top">Service program name</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">32</td>
|
||
|
<td align="center" valign="top">20</td>
|
||
|
<td align="left" valign="top">POINTER</td>
|
||
|
<td align="left" valign="top">Library name</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
|
||
|
<br>
|
||
|
<br>
|
||
|
|
||
|
|
||
|
<h4><a name="Header_11">Key 103-Suspected Module</a></h4>
|
||
|
|
||
|
<p>This key is used to identify which module is suspected of causing the error
|
||
|
being reported. If this key is used, you must not use key 100, but should use
|
||
|
keys 101 or 102.</p>
|
||
|
|
||
|
<p><strong>Note:</strong> The module must exist on the system at the time the
|
||
|
API is called.</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%">Key</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">4</td>
|
||
|
<td align="center" valign="top">4</td>
|
||
|
<td align="left" valign="top">BINARY(4)</td>
|
||
|
<td align="left" valign="top">Length of module name</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">8</td>
|
||
|
<td align="center" valign="top">8</td>
|
||
|
<td align="left" valign="top">BINARY(4)</td>
|
||
|
<td align="left" valign="top">Length of library name</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">12</td>
|
||
|
<td align="center" valign="top">C</td>
|
||
|
<td align="left" valign="top">CHAR(4)</td>
|
||
|
<td align="left" valign="top">Reserved</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">16</td>
|
||
|
<td align="center" valign="top">10</td>
|
||
|
<td align="left" valign="top">POINTER</td>
|
||
|
<td align="left" valign="top">Module name</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">32</td>
|
||
|
<td align="center" valign="top">20</td>
|
||
|
<td align="left" valign="top">POINTER</td>
|
||
|
<td align="left" valign="top">Library name</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
|
||
|
<br>
|
||
|
<br>
|
||
|
|
||
|
|
||
|
<h4><a name="Header_12">Key 104-Suspected Procedure</a></h4>
|
||
|
|
||
|
<p>This key is used to identify which procedure is suspected of causing the
|
||
|
error being reported. If this key is used, you must not use key 100, but should
|
||
|
use key 103 and either 101 or 102.</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%">Key</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">4</td>
|
||
|
<td align="center" valign="top">4</td>
|
||
|
<td align="left" valign="top">BINARY(4)</td>
|
||
|
<td align="left" valign="top">Length of procedure name</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">8</td>
|
||
|
<td align="center" valign="top">8</td>
|
||
|
<td align="left" valign="top">CHAR(8)</td>
|
||
|
<td align="left" valign="top">Reserved</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">16</td>
|
||
|
<td align="center" valign="top">10</td>
|
||
|
<td align="left" valign="top">POINTER</td>
|
||
|
<td align="left" valign="top">Procedure name</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
|
||
|
<br>
|
||
|
<br>
|
||
|
|
||
|
|
||
|
<h4><a name="Header_13">Key 105-Detecting Program</a></h4>
|
||
|
|
||
|
<p>This key identifies the program that detected the problem. If this key is
|
||
|
used, you must not use key 106. If neither key 105 nor 106 is specified, the
|
||
|
API assumes that the program or service program that called the API is the one
|
||
|
that detected the problem.</p>
|
||
|
|
||
|
<p><strong>Note:</strong> The program must exist on the system at the time the
|
||
|
API is called.</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%">Key</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">4</td>
|
||
|
<td align="center" valign="top">4</td>
|
||
|
<td align="left" valign="top">BINARY(4)</td>
|
||
|
<td align="left" valign="top">Length of program name</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">8</td>
|
||
|
<td align="center" valign="top">8</td>
|
||
|
<td align="left" valign="top">BINARY(4)</td>
|
||
|
<td align="left" valign="top">Length of library name</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">12</td>
|
||
|
<td align="center" valign="top">C</td>
|
||
|
<td align="left" valign="top">CHAR(4)</td>
|
||
|
<td align="left" valign="top">Reserved</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">16</td>
|
||
|
<td align="center" valign="top">10</td>
|
||
|
<td align="left" valign="top">POINTER</td>
|
||
|
<td align="left" valign="top">Program name</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">32</td>
|
||
|
<td align="center" valign="top">20</td>
|
||
|
<td align="left" valign="top">POINTER</td>
|
||
|
<td align="left" valign="top">Library name</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
|
||
|
<br>
|
||
|
<br>
|
||
|
|
||
|
|
||
|
<h4><a name="Header_14">Key 106-Detecting Service Program</a></h4>
|
||
|
|
||
|
<p>This key identifies the service program that detected the problem. If this
|
||
|
key is used, you must not use key 105. If neither key 105 nor 106 is specified,
|
||
|
the API assumes that the program or service program that called the API is the
|
||
|
one that detected the problem.</p>
|
||
|
|
||
|
<p><strong>Note:</strong> The service program must exist on the system at the
|
||
|
time the API is called.</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%">Key</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">4</td>
|
||
|
<td align="center" valign="top">4</td>
|
||
|
<td align="left" valign="top">BINARY(4)</td>
|
||
|
<td align="left" valign="top">Length of service program name</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">8</td>
|
||
|
<td align="center" valign="top">8</td>
|
||
|
<td align="left" valign="top">BINARY(4)</td>
|
||
|
<td align="left" valign="top">Length of library name</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">12</td>
|
||
|
<td align="center" valign="top">C</td>
|
||
|
<td align="left" valign="top">CHAR(4)</td>
|
||
|
<td align="left" valign="top">Reserved</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">16</td>
|
||
|
<td align="center" valign="top">10</td>
|
||
|
<td align="left" valign="top">POINTER</td>
|
||
|
<td align="left" valign="top">Service program name</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">32</td>
|
||
|
<td align="center" valign="top">20</td>
|
||
|
<td align="left" valign="top">POINTER</td>
|
||
|
<td align="left" valign="top">Library name</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
|
||
|
<br>
|
||
|
<br>
|
||
|
|
||
|
|
||
|
<h4><a name="Header_15">Key 200-Symptom</a></h4>
|
||
|
|
||
|
<p>This key identifies the symptoms associated with the problem. Together, the
|
||
|
symptoms form a symptom string. i5/OS searches for a PTF that has a solution
|
||
|
string that matches this symptom string.</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%">Key</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">4</td>
|
||
|
<td align="center" valign="top">4</td>
|
||
|
<td align="left" valign="top">BINARY(4)</td>
|
||
|
<td align="left" valign="top">Length of symptom keyword</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">8</td>
|
||
|
<td align="center" valign="top">8</td>
|
||
|
<td align="left" valign="top">BINARY(4)</td>
|
||
|
<td align="left" valign="top">Length of symptom data</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">12</td>
|
||
|
<td align="center" valign="top">C</td>
|
||
|
<td align="left" valign="top">CHAR(1)</td>
|
||
|
<td align="left" valign="top">Type of symptom data</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">13</td>
|
||
|
<td align="center" valign="top">D</td>
|
||
|
<td align="left" valign="top">CHAR(3)</td>
|
||
|
<td align="left" valign="top">Reserved</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">16</td>
|
||
|
<td align="center" valign="top">10</td>
|
||
|
<td align="left" valign="top">POINTER</td>
|
||
|
<td align="left" valign="top">Pointer to symptom keyword</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">32</td>
|
||
|
<td align="center" valign="top">20</td>
|
||
|
<td align="left" valign="top">POINTER</td>
|
||
|
<td align="left" valign="top">Pointer to symptom data</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
|
||
|
<br>
|
||
|
<br>
|
||
|
|
||
|
|
||
|
<h4><a name="Header_16">Key 201-Instruction Number</a></h4>
|
||
|
|
||
|
<p>This key identifies the instruction number where the problem occurred.</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%">Key</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">4</td>
|
||
|
<td align="center" valign="top">4</td>
|
||
|
<td align="left" valign="top">CHAR(4)</td>
|
||
|
<td align="left" valign="top">Instruction number</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
|
||
|
<br>
|
||
|
<br>
|
||
|
|
||
|
|
||
|
<h4><a name="Header_17">Key 300-System Object</a></h4>
|
||
|
|
||
|
<p>This key identifies system objects associated with the problem. The system
|
||
|
objects will be dumped to spooled files. The spooled files will be kept on an
|
||
|
output queue in the APAR library associated with the problem log entry. You can
|
||
|
display the spooled files using the WRKPRB command. The combination of this key
|
||
|
and the other keys related to objects may be specified up to 32 times.</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%">Key</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">4</td>
|
||
|
<td align="center" valign="top">4</td>
|
||
|
<td align="left" valign="top">CHAR(12)</td>
|
||
|
<td align="left" valign="top">Reserved</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">16</td>
|
||
|
<td align="center" valign="top">10</td>
|
||
|
<td align="left" valign="top">PTR(SYP)</td>
|
||
|
<td align="left" valign="top">Pointer to object</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
|
||
|
<br>
|
||
|
<br>
|
||
|
|
||
|
|
||
|
<h4><a name="Header_18">Key 301-Data</a></h4>
|
||
|
|
||
|
<p>This key identifies data associated with the problem. The data is dumped to
|
||
|
spooled files. This key may be specified up to 32 times. The spooled files are
|
||
|
kept on an output queue in the APAR library associated with the problem log
|
||
|
entry. You can display the spooled files using the WRKPRB command. The first
|
||
|
one thousand bytes from the list of data items are also sent to the service
|
||
|
provider if the problem is reported and if the "send data packet" flag in the
|
||
|
service attributes is on. That data resides in a file named QAPDFCDP in the
|
||
|
APAR library associated with the problem log entry on the service provider.</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%">Key</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">4</td>
|
||
|
<td align="center" valign="top">4</td>
|
||
|
<td align="left" valign="top">BINARY(4)</td>
|
||
|
<td align="left" valign="top">Data length</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">8</td>
|
||
|
<td align="center" valign="top">8</td>
|
||
|
<td align="left" valign="top">BINARY(4)</td>
|
||
|
<td align="left" valign="top">Data ID</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">12</td>
|
||
|
<td align="center" valign="top">C</td>
|
||
|
<td align="left" valign="top">CHAR(4)</td>
|
||
|
<td align="left" valign="top">Reserved</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">16</td>
|
||
|
<td align="center" valign="top">10</td>
|
||
|
<td align="left" valign="top">POINTER</td>
|
||
|
<td align="left" valign="top">Pointer to data</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
|
||
|
<br>
|
||
|
<br>
|
||
|
|
||
|
|
||
|
<h4><a name="Header_19">Key 302-Named System Object</a></h4>
|
||
|
|
||
|
<p>This key names system objects associated with the problem. The system
|
||
|
objects will be dumped to spooled files. The spooled files will be kept on an
|
||
|
output queue in the APAR library associated with the problem log entry. You can
|
||
|
display the spooled files using the WRKPRB command. The combination of this key
|
||
|
and the other keys related to objects may be specified up to 32 times.</p>
|
||
|
|
||
|
<p><strong>Note:</strong> The object must exist on the system at the time the
|
||
|
API is called.</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%">Key</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">4</td>
|
||
|
<td align="center" valign="top">4</td>
|
||
|
<td align="left" valign="top">CHAR(30)</td>
|
||
|
<td align="left" valign="top">Object name</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">34</td>
|
||
|
<td align="center" valign="top">22</td>
|
||
|
<td align="left" valign="top">CHAR(30)</td>
|
||
|
<td align="left" valign="top">Object library</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">64</td>
|
||
|
<td align="center" valign="top">40</td>
|
||
|
<td align="left" valign="top">CHAR(10)</td>
|
||
|
<td align="left" valign="top">Object type</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
|
||
|
<br>
|
||
|
<br>
|
||
|
|
||
|
|
||
|
<h4><a name="Header_20">Key 303-Spooled File</a></h4>
|
||
|
|
||
|
<p>This key identifies spooled files associated with the problem. The job that
|
||
|
created the spooled files must be the current job. This key may be specified up
|
||
|
to 32 times. The spooled files are kept on an output queue in the APAR library
|
||
|
associated with the problem log entry.</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%">Key</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">4</td>
|
||
|
<td align="center" valign="top">4</td>
|
||
|
<td align="left" valign="top">CHAR(10)</td>
|
||
|
<td align="left" valign="top">Spooled file name</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">14</td>
|
||
|
<td align="center" valign="top">E</td>
|
||
|
<td align="left" valign="top">BINARY(4)</td>
|
||
|
<td align="left" valign="top">Spooled file number</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
|
||
|
<br>
|
||
|
<br>
|
||
|
|
||
|
|
||
|
<h4><a name="Header_21">Key 304-Named Integrated File System Object</a></h4>
|
||
|
|
||
|
<p>This key names integrated file system objects associated with the problem.
|
||
|
The integrated file system objects will be dumped to spooled files. The spooled
|
||
|
files will be kept on an output queue in the APAR library associated with the
|
||
|
problem log entry. You can display the spooled files using the WRKPRB command.
|
||
|
The combination of this key and the other keys related to objects may be
|
||
|
specified up to 32 times.</p>
|
||
|
|
||
|
<p><strong>Notes:</strong></p>
|
||
|
|
||
|
<ol>
|
||
|
<li>The object must exist on the system at the time the API is called.</li>
|
||
|
|
||
|
<li>Both absolute and relative path names are allowed. The patterns ? and * are
|
||
|
not allowed. The home directory of the user is not resolved, thus a tilde (~)
|
||
|
in the first character position is not treated as the home directory. The
|
||
|
NLS-enabled path name structure (defined in the QLG header file) can be filled
|
||
|
in to specify the coded character set identifier (CCSID) the path name is
|
||
|
in.</li>
|
||
|
</ol>
|
||
|
|
||
|
<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%">Key</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">4</td>
|
||
|
<td align="center" valign="top">4</td>
|
||
|
<td align="left" valign="top">CHAR(12)</td>
|
||
|
<td align="left" valign="top">Reserved</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">16</td>
|
||
|
<td align="center" valign="top">10</td>
|
||
|
<td align="left" valign="top">POINTER</td>
|
||
|
<td align="left" valign="top">NLS-enabled path name structure</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
|
||
|
<br>
|
||
|
<br>
|
||
|
|
||
|
|
||
|
<h4><a name="Header_22">Key 400-Service Identifier</a></h4>
|
||
|
|
||
|
<p>This key identifies where in a particular program or service program the
|
||
|
problem was reported. The default service identifier is 9000.</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%">Key</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">4</td>
|
||
|
<td align="center" valign="top">4</td>
|
||
|
<td align="left" valign="top">CHAR(4)</td>
|
||
|
<td align="left" valign="top">Service identifier</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
|
||
|
<br>
|
||
|
<br>
|
||
|
|
||
|
|
||
|
<h3><a name="Header_23">Field Descriptions</a></h3>
|
||
|
|
||
|
<p><strong>Call stack counter.</strong> The number of invocations in the
|
||
|
program stack to count from the invocation of the program or service program
|
||
|
that called the API, to the invocation of the program or service program that
|
||
|
is suspected of having the problem. Use 1, for instance, to specify the program
|
||
|
or service program that called the program or service program that called the
|
||
|
API. If the call stack counter value exceeds the number of invocations
|
||
|
currently on the program stack, the API uses the invocation of the program or
|
||
|
service program that called the API.</p>
|
||
|
|
||
|
<p><strong>Data ID.</strong> This number is used to identify the data that is
|
||
|
dumped.</p>
|
||
|
|
||
|
<p><strong>Data length.</strong> The length of the data that is dumped.</p>
|
||
|
|
||
|
<p><strong>Instruction number.</strong> Specifies exactly where the problem
|
||
|
occurred within the specified program or service program.</p>
|
||
|
|
||
|
<p><strong>Key.</strong> Identifies the problem description record.</p>
|
||
|
|
||
|
<p><strong>Length of library name.</strong> The length of the library name. The
|
||
|
value ranges from 1 to 10.</p>
|
||
|
|
||
|
<p><strong>Length of module name.</strong> The length of the module name. The
|
||
|
value ranges from 1 to 10.</p>
|
||
|
|
||
|
<p><strong>Length of procedure name.</strong> The length of the procedure name.
|
||
|
The value ranges from 1 to 256.</p>
|
||
|
|
||
|
<p><strong>Length of program name.</strong> The length of the program name. The
|
||
|
value ranges from 1 to 10.</p>
|
||
|
|
||
|
<p><strong>Length of service program name.</strong> The length of the service
|
||
|
program name. The value ranges from 1 to 10.</p>
|
||
|
|
||
|
<p><strong>Length of symptom data.</strong> This indicates how many bytes the
|
||
|
stored data occupies. The valid range is 1 to 15. The length of the symptom
|
||
|
data plus the length of the symptom keyword must not exceed 15.</p>
|
||
|
|
||
|
<p><strong>Length of symptom keyword.</strong> The length of the symptom
|
||
|
keyword. The valid range is 1 to 15. The length of the symptom data plus the
|
||
|
length of the symptom keyword must not exceed 15.</p>
|
||
|
|
||
|
<p><strong>Library name.</strong> A pointer to the name of the library which
|
||
|
contains the program, service program, or module in which the error has
|
||
|
occurred.</p>
|
||
|
|
||
|
<p><strong>Module name.</strong> A pointer to the name of the module in which
|
||
|
the error has occurred.</p>
|
||
|
|
||
|
<p><strong>NLS-enabled path name structure.</strong> For more information on
|
||
|
this structure, see <a href="../apiref/pns.htm">Path Name Format</a>.</p>
|
||
|
|
||
|
<p><strong>Object library.</strong> The library in which the object
|
||
|
resides.</p>
|
||
|
|
||
|
<p>Valid values for the library name are:</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>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top"><em>library name</em></td>
|
||
|
<td align="left" valign="top">The specific library that contains the object.</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
|
||
|
|
||
|
|
||
|
<p><strong>Object name.</strong> The name of the object to be dumped.</p>
|
||
|
|
||
|
<p><strong>Object type.</strong> The type of object. For complete list of the
|
||
|
available object types, see the <a href="../rbam6/rbam6clmain.htm">Control
|
||
|
Language (CL)</a> information in the iSeries Information Center.</p>
|
||
|
|
||
|
<p><strong>Pointer to data.</strong> A space pointer to the data.</p>
|
||
|
|
||
|
<p><strong>Pointer to object.</strong> A system pointer to a system object.</p>
|
||
|
|
||
|
<p><strong>Pointer to symptom data.</strong> A pointer to the symptom data. The
|
||
|
symptom data is a symptom of the problem. It is concatenated to the symptom
|
||
|
keyword. The sum of the symptom keyword length and the symptom data length must
|
||
|
not be longer than 15 characters.</p>
|
||
|
|
||
|
<p><strong>Pointer to symptom keyword.</strong> A pointer to the system
|
||
|
keyword. The symptom keyword is concatenated to the symptom data. The sum of
|
||
|
the symptom keyword length and the symptom data length must not be longer than
|
||
|
15 characters. There are a limited number of keywords that can be used. The
|
||
|
valid keywords are:</p>
|
||
|
|
||
|
<p><strong><a name="Table_1">Table 1. Symptom string keywords</a></strong></p>
|
||
|
|
||
|
<table border width="80%" cellpadding="5">
|
||
|
<!-- cols="15 85" -->
|
||
|
<tr>
|
||
|
<th align="left" valign="top">Key</th>
|
||
|
<th align="left" valign="top">Description</th>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">(blanks)</td>
|
||
|
<td align="left" valign="top">Normally, a symptom in the symptom
|
||
|
string consists of a keyword and data. However, for flexibility, you may
|
||
|
specify a symptom without a keyword.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">MSG</td>
|
||
|
<td align="left" valign="top">This is a message identifier
|
||
|
associated with the problem.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">RC</td>
|
||
|
<td align="left" valign="top">The point of failure is a number that
|
||
|
identifies a subroutine, block of code, or specific statement associated with
|
||
|
the problem. Note: This number should not be an instruction number, since the
|
||
|
instruction number may be different for different versions of the same
|
||
|
program.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">FLDS/</td>
|
||
|
<td align="left" valign="top">This is the name of a field
|
||
|
associated with the problem. It may be followed by the VALU/ keyword to show
|
||
|
what value the field contained at the time of the failure.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">MOD/</td>
|
||
|
<td align="left" valign="top">MOD/ is the name of the ILE module
|
||
|
that might have caused the problem being reported.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">OPCS/</td>
|
||
|
<td align="left" valign="top">OPCS/ is the name of the command,
|
||
|
macro, or instruction associated with the problem.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">PCSS/</td>
|
||
|
<td align="left" valign="top">PCSS/ is a program label that shows
|
||
|
generally where the problem occurred.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">PRCS/</td>
|
||
|
<td align="left" valign="top">PRCS/ is a reason code or return code
|
||
|
associated with the problem.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">REGS/</td>
|
||
|
<td align="left" valign="top">This is the name of a register
|
||
|
associated with the problem. It may be followed by the VALU/ keyword to show
|
||
|
what value the register contained at the time of the failure.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">RIDS/</td>
|
||
|
<td align="left" valign="top">RIDS/ is the name of the subroutine
|
||
|
or the identifier of the thread in which the problem occurred.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">VALU/</td>
|
||
|
<td align="left" valign="top">VALU/ is the value of a field or
|
||
|
register at the time the problem occurred. VALU/ must appear after key FLDS/ or
|
||
|
REGS/.</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
|
||
|
|
||
|
|
||
|
<p><strong>Procedure name.</strong> A space pointer to the name of the
|
||
|
procedure in which the error has occurred.</p>
|
||
|
|
||
|
<p><strong>Program name.</strong> A pointer to the name of the program in which
|
||
|
the error is suspected. The suspected program name is included in the symptom
|
||
|
string (as F/name) created when this API is called. If neither the 100, 101,
|
||
|
nor the 102 keys are used, then the program name in the symptom string defaults
|
||
|
to the caller of this API.</p>
|
||
|
|
||
|
<p><strong>Reserved.</strong> Null.</p>
|
||
|
|
||
|
<p><strong>Service identifier.</strong> Identifiers where in a program or
|
||
|
service program the problem was reported. The valid range is 1 to 8999.</p>
|
||
|
|
||
|
<p><strong>Service program name.</strong> A pointer to the name of the service
|
||
|
program in which the error is suspected. The suspected service program name is
|
||
|
included in the symptom string (as F/name) created when this API is called. If
|
||
|
the 100, 101, or the 102 keys are not used, then the service program name in
|
||
|
the symptom string defaults to the caller of this API.</p>
|
||
|
|
||
|
<p><strong>Spooled file name.</strong> The name of a spooled file associated
|
||
|
with the problem.</p>
|
||
|
|
||
|
<p><strong>Spooled file number.</strong> The unique number of a spooled file
|
||
|
associated with the problem. The valid range is 1 through 9999.</p>
|
||
|
|
||
|
<p>The following special values are supported for this parameter:</p>
|
||
|
|
||
|
<table cellpadding="5">
|
||
|
<!-- cols="5 95" -->
|
||
|
<tr>
|
||
|
<td align="left" valign="top"><em>0</em></td>
|
||
|
<td align="left" valign="top">Only one spooled file from the job has the
|
||
|
specified file name, so the number of the spooled file is not necessary.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top" nowrap><em>-1</em></td>
|
||
|
<td align="left" valign="top">This uses the highest numbered spooled file with the specified
|
||
|
file name.</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
|
||
|
<br>
|
||
|
|
||
|
|
||
|
<p><strong>Type of symptom data.</strong> This indicates how the data is
|
||
|
stored.</p>
|
||
|
|
||
|
<p>The possible values are:</p>
|
||
|
|
||
|
<table cellpadding="5">
|
||
|
<!-- cols="5 95" -->
|
||
|
<tr>
|
||
|
<td align="left" valign="top"><em>C</em></td>
|
||
|
<td align="left" valign="top">The data is in displayable form. It must not
|
||
|
include blanks or characters that are not displayable.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top"><em>X</em></td>
|
||
|
<td align="left" valign="top">The data is in hexadecimal form. The API converts it to
|
||
|
displayable characters.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top"></td>
|
||
|
<td align="left" valign="top"><strong>Note:</strong>The length of symptom data is the number
|
||
|
of bytes used to store the hexadecimal value.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top"><em>D</em></td>
|
||
|
<td align="left" valign="top">The data is in zoned decimal form.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top"><em>P</em></td>
|
||
|
<td align="left" valign="top">The data is in packed decimal form. The API converts it to
|
||
|
displayable numbers.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top"><em>B</em></td>
|
||
|
<td align="left" valign="top">The data is in binary form. The API converts it to displayable
|
||
|
numbers.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top"></td>
|
||
|
<td align="left" valign="top"><strong>Note:</strong>The length of symptom data can only be 2
|
||
|
or 4 bytes if the type of symptom data is B.</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
|
||
|
<br>
|
||
|
|
||
|
|
||
|
<h3><a name="usage_notes">Usage Notes</a></h3>
|
||
|
|
||
|
<p>When this API runs within a threaded job, no problem log entry is created.
|
||
|
When the API is called, the following occurs:</p>
|
||
|
|
||
|
<ul>
|
||
|
<li>Any error data that is provided is spooled to one or more spooled
|
||
|
files.</li>
|
||
|
|
||
|
<li>A symptom string is created.</li>
|
||
|
|
||
|
<li>A message is sent to the job log and to the QSYSOPR message queue, which
|
||
|
indicates that a software error has been detected.</li>
|
||
|
</ul>
|
||
|
|
||
|
<p>Error data can be provided on the call to the API by using the data item
|
||
|
offset and length parameters. (No object dumping support is available).</p>
|
||
|
|
||
|
<p>Also, dump job output is provided to help with problem determination.</p>
|
||
|
|
||
|
<p>Also, the following keys are ignored:</p>
|
||
|
|
||
|
<table border width="80%">
|
||
|
<!-- cols="10 90" -->
|
||
|
<tr>
|
||
|
<th align="center" valign="top">Key</th>
|
||
|
<th align="left" valign="top">Description</th>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">300</td>
|
||
|
<td align="left" valign="top">System object</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">302</td>
|
||
|
<td align="left" valign="top">Named system object</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">303</td>
|
||
|
<td align="left" valign="top">Spooled file</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">400</td>
|
||
|
<td align="left" valign="top">Service identifier</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
|
||
|
<br>
|
||
|
<br>
|
||
|
|
||
|
|
||
|
<h3>Error Messages</h3>
|
||
|
|
||
|
<table 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">CPF3C90 E</td>
|
||
|
<td width="85%" valign="top">Literal value cannot be changed.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPF3CF1 E</td>
|
||
|
<td align="left" valign="top">Error code parameter not valid.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPF3CF2 E</td>
|
||
|
<td align="left" valign="top">Error(s) occurred during running of &1 API.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPF3C82 D</td>
|
||
|
<td align="left" valign="top">Key &1 not valid for API &2.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPF3C85 D</td>
|
||
|
<td align="left" valign="top">Value for key &1 not allowed with value for key
|
||
|
&2.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPF93C2 D</td>
|
||
|
<td align="left" valign="top">&1 is not a valid number of data items.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPF93C3 D</td>
|
||
|
<td align="left" valign="top">&1 is not a valid number of object names.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPF93C8 D</td>
|
||
|
<td align="left" valign="top">Not a valid number of symptoms.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPF93C9 D</td>
|
||
|
<td align="left" valign="top">Not a valid number of spooled files.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPF93C0 E</td>
|
||
|
<td align="left" valign="top">Software error logging not active.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPF93C4 E</td>
|
||
|
<td align="left" valign="top">Error already logged.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPF93C6 E</td>
|
||
|
<td align="left" valign="top">Suspected program cannot be determined.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPF93C7E</td>
|
||
|
<td align="left" valign="top">Error in parameter &1.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPF9872 E</td>
|
||
|
<td align="left" valign="top">Program or service program &1 in library &2 ended.
|
||
|
Reason code &3.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPI93B2 I</td>
|
||
|
<td align="left" valign="top">Software problem data for &4 has been detected.</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
|
||
|
<br>
|
||
|
<hr>
|
||
|
API introduced: V3R1
|
||
|
|
||
|
<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 API list</a><br>
|
||
|
<a href=
|
||
|
"aplist.htm">APIs by category</a></td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
</center>
|
||
|
</body>
|
||
|
</html>
|
||
|
|