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

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>
&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%">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>
&nbsp;&nbsp;Default Public Authority: *USE<br>
<!-- iddvc RMBR -->
<br>
&nbsp;&nbsp;Service Program: QSXSRVPL<br>
<!-- iddvc RMBR -->
<br>
&nbsp;&nbsp;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 &amp;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 &amp;1 API.</td>
</tr>
<tr>
<td align="left" valign="top">CPF7AAB E</td>
<td align="left" valign="top">Problem &amp;1 not found.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3C4D D</td>
<td align="left" valign="top">Length &amp;1 for key &amp;2 not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3C82 D</td>
<td align="left" valign="top">Key &amp;1 not valid for API &amp;2.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3C86 D</td>
<td align="left" valign="top">Required key &amp;1 not specified.</td>
</tr>
<tr>
<td align="left" valign="top">CPD7A82 D</td>
<td align="left" valign="top">Value not valid for key &amp;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 &amp;1 may be added only once.</td>
</tr>
<tr>
<td align="left" valign="top">CPD7A8A D</td>
<td align="left" valign="top">Key value &amp;1 is not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF7AA7 E</td>
<td align="left" valign="top">Problem &amp;1 not found.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9821 E</td>
<td align="left" valign="top">Not authorized to program &amp;1 in library &amp;2.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9872 E</td>
<td align="left" valign="top">Program or service program &amp;1 in library &amp;2
ended. Reason code &amp;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>