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

748 lines
20 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>Generate License Key (QLZAGENK) 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. -->
<!-- QLZAGENK SCRIPT A converted by B2H R4.1 (346) (CMS) by KENTALA -->
<!-- at RCHVMW2 on 7 Oct 1998 at 18:26:07 -->
<!-- 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>
<a name="Top_Of_Page"></a>
<!-- Java sync-link -->
<script language="Javascript" src="../rzahg/synch.js" type="text/javascript">
</script>
<h2>Generate License Key (QLZAGENK) 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%">Product identification</td>
<td align="left" valign="top" width="20%">Input</td>
<td align="left" valign="top" width="20%">Char(*)</td>
</tr>
<tr>
<td align="center" valign="top">2</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">3</td>
<td align="left" valign="top">License key input</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Char(*)</td>
</tr>
<tr>
<td align="center" valign="top">4</td>
<td align="left" valign="top">License key input 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">5</td>
<td align="left" valign="top">License key output</td>
<td align="left" valign="top">Output</td>
<td align="left" valign="top">Char(*)</td>
</tr>
<tr>
<td align="center" valign="top">6</td>
<td align="left" valign="top">Length of license key output</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Binary(4)</td>
</tr>
<tr>
<td align="center" valign="top">7</td>
<td align="left" valign="top">License key output 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">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;Threadsafe: No<br>
<!-- iddvc RMBR -->
<br>
</div>
<p>The Generate License Key (QLZAGENK) API generates a license key to enable
users to access a product or a feature of a product. The key is specific to the
product and system information entered in this API. The resulting key is a
combination of 18 letters and numbers, A-F and 0-9. To run this API, the
product definition of the product you are generating the key for must exist on
the system.</p>
<p>This command also adds the license information to the license repository.
The keys are saved in the repository to keep a history of all the keys created.
The repository can be queried to see what keys were generated for such things
as a specific product, system, and so on. For more information about the
license repository, see <a href="qlzartvk.htm">Retrieve License Key Information
API</a>.</p>
<br>
<h3>Authorities and Locks</h3>
<dl>
<dt><em>API QLZAGENK Authority</em></dt>
<dd>*PUBLIC(*EXCLUDE)</dd>
</dl>
<br>
<h3>Required Parameter Group</h3>
<dl>
<dt><strong>Product identification</strong></dt>
<dd>INPUT; CHAR(*)
<p>Information that uniquely identifies the product or feature for which the
license key is being generated. The structure of this information is determined
by the name of the format. For more information, see <a href=
"#HDRLICT100">LICT0100 Format</a>.</p>
</dd>
<dt><strong>Product identification format name</strong></dt>
<dd>INPUT; CHAR(8)
<p>The name of the format containing the information to identify the
product.</p>
<p>The format name is:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>LICT0100</em></td>
<td align="left" valign="top">Basic product information used as input to the
API. For details, see the <a href="#HDRLICT100">LICT0100 Format</a>.</td>
</tr>
</table>
<br>
</dd>
<dt><strong>License key input</strong></dt>
<dd>INPUT; CHAR(*)
<p>Information that is used to generate a unique license key for the product.
The structure of this information is determined by the name of the format. For
more information, see <a href="#HDRLICC100">LICC0100 Format</a>.</p>
</dd>
<dt><strong>License key input format name</strong></dt>
<dd>INPUT; CHAR(8)
<p>The name of the format containing the input for generating the license
key.</p>
<p>The format name is:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>LICC0100</em></td>
<td align="left" valign="top">License key information used as input to the API.
For details, see <a href="#HDRLICC100">LICC0100 Format</a>.</td>
</tr>
</table>
<br>
</dd>
<dt><strong>License key output</strong></dt>
<dd>OUTPUT; CHAR(*)
<p>Information about the license key generated. The structure of this
information is determined by the name of the format. For more information, see
<a href="#HDRLICK100">LICK0100 Format</a>.</p>
</dd>
<dt><strong>Length of license key output</strong></dt>
<dd>INPUT; BIN(4)
<p>The length of the license key output parameter.</p>
</dd>
<dt><strong>License key output format name</strong></dt>
<dd>INPUT; CHAR(8)
<p>The name of the format containing the output for the generated license
key.</p>
<p>The format name is:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td width="15%" valign="top"><em>LICK0100</em></td>
<td width="85%" valign="top">License key information generated from the API.
For details, see <a href="#HDRLICK100">LICK0100 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="HDRLICT100">LICT0100 Format</a></h3>
<p>The following information uniquely describes the product or feature for
which the license information is to be added. For detailed descriptions of the
fields, see <a href="#HDRCRTKFD">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">License term</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="HDRLICC100">LICC0100 Format</a></h3>
<p>The following specifies the format for the license key information used to
generate the license key for the product. All fields must be specified. For
detailed descriptions of the fields, see <a href="#HDRCRTKFD">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%">Size of license key input
structure</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 limit</td>
</tr>
<tr>
<td align="center" valign="top">8</td>
<td align="center" valign="top">8</td>
<td align="left" valign="top">CHAR(7)</td>
<td align="left" valign="top">Expiration date</td>
</tr>
<tr>
<td align="center" valign="top">15</td>
<td align="center" valign="top">F</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Vendor password</td>
</tr>
<tr>
<td align="center" valign="top">25</td>
<td align="center" valign="top">19</td>
<td align="left" valign="top">CHAR(8)</td>
<td align="left" valign="top">Serial number</td>
</tr>
<tr>
<td align="center" valign="top">33</td>
<td align="center" valign="top">21</td>
<td align="left" valign="top">CHAR(4)</td>
<td align="left" valign="top">Processor group</td>
</tr>
<tr>
<td align="center" valign="top">37</td>
<td align="center" valign="top">25</td>
<td align="left" valign="top">CHAR(8)</td>
<td align="left" valign="top">Vendor data</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDRLICK100">LICK0100 Format</a></h3>
<p>The following specifies the format for the license key generated by this
product. For detailed descriptions of the fields, see <a href=
"#HDRCRTKFD">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">CHAR(18)</td>
<td align="left" valign="top">License key</td>
</tr>
<tr>
<td align="center" valign="top">26</td>
<td align="center" valign="top">1A</td>
<td align="left" valign="top">CHAR(13)</td>
<td align="left" valign="top">Generation date and time</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDRCRTKFD">Field Descriptions</a></h3>
<p><strong>Bytes available.</strong> 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>Expiration date.</strong> The date the product license will expire.
After this date, the usage limit is set to the default usage limit. No user
over the usage limit is allowed to access the product or feature. A new license
key must be obtained from the software provider to allow further use of the
product.</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">There is no expiration date for the product or
feature.</td>
</tr>
</table>
<p><strong>Feature.</strong> The feature of the product to which the license
key is being generated. Valid values for the feature are 5001 through 9999.</p>
<p><strong>Generation date and time.</strong> The date and time that the
license key was generated 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>License key.</strong> The license key generated for the product. The
key will be made up of characters A-F and numbers 0-9.</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:</p>
<ul>
<li>Obtaining a new license key from the software provider.</li>
<li>Adding the new license key to the system using the Add License Key
(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 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 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>
</table>
<p>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.</p>
<p><strong>Processor group.</strong> The processor group of the system the
product or feature will be installed on. This field is left justified.</p>
<table cellpadding="5">
<!-- cols="10 90" -->
<tr>
<td align="left" valign="top"><em>*ANY</em></td>
<td align="left" valign="top">The license key generated can be used with any
processor group.</td>
</tr>
</table>
<p><strong>Product ID.</strong> The product ID of the product or feature to
which the license information is being added.</p>
<p><strong>Serial number.</strong> The serial number of the system the license
key will be installed on.</p>
<p><strong>Size of license key input structure.</strong> The size, in bytes, of
the license key input structure contained in format LICC0100.</p>
<p><strong>Usage limit.</strong> The usage limit that will be in effect when
the product or feature is initially installed.</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<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
or feature.</td>
</tr>
<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>
</table>
<p><strong>Vendor data.</strong> An 8 character field for vendor defined
usage.</p>
<p><strong>Vendor password.</strong> The software vendor's password. This
password is encrypted and stored with the product. It is used in validating
this Generate License Key request. It must also be the same password used when
adding product license information (ADDPRDLICI command or QLZADDLI API) to this
product or feature. The password must begin with an alphabetic character (A
through Z, $, #, or @). This character must be followed by no more than 9
alphameric characters (A through Z, 0 through 9, $, #, @, or _).</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">CPF0CB2 E</td>
<td width="85%" valign="top">Product identifier &amp;1 not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF0C4B E</td>
<td align="left" valign="top">Product availability object &amp;2/&amp;1
recovery required.</td>
</tr>
<tr>
<td align="left" valign="top">CPF0C4C E</td>
<td align="left" valign="top">Cannot allocate object &amp;1 in library
&amp;2.</td>
</tr>
<tr>
<td align="left" valign="top">CPF0C4D E</td>
<td align="left" valign="top">Error occurred while processing object &amp;1 in
library &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">CPF3C19 E</td>
<td align="left" valign="top">Error occurred with receiver variable
specified.</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">CPF8191 E</td>
<td align="left" valign="top">Product definition &amp;4 in &amp;9 damaged.</td>
</tr>
<tr>
<td align="left" valign="top">CPF8193 E</td>
<td align="left" valign="top">Product load object &amp;4 in &amp;9
damaged.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9E05 E</td>
<td align="left" valign="top">Feature &amp;3 not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9E0F E</td>
<td align="left" valign="top">Vendor password &amp;1 not valid.</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">CPF9E40 E</td>
<td align="left" valign="top">Usage limit &amp;1 not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9E41 E</td>
<td align="left" valign="top">Product &amp;1 &amp;2 feature &amp;3 not found or
not correctly installed.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9E42 E</td>
<td align="left" valign="top">Vendor password not correct.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9E44 E</td>
<td align="left" valign="top">Processor group must be specified.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9E45 E</td>
<td align="left" valign="top">Serial number must be specified.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9E46 E</td>
<td align="left" valign="top">License key not generated.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9E54 E</td>
<td align="left" valign="top">License term &amp;1 not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9E55 E</td>
<td align="left" valign="top">License repository object damaged.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9E59 E</td>
<td align="left" valign="top">Expiration date &amp;1 is not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9838 E</td>
<td align="left" valign="top">User profile storage limit exceeded.</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: V3R1
<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>