List ILE Program Information (QBNLPGMI) API


  Required Parameter Group:


  Default Public Authority: *USE

  Threadsafe: No

The List ILE Program Information (QBNLPGMI) API gives information about ILE programs, similar to the Display Program (DSPPGM) command. The information is placed in a user space specified by you.

If an original program model (OPM) program is specified for the qualified ILE program name, an error is returned and the user space is not changed.

You can use the QBNLPGMI API to:

Authorities and Locks

User Space Authority
*CHANGE
User Space Library Authority
*EXECUTE
User Space Lock
*EXCLRD
Program Authority for PGML0100 and PGML0110 Formats
*USE
Program Authority for other Formats
*READ
Program Library Authority
*EXECUTE
Program Lock
*SHRRD

Required Parameter Group

Qualified user space name
INPUT; CHAR(20)

The user space that is to receive the ILE program information. The first 10 characters contain the user space name, and the second 10 characters contain the name of the library where the user space is located. The library name can be a specific library name or one of these special values:


Format name
INPUT; CHAR(8)

The content and format of the information to be returned about the specified programs. One of the following format names may be used:


Qualified ILE program name
INPUT; CHAR(20)

The name of the ILE program for which the information is to be listed. The first 10 characters contain the ILE program name, and the second 10 characters contain the name of the library where the ILE program is located.

The ILE program name can be a specific ILE program name or one of the following special values:

The library name can be a specific library name or one of these special values:


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 the Generated List

The user space contains:

For details about the user area and generic header, see User spaces. For descriptions of each field in the list returned, see Field Descriptions.


Input Parameter Section



Header Section



PGML0100 Format

The PGML0100 format includes information on all the modules that are bound into the programs specified. The modules will be listed in the user space in the order the modules are bound into the program. You must have a program authority of *USE to use this format. The following table shows how this information for each module is organized. For detailed descriptions of the fields in the list, see Field Descriptions.



PGML0110 Format

The PGML0110 format includes information on all the modules that are bound into the programs specified. The modules will be listed in the user space in the order the modules are bound into the program. You must have a program authority of *USE to use this format. The following table shows how this information for each module is organized. For detailed descriptions of the fields in the list, see Field Descriptions.

Note: Do not use the generic header entry size for this format. Use the Size of this entry field returned in this format for the size of each entry.



PGML0200 Format

The PGML0200 format includes information on all the service programs that are bound to the programs specified. The following table shows how this information is organized. For detailed descriptions of the fields in the list, see Field Descriptions.



PGML0300 Format

The PGML0300 format lists data items exported to the activation group. The list data items are specified in the data export entry in the binding specifications component when the module was created. The following table shows how this information is organized. For detailed descriptions of the fields in the list, see Field Descriptions.



PGML0400 Format

The PGML0400 format lists data item imports that were resolved by weak exports that had been exported to an activation group. The following table shows how this information is organized. For detailed descriptions of the fields in the list, see Field Descriptions.



PGML0500 Format

The PGML0500 format includes copyright information for the ILE programs specified. The following table shows how this information is organized. For detailed descriptions of the fields in the list, see Field Descriptions.



Field Descriptions

Allow blocking. Whether blocking will be used to improve the performance of certain SQL statements. The possible values are:

Allow copy of data. Whether a copy of the data can be used in the implementation of an SQL query. The possible values are:

Allow RTVCLSRC. Whether the module has CL source data that can be retrieved from the program. The possible values are:

APAR ID. The module was changed as the result of the authorized program analysis report (APAR) with this identification number. This is blank if the module was not changed at bind time.

Bound module library name. The name of the library containing the module bound into this program at bind time.

Bound module name. The name of the module bound into this program. This is a copy of the module that was bound into this program. It is not the *MODULE object on the system.

Bound service program activation. Specifies when the bound service program is activated.

Bound service program library name. The name of the library containing the service program bound to the program at bind time. This is the library name in which the activation expects to find the service program at run time. Hexadecimal zeros indicate the library list is used at the time the service program is needed.

