Generate License Key (QLZAGENK) API


  Required Parameter Group:

1 Product identification Input Char(*)
2 Product identification format name Input Char(8)
3 License key input Input Char(*)
4 License key input format name Input Char(8)
5 License key output Output Char(*)
6 Length of license key output Input Binary(4)
7 License key output format name Input Char(8)
8 Error code I/O Char(*)

  Default Public Authority: *EXCLUDE

  Threadsafe: No

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.

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 Retrieve License Key Information (QLZARTVK) API.


Authorities and Locks

API QLZAGENK Authority
*PUBLIC(*EXCLUDE)

Required Parameter Group

Product identification
INPUT; CHAR(*)

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 LICT0100 Format.

Product identification format name
INPUT; CHAR(8)

The name of the format containing the information to identify the product.

The format name is:

LICT0100 Basic product information used as input to the API. For details, see the LICT0100 Format.

License key input
INPUT; CHAR(*)

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 LICC0100 Format.

License key input format name
INPUT; CHAR(8)

The name of the format containing the input for generating the license key.

The format name is:

LICC0100 License key information used as input to the API. For details, see LICC0100 Format.

License key output
OUTPUT; CHAR(*)

Information about the license key generated. The structure of this information is determined by the name of the format. For more information, see LICK0100 Format.

Length of license key output
INPUT; BIN(4)

The length of the license key output parameter.

License key output format name
INPUT; CHAR(8)

The name of the format containing the output for the generated license key.

The format name is:

LICK0100 License key information generated from the API. For details, see LICK0100 Format.

Error code
I/O; CHAR(*)

The structure in which to return error information. For the format of the structure, see Error code parameter.


LICT0100 Format

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 Field Descriptions.

Offset Type Field
Dec Hex
0 0 CHAR(7) Product ID
7 7 CHAR(6) License term
13 D CHAR(4) Feature


LICC0100 Format

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 Field Descriptions.

Offset Type Field
Dec Hex
0 0 BINARY(4) Size of license key input structure
4 4 BINARY(4) Usage limit
8 8 CHAR(7) Expiration date
15 F CHAR(10) Vendor password
25 19 CHAR(8) Serial number
33 21 CHAR(4) Processor group
37 25 CHAR(8) Vendor data


LICK0100 Format

The following specifies the format for the license key generated by this product. For detailed descriptions of the fields, see Field Descriptions.

Offset Type Field
Dec Hex
0 0 BINARY(4) Bytes returned
4 4 BINARY(4) Bytes available
8 8 CHAR(18) License key
26 1A CHAR(13) Generation date and time


Field Descriptions

Bytes available. The number of bytes of data available to be returned. All available data is returned if enough space is provided.

Bytes returned. The number of bytes of data returned.

Expiration date. 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.

CYYMMDD C is the century, YY is the year, MM is the month, and DD is the day. The date must be numeric as follows:
  • Century, where 0 indicates years 19xx and 1 indicates years 20xx.
  • Month may not be greater than 12.
  • Day may not be greater than 31.
9999999 There is no expiration date for the product or feature.

Feature. The feature of the product to which the license key is being generated. Valid values for the feature are 5001 through 9999.

Generation date and time. The date and time that the license key was generated in the CYYMMDDHHmmSS format as follows:

C Century, where 0 indicates years 19xx and 1 indicates years 20xx.
YY Year
MM Month
DD Day
HH Hour
mm Minute
SS Second

License key. The license key generated for the product. The key will be made up of characters A-F and numbers 0-9.

License term. 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:

Possible values are:

Vx The authorized usage limit is valid for the entire version of the product or feature.
VxRy The authorized usage limit is valid for the entire release of the product or feature.
VxRyMz The authorized usage limit is valid only for the modification level of the product.

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.

Processor group. The processor group of the system the product or feature will be installed on. This field is left justified.

*ANY The license key generated can be used with any processor group.

Product ID. The product ID of the product or feature to which the license information is being added.

Serial number. The serial number of the system the license key will be installed on.

Size of license key input structure. The size, in bytes, of the license key input structure contained in format LICC0100.

Usage limit. The usage limit that will be in effect when the product or feature is initially installed.

0-999999 The number of users allowed to access the product or feature.
-1 Any number of users are allowed to access the product or feature.

Vendor data. An 8 character field for vendor defined usage.

Vendor password. 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 _).


Error Messages

Message ID Error Message Text
CPF0CB2 E Product identifier &1 not valid.
CPF0C4B E Product availability object &2/&1 recovery required.
CPF0C4C E Cannot allocate object &1 in library &2.
CPF0C4D E Error occurred while processing object &1 in library &2.
CPF24B4 E Severe error while addressing parameter list.
CPF3CF1 E Error code parameter not valid.
CPF3C19 E Error occurred with receiver variable specified.
CPF3C21 E Format name &1 is not valid.
CPF3C24 E Length of the receiver variable is not valid.
CPF3C90 E Literal value cannot be changed.
CPF8191 E Product definition &4 in &9 damaged.
CPF8193 E Product load object &4 in &9 damaged.
CPF9E05 E Feature &3 not valid.
CPF9E0F E Vendor password &1 not valid.
CPF9E15 E Error in license management function.
CPF9E40 E Usage limit &1 not valid.
CPF9E41 E Product &1 &2 feature &3 not found or not correctly installed.
CPF9E42 E Vendor password not correct.
CPF9E44 E Processor group must be specified.
CPF9E45 E Serial number must be specified.
CPF9E46 E License key not generated.
CPF9E54 E License term &1 not valid.
CPF9E55 E License repository object damaged.
CPF9E59 E Expiration date &1 is not valid.
CPF9838 E User profile storage limit exceeded.
CPF9872 E Program or service program &1 in library &2 ended. Reason code &3.


API introduced: V3R1

[ Back to top | Software Product APIs | APIs by category ]