The following table lists the compiler limits for IBM COBOL programs running under OS/390, VM, AIX, OS/2, and Windows.
___________________________________________________________________________ | 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):
Adobe, the Adobe logo, Acrobat, the Acrobat logo, and Acrobat Reader are registered trademarks of Adobe Systems incorporated.