Bound service program name. The name of the service program bound to the program.

Bound service program signature. The current signature of the service program at the time it was bound to the program.

Close SQL cursors. Specifies when SQL cursors are implicitly closed and SQL-prepared statements are implicitly discarded. The possible values are:

Commitment control. The level of commitment control that was specified on the SQL precompile. The possible values are:

Connection method. The method used for establishing remote connections when running distributed programs.

Special values that can be returned are:

Copyright. The copyright string included in this program.

Copyright length. The length of the copyright string.

Creation data. Whether the bound module has all creation data and if that data is observable or unobservable.

Data item export name. Data items that are exported to an activation group. These data items can be used outside of the module or program that they are defined in.

Data item export name CCSID. The coded character set identifier (CCSID) for the name of this data item export.

Data item export name length. The length of the name of the data export item.

Data item import name. The name of the data item imports that were resolved by weak exports that had been exported to the activation group.

Data item import name CCSID. The coded character set identifier (CCSID) for the name of this data item import.

Data item import name length. The length of the name of the data import item.

Date format. The format used when accessing date-result columns through SQL. All output date fields are returned in this format. For input date strings, the value you specify is used to determine whether the date is a valid format. The values returned are:

Date separator. The separator used when accessing date-result columns. This information is blank if the module does not contain SQL statements; however, the number of SQL statements field should be checked to determine if the module contains SQL statements. This is because a blank may be specified as a separator value.

Debug data. Whether debug data was generated when this module was created. If debug data exists, the module may be debugged using the source debugger. The possible values are:

Default collection name. The collection name used for the unqualified names of tables, views, indexes, and SQL packages. The possible values are:

Delay PREPARE. Whether SQL prepare processing can be delayed until the statement is actually used. The possible values are:

Dynamic user profile. The user profile used for dynamic SQL statements. The following special values can be returned:

Enable performance collection. The level of performance collection enabled for this module. The following values can be returned:

Format name specified. The format used to return the ILE program information to the user space.

Language identifier. Returns the 3-character language identifier used when the module was compiled. The following special values can also be returned:

Length of Licensed Internal Code options. The size, in two-byte characters, of the Licensed Internal Code options string. This will be 0 if no Licensed Internal Code options were used for this module.

Licensed Internal Code options. The Licensed Internal Code options that are in use by the module. This field is specified in UCS-2 (CCSID 13488).

Licensed program. If the module was part of a licensed program at bind time, this field shows the product number and the level of the licensed program. This is blank if the module is not part of a licensed program at bind time.

Maximum optimization level. The highest level of optimization this module could have at bind time. If observability has been removed from the module, this maximum optimization level value might not be the same as the one specified when the module was created. Possible values are:

Module attribute. The language used in the module. This field can be blank (for example, when a module is created by a compilation process internal to IBM).

Module CCSID. The coded character set identifier (CCSID) for this module.

Module creation date and time. The date and time the module was created. The creation date and time field is in the CYYMMDDHHMMSS format as follows:

Naming convention. The convention used for naming objects in SQL statements. The possible values are:

Number of procedures. The number of procedures defined in the module. This number includes the program entry procedure (PEP), if one was generated by the compiler for this module.

Number of procedures block-order measured. The number of procedures defined in the module that had block-order profiling data collected at the time block-order profiling data was applied. If the module does not have block-order profiling data applied, this value will be zero.

Number of procedures block reordered. The number of procedures defined in the module that are block reordered. If the module does not have block-order profiling data applied, this value will be zero. This value can decrease if the program that this bound module is contained in is retranslated.

Number of SQL statements. The number of SQL statements contained in the module. This value is zero if the module does not contain SQL statements.

Object control level. The object control level for the module at the time it was bound into this program. You can compare the object control level of a module to the object control level of a listing to make sure the listing matches the module.

Offset to Licensed Internal Code options. The offset from the beginning of the user space where the Licensed Internal Code options begin for this bound module. This will be 0 if no Licensed Internal Code options were used for this module.

