List Service Program Information (QBNLSPGM) API


  Required Parameter Group:

1 Qualified user space name Input Char(20)
2 Format name Input Char(8)
3 Qualified service program name Input Char(20)
4 Error Code I/O Char(*)

  Default Public Authority: *USE

  Threadsafe: No

The List Service Program Information (QBNLSPGM) API gives information about service programs, similar to the Display Service Program (DSPSRVPGM) command. The information is placed in a user space specified by you.

You can use the QBNLSPGM API to:


Authorities and Locks

User Space Authority
*CHANGE
User Space Library Authority
*EXECUTE
User Space Lock
*EXCLRD
Service Program Authority for SPGL0100 and SPGL0110 Formats
*USE
Service Program Authority for other Formats
*READ
Service Program Library Authority
*EXECUTE
Service Program Lock
*SHRRD

Required Parameter Group

Qualified user space name
INPUT; CHAR(20)

The user space that is to receive the service program information. The first 10 characters contain the user space name. 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:

*CURLIB The job's current library
*LIBL The library list

Format name
INPUT; CHAR(8)

The content and format of the information to be returned about the specified service program(s). One of the following format names may be used:

SPGL0100 Service program module (*MODULE) information.
SPGL0110 Service program module (*MODULE) information.

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

SPGL0200 Service program (*SRVPGM) information.
SPGL0300 Data items exported to the activation group (*ACTGRPEXP).
SPGL0400 Data item imports resolved by weak exports that were exported to the activation group (*ACTGRPIMP).
SPGL0500 Service program copyright (*COPYRIGHT) information.
SPGL0600 Service program procedure export (*PROCEXP) information.
SPGL0610 Service program long procedure export name (*PROCEXP) information.

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

SPGL0700 Service program data export (*DTAEXP) information.
SPGL0800 Service program signature (*SIGNATURE) information.

Qualified service program name
INPUT; CHAR(20)

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

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

*ALL All service programs
generic* All service programs that begin with this generic prefix. For example, WRK* lists information for all service programs that begin with WRK to which you are authorized.

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

*ALL All libraries in the system
*ALLUSR All non-system libraries. For information on the libraries included, see *ALLUSR in Generic library names.
*CURLIB The job's current library
*LIBL The library list
*USRLIBL Libraries listed in the user portion of the library list

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 Space Format for List APIs. For descriptions of each field in the list returned, see Field Descriptions.

Input Parameter Section

Offset Type Field
Dec Hex
0 0 CHAR(10) User space name specified
10 A CHAR(10) User space library name specified
20 14 CHAR(8) Format name specified
28 1C CHAR(10) Service program name specified
38 26 CHAR(10) Service program library name specified


Header Section

Offset Type Field
Dec Hex
0 0 CHAR(10) User space name used
10 A CHAR(10) User space library name used
20 14 BINARY(4) Reason code


SPGL0100 Format

The SPGL0100 format includes information on all the modules that are bound into the programs specified. The modules are listed in the user space in the order the modules are bound into the program. You must have a service 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.

