Create Product Definition (QSZCRTPD) API


  Required Parameter Group:

1 Qualified product definition name Input Char(20)
2 Product definition information Input Char(106)
3 Product option list Input Array of Char(41)
4 Number of product options Input Binary(4)
5 Language load list Input Array of Char(20)
6 Number of language loads Input Binary(4)
7 Text description Input Char(50)
8 Public authority Input Char(10)
9 Error code I/O Char(*)

  Default Public Authority: *USE

  Threadsafe: No

The Create Product Definition (QSZCRTPD) API creates a product definition (*PRDDFN) object. Each release of a packaged software product requires one product definition.


Authorities and Locks

Library Authority
*ADD and *READ

Library Lock
*SHRUPD

Product Availability Lock
*SHRRD. The product availability object resides in the QUSRSYS library.

Required Parameter Group

Qualified product definition name
INPUT; CHAR(20)

The first 10 characters contain the product definition name. The second 10 characters contain the name of the library into which the product definition is to be created.

The following special value is supported for the library name:

*CURLIB The job's current library

Product definition information
INPUT; CHAR(106)

A structure containing information about the product. For more information, see Format of Product Definition Information.

Product option list
INPUT; ARRAY of CHAR(41)

An array containing information for each of the options defined for the product. Each element of the array contains information for one option. There must be one element of the array for each option. The first element of the array must be for the base (0000) option. The required data for the product option list is described in Format of Product Option List.

Number of product options
INPUT; BINARY(4)

The number of options defined for the product. This number is the same as the number of elements in the product option list parameter. Up to 100 product options can be specified. If the number of elements in the product option list is less than the value specified, the results are unpredictable.

Language load list
INPUT; ARRAY of CHAR(20)

Specifies which languages are defined for the product options. The required data for the language load list is described in Format of Language Load List.

Number of language loads
INPUT; BINARY(4)

The number of elements in the language load list parameter. If the number of elements in the language load list parameter is less than the value specified, the results are unpredictable. The valid range is 1 to 139.

Text description
INPUT; CHAR(50)

Text that briefly describes the product definition object.

Public authority
INPUT; CHAR(10)

The authority you give to users who do not have specific authority to the product definition object and whose group profile has no specific authority to the object.

Valid values are:

*ALL Allows the user to perform all operations on the object except those limited to the owner or controlled by the authorization list management authority.
*CHANGE Allows the user to perform all operations on the object except those limited to the owner or controlled by the object existence authority and object management authority.
*EXCLUDE Prevents the user from accessing the object.
*LIBCRTAUT The public authority for the object is taken from the value of the create authority (CRTAUT) parameter of the target library. (This is the library that is to contain the object.) This value is determined when the object is created. If the CRTAUT value for the library changes after the object is created, the new value does not affect any existing objects.
*USE Provides object operational authority and read authority.

Error code
I/O; CHAR(*)

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


Format of Product Definition Information

The following table describes the order and format of the product definition information parameter. For detailed descriptions of fields in the table, see the Field Descriptions.

Offset Type Field
Dec Hex
0 0 CHAR(7) Product ID
7 7 CHAR(6) Release level
13 D CHAR(10) Message file
23 17 CHAR(10) First copyright
33 21 CHAR(10) Current copyright
43 2B CHAR(6) Release date
49 31 CHAR(4) Allow multiple releases
53 35 CHAR(10) Registration ID type
63 3F CHAR(14) Registration ID value
77 4D CHAR(1) Release date century
78 4E CHAR(28) Reserved


Format of Product Option List

Up to 100 product options can be specified. The first option specified must be 0000 (the base option). The product option list parameter is described in the table below. The offsets shown in the table are for the first element in this array. For detailed descriptions of fields in the table, see the Field Descriptions.

Offset Type Field
Dec Hex
0 0 CHAR(4) Product option number
4 4 CHAR(7) Message ID
11 B CHAR(10) Allow dynamic naming
21 15 CHAR(4) Code load ID
25 19 CHAR(16) Reserved


Format of Language Load List

Up to 40 language loads can be specified for the base (0000) option. A maximum of 139 total can be specified. The language load list field is described in the table below. The offsets shown in the table are for the first element in this array. For detailed descriptions of fields in the table, see the Field Descriptions.

Offset Type Field
Dec Hex
0 0 CHAR(8) Language load ID
8 8 CHAR(4) Product option number
12 C CHAR(8) Reserved


Field Descriptions

Allow dynamic naming. Allow libraries and root folders to be named during installation of the product option.

Valid values are:

*NODYNNAM Do not allow naming of libraries and folders during installation.
*ALWDYNNAM Allow naming of libraries and root folders during installation.

Allow multiple releases. Allow different releases of this product to be installed on the same system.

Valid values are:

*NO Do not allow multiple releases.
*YES Allow multiple releases.

Code load ID. The identifier of the code load for the option. Valid values are 5001 through 9999. For all product options that are part of the same feature, specify the same code load ID. If you are not adding license information to your product, you should use 5001 for the code load ID for each option. The code load ID you specify for this option must be the same as the load ID specified when you create the code product load for this option. See Create Product Load (QSZCRTPL) API for information about creating product loads.

Current copyright. The year of the most recent copyright for this product. The year must be specified as a 4-digit number, such as 1990. The field must be padded with blanks. If this field and the first copyright field have values other than *NONE, the first copyright field must be less than the current copyright field.

The following special values are valid:

