429 lines
11 KiB
HTML
429 lines
11 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>Retrieve Problem Log Entry (QsxRetrieveProblemLogEntry) 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. -->
|
||
|
<!-- QSXRTVPL SCRIPT A converted by B2H R4.1 (346) (CMS) by KENTALA -->
|
||
|
<!-- at RCHVMW2 on 2 Oct 1998 at 14:22:52 -->
|
||
|
<!-- 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>Retrieve Problem Log Entry (QsxRetrieveProblemLogEntry) 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%">Handle</td>
|
||
|
<td align="left" valign="top" width="20%">Input</td>
|
||
|
<td align="left" valign="top" width="20%">Binary(4)</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">2</td>
|
||
|
<td align="left" valign="top">Key structures</td>
|
||
|
<td align="left" valign="top">Input</td>
|
||
|
<td align="left" valign="top">Array of Pointers</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">3</td>
|
||
|
<td align="left" valign="top">Number of keys</td>
|
||
|
<td align="left" valign="top">Input</td>
|
||
|
<td align="left" valign="top">Binary(4)</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">4</td>
|
||
|
<td align="left" valign="top">Receiver variable</td>
|
||
|
<td align="left" valign="top">Output</td>
|
||
|
<td align="left" valign="top">Char(*)</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">5</td>
|
||
|
<td align="left" valign="top">Length of receiver variable</td>
|
||
|
<td align="left" valign="top">Input</td>
|
||
|
<td align="left" valign="top">Binary(4)</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">6</td>
|
||
|
<td align="left" valign="top">Return information</td>
|
||
|
<td align="left" valign="top">Output</td>
|
||
|
<td align="left" valign="top">Char(16)</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">7</td>
|
||
|
<td align="left" valign="top">Pointer to array of pointers to the keys
|
||
|
returned in the buffer receiver variable</td>
|
||
|
<td align="left" valign="top">Output</td>
|
||
|
<td align="left" valign="top">PTR(SPP)</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">8</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: QSXSRVPL<br>
|
||
|
<!-- iddvc RMBR -->
|
||
|
<br>
|
||
|
Threadsafe: No<br>
|
||
|
<!-- iddvc RMBR -->
|
||
|
<br>
|
||
|
</div>
|
||
|
|
||
|
<p>The Retrieve Problem Log Entry (QsxRetrieveProblemLogEntry) API allows
|
||
|
a user to extract data from a specific problem log entry, which the caller
|
||
|
identifies. The problem log entry is identified by key 1 (problem log ID).
|
||
|
The data to be retrieved is identified by the keys passed by reference.
|
||
|
The keys used to identify the data to be retrieved are not changed by the
|
||
|
API.</p>
|
||
|
|
||
|
<p>Data is returned in the receiver variable. If you are supplying an
|
||
|
automatically extendable space, specify -1 for the size of the receiver
|
||
|
variable. You provide the size and location of this receiver variable. If
|
||
|
the receiver variable is not large enough to contain all the keys
|
||
|
requested, the keys successfully retrieved to that point are returned. The
|
||
|
number of keys returned is set in the return information parameter (number
|
||
|
6).</p>
|
||
|
|
||
|
<p>The API can be used to:</p>
|
||
|
|
||
|
<ul>
|
||
|
<li>Read a specific key from a problem log entry</li>
|
||
|
|
||
|
<li>Read a group of keys</li>
|
||
|
</ul>
|
||
|
|
||
|
<br>
|
||
|
|
||
|
|
||
|
<h3>Authorities and Locks</h3>
|
||
|
|
||
|
<dl>
|
||
|
<dt><em>QSXSRVPL authority</em></dt>
|
||
|
|
||
|
<dd>*USE</dd>
|
||
|
|
||
|
<dt><em>API Public Authority</em></dt>
|
||
|
|
||
|
<dd>*USE</dd>
|
||
|
</dl>
|
||
|
|
||
|
<br>
|
||
|
|
||
|
|
||
|
<h3>Required Parameter Group</h3>
|
||
|
|
||
|
<dl>
|
||
|
<dt><strong>Handle</strong></dt>
|
||
|
|
||
|
<dd>INPUT; BINARY(4)
|
||
|
|
||
|
<p>An identifier that associates the problem log services started with the
|
||
|
QsxStartProblemLogServices API.</p>
|
||
|
</dd>
|
||
|
|
||
|
<dt><strong>Key structures</strong></dt>
|
||
|
|
||
|
<dd>INPUT; ARRAY of POINTERS
|
||
|
|
||
|
<p>List of keys defining the data to be returned.</p>
|
||
|
</dd>
|
||
|
|
||
|
<dt><strong>Number of keys</strong></dt>
|
||
|
|
||
|
<dd>INPUT; BINARY(4)
|
||
|
|
||
|
<p>Number of keys passed to the API in the input key array.</p>
|
||
|
</dd>
|
||
|
|
||
|
<dt><strong>Receiver variable</strong></dt>
|
||
|
|
||
|
<dd>OUTPUT; CHAR(*)
|
||
|
|
||
|
<p>The variable that provides the output buffer.</p>
|
||
|
</dd>
|
||
|
|
||
|
<dt><strong>Length of receiver variable</strong></dt>
|
||
|
|
||
|
<dd>INPUT; BINARY(4)
|
||
|
|
||
|
<p>The size of the output buffer. If it is -1, an automatically extendable
|
||
|
space is assumed.</p>
|
||
|
</dd>
|
||
|
|
||
|
<dt><strong>Return information</strong></dt>
|
||
|
|
||
|
<dd>OUTPUT; CHAR(16)<br><br>
|
||
|
<ul>
|
||
|
<li>Bytes returned--BINARY(4)
|
||
|
<li>Bytes available--BINARY(4)
|
||
|
<li>Number of keys returned--BINARY(4)
|
||
|
<li>Reserved--BINARY(4)
|
||
|
</ul>
|
||
|
|
||
|
<br>
|
||
|
</dd>
|
||
|
|
||
|
<dt><strong>Pointer to array of pointers to the keys returned in the
|
||
|
buffer receiver variable</strong></dt>
|
||
|
|
||
|
<dd>OUTPUT; PTR(SPP)
|
||
|
|
||
|
<p>The pointer to the array of pointers to the keys returned in the
|
||
|
buffer.</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>Format of the Key Groups</h3>
|
||
|
|
||
|
<p>For details about the keys that can be used, see <a href=
|
||
|
"pmkeygroups.htm">Key Use for Problem Log APIs.</a></p>
|
||
|
|
||
|
<br>
|
||
|
|
||
|
|
||
|
<h3><a name="HDRRTVRULE">Rules for Key Usage</a></h3>
|
||
|
|
||
|
Any amount and type of data can be retrieved from the problem log. The
|
||
|
limiting factor is the size of the buffer that is available. The data is
|
||
|
returned in a buffer up to the size of the buffer.
|
||
|
|
||
|
<p>Data to be retrieved must be identified by the keys provided. Key 1
|
||
|
(problem log ID) is required. All other keys are optional, but only data
|
||
|
for valid keys defined is returned.</p>
|
||
|
|
||
|
<p>Data, including PTF entries, can be returned individually or in groups.
|
||
|
Data that will be returned as a group are:</p>
|
||
|
|
||
|
<ul>
|
||
|
<li>FRU entries</li>
|
||
|
|
||
|
<li>Text entries</li>
|
||
|
|
||
|
<li>Supporting data entries</li>
|
||
|
|
||
|
<li>History entries</li>
|
||
|
</ul>
|
||
|
|
||
|
<br>
|
||
|
|
||
|
|
||
|
<h4>Retrieve PTF records</h4>
|
||
|
|
||
|
<p>PTF data can be retrieved individually or as a group.</p>
|
||
|
|
||
|
<p>To retrieve all PTFs, use key 7000 (PTF entry). Key 7000 is returned
|
||
|
and the count field states how many Key 7001 (PTF ID) keys are returned.
|
||
|
For key 7001, the data required includes PTF ID, product ID, version,
|
||
|
release, and modification level.</p>
|
||
|
|
||
|
<p>To retrieve individual PTFs, use key 7001 (PTF ID) and add the fields
|
||
|
that are to be used as the key. Key 1 (problem log ID) and key 7001 (PTF
|
||
|
ID) are required. Product data is optional, but can be required if
|
||
|
multiple PTFs have the same PTF identifier.</p>
|
||
|
|
||
|
<br>
|
||
|
|
||
|
|
||
|
<h4>Retrieve FRU records</h4>
|
||
|
|
||
|
<p>To retrieve a FRU group, provide key 2000 (class of FRU entries) and a
|
||
|
class. Key 2000 (class of FRU entries) is returned with a count of FRU
|
||
|
entries and 2000--2009 are returned.</p>
|
||
|
|
||
|
<br>
|
||
|
|
||
|
|
||
|
<h4>Retrieve text records</h4>
|
||
|
|
||
|
<p>To retrieve the text data, provide key 3000 (text entry) and the text
|
||
|
type. Key 3000 (text entry) is returned with a count of key 3001 (text
|
||
|
entry) returned. Only one is returned unless all text was requested.</p>
|
||
|
|
||
|
<br>
|
||
|
|
||
|
|
||
|
<h4>Retrieve supporting data</h4>
|
||
|
|
||
|
<p>To retrieve supporting data records, provide key group 4000 (supporting
|
||
|
data entries) and the type. Key group 4000 is returned with a count of the
|
||
|
entries and key 4001 (spooled file data) and 4002 are returned.</p>
|
||
|
|
||
|
<br>
|
||
|
|
||
|
|
||
|
<h4>Retrieve history records</h4>
|
||
|
|
||
|
<p>To retrieve the history data, provide key 6000 (history information)
|
||
|
and specify last or all. Key 6000 (history information) is returned with a
|
||
|
count of the history entries and key 6001 (history information) is
|
||
|
returned.</p>
|
||
|
|
||
|
<p><strong>Retrieve analyzed error flag:</strong></p>
|
||
|
|
||
|
<p>To retrieve the analyzed eror flag data, provide key 8000 (analyzed
|
||
|
error flag entries). Key 8000 returns a value that indicates whether the
|
||
|
problem has been analyzed by System Licensed Internal Code (SLIC).</p>
|
||
|
|
||
|
<p><strong>Retrieve logical partition ID:</strong></p>
|
||
|
|
||
|
<p>To retrieve the logical partition ID data, provide key 9000 (logical
|
||
|
partition ID). Key 9000 returns the current logical partition ID on the
|
||
|
physical machine.</p>
|
||
|
|
||
|
<br>
|
||
|
|
||
|
|
||
|
<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 &1 omitted.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPF3C90 E</td>
|
||
|
<td align="left" 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">CPF7AAB E</td>
|
||
|
<td align="left" valign="top">Problem &1 not found.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPF3C4D D</td>
|
||
|
<td align="left" valign="top">Length &1 for key &2 not valid.</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">CPF3C86 D</td>
|
||
|
<td align="left" valign="top">Required key &1 not specified.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPD7A82 D</td>
|
||
|
<td align="left" valign="top">Value not valid for key &1. (char string)</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPD7A84 D</td>
|
||
|
<td align="left" valign="top">Buffer area not accessible.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPD7A87 D</td>
|
||
|
<td align="left" valign="top">Key &1 may be added only once.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPD7A8A D</td>
|
||
|
<td align="left" valign="top">Key value &1 is not valid.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPF7AA7 E</td>
|
||
|
<td align="left" valign="top">Problem &1 not found.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPF9821 E</td>
|
||
|
<td align="left" valign="top">Not authorized to program &1 in library &2.</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">CPFA320 E</td>
|
||
|
<td align="left" valign="top">Pointer parameter is null.</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>
|
||
|
|