Offset Type Field
Dec Hex
0 0 CHAR(10) Service program name
10 A CHAR(10) Service program library name
20 14 CHAR(10) Bound module name
30 1E CHAR(10) Bound module library name
40 28 CHAR(10) Source file name
50 32 CHAR(10) Source file library name
60 3C CHAR(10) Source file member name
70 46 CHAR(10) Module attribute
80 50 CHAR(13) Module creation date and time
93 5D CHAR(13) Source file updated date and time
106 6A CHAR(10) Sort sequence table name
116 74 CHAR(10) Sort sequence table library name
126 7E CHAR(10) Language identifier
136 88 BINARY(4) Optimization level
140 8C BINARY(4) Maximum optimization level
144 90 CHAR(10) Debug data
154 9A CHAR(6) Release module created on
160 A0 CHAR(6) Release module created for
166 A6 CHAR(20) Reserved
186 BA CHAR(1) User-modified
187 BB CHAR(13) Licensed program
200 C8 CHAR(5) PTF number
205 CD CHAR(6) APAR ID
211 D3 CHAR(1) Creation data
212 D4 BINARY(4) Module CCSID
216 D8 CHAR(8) Object control level
224 E0 CHAR(1) Enable performance collection
225 E1 CHAR(10) Profiling data
235 EB CHAR(1) Reserved
236 EC BINARY(4) Number of procedures
240 F0 BINARY(4) Number of procedures block reordered
244 F4 BINARY(4) Number of procedures block-order measured
248 F8 CHAR(1) Teraspace storage enabled
249 F9 CHAR(1) Storage model
250 FA CHAR(74) Reserved
324 144 BINARY(4) Number of SQL statements
328 148 CHAR(18) Relational database
346 15A CHAR(10) Commitment control
356 164 CHAR(10) Allow copy of data
366 16E CHAR(10) Close SQL cursor
376 178 CHAR(10) Naming convention
386 182 CHAR(10) Date format
396 18C CHAR(1) Date separator
397 18D CHAR(10) Time format
407 197 CHAR(1) Time separator
408 198 CHAR(10) Delay PREPARE
418 1A2 CHAR(10) Allow blocking
428 1AC CHAR(10) Default collection name
438 1B6 CHAR(10) SQL package name
448 1C0 CHAR(10) SQL package library name
458 1CA CHAR(10) Dynamic user profile
468 1D4 CHAR(10) SQL sort sequence table name
478 1DE CHAR(10) SQL sort sequence table library name
488 1E8 CHAR(10) SQL language identifier
498 1F2 CHAR(10) Connection method
508 1FC BINARY(4) SQL path length
512 200 CHAR(3483) SQL path


SPGL0110 Format

The SPGL0110 format includes information on all the modules that are bound into the programs specified. The modules are listed in the user space in the order the modules are bound into the program. You must have a service 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.

Offset Type Field
Dec Hex
0 0 BINARY(4) Size of this entry
4 4 CHAR(10) Service program name
14 E CHAR(10) Service program library name
24 18 CHAR(10) Bound module name
34 22 CHAR(10) Bound module library name
44 2C CHAR(10) Source file name
54 36 CHAR(10) Source file library name
64 40 CHAR(10) Source file member name
74 4A CHAR(10) Module attribute
84 54 CHAR(13) Module creation date and time
97 61 CHAR(13) Source file updated date and time
110 6E CHAR(10) Sort sequence table name
120 78 CHAR(10) Sort sequence table library name
130 82 CHAR(10) Language identifier
140 8C BINARY(4) Optimization level
144 90 BINARY(4) Maximum optimization level
148 94 CHAR(10) Debug data
158 9E CHAR(6) Release module created on
164 A4 CHAR(6) Release module created for
170 AA CHAR(20) Reserved
190 BE CHAR(1) User-modified
191 BF CHAR(13) Licensed program
204 CC CHAR(5) PTF number
209 D1 CHAR(6) APAR ID
215 D7 CHAR(1) Creation data
216 D8 BINARY(4) Module CCSID
220 DC CHAR(8) Object control level
228 E4 CHAR(1) Enable performance collection
229 E5 CHAR(10) Profiling data
239 EF CHAR(1) Reserved
240 F0 BINARY(4) Number of procedures
244 F4 BINARY(4) Number of procedures block reordered
248 F8 BINARY(4) Number of procedures block-order measured
252 FC CHAR(1) Teraspace storage enabled
253 FD CHAR(1) Storage model
254 FE CHAR(2) Reserved
256 100 BINARY(4) Offset to Licensed Internal Code options
260 104 BINARY(4) Length of Licensed Internal Code options
264 108 CHAR(64) Reserved
328 148 BINARY(4) Number of SQL statements
332 14C CHAR(18) Relational database
350 15E CHAR(10) Commitment control
360 168 CHAR(10) Allow copy of data
370 172 CHAR(10) Close SQL cursor
380 17C CHAR(10) Naming convention
390 186 CHAR(10) Date format
400 190 CHAR(1) Date separator
401 191 CHAR(10) Time format
411 19B CHAR(1) Time separator
412 19C CHAR(10) Delay PREPARE
422 1A6 CHAR(10) Allow blocking
432 1B0 CHAR(10) Default collection name
442 1BA CHAR(10) SQL package name
452 1C4 CHAR(10) SQL package library name
462 1CE CHAR(10) Dynamic user profile
472 1D8 CHAR(10) SQL sort sequence table name
482 1E2 CHAR(10) SQL sort sequence table library name
492 1EC CHAR(10) SQL language identifier
502 1F6 CHAR(10) Connection method
512 200 BINARY(4) SQL path length
516 204 CHAR(3483) SQL path
1074 432 CHAR(*) Reserved
Bound module information through offsets
    CHAR(*) Licensed Internal Code options


