Software Product Functions Exit Program


  Required Parameter Group:


This exit program is specified when you create products that are restored, saved, deleted, and checked with the following commands:

More information about creating your own product and using exit programs is available in the System Manager UseLink to PDF manual.


Authorities and Locks

None.


Required Parameter Group

Exit programs must be written to accept the following parameters:

Function being performed
INPUT; CHAR(10)

The function being performed when this exit program is called. The values are:


Before or after indicator
INPUT; CHAR(10)

Whether the exit program is being called before or after the actual operation (restore process, save process, and so on). The values are:


Language ID
INPUT; CHAR(4)

The 4-digit feature code identifier. For the *RSTCODE, *SAVCODE, *DLTCODE, and *CHKCODE values of the function being performed parameter, this value is blank because it only applies to the language functions.

Library that contains exit programs
INPUT; CHAR(10)

The library where exit programs for the product are located while the current function is being performed. You cannot assume this value will be either the library where the product currently exists or will exist.

Library where product currently exists
INPUT; CHAR(10)

If the product exists on the system when the exit program is called, this is the library that contains the product. Otherwise, this value is blank.

Library specified by creator of product
INPUT; CHAR(10)

The library that was specified on the Create Product Load (CRTPRDLOD) command or the Create Product Load (QSZCRTPL) API when you created the product.

Library where product will exist
INPUT; CHAR(10)

The library of the product after the product is restored. This value only applies when the function being performed is *RSTCODE and *RSTLNG. For other functions, this value is blank.

Root folder that product currently uses
INPUT; CHAR(12)

The root folder specified if the product is installed and has folders. It is only specified when calling the exit program for the principal library. Otherwise, this value is blank.

Root folder specified by creator
INPUT; CHAR(12)

The root folder that was specified on the CRTPRDLOD command or the QSZCRTPL API when the product was created. This only applies if the product has folders and is only specified when calling the exit program for the principal library.

Root folder that product will use
INPUT; CHAR(12)

The root folder specified only if the product is being restored and has folders. It is only specified when calling the exit program for the principal library. Otherwise, this value is blank.

Release level of product
INPUT; CHAR(6)

The version, release, and modification level of the product being restored, saved, deleted, or checked in the form VxRxMx.

Release level of product being restored
INPUT; CHAR(6)

The version, release, and modification level of the product being restored in the form VxRxMx. It is only specified if the product is being restored; otherwise, the value is blank.

Array of missing objects and their symbolic object types
INPUT; ARRAY of CHAR(20)

The list passed when the function being performed is *SAVCODE, *SAVLNG, *CHKCODE, or *CHKLNG. For *SAVCODE and *SAVLNG, the list will only be passed before the actual save operation. For *CHKCODE and *CHKLNG, the list will be passed after the check operation. The first 10 characters contain the object name, and the second 10 characters contain the object type.

Number of missing objects
INPUT; BINARY(4)

The number of missing objects in the previous array. This number is 0 when there are no objects in the list or when the function being performed is not *SAVCODE, *SAVLNG, *CHKCODE, or *CHKLNG. The maximum number is 499.

Array of missing folders
INPUT; ARRAY of CHAR(63) for each folder name

The list passed when the function being performed is *SAVCODE, *SAVLNG, *CHKCODE, or *CHKLNG. For *SAVCODE and *SAVLNG, the list will only be passed before the actual save operation. For *CHKCODE and *CHKLNG, the list will be passed after the check operation. This only applies if the product has folders and is only specified when calling the exit program for the principal library.

Number of missing folders
INPUT; BINARY(4)

The number of missing folders in the previous array. This number is 0 when there are no folders in the list or when the function being performed is not *SAVCODE, *SAVLNG, *CHKCODE, or *CHKLNG.

Array of offsets to missing directory information
INPUT; ARRAY(300) of BINARY(4)

The offsets from the beginning of this array that point to the missing directory information. The offsets and missing directory information structures are passed when the function being performed is *SAVCODE, *SAVLNG, *CHKCODE, or *CHKLNG. For *SAVCODE and *SAVLNG, the list will only be passed before the actual save operation. For *CHKCODE and *CHKLNG, the list will be passed after the check operation. This only applies if the product has directories, and is only specified when calling the exit program for the principal library. For a description of the format, see Format of Missing Directory Information.

Number of missing directories
INPUT; BINARY(4)

The number of missing directories in the previous array. The maximum number is 300. This number is 0 when there are no missing directories in the list or when the function being performed is not *SAVCODE, *SAVLNG, *CHKCODE, or *CHKLNG.

Number of product directories
INPUT; BINARY(4)

The number of product directories in the next three arrays. This number is 0 when there are no product directories in any of the following lists.

Array of offsets to directory information where product currently exists
INPUT; ARRAY of BINARY(4)

The offsets from the beginning of this array that point to the current product directory information. When the function being performed is *RSTCODE, *RSTLNG, *SAVCODE, or *SAVLNG, this information is passed both before and after the actual restore or save operation. When the function being performed is *DLTCODE or *DLTLNG, this information is passed before the delete operation. When the function being performed is *CHKCODE or *CHKLNG, this information is passed after the check operation. This array will contain zeros in the following circumstances:

  • There are no product directories.
  • The function being performed is *RSTCODE or *RSTLNG and the product is not currently installed.

