The Compiler generates messages if your source program exceeds certain Open PL/I Compiler implementation limits. The following table lists these implementation limits.
Message | Limit |
---|---|
Depth of nesting of a structure | 16 |
Maximum length of an ‘external’ string constant | 30721 |
Maximum length of an ‘internal ’ string constant | 327672 |
Maximum length of a string constant with repeat specifier | 32767 |
Maximum length of source line | 1024 |
Maximum length of an identifier | 100 |
Maximum size of storage for AREA data | 2GB
Note: Very Large area sizes may be impacted by system resources.
|
Array dimensions | 8 |
Nesting level of INCLUDE statements | 7 |
Nesting of DO, PROCEDURE, BEGIN, SELECT, and simple ON-unit statements | 643 |
Number of arguments in a subroutine or function call | 239 |
Number of data and format list pairs in an edit-directed specification | 256 |
Number of diagnostics (see the -maxmsg option in Compiler Options for information on configuring this limit.) | 1000 |
Maximum VSAM key size | 120 bytes |
Scale factor of variables | 0 ≤ scale factor ≤ 128 |
Scale factor of a constant | 0 ≤ scale factor ≤ 127 |
Scale factor of a conversion built-in function | 0 ≤ scale factor ≤ 127 |
Value of a format's repeat, w, or d field | 254 |
Precision for a fixed binary number | 31 |
Precision for a fixed decimal number (maximum) | 31 |
Precision for a float binary number | 52 |
Precision for a float decimal number | 16 |
Internal Limits | |
Number of tokens in a statement | 20,000 |