SPGL0200 Format

The SPGL0200 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.

Offset Type Field
Dec Hex
0 0 CHAR(10) Service program name
10 A CHAR(10) Service program library name
20 14 CHAR(10) Bound service program name
30 1E CHAR(10) Bound service program library name
40 28 CHAR(16) Bound service program signature


SPGL0300 Format

The SPGL0300 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.

Offset Type Field
Dec Hex
0 0 CHAR(10) Service program name
10 A CHAR(10) Service program library name
20 14 BINARY(4) Size of data item export
24 18 BINARY(4) Data item export name CCSID
28 1C BINARY(4) Data item export name length
32 20 CHAR(256) Data item export name


SPGL0400 Format

The SPGL0400 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.

Offset Type Field
Dec Hex
0 0 CHAR(10) Service program name
10 A CHAR(10) Service program library name
20 14 BINARY(4) Data item import name CCSID
24 18 BINARY(4) Data item import name length
28 1C CHAR(256) Data item import name


SPGL0500 Format

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

Offset Type Field
Dec Hex
0 0 CHAR(10) Service program name
10 A CHAR(10) Service program library name
20 14 CHAR(4) Reserved
24 18 BINARY(4) Copyright length
28 1C CHAR(256) Copyright


SPGL0600 Format

The SPGL0600 format includes procedure export information for the service programs specified. The following table shows how this information is organized.

Note: Check the subsetted list indicator in the generic header to determine if all the information that was available was returned. If the subsetted list indicator indicated there was data available that could not be returned, check the reason code in the header section for further details. For detailed descriptions of the fields in the list, see Field Descriptions.

Offset Type Field
Dec Hex
0 0 CHAR(10) Service program name
10 A CHAR(10) Service program library name
20 14 BINARY(4) Procedure export CCSID
24 18 BINARY(4) Procedure export name length
28 1C CHAR(256) Procedure export name
284 11C CHAR(10) Uses argument optimization (ARGOPT)


SPGL0610 Format

The following information is returned for the SPGL0610 format. All procedure export names available are returned in the SPGL0610 format, regardless of the size of the name. For detailed descriptions of the fields in the table, see .

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.

Offset Type Field
Dec Hex
0 0 BINARY(4) Size of this entry
4 4 CHAR(10) Service program name
14 E CHAR(10) Service program library name
24 18 BINARY(4) Long procedure export CCSID
28 1C BINARY(4) Offset to long procedure export name
32 20 BINARY(4) Length of long procedure export name
36 24 CHAR(10) Uses argument optimization (ARGOPT)
46 2E CHAR(*) Reserved
Service program information through offsets
    CHAR(*) Long procedure export name


SPGL0700 Format

The SPGL0700 format includes data export information for the service programs specified. The following table shows how this information is organized. For detailed descriptions of the fields in the list, see Field Descriptions.

Offset Type Field
Dec Hex
0 0 CHAR(10) Service program name
10 A CHAR(10) Service program library name
20 14 BINARY(4) Data item CCSID
24 18 BINARY(4) Data item name length
28 1C CHAR(256) Data item name


SPGL0800 Format

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

Offset Type Field
Dec Hex
0 0 CHAR(10) Service program name
10 A CHAR(10) Service program library name
20 14 CHAR(16) Signature


Field Descriptions

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

*NONE Blocking is not used.
*READ Blocking is used for read-only data cursors when running COMMIT(*NONE) and there are no EXECUTE or EXECUTE IMMEDIATE statements.
*ALLREAD Blocking is used for all read-only cursors when running COMMIT(*NONE) or COMMIT(*CHG).
Blank The module does not contain SQL statements.

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

*NO A copy of the data cannot be used.
*YES A copy of the data can be used when needed.
*OPTIMIZE The system determines whether a copy of the data is used for optimal performance.
Blank The module does not contain SQL statements.

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 service program at bind time.

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

Bound service program library name. The name of the library containing the service program bound to this service 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 this service program.

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

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

