Rational Developer for System z
Enterprise COBOL for z/OS, Version 4.1, Compiler and Runtime Migration Guide


Compiler limit comparison

The following table lists the compiler limits for Enterprise COBOL, IBM COBOL, VS COBOL II, and OS/VS COBOL programs.

These are guidelines to the limits in the table:

Language element

Enterprise
COBOL

IBM
COBOL

VS
COBOL II

OS/VS
COBOL

Size of program 999,999 lines 999,999 lines 999,999 lines 1-MB lines

Number of literals
Total length of literals

4,194,303-B1
4,194,303-B1

4,194,303-B1
4,194,303-B1

4,194,303-B1
4,194,303-B1

16,384-B
32,767-B
after OPT

Reserved word table entries 1536 1536 1536 N/L

COPY REPLACING . . . BY
  (items per COPY statement)
Number of COPY libraries
Block size of COPY library

N/L

N/L
32,767-B

N/L

N/L
32,767-B

N/L

N/L
32,767-B

150

N/L
16,384-B

IDENTIFICATION DIVISION        
ENVIRONMENT DIVISION        
CONFIGURATION SECTION        
SPECIAL-NAMES paragraph        

function-name IS
UPSI-n ... (switches)
alphabet-name IS ...
literal THRU/ALSO ...

18
0-7
N/L
256

18
0-7
N/L
256

18
0-7
N/L
256

18
0-7
N/L
256

INPUT-OUPUT Section        
FILE-CONTROL paragraph        

SELECT file-name ...






ASSIGN system-name ...
ALTERNATE RECORD KEY
  data-name ...
RECORD KEY length
RESERVE integer (buffers)

A maximum
of 65,535
file names
can be
assigned
external
names
N/L

253
N/L2
2553

A maximum
of 65,535
file names
can be
assigned
external
names
N/L

253
N/L2
2553

A maximum
of 65,535
file names
can be
assigned
external
names
N/L

253
N/L2
2553

A maximum
of 64-KB
file names
can be
assigned
external
names
N/L

253
255
2553

I-O-CONTROL paragraph        

RERUN ON system-name ...
   integer RECORDS
SAME RECORD AREA
   FOR file-name ...
SAME SORT/MERGE AREA
MULTIPLE FILE ... file-name

32,767
16,777,215
255
255
N/L4
N/L4

32,767
16,777,215
255
255
N/L4
N/L4

32,767
16,777,215
255
255
N/L4
N/L4

32-KB
16-MB
255
255
N/L4
N/L4

DATA DIVISION        
FILE SECTION        

FD file-name ...
    LABEL data-name ...
      (if no optional clauses)
    Label record length
    DATA RECORD dnm ...
    BLOCK CONTAINS integer
    RECORD CONTAINS integer
    Item length
SD file-name ...
    DATA RECORD dnm ...
    Sort record length

65,535
255

80-B
N/L4
2,147,483,647
1,048,5755
1,048,5755
65,535
N/L4
32,751-B

65,535
255

80-B
N/L4
2,147,483,647
1,048,5755
1,048,5755
65,535
N/L4
32,751-B

65,535
255

80-B
N/L4
1,048,5755
1,048,5755
1,048,5755
65,535
N/L4
32,751-B

64-KB
185

80-B
N/L4
32760
32-KB
32-KB
64-KB
N/L4
32K-16-B

WORKING-STORAGE Section
(items without the EXTERNAL attribute)

134,217,727-B 134,217,727-B 134,217,727-B 1-MB

WORKING-STORAGE
Section
(items with the EXTERNAL
attribute)

134,217,727-B 134,217,727-B 134,217,727-B 1MB

77 data-names
01-49 data-names
88 condition-name ...
VALUE literal ...
66 RENAMES ...
PICTURE character-string
  Numeric item digit positions
  Num-edit character positions
PICTURE replication (   )
PICTURE replication (   ), DBCS
PICTURE replication (   ), national
PIC repl (editing)
DBCS Picture Reactivation
Group item size:
  FILE SECTION
Elementary item size
VALUE initialization
(Total length of value literals)
OCCURS integer
  Levels of OCCURS
  Total number of ODOs
  Table size
  Table element
  ASCENDING/DESCENDING KEY ...
(per OCCURS clause)
  Total length
  INDEXED BY ... (index names)
  Total num of indexes (index names)
  Size of relative index

134,217,727
134,217,727
N/L
N/L
N/L
50
18 (or 31)6
249
134,217,727
67,108,863
67,108,863
32,767
8,388,607

1,048,575
134,217,727
134,217,727
16,777,215
134,217,7271
7
16,777,215
134,217,727
134,217,727
12
256B
12
65,535
32,765

16,777,215
16,777,215
N/L
N/L
N/L
30
18 (or 31)6
249
16,777,215


