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

1376 lines
40 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 License Information (QLZARTV) 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. -->
<!-- QLZADDLI SCRIPT A converted by B2H R4.1 (346) (CMS) by KENTALA -->
<!-- at RCHVMW2 on 7 Oct 1998 at 18:07:49 -->
<!-- Change History: -->
<!-- YYMMDD USERID Change description -->
<!-- Edited by Kersten Jan 02 -->
<!--End Header Records -->
<link rel="stylesheet" type="text/css" href="../rzahg/ic.css">
</head>
<body>
<!-- Java sync-link -->
<script language="Javascript" src="../rzahg/synch.js" type="text/javascript">
</script>
<a name="Top_Of_Page"></a>
<h2>Retrieve License Information (QLZARTV) 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%">Receiver variable</td>
<td align="left" valign="top" width="20%">Output</td>
<td align="left" valign="top" width="20%">Char(*)</td>
</tr>
<tr>
<td align="center" valign="top">2</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">3</td>
<td align="left" valign="top">Format name for receiver variable</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Char(8)</td>
</tr>
<tr>
<td align="center" valign="top">4</td>
<td align="left" valign="top">Product identification</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Char(*)</td>
</tr>
<tr>
<td align="center" valign="top">5</td>
<td align="left" valign="top">Product identification format name</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Char(8)</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;Default Public Authority: *USE<br>
<!-- iddvc RMBR -->
<br>
&nbsp;&nbsp;Threadsafe: No<br>
<!-- iddvc RMBR -->
<br>
</div>
<p>The Retrieve License Information (QLZARTV) API returns license information
about a software product. The license information returned depends on the
format specified.</p>
<ul>
<li>The LICR0100 format retrieves basic license information.</li>
<li>The LICR0200 format retrieves basic license information, detailed license
information, and the list of current license users.</li>
<li>The LICR0300 format retrieves basic license information, detailed license
information, the list of current license users, and additional information
about the license users.</li>
</ul>
<br>
<h3>Authorities and Locks</h3>
<dl>
<dt><em>Public API Authority</em></dt>
<dd>*USE</dd>
</dl>
<br>
<h3>Required Parameter Group</h3>
<dl>
<dt><strong>Receiver variable</strong></dt>
<dd>OUTPUT; CHAR(*)
<p>The variable to receive the requested license information.</p>
</dd>
<dt><strong>Length of receiver variable</strong></dt>
<dd>INPUT; BINARY(4)
<p>The length of the receiver variable provided. The length of receiver
variable parameter may be specified up to the size of the receiver variable
specified in the user program. If the length of receiver variable parameter
specified is larger than the allocated size of the receiver variable specified
in the user program, the results are not predictable. The minimum length is 8
bytes.</p>
</dd>
<dt><strong>Format name for receiver variable</strong></dt>
<dd>INPUT; CHAR(8)
<p>The name of the format that identifies the type of license information to be
retrieved.</p>
<p>The supported formats are:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>LICR0100</em></td>
<td align="left" valign="top">Basic license information is retrieved. For more
information, see <a href="#HDRLICR100">LICR0100 Format</a>.</td>
</tr>
<tr>
<td align="left" valign="top"><em>LICR0200</em></td>
<td align="left" valign="top">Basic license information is retrieved along with
detailed license information and license user information. For more
information, see <a href="#HDRLICR200">LICR0200 Format</a>.</td>
</tr>
<tr>
<td align="left" valign="top"><em>LICR0300</em></td>
<td align="left" valign="top">Basic license information is retrieved along with
detailed license information and multiple-use license user information. For
more information, see <a href="#HDRLICR300">LICR0300 Format</a>.</td>
</tr>
</table>
<br>
</dd>
<dt><strong>Product identification</strong></dt>
<dd>INPUT; CHAR(*)
<p>Information that uniquely identifies the product or feature whose license
information will be retrieved. The structure of this information is determined
by the name of the format.</p>
</dd>
<dt><strong>Product identification format name</strong></dt>
<dd>INPUT; CHAR(8)
<p>The name of the format that describes the product identification.</p>
<p>The only format name supported is:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>LICP0100</em></td>
<td align="left" valign="top">See <a href="#HDRLRT0100">LICP0100
Format</a>.</td>
</tr>
</table>
<br>
</dd>
<dt><strong>Error code</strong></dt>
<dd>I/O; CHAR(*)
<p>The structure in which to return error information. For the format of the
structure, see <a href="../apiref/error.htm#hdrerrcod">Error Code Parameter</a>.</p>
</dd>
</dl>
<br>
<h3><a name="HDRLRT0100"></a>LICP0100 Format</h3>
<p>The following table describes the format name supported for the format for
product identification parameter. The format identifies the product or feature
whose license information is to be retrieved. For detailed descriptions of the
fields in the table, see <a href="#HDRRTVFLD">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(7)</td>
<td align="left" valign="top" width="60%">Product ID</td>
</tr>
<tr>
<td align="center" valign="top">7</td>
<td align="center" valign="top">7</td>
<td align="left" valign="top">CHAR(6)</td>
<td align="left" valign="top">Release level</td>
</tr>
<tr>
<td align="center" valign="top">13</td>
<td align="center" valign="top">D</td>
<td align="left" valign="top">CHAR(4)</td>
<td align="left" valign="top">Feature</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDRLICR100"></a>LICR0100 Format</h3>
<p>The following describes the format of the license information returned in
the receiver variable parameter. For detailed descriptions of the fields in the
table, see <a href="#HDRRTVFLD">Field Descriptions</a>.</p>
<table border width="80%">
<tr>
<th align="center" valign="bottom" colspan="2">Offset</th>
<th align="left" valign="bottom" rowspan="2">Type</th>
<th align="left" valign="bottom" rowspan="2">Field</th>
</tr>
<tr>
<th align="center" valign="bottom">Dec</th>
<th align="center" valign="bottom">Hex</th>
</tr>
<tr>
<td align="center" valign="top" width="10%">0</td>
<td align="center" valign="top" width="10%">0</td>
<td align="left" valign="top" width="20%">BINARY(4)</td>
<td align="left" valign="top" width="60%">Usage limit</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">Usage count</td>
</tr>
<tr>
<td align="center" valign="top">8</td>
<td align="center" valign="top">8</td>
<td align="left" valign="top">CHAR(2)</td>
<td align="left" valign="top">Usage 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">Compliance type</td>
</tr>
<tr>
<td align="center" valign="top">12</td>
<td align="center" valign="top">C</td>
<td align="left" valign="top">CHAR(6)</td>
<td align="left" valign="top">License term</td>
</tr>
<tr>
<td align="center" valign="top">18</td>
<td align="center" valign="top">12</td>
<td align="left" valign="top">CHAR(6)</td>
<td align="left" valign="top">Release level</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDRLICR200"></a>LICR0200 Format</h3>
<p>The following describes the format of the license information returned in
the receiver variable parameter. This format contains additional fields that
LICR0100 does not have. For detailed descriptions of the fields in the table,
see <a href="#HDRRTVFLD">Field Descriptions</a>.</p>
<table border width="80%">
<tr>
<th align="center" valign="bottom" colspan="2">Offset</th>
<th align="left" valign="bottom" rowspan="2">Type</th>
<th align="left" valign="bottom" rowspan="2">Field</th>
</tr>
<tr>
<th align="center" valign="bottom">Dec</th>
<th align="center" valign="bottom">Hex</th>
</tr>
<tr>
<td align="center" valign="top" width="10%">0</td>
<td align="center" valign="top" width="10%">0</td>
<td align="left" valign="top" width="20%">BINARY(4)</td>
<td align="left" valign="top" width="60%">Bytes returned</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">Bytes available</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">Usage limit</td>
</tr>
<tr>
<td align="center" valign="top">12</td>
<td align="center" valign="top">C</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Usage count</td>
</tr>
<tr>
<td align="center" valign="top">16</td>
<td align="center" valign="top">10</td>
<td align="left" valign="top">CHAR(2)</td>
<td align="left" valign="top">Usage type</td>
</tr>
<tr>
<td align="center" valign="top">18</td>
<td align="center" valign="top">12</td>
<td align="left" valign="top">CHAR(2)</td>
<td align="left" valign="top">Compliance type</td>
</tr>
<tr>
<td align="center" valign="top">20</td>
<td align="center" valign="top">14</td>
<td align="left" valign="top">CHAR(6)</td>
<td align="left" valign="top">License term</td>
</tr>
<tr>
<td align="center" valign="top">26</td>
<td align="center" valign="top">1A</td>
<td align="left" valign="top">CHAR(6)</td>
<td align="left" valign="top">Release level</td>
</tr>
<tr>
<td align="center" valign="top">32</td>
<td align="center" valign="top">20</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Threshold value</td>
</tr>
<tr>
<td align="center" valign="top">36</td>
<td align="center" valign="top">24</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Grace period</td>
</tr>
<tr>
<td align="center" valign="top">40</td>
<td align="center" valign="top">28</td>
<td align="left" valign="top">CHAR(7)</td>
<td align="left" valign="top">Date grace period expires</td>
</tr>
<tr>
<td align="center" valign="top">47</td>
<td align="center" valign="top">2F</td>
<td align="left" valign="top">CHAR(3)</td>
<td align="left" valign="top">Processor group</td>
</tr>
<tr>
<td align="center" valign="top">50</td>
<td align="center" valign="top">32</td>
<td align="left" valign="top">CHAR(2)</td>
<td align="left" valign="top">Reserved</td>
</tr>
<tr>
<td align="center" valign="top">52</td>
<td align="center" valign="top">34</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Peak usage</td>
</tr>
<tr>
<td align="center" valign="top">56</td>
<td align="center" valign="top">38</td>
<td align="left" valign="top">CHAR(7)</td>
<td align="left" valign="top">Expiration date</td>
</tr>
<tr>
<td align="center" valign="top">63</td>
<td align="center" valign="top">3F</td>
<td align="left" valign="top">CHAR(8)</td>
<td align="left" valign="top">Vendor data</td>
</tr>
<tr>
<td align="center" valign="top">71</td>
<td align="center" valign="top">47</td>
<td align="left" valign="top">CHAR(16)</td>
<td align="left" valign="top">Product license information handle</td>
</tr>
<tr>
<td align="center" valign="top">87</td>
<td align="center" valign="top">57</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Reserved</td>
</tr>
<tr>
<td align="center" valign="top">88</td>
<td align="center" valign="top">58</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Offset to message queue list</td>
</tr>
<tr>
<td align="center" valign="top">92</td>
<td align="center" valign="top">5C</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Number of message queues</td>
</tr>
<tr>
<td align="center" valign="top">96</td>
<td align="center" valign="top">60</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Offset to current license user list</td>
</tr>
<tr>
<td align="center" valign="top">100</td>
<td align="center" valign="top">64</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Number of current license users</td>
</tr>
<tr>
<td align="center" valign="top">104</td>
<td align="center" valign="top">68</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Length of each current license user record</td>
</tr>
<tr>
<td align="center" valign="top">108</td>
<td align="center" valign="top">6C</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Processor usage count</td>
</tr>
<tr>
<td align="center" valign="top">112</td>
<td align="center" valign="top">70</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Processor peak usage count</td>
</tr>
<tr>
<td align="center" valign="top">116</td>
<td align="center" valign="top">74</td>
<td align="left" valign="top">CHAR(13)</td>
<td align="left" valign="top">Last peak date and time</td>
</tr>
<tr>
<td align="center" valign="top">129</td>
<td align="center" valign="top">81</td>
<td align="left" valign="top">CHAR(13)</td>
<td align="left" valign="top">Last update date and time</td>
</tr>
<tr>
<td align="center" valign="top">142</td>
<td align="center" valign="top">8E</td>
<td align="left" valign="top">CHAR(*)</td>
<td align="left" valign="top">Reserved</td>
</tr>
<tr>
<td align="left" valign="top" colspan="4"><strong>Note:</strong> Offsets vary
depending on the number of message queues in the list.</td>
</tr>
<tr>
<td align="center" valign="top">&nbsp;</td>
<td align="center" valign="top">&nbsp;</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Message queue name</td>
</tr>
<tr>
<td align="center" valign="top">&nbsp;</td>
<td align="center" valign="top">&nbsp;</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Message queue library name</td>
</tr>
<tr>
<td align="left" valign="top" colspan="4"><strong>Note:</strong> Offsets vary
depending on the number of current license users and the length of each current
license user record.</td>
</tr>
<tr>
<td align="center" valign="top">&nbsp;</td>
<td align="center" valign="top">&nbsp;</td>
<td align="left" valign="top">CHAR(*)</td>
<td align="left" valign="top">List of current license users</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDRLICR300"></a>LICR0300 Format</h3>
<p>The following describes the format of the license information returned in
the receiver variable parameter. This format contains additional fields about
license users that LICR0200 does not have. For detailed descriptions of the
fields in the table, see <a href="#HDRRTVFLD">Field Descriptions</a>.</p>
<table border width="80%">
<tr>
<th align="center" valign="bottom" colspan="2">Offset</th>
<th align="left" valign="bottom" rowspan="2">Type</th>
<th align="left" valign="bottom" rowspan="2">Field</th>
</tr>
<tr>
<th align="center" valign="bottom">Dec</th>
<th align="center" valign="bottom">Hex</th>
</tr>
<tr>
<td align="center" valign="top" width="10%">0</td>
<td align="center" valign="top" width="10%">0</td>
<td align="left" valign="top" width="20%">BINARY(4)</td>
<td align="left" valign="top" width="60%">Bytes returned</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">Bytes available</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">Usage limit</td>
</tr>
<tr>
<td align="center" valign="top">12</td>
<td align="center" valign="top">C</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Usage count</td>
</tr>
<tr>
<td align="center" valign="top">16</td>
<td align="center" valign="top">10</td>
<td align="left" valign="top">CHAR(2)</td>
<td align="left" valign="top">Usage type</td>
</tr>
<tr>
<td align="center" valign="top">18</td>
<td align="center" valign="top">12</td>
<td align="left" valign="top">CHAR(2)</td>
<td align="left" valign="top">Compliance type</td>
</tr>
<tr>
<td align="center" valign="top">20</td>
<td align="center" valign="top">14</td>
<td align="left" valign="top">CHAR(6)</td>
<td align="left" valign="top">License term</td>
</tr>
<tr>
<td align="center" valign="top">26</td>
<td align="center" valign="top">1A</td>
<td align="left" valign="top">CHAR(6)</td>
<td align="left" valign="top">Release level</td>
</tr>
<tr>
<td align="center" valign="top">32</td>
<td align="center" valign="top">20</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Threshold value</td>
</tr>
<tr>
<td align="center" valign="top">36</td>
<td align="center" valign="top">24</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Grace period</td>
</tr>
<tr>
<td align="center" valign="top">40</td>
<td align="center" valign="top">28</td>
<td align="left" valign="top">CHAR(7)</td>
<td align="left" valign="top">Date grace period expires</td>
</tr>
<tr>
<td align="center" valign="top">47</td>
<td align="center" valign="top">2F</td>
<td align="left" valign="top">CHAR(3)</td>
<td align="left" valign="top">Processor group</td>
</tr>
<tr>
<td align="center" valign="top">50</td>
<td align="center" valign="top">32</td>
<td align="left" valign="top">CHAR(2)</td>
<td align="left" valign="top">Reserved</td>
</tr>
<tr>
<td align="center" valign="top">52</td>
<td align="center" valign="top">34</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Peak usage</td>
</tr>
<tr>
<td align="center" valign="top">56</td>
<td align="center" valign="top">38</td>
<td align="left" valign="top">CHAR(7)</td>
<td align="left" valign="top">Expiration date</td>
</tr>
<tr>
<td align="center" valign="top">63</td>
<td align="center" valign="top">3F</td>
<td align="left" valign="top">CHAR(8)</td>
<td align="left" valign="top">Vendor data</td>
</tr>
<tr>
<td align="center" valign="top">71</td>
<td align="center" valign="top">47</td>
<td align="left" valign="top">CHAR(16)</td>
<td align="left" valign="top">Product license information handle</td>
</tr>
<tr>
<td align="center" valign="top">87</td>
<td align="center" valign="top">57</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Reserved</td>
</tr>
<tr>
<td align="center" valign="top">88</td>
<td align="center" valign="top">58</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Offset to message queue list</td>
</tr>
<tr>
<td align="center" valign="top">92</td>
<td align="center" valign="top">5C</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Number of message queues</td>
</tr>
<tr>
<td align="center" valign="top">96</td>
<td align="center" valign="top">60</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Offset to current license user list</td>
</tr>
<tr>
<td align="center" valign="top">100</td>
<td align="center" valign="top">64</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Number of current license users</td>
</tr>
<tr>
<td align="center" valign="top">104</td>
<td align="center" valign="top">68</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Length of each current license user record</td>
</tr>
<tr>
<td align="center" valign="top">108</td>
<td align="center" valign="top">6C</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Length of each license user</td>
</tr>
<tr>
<td align="center" valign="top">112</td>
<td align="center" valign="top">70</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Processor usage count</td>
</tr>
<tr>
<td align="center" valign="top">116</td>
<td align="center" valign="top">74</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Processor peak usage count</td>
</tr>
<tr>
<td align="center" valign="top">120</td>
<td align="center" valign="top">78</td>
<td align="left" valign="top">CHAR(13)</td>
<td align="left" valign="top">Last peak date and time</td>
</tr>
<tr>
<td align="center" valign="top">133</td>
<td align="center" valign="top">85</td>
<td align="left" valign="top">CHAR(13)</td>
<td align="left" valign="top">Last update date and time</td>
</tr>
<tr>
<td align="center" valign="top">146</td>
<td align="center" valign="top">92</td>
<td align="left" valign="top">CHAR(*)</td>
<td align="left" valign="top">Reserved</td>
</tr>
<tr>
<td align="left" valign="top" colspan="4"><strong>Note:</strong> Offsets vary
depending on the number of message queues in the list.</td>
</tr>
<tr>
<td align="center" valign="top">&nbsp;</td>
<td align="center" valign="top">&nbsp;</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Message queue name</td>
</tr>
<tr>
<td align="center" valign="top">&nbsp;</td>
<td align="center" valign="top">&nbsp;</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Message queue library name</td>
</tr>
<tr>
<td align="left" valign="top" colspan="4"><strong>Note:</strong> Offsets vary
depending on the number of current license users and the length of each current
license user record.</td>
</tr>
<tr>
<td align="center" valign="top">&nbsp;</td>
<td align="center" valign="top">&nbsp;</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Number of uses held</td>
</tr>
<tr>
<td align="center" valign="top">&nbsp;</td>
<td align="center" valign="top">&nbsp;</td>
<td align="left" valign="top">CHAR(*)</td>
<td align="left" valign="top">License user</td>
</tr>
<tr>
<td align="center" valign="top">&nbsp;</td>
<td align="center" valign="top">&nbsp;</td>
<td align="left" valign="top">CHAR(*)</td>
<td align="left" valign="top">Reserved</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDRRTVFLD">Field Descriptions</a></h3>
<strong>Bytes available.</strong>
<p>The number of bytes of data available to be returned. All available data is
returned if enough space is provided.</p>
<p><strong>Bytes returned.</strong> The number of bytes of data returned.</p>
<p><strong>Compliance type.</strong> The compliance type associated with this
license. The compliance type determines the action taken when the value of the
usage limit field is exceeded.</p>
<p>The valid values are:</p>
<table cellpadding="5">
<!-- cols="10 90" -->
<tr>
<td align="left" valign="top"><em>01</em></td>
<td align="left" valign="top">The usage limit cannot be exceeded. The user who
attempts to use the product or feature after the usage limit has been reached
is prevented from accessing it. The product or feature cannot be accessed until
the appropriate action is taken to increase the usage limit of it. A message
indicating an attempt was made to exceed the usage limit is sent to each of the
following:<br>
<ul>
<li>The QSYSOPR message queue</li>
<li>The message queues specified on the Change License Information (CHGLICINF)
command.</li>
</ul>
</td>
</tr>
<tr>
<td align="left" valign="top"><em>02</em></td>
<td align="left" valign="top">The user who attempts to use the product or
feature after the usage limit has been reached is allowed access. A warning
message indicating the usage limit is exceeded is sent to QSYSOPR and to the
message queues specified on the Change License Information (CHGLICINF)
command.</td>
</tr>
<tr>
<td align="left" valign="top"><em>03</em></td>
<td align="left" valign="top">To use a product or feature with keyed
compliance, the license must be installed using one of the following:<br>
<ul>
<li>A valid license key through the Add License Key Information (ADDLICKEY)
command.</li>
<li>The Add License Key Information (QLZAADDK) API.</li>
</ul>
</td>
</tr>
<tr>
<td align="left" valign="top"></td>
<td align="left" valign="top">This license key is provided by the software
provider. The key ties the usage limit to the particular product or feature and
to a particular system serial number. To change the usage limit, a user must
get a new key from the software vendor. A user can use the product or feature
after the usage limit is reached. However, the user is allowed access to the
product or feature for only the number of days contained in the product's grace
period. Once the grace period has expired, no users over the usage limit are
able to use the product or feature until one of the following happens:<br>
<ul>
<li>A new license key is received from the software provider.</li>
<li>The number of users fall below the usage limit.</li>
</ul>
</td>
</tr>
<tr>
<td align="left" valign="top"></td>
<td align="left" valign="top">A warning message indicating that the usage limit
has been exceeded is sent to each of the following:<br>
<ul>
<li>The QSYSOPR message queue.</li>
<li>The message queues specified on the CHGLICINF command.</li>
</ul>
</td>
</tr>
</table>
<p><strong>Date grace period expires.</strong> The date that the grace period
expires. Once a user has exceeded the usage limit, the date the grace period
expires is set using the grace period and the current date. Before the grace
period expires, a new license key needs to be obtained from the software
vendor. If this is not done, users exceeding the usage limit are not allowed
access to the product or feature.</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top" nowrap><em>9999999</em></td>
<td align="left" valign="top">This value indicates no grace period or that the
grace period has expired.</td>
</tr>
<tr>
<td align="left" valign="top"><em>CYYMMDD</em></td>
<td align="left" valign="top">The date the grace period expires. C is the
century, YY is the year, MM is the month, and DD is the day. The date must be
numeric as follows:<br>
<ul>
<li>Century, where 0 indicates years 19<em>xx</em> and 1 indicates years
20<em>xx</em>.</li>
<li>Month may not be greater than 12.</li>
<li>Day may not be greater than 31.</li>
</ul>
</td>
</tr>
</table>
<p><strong>Expiration date.</strong> The date the license will expire. The
valid values are:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>CYYMMDD</em></td>
<td align="left" valign="top">C is the century, YY is the year, MM is the
month, and DD is the day. The date must be numeric as follows:<br>
<ul>
<li>Century, where 0 indicates years 19<em>xx</em> and 1 indicates years
20<em>xx</em>.</li>
<li>Month may not be greater than 12.</li>
<li>Day may not be greater than 31.</li>
</ul>
</td>
</tr>
<tr>
<td align="left" valign="top"><em>9999999</em></td>
<td align="left" valign="top">The license does not have an expiration
date.</td>
</tr>
</table>
<p><strong>Feature.</strong> The feature of the product. Valid values for the
feature are 5001 through 9999.</p>
<p><strong>Grace period.</strong> The number of days after a product first
exceeds its usage limit that a user has to obtain a new license key. Before the
grace period expires, a new license key needs to be obtained from the software
vendor. If this is not done, users exceeding the usage limit are not allowed
access to the product or feature. The date the grace period expires is
calculated by adding the number of days in the grace period to the current
date.</p>
<p><strong>Last peak date and time.</strong> The date and time when the peak
usage of the product or feature last occurred since the peak usage was reset to
zero. In the CYYMMDDHHmmSS format as follows:</p>
<table cellpadding="5">
<!-- cols="10 90" -->
<tr>
<td align="left" valign="top"><em>C</em></td>
<td align="left" valign="top">Century, where 0 indicates years 19<em>xx</em>
and 1 indicates years 20<em>xx</em>.</td>
</tr>
<tr>
<td align="left" valign="top"><em>YY</em></td>
<td align="left" valign="top">Year</td>
</tr>
<tr>
<td align="left" valign="top"><em>MM</em></td>
<td align="left" valign="top">Month</td>
</tr>
<tr>
<td align="left" valign="top"><em>DD</em></td>
<td align="left" valign="top">Day</td>
</tr>
<tr>
<td align="left" valign="top"><em>HH</em></td>
<td align="left" valign="top">Hour</td>
</tr>
<tr>
<td align="left" valign="top"><em>mm</em></td>
<td align="left" valign="top">Minute</td>
</tr>
<tr>
<td align="left" valign="top"><em>SS</em></td>
<td align="left" valign="top">Second</td>
</tr>
</table>
<p><strong>Last update date and time.</strong> The date and time when the usage
limit was last updated. In the CYYMMDDHHmmSS format as follows:</p>
<table cellpadding="5">
<!-- cols="10 90" -->
<tr>
<td align="left" valign="top"><em>C</em></td>
<td align="left" valign="top">Century, where 0 indicates years 19<em>xx</em>
and 1 indicates years 20<em>xx</em>.</td>
</tr>
<tr>
<td align="left" valign="top"><em>YY</em></td>
<td align="left" valign="top">Year</td>
</tr>
<tr>
<td align="left" valign="top"><em>MM</em></td>
<td align="left" valign="top">Month</td>
</tr>
<tr>
<td align="left" valign="top"><em>DD</em></td>
<td align="left" valign="top">Day</td>
</tr>
<tr>
<td align="left" valign="top"><em>HH</em></td>
<td align="left" valign="top">Hour</td>
</tr>
<tr>
<td align="left" valign="top"><em>mm</em></td>
<td align="left" valign="top">Minute</td>
</tr>
<tr>
<td align="left" valign="top"><em>SS</em></td>
<td align="left" valign="top">Second</td>
</tr>
</table>
<p><strong>Length of each current license user record.</strong> The length of
each current license user record. This is the length of the license user plus
the length of any additional license user information.</p>
<p><strong>Length of each license user.</strong> The length of each license
user. This is the same value that is used during the request and release of
this product. This may be a value of 1 through 80.</p>
<p><strong>License term.</strong> The extent of time the authorized usage limit
for a product lasts. Each time a new license term is installed for a product,
the authorized usage limit must be set by doing each of the following:</p>
<ul>
<li>Obtaining a new license key.</li>
<li>Using the Add License Key Information (ADDLICKEY) command.</li>
</ul>
<p>Possible values are:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>Vx</em></td>
<td align="left" valign="top">The authorized usage limit is valid only for the
entire version of the product or feature.</td>
</tr>
<tr>
<td align="left" valign="top"><em>VxRy</em></td>
<td align="left" valign="top">The authorized usage limit is valid only for the
entire release of the product or feature.</td>
</tr>
<tr>
<td align="left" valign="top"><em>VxRyMz</em></td>
<td align="left" valign="top">The authorized usage limit is valid only for the
modification level of the product.</td>
</tr>
<tr>
<td align="left" valign="top"></td>
<td align="left" valign="top">Where the x and y can be a number from 0 through
9. Z can be a number 0 through 9 or a letter A through Z.</td>
</tr>
</table>
<p><strong>License user.</strong> A user that currently holds one or more uses
of the product or feature.</p>
<p><strong>List of current license users.</strong> A list of all the current
users of the product.</p>
<p><strong>Message queue library name.</strong> The library where the message
queue resides.</p>
<p><strong>Message queue name.</strong> The name of message queue.</p>
<p><strong>Number of current license users.</strong> The number of current
license users in the list.</p>
<p><strong>Number of message queues.</strong> The number of message queues in
the list.</p>
<p><strong>Number of uses held.</strong> The number of license uses held by
this license user.</p>
<p><strong>Offset to current license user list.</strong> The offset from the
beginning of the receiver variable to the start of the first current license
user. This offset is 0 if there are no license users or if the size of the
receiver variable is not large enough to hold any license users.</p>
<p><strong>Offset to message queue list.</strong> The offset from the beginning
of the receiver variable to the start of the first message queue name and
library. This offset is 0 if there are no message queues or if the size of the
receiver variable is not large enough to hold any message queues.</p>
<p><strong>Peak usage.</strong> The maximum number of license users that have
accessed the product or feature at one time. The peak usage may be reset using
option 10 of the Work License Information (WRKLICINF) command. If the product
is using processor usage type, the peak usage value will be rounded up to the
next whole number. For instance, an actual peak usage of 2.15 would round up to
3. See the processor peak usage count field for the processor peak usage count
in hundreths of a processor.</p>
<p><strong>Processor group.</strong> The processor group of this system. A
processor group is the grouping of system model numbers by relative processor
size.</p>
<p><strong>Processor usage count</strong> The processor usage count is the
number of hundreths of processors in the logical partition configured at the
time the product was used. This field is set to 0 for products that do not have
a processor usage type.</p>
<p><strong>Processor peak usage count</strong> The maximum processor usage
count in hundreths of processors. The processor peak usage may be reset using
option 10 of the Work License Information (WRKLICINF) command. This field is
set to 0 for products that do not have a processor usage type.</p>
<p><strong>Product ID.</strong> The product ID of the product or feature whose
license information is to be retrieved.</p>
<p><strong>Product license information handle.</strong> The product information
handle is passed back. It may be used within the application to verify that the
product attributes are the same as the original license information created by
the software provider. This handle will not be stored and will be generated
each time license information is retrieved.</p>
<p><strong>Release level.</strong> The version, release, and modification level
of the product whose license information was requested. This is returned in the
receiver variable parameter. If you specified *ONLY in the release field of the
LICP0100 format, the actual release level is returned here.</p>
<p><strong>Reserved.</strong> If this field is input, character fields must be
set to blanks and binary fields must be set to hexadecimal zeros.</p>
<p><strong>Threshold value.</strong> The threshold for this product or
feature.</p>
<p>The threshold indicates you want a message sent to the system operator
message queue stating that a product or feature is reaching the usage
limit.</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>-1</em></td>
<td align="left" valign="top">The threshold value is *NOMAX.</td>
</tr>
<tr>
<td align="left" valign="top" nowrap><em>0-999999</em></td>
<td align="left" valign="top">The threshold value.</td>
</tr>
</table>
<p><strong>Usage count.</strong> The usage count for the product or feature at
the time of the retrieve operation. Valid values are 0 through 999999. If the
product is using processor usage type, the usage count value will be rounded up
to the next whole number. For instance, an actual usage count of 2.15 would
round up to 3. See the processor usage count field for the processor usage
count in hundreths of a processor.</p>
<p><strong>Usage limit.</strong> The usage limit for this license.</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>-1</em></td>
<td align="left" valign="top">Any number of users are allowed to access the
product or feature.</td>
</tr>
<tr>
<td align="left" valign="top" nowrap><em>0-999999</em></td>
<td align="left" valign="top">The number of users allowed to access the
product.</td>
</tr>
</table>
<p><strong>Usage type.</strong> The usage type associated with this
license.</p>
<p>The valid values are:</p>
<table cellpadding="5">
<!-- cols="10 90" -->
<tr>
<td align="left" valign="top"><em>01</em></td>
<td align="left" valign="top">The usage type is concurrent. It is for the
number of unique jobs accessing the product at one time.</td>
</tr>
<tr>
<td align="left" valign="top"><em>02</em></td>
<td align="left" valign="top">The usage type is registered. It is for the
number of unique license users registered by the product.</td>
</tr>
<tr>
<td align="left" valign="top"><em>03</em></td>
<td align="left" valign="top">The license usage is by processors. Counts the
number of processors that are assigned to the logical partition.</td>
</tr>
</table>
<p><strong>Vendor data.</strong> Information the vendor defined at Generate
License Key time.</p>
<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">CPF0C1C E</td>
<td width="85%" valign="top">Release level &amp;1 not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF0C1E E</td>
<td align="left" valign="top">Error occurred during running of &amp;1 API.</td>
</tr>
<tr>
<td align="left" valign="top">CPF2206 E</td>
<td align="left" valign="top">User needs authority to do requested function on
object.</td>
</tr>
<tr>
<td align="left" valign="top">CPF2207 E</td>
<td align="left" valign="top">Not authorized to use object &amp;1 in library
&amp;3 type *&amp;2.</td>
</tr>
<tr>
<td align="left" valign="top">CPF24B4 E</td>
<td align="left" valign="top">Severe error while addressing parameter
list.</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">CPF3C21 E</td>
<td align="left" valign="top">Format name &amp;1 is not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3C24 E</td>
<td align="left" valign="top">Length of the receiver variable is not
valid.</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">CPF9E11 E</td>
<td align="left" valign="top">License information not retrieved.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9E13 E</td>
<td align="left" valign="top">More than one release found.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9E15 E</td>
<td align="left" valign="top">Error in license management function.</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>
</table>
<br>
<hr>
API introduced: V2R3
<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=
"sw1.htm">Software Product APIs</a> | <a href="aplist.htm">APIs by
category</a></td>
</tr>
</table>
</body>
</html>