1 | Receiver variable | Output | Char(*) |
2 | Length of receiver variable | Input | Binary(4) |
3 | Format name | Input | Char(8) |
4 | Qualified module name | Input | Char(20) |
5 | Error Code | I/O | Char(*) |
The Retrieve Module Information (QBNRMODI) API lets you retrieve module information and place it into a single variable in the calling program. The amount of information returned is limited to the size of the variable. This information is similar to the information returned using the Display Module (DSPMOD) command.
You can use the QBNRMODI API to retrieve the following:
The variable that is to receive the information requested. The minimum size for this area is 8 bytes. You can specify the size of this area to be smaller than the format requested if you specify the length of receiver variable parameter correctly. As a result, the API returns only the data that the area can hold.
The length of the receiver variable. If this value is larger than the actual size of the receiver variable, the results may not be predictable. The minimum value is 8.
The content and format of the information returned for the module.
The possible format names are:
MODI0100 | Basic module information. |
MODI0200 | Module size information. |
The first 10 characters contain the module name. The second 10 characters contain the name of the library where the module is located.
You can use these special values for the library name:
*CURLIB | The job's current library |
*LIBL | The library list |
The structure in which to return error information. For the format of the structure, see Error Code Parameter.
The following information is returned for the MODI0100 format. For detailed descriptions of the fields in the table, see Field Descriptions.
Offset | Type | Field | |
---|---|---|---|
Dec | Hex | ||
0 | 0 | BINARY(4) | Bytes returned |
4 | 4 | BINARY(4) | Bytes available |
8 | 8 | CHAR(10) | Module name |
18 | 12 | CHAR(10) | Module library name |
28 | 1C | CHAR(10) | Module attribute |
38 | 26 | CHAR(13) | Module creation date and time |
51 | 33 | CHAR(10) | Source file name |
61 | 3D | CHAR(10) | Source file library name |
71 | 47 | CHAR(10) | Source member name |
81 | 51 | CHAR(13) | Source file change date and time |
94 | 5E | CHAR(10) | Reserved |
104 | 68 | CHAR(10) | Module owner |
114 | 72 | CHAR(2) | Reserved |
116 | 74 | BINARY(4) | Module CCSID |
120 | 78 | CHAR(50) | Text description |
170 | AA | CHAR(1) | Creation data |
171 | AB | CHAR(10) | Sort sequence table name |
181 | B5 | CHAR(10) | Sort sequence table library name |
191 | BF | CHAR(10) | Language identifier |
201 | C9 | CHAR(3) | Reserved |
204 | CC | BINARY(4) | Optimization level |
208 | D0 | BINARY(4) | Maximum optimization level |
212 | D4 | CHAR(1) | Debug data |
213 | D5 | CHAR(1) | Module compressed status |
214 | D6 | CHAR(2) | Reserved |
216 | D8 | BINARY(4) | Minimum number of parameters |
220 | DC | BINARY(4) | Maximum number of parameters |
224 | E0 | CHAR(1) | Module state |
225 | E1 | CHAR(1) | Module domain |
226 | E2 | CHAR(2) | Reserved |
228 | E4 | BINARY(4) | Number of exported defined symbols |
232 | E8 | BINARY(4) | Number of imported (unresolved) symbols |
236 | EC | CHAR(6) | Release module created on |
242 | F2 | CHAR(6) | Release module created for |
248 | F8 | CHAR(6) | Earliest release module can be restored to |
254 | FE | CHAR(1) | Enable performance collection |
255 | FF | CHAR(1) | Conversion required |
256 | 100 | BINARY(4) | Offset to program entry procedure name |
260 | 104 | BINARY(4) | Length of program entry procedure name |
264 | 108 | CHAR(1) | Program entry procedure name indicator |
265 | 109 | CHAR(10) | Profile data |
275 | 113 | CHAR(1) | Intermediate language (IL) data |
276 | 114 | CHAR(1) | Teraspace storage enabled |
277 | 115 | CHAR(1) | Storage model |
278 | 116 | CHAR(2) | Reserved |
280 | 118 | BINARY(4) | Offset to Licensed Internal Code options |
284 | 11C | BINARY(4) | Length of Licensed Internal Code options |
288 | 128 | CHAR(68) | Reserved |
356 | 164 | BINARY(4) | Number of SQL statements |
360 | 168 | CHAR(18) | Relational database |
378 | 17A | CHAR(10) | Commitment control |
388 | 184 | CHAR(10) | Allow copy of data |
398 | 18E | CHAR(10) | Close SQL cursor |
408 | 198 | CHAR(10) | Naming convention |
418 | 1A2 | CHAR(10) | Date format |
428 | 1AC | CHAR(1) | Date separator |
429 | 1AD | CHAR(10) | Time format |
439 | 1B7 | CHAR(1) | Time separator |
440 | 1B8 | CHAR(10) | Delay PREPARE |
450 | 1C2 | CHAR(10) | Allow blocking |
460 | 1CC | CHAR(10) | Default collection name |
470 | 1D6 | CHAR(10) | SQL package name |
480 | 1E0 | CHAR(10) | SQL package library name |
490 | 1EA | CHAR(10) | Dynamic user profile |
500 | 1F4 | CHAR(10) | SQL sort sequence table name |
510 | 1FE | CHAR(10) | SQL sort sequence table library name |
520 | 208 | CHAR(10) | SQL language identifier |
530 | 212 | CHAR(10) | Connection method |
540 | 21C | BINARY(4) | SQL path offset |
544 | 220 | BINARY(4) | SQL path length |
548 | 224 | CHAR(*) | Reserved |
Module information through offsets | |||
CHAR(*) | Program entry procedure name | ||
CHAR(*) | SQL path | ||
CHAR(*) | Licensed Internal Code options |
The following information is returned for the MODI0200 format. For detailed descriptions of the fields in the table, see Field Descriptions.
Offset | Type | Field | |
---|---|---|---|
Dec | Hex | ||
0 | 0 | BINARY(4) | Bytes returned |
4 | 4 | BINARY(4) | Bytes available |
8 | 8 | CHAR(10) | Module name |
18 | 12 | CHAR(10) | Module library name |
Module size and limit information | |||
28 | 1C | BINARY(4) | Current total module size |
32 | 20 | BINARY(4) | Maximum module size |
36 | 24 | BINARY(4) | Current procedures and constants size |
40 | 28 | BINARY(4) | Maximum procedures and constants size |
44 | 2C | BINARY(4) | Current debug space size |
48 | 30 | BINARY(4) | Maximum debug space size |
52 | 34 | BINARY(4) | Current associated space size |
56 | 38 | BINARY(4) | Maximum associated space size |
60 | 3C | BINARY(4) | Current module constants size |
64 | 40 | BINARY(4) | Maximum module constants size |
68 | 44 | BINARY(4) | Current static storage size |
72 | 48 | BINARY(4) | Maximum static storage size |
76 | 4C | BINARY(4) | Current dictionary mapping table size |
80 | 50 | BINARY(4) | Maximum dictionary mapping table size |
84 | 54 | BINARY(4) | Current exception mapping table size |
88 | 58 | BINARY(4) | Maximum exception mapping table size |
92 | 5C | BINARY(4) | Current exception mapping table list area size |
96 | 60 | BINARY(4) | Maximum exception mapping table list area size |
100 | 64 | BINARY(4) | Current binding specifications component size |
104 | 68 | BINARY(4) | Maximum binding specifications component size |
108 | 6C | BINARY(4) | Current string directory component size |
112 | 70 | BINARY(4) | Maximum string directory component size |
116 | 74 | BINARY(4) | Current dictionary component size |
120 | 78 | BINARY(4) | Maximum dictionary component size |
124 | 7C | BINARY(4) | Current instructions component size |
128 | 80 | BINARY(4) | Maximum instructions component size |
132 | 84 | BINARY(4) | Current initialization component size |
136 | 88 | BINARY(4) | Maximum initialization component size |
140 | 8C | BINARY(4) | Current alias component size |
144 | 90 | BINARY(4) | Maximum alias component size |
148 | 94 | BINARY(4) | Current type information component size |
152 | 98 | BINARY(4) | Maximum type information component size |
156 | 9C | BINARY(4) | Current literal pool component size |
160 | A0 | BINARY(4) | Maximum literal pool component size |
164 | A4 | BINARY(4) | Current static storage work area size |
168 | A8 | BINARY(4) | Maximum static storage work area size |
172 | AC | BINARY(4) | Current binding work area size |
176 | B0 | BINARY(4) | Maximum binding work area size |
180 | B4 | BINARY(4) | Current number of auxiliary storage segments |
184 | B8 | BINARY(4) | Maximum number of auxiliary storage segments |
188 | BC | BINARY(4) | Current number of static storage allocations |
192 | C0 | BINARY(4) | Maximum number of static storage allocations |
196 | C4 | BINARY(4) | Current number of procedures |
200 | C8 | BINARY(4) | Maximum number of procedures |
204 | CC | BINARY(4) | Current number of copyrights |
208 | D0 | BINARY(4) | Maximum number of copyrights |
212 | D4 | CHAR(4) | Reserved |
216 | D8 | BINARY(8) | Current static storage size - long |
224 | E0 | BINARY(8) | Maximum static storage size - long |
232 | E8 | CHAR(84) | Reserved |
Procedure size and limit information | |||
316 | 13C | BINARY(4) | Current automatic storage allocation size |
320 | 140 | BINARY(4) | Maximum automatic storage allocation size |
324 | 144 | BINARY(4) | Offset to largest automatic storage allocation procedure |
328 | 148 | BINARY(4) | Length of largest automatic storage allocation procedure |
332 | 14C | BINARY(4) | Current Licensed Internal Code stack allocation size |
336 | 150 | BINARY(4) | Maximum Licensed Internal Code stack allocation size |
340 | 154 | BINARY(4) | Offset to largest Licensed Internal Code stack allocation procedure |
344 | 158 | BINARY(4) | Length of largest Licensed Internal Code stack allocation procedure |
348 | 15C | BINARY(4) | Current debug statement mapping table size |
352 | 160 | BINARY(4) | Maximum debug statement mapping table size |
356 | 164 | BINARY(4) | Offset to largest debug statement mapping table procedure |
360 | 168 | BINARY(4) | Length of largest debug statement mapping table procedure |
364 | 16C | BINARY(4) | Current exception statement mapping table size |
368 | 170 | BINARY(4) | Maximum exception statement mapping table size |
372 | 174 | BINARY(4) | Offset to largest exception statement mapping table procedure |
376 | 178 | BINARY(4) | Length of largest exception statement mapping table procedure |
380 | 17C | BINARY(4) | Current machine instruction range mapping size |
384 | 180 | BINARY(4) | Maximum machine instruction range mapping size |
388 | 184 | BINARY(4) | Offset to largest machine instruction range mapping procedure |
392 | 188 | BINARY(4) | Length of largest machine instruction range mapping procedure |
396 | 18C | BINARY(4) | Current largest procedure size |
400 | 190 | BINARY(4) | Maximum largest procedure size |
404 | 194 | BINARY(4) | Offset to largest procedure name |
408 | 198 | BINARY(4) | Length of largest procedure name |
412 | 19C | CHAR(*) | Reserved |
Procedure information through offsets | |||
CHAR(*) | Largest automatic storage allocation procedure name | ||
CHAR(*) | Largest Licensed Internal Code stack allocation procedure name | ||
CHAR(*) | Largest debug statement mapping table procedure name | ||
CHAR(*) | Largest exception statement mapping table procedure name | ||
CHAR(*) | Largest machine instruction range mapping procedure name | ||
CHAR(*) | Largest procedure name |
For more detailed information than that provided in the following field descriptions, refer to the Control Language (CL) information in the iSeries Information Center for the Create XXX Module (CRTxxxMOD) commands.
Allow blocking. Indicates whether blocking is used to improve the performance of certain SQL statements.
Possible values are:
*NONE | Blocking is not used. |
*READ | Blocking is used for read-only 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). |
Allow copy of data. Indicates whether a copy of the data can be used in the implementation of an SQL query.
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. |
Bytes available. The number of bytes of data available to be returned. All available data is returned if enough space is provided.
Bytes returned. The number of bytes of data returned.
Close SQL cursor. Specifies when SQL cursors are implicitly closed and SQL prepared statements are implicitly discarded.
Possible values are:
*ENDMOD | When the module ends. |
*ENDACTGRP | When the activation group is deleted. |
Commitment control. The level of commitment control that was specified on the SQL precompile.
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, and updated, deleted, or inserted rows (records) are locked until the end of the unit of work (transaction). Uncommitted changes in other jobs can be seen. |
*CS | Objects referred to in SQL COMMENT ON, CREATE, DROP, GRANT, LABEL ON, and REVOKE statements, and updated, deleted, or inserted rows (records) are locked until the end of the unit of work (transaction). 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, and all rows selected, updated, deleted, or inserted are locked until the end of the unit of work (transaction). Uncommitted changes in other jobs cannot be seen. |
Connection method. Indicates whether connections are allowed to one or more relational databases.
The following special values can be returned:
*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 connections. The SET CONNECTION statement can be used to switch between connections. Read-only connections may result. |
Conversion required. Indicator as to whether the module has been converted to reduced instruction set computer (RISC) format or if conversion is still required.
0 | Conversion is not required. It has already been converted. |
1 | Conversion is required. |
Creation data. Whether the module has all creation data and if that data is observable or unobservable. All observable creation data is needed to re-create the module using the Change Module (CHGMOD) command. All creation data (either observable or unobservable) is needed to convert the module during restore.
0 | *NO. Not all the creation data is present. |
1 | *YES. All the creation data is present and observable. |
2 | *UNOBS. All the creation data is present but not all of that data is observable. |
Current alias component size. The size, in bytes, of the alias component. The size is the decompressed size, even if the module is compressed. The current size increases as more data objects, particularly arrays and structures, are added to the module.
Current associated space size. The size, in bytes, of the associated space. The number of SQL statements in the module may affect the current size.
Current automatic storage allocation size. The size, in bytes, of the largest automatic storage allocation associated with the procedure referenced by the offset to the largest automatic storage allocation procedure name for this module. The current size increases as more automatic variables and bound procedure calls are added.
Current binding specifications component size. The size, in bytes, of the binding specifications component. The size is the decompressed size, even if the module is compressed. The current size increases as imported and exported procedures and data items are added.
Current binding work area size. The size, in bytes, of the binding work area. The size is the decompressed size, even if the module is compressed. The current size increases as imports and exports are added to the module.
Current debug space size. The size, in bytes, of the debug space. The size is the decompressed size, even if the module is compressed. See the debug view (DBGVIEW) parameter of the Create xxx Module (CRTxxxMOD) command for more information on the different debug view levels you can specify at create time. You can completely remove the debug view data from the module by using the remove observability (RMVOBS) parameter of the Change Module (CHGMOD) command.
Current debug statement mapping table size. The size, in bytes, of the debug statement mapping table associated with the procedure referenced by the offset to the largest debug statement mapping table procedure name for this module. The current size increases as statements are added or increase in complexity.
Current dictionary component size. The size, in bytes, of the dictionary component. The size is the decompressed size, even if the module is compressed. The current size increases as more data objects, exception handlers, constants, and procedures are added.
Current dictionary mapping table size. The amount of space, in bytes, for the dictionary mapping table. The size is the decompressed size, even if the module is compressed. The dictionary mapping table does not exist if the DBGVIEW(*NONE) option is used when the module is created. If it does exist, its current size depends on the number of different variables that are declared in the module.
Current exception mapping table list area size. The amount of space, in bytes, for the exception mapping table list area. The size is the decompressed size, even if the module is compressed. The current size depends on the number of exception handlers that are enabled in the code. The handlers could be either defined by the user or defined by the compiler to handle exceptions in the generated code.
Current exception mapping table size. The amount of space, in bytes, for the exception mapping table. The size is the decompressed size, even if the module is compressed. The current size depends on the number of exception handlers that are either declared by the user or defined by the compiler to handle exceptions in the generated code.
Current exception statement mapping table size. The size, in bytes, of the exception statement mapping table associated with the procedure referenced by the offset to the largest exception statement mapping table procedure name for this module. This table is used to map high-level language statements to Licensed Internal Code instructions. The current size increases as statements are added or increase in complexity.
Current initialization component size. The size, in bytes, of the initialization component. The size is the decompressed size, even if the module is compressed. The current size increases as more statements to statically initialize data objects are added.
Current instructions component size. The size, in bytes, of the instructions component. The size is the decompressed size, even if the module is compressed.
Current largest procedure size. The size, in bytes, of the largest procedure in the module.
Current Licensed Internal Code stack allocation size. The size, in bytes, of the Licensed Internal Code stack allocation associated with the procedure referenced by the offset to the largest Licensed Internal Code stack allocation procedure name for this module. The current size increases at higher levels of optimization.
Current literal pool component size. The size, in bytes, of the literal pool component. The size is the decompressed size, even if the module is compressed. The current size increases as more literals or initializations are added to the module.
Current machine instruction range mapping size. The size, in bytes, of the machine instruction range mapping associated with the procedure referenced by the offset to the largest machine instruction range mapping procedure name for this module. The number of times exception handlers are enabled and disabled affects the current size. Also, some instructions, like packed decimal arithmetic, affect this size.
Current module constants size. The amount of space, in bytes, for module constants. The size is the decompressed size, even if the module is compressed. Changing the number of large aggregate constants or the number of smaller constants may affect the current size.
Current number auxiliary storage segments. The number of auxiliary storage segments used by this module.
Current number of copyrights. The number of copyrights defined in this module.
Current number of procedures. The number of procedures declared in this module.
Current number of static storage allocations. The number of static storage allocations used by this module. The current number increases as static data items (particularly imported data items) are added to the module.
Current procedures and constants size. The current amount of space, in kilobytes, for procedures and constants. The size is the decompressed size, even if the module is compressed. The current size increases as more instructions are added. The number of literals and the size of the literal values may have an effect on the current size. This number could be zero in which case it means the size is less than 1 kilobyte.
Current static storage size. The amount of static storage, in bytes, required for the module. The size is the decompressed size, even if the module is compressed. As more and larger static and exported variables are declared, the current size increases. A value of 4294967295 will be given if 4 gigabytes (4294967296) or greater is needed. In this case, the current static storage size - long field should be used instead.
Current static storage size - long. The current amount of static storage, in bytes, required for the module.
Current static storage work area size. The size, in bytes, of the static storage work area. The size is the decompressed size, even if the module is compressed. The current size increases as static data items or initializations are added to the module.
Current string directory component size. The size, in bytes, of the string directory component. The size is the decompressed size, even if the module is compressed. The current size increases as imported and exported procedures and data items are added.
Current total module size. The size of the module, in kilobytes. The size is the decompressed size, even if the module is compressed.
Current type information component size. The size, in bytes, of the type information component. The size is the decompressed size, even if the module is compressed. The current size increases as more procedures are added to the module.
Date format. Specifies 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.
Possible values are:
*USA | USA format |
*ISO | International Standards Organization format |
*EUR | European format |
*JIS | Japanese Industrial Standard Christian Era |
*MDY | Month/day/year format |
*DMY | Day/month/year format |
*YMD | Year/month/day format |
*JUL | Julian format |
Date separator. Specifies the separator used when accessing date result columns. A blank value indicates either that there are no SQL statements or that the separator character is a blank. Assume the latter if the number of SQL statements parameter is not zero.
Debug data. Indicates whether debug data exists for this module. If debug data exists, the module may be debugged using the source debugger.
0 | The module does not contain debug data. |
1 | The module does contain debug data. |
Default collection name. Specifies the collection name used for the unqualified names of tables, views, indexes, and SQL packages. *NONE indicates there is no default collection.
Delay PREPARE. Indicates whether SQL prepare processing can be delayed until the statement is actually used.
Possible values are:
*YES | Prepare processing can be delayed. |
*NO | Prepare processing cannot be delayed. |
Dynamic user profile. Specifies 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. |
Earliest release module can be restored to. The earliest version, release, and modification level of the operating system to which the module may be restored.
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. |
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):
|
'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 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. |
Intermediate language (IL) data. Whether the module has intermediate language (IL) data.
1 | The module contains IL data. |
0 | The module does not contain IL data. |
Language identifier. The language identifier used when the module was compiled. A
possible special value is:
*JOBRUN | The language identifier associated with the job
at the time the program (in which the module is bound) runs.
Note: This language identifier does not apply to DB2 for iSeries statements that may be contained in this module. |
Largest automatic storage allocation procedure name. The name of the largest automatic storage allocation procedure in the module.
Largest debug statement mapping table procedure name. The name of the largest debug statement mapping table procedure in the module.
Largest exception statement mapping table procedure name. The name of the largest exception statement mapping table procedure in the module.
Largest Licensed Internal Code stack allocation procedure name. The name of the largest Licensed Internal Code stack allocation procedure in the module.
Largest machine instruction range mapping procedure name. The name of the largest machine instruction range mapping procedure in the module.
Largest procedure name. The name of the largest procedure in the module.
Length of largest automatic storage allocation procedure name. The size, in bytes, of the name of the largest automatic storage allocation procedure in this module.
Length of largest debug statement mapping table procedure name. The size, in bytes, of the name of the largest debug statement mapping table procedure.
Length of largest exception statement mapping table procedure name. The size, in bytes, of the name of the largest exception statement mapping table procedure.
Length of largest Licensed Internal Code stack allocation procedure name. The size, in bytes, of the name of the largest Licensed Internal Code stack allocation procedure.
Length of largest machine instruction range mapping procedure name. The size, in bytes, of the name of the largest machine instruction range mapping procedure.
Length of largest procedure name. The size, in bytes, of the name of the largest procedure.
Length of Licensed Internal Code options. The size, in two-byte characters, of the Licensed Internal Code options string. This is 0 if no Licensed Internal Code options were used for this module.
Length of program entry procedure name. The size, in bytes, of the program entry procedure name.
Licensed Internal Code options. The Licensed Internal Code options being used by the module. This field is specified in UCS-2 (CCSID 13488).
Maximum alias component size. The maximum possible size, in bytes, of the alias component.
Maximum associated space size. The maximum possible size, in bytes, of the associated space.
Maximum automatic storage allocation size. The maximum possible size, in bytes, of the largest automatic storage allocation associated with a procedure for a module.
Maximum binding specifications component size. The maximum possible size, in bytes, of the binding specifications component.
Maximum binding work area size. The maximum possible size, in bytes, of the binding work area.
Maximum debug space size. The maximum possible size, in bytes, of the debug space.
Maximum debug statement mapping table size. The maximum possible size, in bytes, of the debug statement mapping table associated with a procedure for a module.
Maximum dictionary component size. The maximum possible size, in bytes, of the dictionary component.
Maximum dictionary mapping table size. The maximum possible amount of space, in bytes, for the dictionary mapping table.
Maximum exception mapping table list area size. The maximum possible amount of space, in bytes, for the exception mapping table list area.
Maximum exception mapping table size. The maximum possible amount of space, in bytes, for the exception mapping table.
Maximum exception statement mapping table size. The maximum possible size, in bytes, of the exception statement mapping table associated with a procedure for a module.
Maximum initialization component size. The maximum possible size, in bytes, of the initialization component.
Maximum instructions component size. The maximum possible size, in bytes, of the instructions component.
Maximum largest procedure size. The maximum possible size, in bytes, of a procedure in a module.
Maximum Licensed Internal Code stack allocation size. The maximum possible size, in bytes, of the Licensed Internal Code stack allocation associated with a procedure for a module.
Maximum literal pool component size. The maximum possible size, in bytes, of the literal pool component.
Maximum machine instruction range mapping size. The maximum possible size, in bytes, of the machine instruction range mapping associated with a procedure for a module.
Maximum module constants size. The maximum possible amount of space, in bytes, for module constants.
Maximum module size. The largest size, in kilobytes, allowed for a module.
Maximum number auxiliary storage segments. The maximum possible number of auxiliary storage segments used by a module.
Maximum number of copyrights. The maximum possible number of copyrights defined in a module.
Maximum number of parameters. The maximum number of parameters that are to be received by the program entry procedure if one is present in the module.
Maximum number of procedures. The maximum possible number of procedures declared in a module.
Maximum number of static storage allocations. The maximum possible number of static storage allocations used by a module.
Maximum optimization level. The highest level of optimization you may request. 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.
The following values can be returned:
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. |
Maximum procedures and constants size. The maximum possible amount of space, in kilobytes, for procedures and constants. This number could be zero, in which case it means the size is less than 1 kilobyte.
Maximum static storage size. The maximum possible amount of static storage, in kilobytes, required for a module.
Maximum static storage size - long. The maximum possible amount of static storage, in bytes, required for a module.
Maximum static storage work area size. The maximum possible size, in bytes, of the static storage work area.
Maximum string directory component size. The maximum possible size, in bytes, of the string directory component.
Maximum type information component size. The maximum possible size, in bytes, of the type information component.
Minimum number of parameters. The minimum number of parameters that are to be received by the program entry procedure if one is present in the module.
Module attribute. The programming language in which the module is written or the product that produced the module.
Module CCSID (Coded Character Set ID). The coded character set identifier (CCSID) for this module.
Module compressed status. Indicates whether the module is in compressed format.
The following values can be returned:
0 | The module is not in a compressed status. |
1 | The module is in a compressed status. |
Module creation date and time. The date and time when 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 |
Module domain. The domain of the module.
The possible value is:
S | The module is system domain. |
Module library name. The library that contains the module.
Module name. The name of the module whose information is being given.
Module owner. The name of the user profile of the user who owns this module.
Module state. The state of the module.
The Possible values are:
I | The module is inherit state and can be bound together with either system state modules or user state modules. |
S | The module is system state and must be bound with other system state modules or inherit state modules. |
U | The module is user state and must be bound with other user state modules or inherit state modules. |
Naming convention. The naming convention used for naming objects in SQL statements.
Possible values are:
*SQL | The SQL naming convention is used. |
*SYS | The system naming convention is used. |
Number of exported defined symbols. The number of exported procedures and variables in this module.
Number of imported (unresolved) symbols. The number of imported procedures and variables in this module.
Number of SQL statements. The number of DB2 UDB for iSeries statements contained in the module.
Offset to largest automatic storage allocation procedure name. The offset from the beginning of the receiver variable where the largest automatic storage allocation procedure begins.
Offset to largest debug statement mapping table procedure name. The offset from the beginning of the receiver variable where the largest debug statement mapping table procedure name begins.
Offset to largest exception statement mapping table procedure name. The offset from the beginning of the receiver variable where the largest exception statement mapping table procedure name begins.
Offset to largest Licensed Internal Code stack allocation procedure name. The offset from the beginning of the receiver variable where the largest Licensed Internal Code stack allocation procedure name begins.
Offset to largest machine instruction range mapping procedure name. The offset from the beginning of the receiver variable where the largest machine instruction range mapping procedure name begins.
Offset to largest procedure name. The offset from the beginning of the receiver variable where the largest procedure name begins.
Offset to Licensed Internal Code options. The offset from the beginning of the receiver variable where the Licensed Internal Code options begin.
Offset to program entry procedure name. The offset from the beginning of the receiver variable where the program entry procedure name begins.
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. |
Profile data. The profile data attribute for the module.
*NOCOL | The collection of profile data is not enabled. The module will not collect profile data when it is included in a program or service program object. |
*COL | The collection of profile data is enabled. The module will collect profile data when it is included in a program or service program object. |
Program entry procedure name. The name of the program entry procedure if one is present in the module.
Program entry procedure name indicator. Indicates if a program entry procedure is present in the module.
0 | The module does not have a program entry procedure. |
1 | The module does have a program entry procedure. |
Relational database. The default relational database that was specified on the SQL precompile.
Possible values are:
*LOCAL | The module can access data only on the local system. |
Non-blank value other than *LOCAL | The name associated with this module in the relational database index. |
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 that was running on the system when 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.
Sort sequence table library name. The name of the library that is used to locate the sort sequence table.
Possible special values are:
*LIBL | The library list is searched when the program (in which the module is bound) runs. |
*CURLIB | The current library is searched when the program (in which the module is bound) runs. |
Sort sequence table name. The name of the sort sequence table used when the module was compiled.
Possible special values are:
*HEX | No sort sequence is used. |
*JOBRUN | The SRTSEQ value associated with the job at the time the program (in which the module is bound) runs. |
*LANGIDSHR | The shared sort sequence for the language identifier (LANGID). |
*LANGIDUNQ | The unique sort sequence for the language identifier. |
Note: This sort sequence table does not apply to DB2 UDB for iSeries statements that may be contained in this module. |
Source file change date and time. The date and time when the source member that was used to create this module was last changed. The source file change 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 |
Source file library name. The library that contained the source file that was used to create this module.
Source file name. The source file that contained the source member that was used to create this module. If this field is blank, the module was created from an inline source file
Source member name. The source file member from which this module was created.
SQL language identifier. Returns the language identifier used when the module was compiled. This information is blank if the module does not contain any language identification information.
The special value that can be returned is:
*JOBRUN | The language identifier is the LANGID associated with the job at the time the program (in which the module is bound) runs. |
SQL package library name. Specifies the name of the library containing the SQL package. A blank indicates the module is not to be distributed.
The following possible special values can be returned:
*LIBL | The SQL package is found by looking for it in the library list when the program (in which the module is bound) runs. |
*CURLIB | The SQL package is found in the current library when the program (in which the module is bound) runs. |
SQL package name. Specifies the name of the SQL package created on the relational database specified on the RDB parameter of the command that created this module. *NONE indicates that this is not a distributed module.
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.
SQL path length. The length, in bytes, of the SQL path.
SQL path offset. The offset, in bytes, from the beginning of this format definition to the beginning of the SQL path.
SQL sort sequence table library name. Returns the name of the library that is used to locate the SQL sort sequence table. This information is blank either if the module does not contain any SQL sort sequence information, or if a special value was returned for the SQL sort sequence table name.
The following possible special values that can be returned for the library are:
*LIBL | The SQL sort sequence table is found by looking for it in the library list when the program (in which the module is bound) runs. |
*CURLIB | The SQL sort sequence table is found in the current library when the program (in which the module is bound) runs. |
SQL sort sequence table name. Returns the SQL statement sort sequence table name used when the module was created. This information is blank if the module does not contain any SQL sort sequence information.
The following possible special values can also 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. |
Note: This sort sequence table does not apply to DB2 UDB for iSeries statements that may be contained in this module. |
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 module.
Possible values are:
'00'X *NO | The module is not teraspace storage enabled. |
'80'X *YES | The module is teraspace storage enabled. |
Text description. The text description that was provided for this module.
Time format. Specifies the format used when accessing time -result columns through SQL. All output time fields are returned in this format. For input time strings, the value you specify is used to determine whether the time is a valid format.
Possible values are:
*USA | USA format |
*ISO | International Standards Organization format |
*EUR | European format |
*JIS | Japanese Industrial Standard Christian Era |
*HMS | Hours/minutes/seconds format |
Time separator. Specifies the separator used when accessing time result columns. A blank value indicates that there are no SQL statements or that the separator character is a blank. Assume the latter if the number of SQL statements parameter is not zero.
Message ID | Error Message Text |
---|---|
CPF24B4 E | Severe error while addressing parameter list. |
CPF3CF1 E | Error code parameter not valid. |
CPF3C19 E | Error occurred with receiver variable specified. |
CPF3C21 E | Format name &1 is not valid. |
CPF3C24 E | Length of the receiver variable is not valid. |
CPF3C90 E | Literal value cannot be changed. |
CPF5CE7 E | Error occurred while retrieving *MODULE data. |
CPF8122 E | &8 damage on library &4. |
CPF8123 E | Damage on object information for library &4. |
CPF813D E | Service program &4 in &9 damaged. |
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. |
CPF9811 E | Program &1 in library &2 not found. |
CPF9820 E | Not authorized to use library &1. |
CPF9821 E | Not authorized to program &1 in library &2. |
CPF9830 E | Cannot assign library &1. |
Top | Program and CL Command APIs | APIs by category |