Package Product Option (QSZPKGPO) API


  Required Parameter Group:

1 Product option information Input Char(35)
2 Repackage Input Char(4)
3 Allow object change Input Char(5)
4 Error code I/O Char(*)

  Default Public Authority: *USE

  Threadsafe: No

The Package Product Option (QSZPKGPO) API packages one or more product loads for a specified product option. This enables the loads to be saved using the Save Licensed Program (SAVLICPGM) command. Object lists are added to the product load (*PRDLOD) object when the product load is packaged. In order to package a product load, all development libraries for the load must exist and all development folders for the load must exist. Also, all objects to be packaged must exist and all objects except folders and documents must have the following correct information in the object description:

The object description can be changed using the Change Object Description (QLICOBJD) API.

To package a product load that has folders, the user must be enrolled in the system distribution directory and have *ALL authority to the folders.

Other than these restrictions, a user who has authority to this API can package any product load created in either of the following ways. This is regardless of whether the user has authority to the objects for the product load.


Authorities and Locks

Authority to Folders
*ALL

Authority to Objects Packaged
None

Document Lock
*SHRRD. A lock of *SHRNUP is obtained on each document's attributes.

Table of Contents for Subordinate Folders Lock
*SHRNUP

Folder Lock
*SHRUPD

Object Lock
*EXCLRD. If *NO is specified for the allow object change parameter, each object packaged is locked *EXCLRD.

Product Availability Lock
*SHRRD

Product Definition Lock
*EXCLRD

Product Load Lock
*EXCLRD

Object Lock
Each object in each of the product load's libraries is locked as follows:

Required Parameter Group

Product option information
INPUT;CHAR(35)

The product loads to be packaged. For more information, see Product Option Information Format.

Repackage
INPUT; CHAR(4)

Whether or not to package product loads that were already packaged.

*NO Packages product loads that have not already been packaged.
*YES Packages all specified product loads, regardless of whether they are already packaged.

Allow object change
INPUT; CHAR(5)

Whether to prevent changes to the product information in the object description of each object added to an object list. You can change the allow change by program attribute by using the allow change by program field of the Change Object Description (QLICOBJD) API. See the allow change by program field in the QLICOBJD API for more information.

*SAME Does not change the allow change by program attribute of the objects being packaged.
*NO Changes the allow change by program attribute of the objects being packaged so that the product information in the object description cannot be changed by the Change Object Description (QLICOBJD) API.

Error code
I/O; CHAR(*)

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


Product Option Information Format

The following describes the product option information parameter. For a detailed description of the fields in this table, see Field Descriptions.

Offset Type Field
Dec Hex
0 0 CHAR(4) Product option
4 4 CHAR(7) Product ID
11 B CHAR(6) Release level
17 11 CHAR(8) Load ID
25 19 CHAR(10) Reserved


Field Descriptions

Load ID. Specifies which loads to package. Load IDs are 4 characters in length; for example, 2924 is the load ID for an English National Language Version (NLV).

The following special values are valid:

*CODEDFT The default code load ID, 5001, is used.
*ALL For the specified product ID, release level, and product option, all product loads for which a product load object exists are packaged. If only a code load exists, the code load is packaged.

Product ID. The product ID of the product option to be packaged.

Product option. The product option to be packaged. Use 0000 for the base option. Valid values are 0000 through 0099, where each character is a digit.

Release level. The version, release, and modification level of the product option to be packaged. The release level must be a valid special value or it must be in the form of VxRyMz. Valid entries for x and y are 0 through 9. Valid entries for z is 0 through 9 or A through Z.

The following special value is valid:

*ONLY The release level is determined by searching the system for a product definition (*PRDDFN) for the specified product ID. The release level is taken from the product definition. This value is not valid if there are product definitions for two or more release levels of the product on the system.

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


Error Messages

Message ID Error Message Text
CPF0CB2 E Product identifier &1 not valid.
CPF0CEA E Loads not packaged for product &1 release &2 option &3.
CPF0CEB E Product loads not packaged.
CPF0CEC E Code load has no folders.
CPF0CED E Reserved fields in parameter 1 are not blank.
CPF0CE0 E Message file &5 in library &6 not found.
CPF0CE1 E &1 not valid for repackage parameter.
CPF0CE3 E &9 product loads packaged, &10 product loads not packaged. See job log.
CPF0CE4 E Secondary language product load not packaged.
CPF0CE5 E &1 not valid for allow change parameter.
CPF0CE6 E Public authority for library &6 not valid for packaging.
CPF0CE7 E Product &1 release &2 not packaged.
CPF0CE8 E Primary folder list not correct.
CPF0CE9 E Development folder list not correct.
CPF0CFA E Load &4 for option &3 not in product definition.
CPF0CFB E Language load not packaged.
CPF0CFC E Product definition not found.
CPF0CFD E Code load not found for product &1 release &2 option &3.
CPF0CFE E Object &5 type *&7 in &6 not in development library &8.
CPF0CFF E Multiple releases available.
CPF0CF1 E Object &5 in &6 type *&7 associated with PTF &8.
CPF0CF4 E Object description not correct.
CPF0CF5 E Exit program &5 in library &6 not found.
CPF0CF6 E Packaging operation failed for &5 in &6 type *&7.
CPF0CF7 E Product &1 release &2 option &3 load &4 already packaged.
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.
CPF0C8A E Product option &1 not valid.
CPF0C84 E Load identifier &4 not valid.
CPF2150 E Object information function failed.
CPF2151 E Operation failed for &2 in &1 type *&3.
CPF2225 E Not able to allocate internal system object.
CPF2352 E Program &1 in &2 received wrong parameters.
CPF24B4 E Severe error while addressing parameter list.
CPF2451 E Message queue &1 is allocated to another job.
CPF3C90 E Literal value cannot be changed.
CPF3CF1 E Error code parameter not valid.
CPF358A E Release not valid.
CPF7304 E File &1 in &2 not changed.
CPF8A06 E Document &2 or folder &3 partially created in folder &1.
CPF8A75 E Not authorized to access folder &1.
CPF8A77 E Folder &1 not found.
CPF8A78 E Folder &1 in use.
CPF8A79 E Folder &1 is logically damaged.
CPF8100 E All CPF81xx messages could be returned. xx is from 01 to FF.
CPF9012 E Start of document interchange session not successful for &1.
CPF9801 E Object &2 in library &3 not found.
CPF9803 E Cannot allocate object &2 in library &3.
CPF9804 E Object &2 in library &3 damaged.
CPF9806 E Cannot perform function for object &2 in library &3.
CPF9809 E Library &1 cannot be accessed.
CPF9810 E Library &1 not found.
CPF9811 E Program &1 in library &2 not found.
CPF9812 E File &1 in library &2 not found.
CPF9814 E Device &1 not found.
CPF9830 E Cannot assign library &1.
CPF9831 E Cannot assign device &1.
CPF9872 E Program or service program &1 in library &2 ended. Reason code &3.


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