³---------------------------------------------------------------------------³
³ Table 55. Compiler Limits ³
³---------------------------------------------³-----------------------------³
³ Language Element ³ Compiler Limit ³
³---------------------------------------------³-----------------------------³
³ Size of program ³ 999,999 lines ³
³---------------------------------------------³-----------------------------³
³ Size of file record size (AIX, OS/2, and ³ 64K ³
³ Windows) ³ ³
³---------------------------------------------³-----------------------------³
³ Number of literals ³ 4,194,303(1) ³
³---------------------------------------------³-----------------------------³
³ Total length of literals ³ 4,194,303 bytes(1) ³
³---------------------------------------------³-----------------------------³
³ Reserved Word Table entries ³ 1536 ³
³---------------------------------------------³-----------------------------³
³ COPY REPLACING ... BY ... (items per COPY ³ No limit ³
³ statement) ³ ³
³---------------------------------------------³-----------------------------³
³ Number of COPY libraries ³ No limit ³
³---------------------------------------------³-----------------------------³
³ Block size of COPY library ³ 32,767 bytes ³
³---------------------------------------------³-----------------------------³
³ Identification Division ³ ³
³---------------------------------------------³-----------------------------³
³ Environment Division ³ ³
³---------------------------------------------³-----------------------------³
³ Configuration Section ³ ³
³---------------------------------------------³-----------------------------³
³ SPECIAL-NAMES paragraph ³ ³
³---------------------------------------------³-----------------------------³
³ function-name IS ³ 18 ³
³---------------------------------------------³-----------------------------³
³ UPSI-n ... (switches) ³ 0-7 ³
³---------------------------------------------³-----------------------------³
³ alphabet-name IS ... ³ No limit ³
³---------------------------------------------³-----------------------------³
³ literal THRU/ALSO ... ³ 256 ³
³---------------------------------------------³-----------------------------³
³ Input-Output Section ³ ³
³---------------------------------------------³-----------------------------³
³ FILE-CONTROL paragraph ³ ³
³---------------------------------------------³-----------------------------³
³ SELECT file-name ... ³ 65,535 ³
³---------------------------------------------³-----------------------------³
³ ASSIGN system-name ... ³ No limit(2) ³
³---------------------------------------------³-----------------------------³
³ ALTERNATE RECORD KEY data-name ... ³ 253 ³
³---------------------------------------------³-----------------------------³
³ RECORD KEY length ³ No limit(3) ³
³---------------------------------------------³-----------------------------³
³ RESERVE integer (buffers) ³ 255(4) ³
³---------------------------------------------³-----------------------------³
³ I-O-CONTROL paragraph ³ ³
³---------------------------------------------³-----------------------------³
³ RERUN ON system-name ... ³ 32,767 ³
³---------------------------------------------³-----------------------------³
³ integer RECORDS ³ 16,777,215 ³
³---------------------------------------------³-----------------------------³
³ SAME RECORD AREA ³ 255 ³
³---------------------------------------------³-----------------------------³
³ FOR file-name ... ³ 255 ³
³---------------------------------------------³-----------------------------³
³ SAME SORT/MERGE AREA ³ No limit(2) ³
³---------------------------------------------³-----------------------------³
³ MULTIPLE FILE ... file-name ³ No limit(2) ³
³---------------------------------------------³-----------------------------³
³ Data Division ³ ³
³---------------------------------------------³-----------------------------³
³ File Section ³ ³
³---------------------------------------------³-----------------------------³
³ FD file-name ... ³ 65,535 ³
³---------------------------------------------³-----------------------------³
³ LABEL data-name ... (if no optional ³ 255 ³
³ clauses) ³ ³
³---------------------------------------------³-----------------------------³
³ Label record length ³ 80 bytes ³
³---------------------------------------------³-----------------------------³
³ DATA RECORD dnm ... ³ No limit(2) ³
³---------------------------------------------³-----------------------------³
³ BLOCK CONTAINS integer ³ 1,048,575(5) ³
³---------------------------------------------³-----------------------------³
³ RECORD CONTAINS integer ³ 1,048,575(5) ³
³---------------------------------------------³-----------------------------³
³ Item length ³ 1,048,575 bytes(5) ³
³---------------------------------------------³-----------------------------³
³ LINAGE clause values ³ 2**32 (4-byte binary ³
³ ³ numbers) ³
³---------------------------------------------³-----------------------------³
³ SD file-name ... ³ 65,535 ³
³---------------------------------------------³-----------------------------³
³ DATA RECORD dnm ... ³ No limit(2) ³
³---------------------------------------------³-----------------------------³
³ Sort record length ³ 32,751 bytes ³
³---------------------------------------------³-----------------------------³
³ Working-Storage Section ³
³---------------------------------------------³-----------------------------³
³ Items without the EXTERNAL attribute ³ 134,217,727 bytes ³
³---------------------------------------------³-----------------------------³
³ Items with the EXTERNAL attribute ³ 134,217,727 bytes ³
³---------------------------------------------³-----------------------------³
³ 77 data-names ³ 16,777,215 bytes ³
³---------------------------------------------³-----------------------------³
³ 01-49 data-names ³ 16,777,215 bytes ³
³---------------------------------------------³-----------------------------³
³ 88 condition-name ... ³ No limit ³
³---------------------------------------------³-----------------------------³
³ VALUE literal ... ³ No limit ³
³---------------------------------------------³-----------------------------³
³ 66 RENAMES ... ³ No limit ³
³---------------------------------------------³-----------------------------³
³ PICTURE character-string ³ 30 ³
³---------------------------------------------³-----------------------------³
³ Numeric item digit positions ³ 18 ³
³---------------------------------------------³-----------------------------³
³ Numeric-edited character positions ³ 249 ³
³---------------------------------------------³-----------------------------³
³ PICTURE replication ( ) ³ 16,777,215 ³
³---------------------------------------------³-----------------------------³
³ PIC repl (editing) ³ 32,767 ³
³---------------------------------------------³-----------------------------³
³ DBCS Picture replication ( ) ³ 8,388,607 ³
³---------------------------------------------³-----------------------------³
³ Group item size: File Section ³ 1,048,575 bytes ³
³---------------------------------------------³-----------------------------³
³ Elementary item size ³ 16,777,215 bytes ³
³---------------------------------------------³-----------------------------³
³ VALUE initialization (Total length of all ³ 16,777,215 bytes ³
³ value literals) ³ ³
³---------------------------------------------³-----------------------------³
³ OCCURS integer ³ 16,777,215 ³
³---------------------------------------------³-----------------------------³
³ Total number of ODOs ³ 4,194,303(1) ³
³---------------------------------------------³-----------------------------³
³ Table size ³ 16,777,215 bytes ³
³---------------------------------------------³-----------------------------³
³ Table element size ³ 8,388,607 bytes ³
³---------------------------------------------³-----------------------------³
³ ASC/DES KEY ... (per OCCURS clause) ³ 12 KEYS ³
³---------------------------------------------³-----------------------------³
³ Total length ³ 256 bytes ³
³---------------------------------------------³-----------------------------³
³ INDEXED BY ... (index names) (per ³ 12 ³
³ OCCURS clause) ³ ³
³---------------------------------------------³-----------------------------³
³ Total num of indexes (index names) ³ 65,535 ³
³---------------------------------------------³-----------------------------³
³ Size of relative index ³ 32,765 ³
³---------------------------------------------³-----------------------------³
³ Linkage Section ³ 134,217,727 bytes ³
³---------------------------------------------³-----------------------------³
³ Total 01 + 77 (data items) ³ No limit ³
³---------------------------------------------³-----------------------------³
³ Procedure Division ³ ³
³---------------------------------------------³-----------------------------³
³ Procedure + constant area ³ 4,194,303 bytes(1) ³
³---------------------------------------------³-----------------------------³
³ USING identifier ... ³ 32,767 ³
³---------------------------------------------³-----------------------------³
³ Procedure-names ³ 1,048,575(1) ³
³---------------------------------------------³-----------------------------³
³ Subscripted data-names per verb ³ 32,767 ³
³---------------------------------------------³-----------------------------³
³ Verbs per line (TEST) ³ 7 ³
³---------------------------------------------³-----------------------------³
³ ADD identifier ... ³ No limit ³
³---------------------------------------------³-----------------------------³
³ ALTER pn1 TO pn2 ... ³ 4,194,303(1) ³
³---------------------------------------------³-----------------------------³
³ CALL ... BY CONTENT id ³ 2,147,483,647 bytes ³
³---------------------------------------------³-----------------------------³
³ CALL id/lit USING id/lit... ³ 16380 (OS/390 and VM) 500 ³
³ ³ (AIX, OS/2, and Windows) ³
³---------------------------------------------³-----------------------------³
³ CALL literal ... ³ 4,194,303(1) ³
³---------------------------------------------³-----------------------------³
³ Active programs in run unit ³ 32,767 ³
³---------------------------------------------³-----------------------------³
³ Number of names called (DYN) ³ No limit ³
³---------------------------------------------³-----------------------------³
³ CANCEL id/lit ... ³ No limit ³
³---------------------------------------------³-----------------------------³
³ CLOSE file-name ... ³ No limit ³
³---------------------------------------------³-----------------------------³
³ COMPUTE identifier ... ³ No limit ³
³---------------------------------------------³-----------------------------³
³ DISPLAY id/lit ... ³ No limit ³
³---------------------------------------------³-----------------------------³
³ DIVIDE identifier ... ³ No limit ³
³---------------------------------------------³-----------------------------³
³ ENTRY USING id/lit ... ³ No limit ³
³---------------------------------------------³-----------------------------³
³ EVALUATE ... subjects ³ 64 ³
³---------------------------------------------³-----------------------------³
³ EVALUATE ... WHEN clauses ³ 256 ³
³---------------------------------------------³-----------------------------³
³ GO pn ... DEPENDING ³ 255 ³
³---------------------------------------------³-----------------------------³
³ INSPECT TALLY/REPL clauses ³ No limit ³
³---------------------------------------------³-----------------------------³
³ MERGE file-name ASC/DES KEY ... ³ No limit ³
³---------------------------------------------³-----------------------------³
³ Total key length ³ 4,092 bytes(6) ³
³---------------------------------------------³-----------------------------³
³ USING file-name ... ³ 16(7) ³
³---------------------------------------------³-----------------------------³
³ MOVE id/lit TO id ... ³ No limit ³
³---------------------------------------------³-----------------------------³
³ MULTIPLY identifier ... ³ No limit ³
³---------------------------------------------³-----------------------------³
³ OPEN file-name ³ No limit ³
³---------------------------------------------³-----------------------------³
³ PERFORM ³ 4,194,303 ³
³---------------------------------------------³-----------------------------³
³ SEARCH ... WHEN ... ³ No limit ³
³---------------------------------------------³-----------------------------³
³ SET index/id ... TO ³ No limit ³
³---------------------------------------------³-----------------------------³
³ SET index ... UP/DOWN ³ No limit ³
³---------------------------------------------³-----------------------------³
³ SORT file-name ASC/DES KEY ³ No limit ³
³---------------------------------------------³-----------------------------³
³ Total key length ³ 4,092 bytes(6) ³
³---------------------------------------------³-----------------------------³
³ USING file-name ... ³ 16(7) ³
³---------------------------------------------³-----------------------------³
³ STRING identifier ... ³ No limit ³
³---------------------------------------------³-----------------------------³
³ DELIMITED id/lit ... ³ No limit ³
³---------------------------------------------³-----------------------------³
³ UNSTRING DELIMITED id/lit OR id/lit ... ³ 255 ³
³---------------------------------------------³-----------------------------³
³ UNSTRING INTO id/lit ... ³ No limit ³
³---------------------------------------------³-----------------------------³
³ USE ... ON file-name ... ³ No limit ³
³---------------------------------------------³-----------------------------³
Table Notes (OS/390 and VM Only):
(1) Items included in 4,194,303 byte limit for procedure plus constant
area.
(2) Treated as comment; there is no limit.
(3) No compiler limit, but VSAM limits it to 255 bytes.
(4) QSAM
(5) Compiler limit shown, but QSAM limits it to 32,767 bytes.
(6) For QSAM and VSAM, the limit is 4088 bytes if EQUALS is coded on the
OPTION control statement.
(7) SORT limit for QSAM and VSAM.