*ENDMOD When the module ends.
*ENDACTGRP When the activation group is deleted.
Blank The module does not contain SQL statements.

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

*NONE No commitment control was specified on the SQL precompile. Uncommitted changes in other jobs can be seen.
*CHG Objects referred to in SQL COMMENT ON, CREATE, DROP, GRANT, LABEL ON, and REVOKE statements are locked until the end of the unit of work (transaction). Updated, deleted, and inserted rows (records) are locked until the end of the unit of work. Uncommitted changes in other jobs can be seen.
*CS Objects referred to in SQL COMMENT ON, CREATE, DROP, GRANT, LABEL ON, and REVOKE statements are locked until the end of the unit of work (transaction). Updated, deleted, and inserted rows (records) are locked until the end of the unit of work. A row (record) that is selected but not updated is locked until the next row (record) is selected. Uncommitted changes in other jobs cannot be seen.
*ALL Objects referred to in SQL COMMENT ON, CREATE, DROP, GRANT, LABEL ON, and REVOKE statements are locked until the end of the unit of work (transaction). All rows selected, updated, deleted, and inserted are locked until the end of the unit of work. Uncommitted changes in other jobs cannot be seen.
Blank The module does not contain SQL statements.

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

Special values that can be returned are:

*RUW Only one connection to a relational database is allowed. Consecutive CONNECT statements result in the previous connection being disconnected before a new connection is established.
*DUW Connections to several relational databases are allowed. Consecutive CONNECT statements to additional relational databases do not result in disconnection of previous connects. SET CONNECTION can be used to switch between connections. Read-only connections may result.
Blank The module does not contain SQL statements.

Copyright. The copyright string included in this service program.

Creation data. Whether the bound module has all the creation data and if that data is observable or unobservable. The possible values are:

0 *NO. Not all the creation data is present in the bound module.
1 *YES. The creation data is present in the bound module and all of that data is observable.
2 *UNOBS. The creation data is present in the bound module but not all of that data is observable.

Copyright length. The length of the copyright string.

Data item CCSID. The coded character set identifier (CCSID) of this data item.

Data item export name. Data items that are exported to an activation group. These data items can be used outside of the module or service 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.

Data item name. Service program data items that are allowed to be exported.

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

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:

*USA USA format (mm/dd/yyyy).
*ISO International Standards Organization format (yyyy-mm-dd).
*EUR European format (dd.mm.yyyy).
*JIS Japanese Industrial Standard Christian Era (yyyy-mm-dd).
*MDY Month/day/year format (mm/dd/yy).
*DMY Day/month/year format (dd/mm/yy).
*YMD Year/month/day format (yy/mm/dd).
*JUL Julian format (a numeric value from 1 to 365).
Blank The module does not contain SQL statements.

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:

*YES Debug data was generated.
*NO Debug data was not generated.

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

*NONE There is no default collection name.
Blank The module does not contain SQL statements.

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

*YES Prepare processing can be delayed.
*NO Prepare processing cannot be delayed.
Blank The module does not contain SQL statements.

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

*USER Local dynamic SQL statements are run under the profile of the module's user. Distributed dynamic SQL statements are run under the profile of the SQL package's user.
*OWNER Local dynamic SQL statements are run under the profile of the module's owner. Distributed dynamic SQL statements are run under the profile of the SQL package's owner.
Blank The module does not contain SQL statements.

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

'00'X *NONE or '10'X *PEP This gives the entry/exit information for the PEP only. No entry/exit hooks in the module's internal procedures and no precall or postcall hooks around calls to other procedures are included.

Note: If *NONE is shown and the module was created or re-created on an iSeries server running Version 3 Release 6 Modification 0 prior to the installation of PTF MF11968, the module will not have any performance collection enabled. To enable performance collection, use one of the following commands and specify ENBFPRCOL(*PEP):

  • Change Module (CHGMOD)
  • Change Program (CHGPGM)
  • Change Service Program (CHGSRVPGM)
