Open PL/I Compiler Implementation Limits

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