*CURRENT The current year is used.
*NONE The product does not have a current copyright.

First copyright. The first year that the product was copyrighted. The year must be specified as a 4-digit number, such as 1990. The field must be padded with blanks.

The following special values are valid:

*CURRENT The current year is used.
*NONE The product does not have a first copyright.

Language load ID. The national language versions (NLVs) that are valid for a given product option. Individual NLVs may be specified for the base option, with one element of the language load list parameter for each NLV for the base option. For options other than the base option, only *BASEOPT and *NONE are valid. For example, to create a product definition with NLVs 2924 and 2931 defined for both the base option and option 1, the language load list would have three elements:

Valid special values are:

*NONE Defines the option to have no NLVs.
*IBMLNG Only valid for the base option, 0000. Specifies the product definition is created with the list of all the NLVs for the base option the same as the currently installed operating system.
*BASEOPT Only valid for an option other than 0000. Defines this option to have the same NLVs as the base option of this product.

Message file. The name of the message file containing the messages that describe the product and its options. The message file for the base option is considered the message file for the product.

Message ID. The identifier of the message that describes the product option.

Product ID. The 7-character identifier of the product for which a product definition is being created. The product ID must be in the format nlxxxxx, where n is any numeric character 0 through 9. The l is any uppercase letter A through Z, and x is any numeric character 0 through 9 or uppercase letter A through Z.

Product option number. The identifier of the product option.

When used in the product option list parameter, valid values are 0000 through 0099, with each number specified at most once. Specify 0000 for the base product option. The value 0000 must be the first option specified.

When used in the language load list parameter, this is the identifier for the product option for which NLVs are being defined. This must be one of the options specified on the product option list parameter.

Registration ID type. Specifies what the registration ID value field represents.

Valid values are:

*PHONE Telephone number will be entered in the registration ID value field.
*CUSTOMER Country or region code and IBM customer number will be entered in the registration ID value field.

Registration ID value. The identifier of the organization to which the product belongs. This number should be unique from other vendors on the systems on which this product will be installed. It is recommended you specify a telephone number (including the country or region code and city code) or your IBM customer number appended to your country or region code. Valid characters for the registration ID value are A through Z and 0 through 9, padded with blanks on the right.

Release date. Release date of the product. The format is yymmdd, where yy is the year, mm is the month, and dd is the day.

The following special value is valid for the release date:

*NONE The product does not have a release date.

Release date century. The century that corresponds to the release date of the product. This field is ignored if *NONE is specified for release date.

Possible values follow:

0 Indicates years 19xx
1 Indicates years 20xx
Blank The release date century is set to 0 if the release date year is equal to or greater than 40 (years 1940 through 1999); it is set to 1 if the release date year is less than 40 (years 2000 through 2039).

Release level. The version, release, and modification level of the product being created in the format VxRyMz. Valid values for x and y are 0 through 9. Valid values for z are 0 through 9 or A through Z. For example, V2R1M0 is Version 2, Release 1, Modification 0.

Reserved. This field must contain blank characters; otherwise, an error occurs.


Error Messages

Message ID Error Message Text
CPF0CAA E First product option not *BASE.
CPF0CAB E Language load identifier not valid.
CPF0CAC E Language load identifier not valid.
CPF0CAD E Duplicate language load identifier specified.
CPF0CAE E Language load not valid.
CPF0CAF E Duplicate option &3 specified.
CPF0CA3 E Code load &4 supported.
CPF0CA6 E Product definition &3 not created in library &4.
CPF0CBA E Number of options parameter not valid.
CPF0CBB E Release date &3 not valid.
CPF0CBC E Message identifier &4 not allowed.
CPF0CBD E Code load ID &9 not valid.
CPF0CBE E Release date century field not valid.
CPF0CB0 E Copyright dates not valid.
CPF0CB1 E Registration identifier not valid.
CPF0CB2 E Product identifier &1 not valid.
CPF0CB3 E Value for reserved field not valid.
CPF0CB5 E Copyright field &3 not valid.
CPF0CB6 E Allow multiple releases field not valid.
CPF0CB7 E Allow dynamic naming field not valid.
CPF0CB8 E Language load field not valid.
CPF0CB9 E Number of language loads parameter not valid.
CPF0C16 E Object &1 type &3 already exists in library &2.
CPF0C17 E *&3 object already exists for product &4 release &5.
CPF0C18 E Registration identifier &7 not valid for product &4 release &5.
CPF0C19 E Damage occurred on object &1 in library &2.
CPF0C4A E Product record not found.
CPF0C4D E Error occurred while processing object &1 in library &2.
CPF0C8A E Product option &1 not valid.
CPF0C84 E Load identifier &4 not valid.
CPF0C86 E Registration identifier not valid.
CPF0C9B E Authority &1 not valid.
CPF24B4 E Severe error while addressing parameter list.
CPF3CF1 E Error code parameter not valid.
CPF3C29 E Object name &1 is not valid.
CPF3C90 E Literal value cannot be changed.
CPF35E3 E Interface error detected.
CPF358A E Release not valid.
CPF9810 E Library &1 not found.
CPF9818 E Object &2 in library &3 not created.
CPF9819 E Object &2 in library &3 not created.
CPF9820 E Not authorized to use library &1.
CPF9830 E Cannot assign library &1.
CPF9872 E Program or service program &1 in library &2 ended. Reason code &3.


API introduced: V4R4
Top | Software Product APIs | APIs by category