For a description of the structure that contains the product directory information, see Format of Product Directory Information.

Array of offsets to directory information specified by creator of product
INPUT; ARRAY of BINARY(4)

The offsets from the beginning of this array that point to the directory information specified when the product was created. When the function being performed is *RSTCODE, *RSTLNG, *SAVCODE, or *SAVLNG, this information is passed both before and after the actual restore or save operation. When the function being performed is *DLTCODE or *DLTLNG, this information is passed before the delete operation. When the function being performed is *CHKCODE or *CHKLNG, this information is passed after the check operation. This array will contain zeros if there are no product directories. For a description of the structure that contains the product directory information, see Format of Product Directory Information.

Array of offsets to directory information where product will exist
INPUT; ARRAY of BINARY(4)

The offsets from the beginning of this array that point to the directory information where the product will exist after the restore operation. When the function being performed is *RSTCODE or *RSTLNG, this information is passed both before and after the actual restore operation. The information is not passed for other functions. This array will contain zeros if there are no product directories. For a description of the structure that contains the product directory information, see Format of Product Directory Information.


Format of Missing Directory Information

The following tables both show the format of the missing directory information. The length of a directory name can either be up to, but not exceeding 240 characters (480 bytes), or the length can be greater than 240 characters, but not exceeding 1024 characters (2048 bytes). The maximum full path name length of the directory is determined when the product load for the product is created. Products that intend to contain full path names that do not exceed 240 characters specify directory list format name DIRI0100 on the Create Product Load (QSZCRTPL) API. Products accepting full path names that may exceed 240 characters specify directory list format DIRI0200 on the Create Product Load (QSZCRTPL) API.

Note: This format should be used if the product load for your product has been created by specifying directory list format DIRI0100 on the Create Product Load (QSZCRTPL) API. Directory list format DIRI0100 indicates that your product contains full path names that do not exceed 240 characters (480 bytes). For more information, see Create Product Load (QSZCRTPL) API.


Field Descriptions

Full length of the missing directory. The total length of the missing directory path name.

Home length of the missing directory. The root (changeable) part length of the missing directory path name.

Missing directory name. The missing directory path name. The CCSID of this value is contained in the Missing Directory's CCSID field. The maximum missing directory name length is 240 characters (480 bytes).

Missing directory's CCSID. The coded character set identifier of the missing directory.

Missing directory's index. A reference index into the array of offsets to directory information specified by the creator of the product.

Reserved space. Internal reserved space.


Note: This format must be used if the product load for your product has been created by specifying directory list format DIRI0200 on the Create Product Load (QSZCRTPL) API. Directory list format DIRI0200 indicates that your product contains full path names that can be up to 1024 characters (2048 bytes). For more information, see Create Product Load (QSZCRTPL) API.


Field Descriptions

Full length of the missing directory. The total length of the missing directory path name.

Home length of the missing directory. The root (changeable) part length of the missing directory path name.

Missing directory name. The missing directory path name. The CCSID of this value is contained in the Missing Directory's CCSID field. The missing directory name length can be up to 1024 characters (2048 bytes).

Missing directory's CCSID. The coded character set identifier of the missing directory.

Missing directory's index. A reference index into the array of offsets to directory information specified by the creator of the product.

Reserved space. Internal reserved space.



Format of Product Directory Information

The following tables both show the format of the product directory information. The length of a directory name can either be up to, but not exceeding 240 characters (480 bytes), or the length can be greater than 240 characters, but not exceeding 1024 characters (2048 bytes). The maximum full path name length of the directory is determined when the product load for the product is created. Products that intend to contain full path names that do not exceed 240 characters specify directory list format name DIRI0100 on the Create Product Load (QSZCRTPL) API. Products accepting full path names that may exceed 240 characters specify directory list format DIRI0200 on the Create Product Load (QSZCRTPL) API.

Note: This format should be used if the product load for your product has been created by specifying directory list format DIRI0100 on the Create Product Load (QSZCRTPL) API. Directory list format DIRI0100 indicates that your product contains full path names that do not exceed 240 characters (480 bytes). For more information, see Create Product Load (QSZCRTPL) API.


Field Descriptions

Full length of the product directory. The total length of the product directory path name.

Home length of the product directory. The root (changeable) part length of the product directory path name.

Product directory name. The product directory path name. The CCSID of this value is contained in the Product directory's CCSID field. The maximum product directory name length is 240 characters (480 bytes).

Product directory's CCSID. The coded character set identifier of the product directory.

Reserved space. Internal reserved space.


Note: This format must be used if the product load for your product has been created by specifying directory list format DIRI0200 on the Create Product Load (QSZCRTPL) API. Directory list format DIRI0200 indicates that your product contains full path names that can be up to 1024 characters (2048 bytes). For more information, see Create Product Load (QSZCRTPL) API.


Field Descriptions

Full length of the product directory. The total length of the product directory path name.

Home length of the product directory. The root (changeable) part length of the product directory path name.

Product directory name. The product directory path name. The CCSID of this value is contained in the Product directory's CCSID field. The product directory name length can be up to 1024 characters (2048 bytes).

Product directory's CCSID. The coded character set identifier of the product directory.

Reserved space. Internal reserved space.


Error Messages



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