'50'X *ENTRYEXIT *NONLEAF This gives the entry/exit information on all of the non-leaf procedures in the module. This includes the PEP routine. This is useful to capture information on most routines but not at the expense of destroying the 'leaf-ness' of the leaf procedures.
'70'X *ENTRYEXIT *ALLPRC This gives the entry/exit information on all the procedures of the module (including those that were leaf procedures). This includes the PEP routine. This is useful to capture information on all procedures.
'D0'X *FULL *NONLEAF This gives the entry/exit information on all the procedures of the module that are not leaf procedures. This includes the PEP routine. Precall and postcall hooks around calls to external procedures are also included.
'F0'X *FULL *ALLPRC This gives the entry/exit information on all procedures of the module (including those that were leaf procedures). This includes the PEP routine. Precall and postcall hooks around calls to external procedures are also included. This is useful to capture information on all procedures.

Format name specified. The format name that was passed to this API on the call in the format parameter.

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

*JOBRUN The language identifier associated with the job at the time the service program into which the module is bound runs.
Blank The module does not contain any language identification information.

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.

Length of long procedure export name. The actual size, in bytes, of the long procedure export name for this entry.

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.

Long procedure export CCSID. The coded character set identifier (CCSID) of this procedure export name.

Long procedure export name. Service program procedures that are allowed to be exported.

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 at module creation. The possible values are:

65535 The module is not restricted to a maximum optimization level. It can be retranslated to any of the supported optimization levels. 65535 is also known as *NOMAX.
40 Maximum level of optimization. This level includes all the optimizations performed at optimization level 30. In addition, it includes optimization that disables call and instruction tracing. Thus, tracing of modules created at this optimization level cannot be done.
30 More optimization is performed in addition to those performed at optimization level 20. Variables cannot be changed but can be displayed while the program is being debugged. However, the displayed value of the variable during debugging may not be its actual value. 30 is also known as *FULL.
20 Some optimization is performed on the generated code. When the module optimized at this level is being debugged, the variables can be displayed but not changed. This level improves the performance of the module slightly over level 10. 20 is also known as *BASIC.
10 No additional optimization is performed on the generated code. Variables can be displayed and changed when the program is being debugged. With no optimization of the code, this value provides the lowest level of module performance. 10 is also known as *NONE.