32,767
8,388,607

1,048,575
16,777,215
16,777,215
16,777,215
4,194,3031
7
16,777,215
8,388,607

12
256B
12
65,535
32,765

16,777,215
16,777,215
N/L
N/L
N/L
30
18
249
16,777,215


32,767



16,777,215
16,777,215
16,777,215
4,194,3031
7
16,777,215
8,388,607

12
256B
12
65,535
32,765

1-MB
1-MB
N/L
N/L
N/L
30
18
127
99999


99999



32-KB
64-KB
32-KB
64-KB1
3
32-KB
32-KB

12
256-B
12
64-KB
32-KB

Linkage Section 134,217,727 134,217,727 134,217,727 1-MB
Total 01 + 77 (data items) N/L N/L N/L 255
PROCEDURE DIVISION        

Procedure + constant area
  USING identifier ...
Procedure-names
  Verbs per line (FDUMP/TEST)
  Subscripted data-names per verb
ADD identifier ...
ALTER pn1 TO pn2 ...
CALL ... BY CONTENT id
CALL literal ...
  USING id/lit ...
  Active programs in run unit
    RES/DYN number of names called
CANCEL id/lit ...
CLOSE file-name ...
COMPUTE identifier ...
DISPLAY id/lit ...
DIVIDE identifier ...
ENTRY USING id/lit ...
EVALUATE ... subjects
EVALUATE ... WHEN clauses
GO pn ... DEPENDING
INSPECT TALLYING/REPLACING
MERGE file-name
  ASCENDING/DESCENDING KEY ...
  Total key length
  USING file-name ...
MOVE id/lit TO id ...
MULTIPLY identifier ...
OPEN file-name
PERFORM
SEARCH ... WHEN ...
SEARCH ALL ... WHEN ...
SET index/id ... TO
SET index ... UP/DOWN
SORT file-name
  ASCENDING/DESCENDING KEY
  Total key length
  USING file-name ...
STRING identifier ...
  DELIMITED id/lit ...
UNSTRING id
  DELIMITED id/lit OR id/lit ...
  INTO id/lit ...
USE ... ON file-name ...

4,194,3031
32,767
1,048,5751
7
32,767
N/L
4,194,3031
2,147,483,647
4,194,3031
16,380
32,767
N/L
N/L
N/L
N/L
N/L7
N/L
N/L
64
256
255
N/L

N/L
4092-B8
169
N/L
N/L
N/L
4,194,303
N/L
12
N/L
N/L

N/L
4092-B8
169
N/L
N/L

255
N/L
N/L

4,194,3031
32,767
1,048,5751
7
32,767
N/L
4,194,3031
2,147,483,647
4,194,3031
16,380
32,767
N/L
N/L
N/L
N/L
N/L7
N/L
N/L
64
256
255
N/L

N/L
4092-B8
169
N/L
N/L
N/L
4,194,303
N/L
12
N/L
N/L

N/L
4092-B8
169
N/L
N/L

255
N/L
N/L

4,194,3031
32,767
1,048,5751
7
32,767
N/L
4,194,3031
2,147,483,647
4,194,3031
16,380
32,767
N/L
N/L
N/L
N/L
N/L7
N/L
N/L
64
256
255
N/L

N/L
4092-B8
169
N/L
N/L
N/L
4,194,303
N/L
12
N/L
N/L

N/L
4092-B8
169
N/L
N/L

255
N/L
N/L

1M+32-KB
N/L
64-KB1
7
511
N/L
64-KB
N/L
N/L
N/L
32-KB
64-KB
N/L
N/L
N/L
N/L7
N/L
N/L
N/L
N/L
2031
15

12
256
169
N/L
N/L
N/L
64-KB
N/L
12
N/L
N/L

12
256
169
N/L
N/L

15
N/L
N/L

Notes:
  1. Items included in limit for procedure plus constant area.
  2. No compiler limit, but VSAM limits it to 255 bytes.
  3. QSAM limit.
  4. Treated as comment; there is no limit.
  5. The compiler limit is shown, but QSAM limits it to 32,767 bytes.
  6. For COBOL for OS/390 & VM V2R2 and later versions, 18 if ARITH(COMPAT) is in effect, or 31 if ARITH(EXTEND) is in effect.
  7. The compiler limit is shown; however, Language Environment limits the maximum length of a data item you can display with DISPLAY UPON SYSOUT to 16,384.
  8. The limit is 4088 bytes if EQUALS is coded on the OPTION control statement.
  9. SORT limit.

For additional information on using DISPLAY with OS/VS COBOL programs, see Understanding SYSOUT output changes.

For additional information on using DISPLAY with VS COBOL II programs, see Understanding SYSOUT output changes.


Terms of use | Feedback

This information center is powered by Eclipse technology. (http://www.eclipse.org)