|
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(*)
|
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:
- Product ID.
- Release level.
- Product option.
- Load ID.
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.
- The Create Product Load (QSZCRTPL) API
- System Manager for AS/400 licensed program
- 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:
Message queues are locked *EXCLRD.
All other object types are locked *SHRRD.
- 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.
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
|
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.
- 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.