Optimization level. Optimization levels cause the translator to produce machine code that reduces the amount of system resources necessary to run the program. The more optimization, the more efficiently the module runs on the system. Also, with more optimization you may not be able to change or view variables that have been optimized. The possible values are:

Profiling data. The profiling data attribute for the module bound into this program. Possible values are:

Program library name. The name of the library containing the program.

Program library name specified. The program library name that was passed to this API on the call in the qualified ILE program name and library parameter.

Program name. The name of the program.

Program name specified. The program name that was passed to this API on the call in the qualified ILE program name and library parameter.

PTF number. The program temporary fix (PTF) that resulted in the creation of the module. This field is blank for user-created modules.

Relational database. The default relational database that was specified on the SQL precompile. A nonblank value other than *LOCAL specifies the name of the relational database to be resolved through the relational database directory. The following special values can be returned:

Release module created for. The version, release, and modification level of the operating system for which the module was created. The field has a VvRrMm format, where:

Release module created on. The version, release, and modification level of the operating system on which the module was created. The field has a VvRrMm format, where:

Reserved. An ignored field.

Size of data item export. The size, in bytes, of the data item export.

Size of this entry. The size, in bytes, of this entry.

Sort sequence table library name. The name of the library that is used to locate the sort sequence table. This information is blank if the module does not contain any sort sequence information or a special value was returned for the sort sequence table name. The following special values can be returned:

Sort sequence table name. The name of the sort sequence table and the library used when the module was compiled. This does not apply to SQL statements in the module. The following special values can be returned:

Source file library name. The name of the library that contains the source file used to create the module. The field is blank if no source file was used to create the module.

Source file member name. The name of the member in the source file. The field is blank if no source file was used to create the module.

Source file name. The name of the source file used to create the module. The field is blank if no source file was used to create the module.

Source file updated date and time. The date and time the member in the source file was last updated. The field is in the same format as the module creation date and time field. The field is blank if no source file was used to create the module.

SQL language identifier. Returns the 3-character language identifier used when the module was compiled. This information is blank if the module does not contain any language identification information. The following possible special value can also be returned:

SQL package library name. The name of the library the SQL package is in.

SQL package name. The name of the SQL package created on the relational database specified on the RDB parameter of the command that created this module. The possible values are:

SQL path. The list of libraries used during resolution of functions and data types within SQL statements. The list is in the form of repeating library names, each surrounded by double quotes and separated by commas. Even though 3843 bytes are reserved, the path's length is determined by the SQL path length entry.

SQL path length. The length, in bytes, of the SQL path.

SQL sort sequence table library name. The name of the library that is used to locate the SQL sort sequence table. This information is blank if the module does not contain any SQL sort sequence information or a special value was returned for the SQL sort sequence table name. The following special values can be returned:

SQL sort sequence table name. The name of the table name used when the module was compiled. This information is blank if the module does not contain any SQL sort sequence information. The following special values can be returned:

Storage model. Where the automatic and static storage for this bound module is allocated at run time. The following values can be returned:

Teraspace storage enabled. The teraspace storage capability for this bound module. Possible values are:

Time format. The format used when accessing time-result columns through SQL. All output time fields are returned in this format. The values returned are:

Time separator. The separator used when accessing time-result columns. This information is blank if the module does not contain SQL statements; however, the number of SQL statements field should be checked to determine if the module contains SQL statements. This is because a blank may be specified as a separator value.

User-modified. Whether the module was changed by the user at bind time. The possible values are:

User space library name specified. The user space library name that was passed to this API on the call in the qualified user space name parameter.

User space library name used. The name of the library that contains the user space that receives the ILE program information requested.

User space name specified. The user space name that was passed to this API on the call in the qualified user space name parameter.

User space name used. The name of the user space that receives the ILE program information requested.


Error Messages



API introduced: V2R3

[ Back to top | Program and CL Command APIs | APIs by category ]