Module attribute. The language in which the module is written. This field can be blank (for example, a module 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:

C Century, where 0 indicates years 19xx and 1 indicates years 20xx.
YY Year
MM Month
DD Day
HH Hour
MM Minute
SS Second

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

*SQL The SQL naming convention is used.
*SYS The system naming convention is used.
Blank The module does not contain SQL statements.

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 service program in which this bound module is contained 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 service program. You can compare the object control level of a module to the object control level of a listing to make sure they match.

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

Offset to long procedure export name. The offset from the beginning of the user space where this procedure export name is stored.

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:

65535 The module is not restricted to a maximum optimization level. It can be retranslated to any of the supported optimization levels. 65535 is also known as *NOMAX.
40 Maximum level of optimization. This level includes all the optimizations performed at optimization level 30. In addition, it includes optimization that disables call and instruction tracing. Thus, tracing of modules created at this optimization level cannot be done.
30 More optimization is performed in addition to those performed at optimization level 20. Variables cannot be changed but can be displayed while the program is being debugged. However, the displayed value of the variable during debugging may not be its actual value. 30 is also known as *FULL.
20 Some optimization is performed on the generated code. When the module optimized at this level is being debugged, the variables can be displayed but not changed. This level improves the performance of the module slightly over level 10. 20 is also known as *BASIC.
10 No additional optimization is performed on the generated code. Variables can be displayed and changed when the program is being debugged. With no optimization of the code, this value provides the lowest level of module performance. 10 is also known as *NONE.

Procedure export name. Service program procedures that are allowed to be exported.

Procedure export CCSID. The coded character set identifier (CCSID) of this procedure name export.

Procedure export name length. The length of the procedure export name.

Profiling data. The profiling data attribute for the module that is bound into this service program. Possible values follow:

*NOCOL The collection of profiling data is not enabled and block-order profiling data is not applied to the module bound into this service program.
*COL The collection of profiling data is enabled. Any block-order profiling data that was applied has been removed for the module bound into this service program.
*APYBLKORD Block-order profiling data is applied to the module that is bound into this service program. See the number of procedures block reordered field for the current number of procedures in this module that are block reordered.

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

Reason code. The reason code describing why the returned list is only a subset. The following values can be returned:

0000 The list returned in the user space contains all information meeting the search criteria.
0001 Additional procedure exports were found that meet the search criteria but could not be included in the returned list. The requested format could not handle procedure names greater than 256 characters. Call the API again specifying the SPGL0610 format to get all the available information.

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:

*LOCAL The module can only access data on the local system.
Blank The module does not contain SQL statements.

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:

Vv The character V is followed by a 1-character version number.
Rr The character R is followed by a 1-character release level.
Mm The character M is followed by a 1-character modification level.

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:

Vv The character V is followed by a 1-character version number.
Rr The character R is followed by a 1-character release level.
Mm The character M is followed by a 1-character modification level.

Reserved. An ignored field.

Service program library name. The name of the library containing the service program.

Service program library name specified. The service program library name that was passed to this API on the call in the qualified service program name parameter.

Service program name. The name of the service program.

Service program name specified. The service program name that was passed to this API on the call in the qualified service program name parameter.

Signature. A valid signature of this service program.

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 contained the sort sequence table used when the module was compiled. This does not apply to SQL statements in the module. 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:

*LIBL The sort sequence table is found in the library list when the service program runs this module.
*CURLIB The sort sequence table is found in the current library when the service program runs this module.

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

*HEX No sort sequence is used.
*JOBRUN The sort sequence value associated with the job at the time the service program runs this module is used.
*LANGIDSHR The shared sort sequence for the language identifier is used.
*LANGIDUNQ The unique sort sequence for the language identifier is used.
Note: This sort sequence table does not apply to SQL statements.

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. 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 be returned:

*JOBRUN The language identifier is the LANGID associated with the job at the time the module is run.

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. Possible values are:

*NONE This is not a distributed module.
Blank The module does not contain SQL statements.

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 3483 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:

*LIBL The SQL sort sequence table is found by looking in the library list.
*CURLIB The SQL sort sequence table is found by looking in the current library.

SQL sort sequence table name. The sort sequence 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:

*HEX No SQL sort sequence is used for the SQL statements.
*JOBRUN The SQL sort sequence is the SRTSEQ value associated with the job at the time the SQL statements within the module are run.
*LANGIDSHR The shared SQL sort sequence for the language identifier (LANGID) is used for the SQL statements.
*LANGIDUNQ The unique SQL sort sequence for the language identifier (LANGID) is used for the SQL statements.

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

0 *SNGLVL Automatic and static storage are allocated from single-level storage.
1 *TERASPACE Automatic and static storage are allocated from teraspace.
2 *INHERIT Automatic and static storage are allocated from either single-level storage or teraspace, depending on the activation.

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

'00'X *NO The module bound to this service program is not teraspace storage enabled.
'80'X *YES The module bound to this service program is teraspace storage enabled.

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:

*USA USA format (hh:mm a.m. or p.m.).
*ISO International Standards Organization format (hh.mm.ss).
*EUR European format (hh.mm.ss).
*JIS Japanese Industrial Standard Christian Era (hh.mm.ss).
*HMS Hours/minutes/seconds format (hh:mm:ss).
Blank The module does not contain SQL statements.

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. The possible values are:

0 The user did not change the module.
1 The user changed the module.

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 service 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 service program information requested.

Uses argument optimization (ARGOPT). Whether or not the service program export uses argument optimization. The possible values are:

*YES The service program export uses argument optimization.
*NO The service program export does not use argument optimization.


Error Messages

Message ID Error Message Text
CPF24B4 E Severe error while addressing parameter list.
CPF3C20 E Error found by program &1.
CPF3C21 E Format name &1 is not valid.
CPF3C90 E Literal value cannot be changed.
CPF3CAA E List is too large for user space &1.
CPF3CF1 E Error code parameter not valid.
CPF5CF6 E Program name &1 not valid special value.
CPF811A E User space &4 in &9 damaged.
CPF9570 E Error occurred creating or accessing debug data.
CPF9801 E Object &2 in library &3 not found.
CPF9802 E Not authorized to object &2 in &3.
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.
CPF9807 E One or more libraries in library list deleted.
CPF9808 E Cannot allocate one or more libraries on library list.
CPF9810 E Library &1 not found.
CPF9820 E Not authorized to use library &1.
CPF9830 E Cannot assign library &1.
CPF9838 E User profile storage limit exceeded.
CPF9872 E Program or service program &1 in library &2 ended. Reason code &3.


API introduced: V2R3
Top | Program and CL Command APIs | APIs by category