COBOL - Compiler limit comparison - Comparação de limite do compilador


Volta a página anterior

Volta ao Menu Principal


Desenvolvido por DORNELLES Carlos Alberto - Analista de Sistemas - Brasília DF. - cad_cobol@hotmail.com

COBOL - Compiler limit comparison - Comparação de limite do compilador

Enterprise COBOL for z/OS 6.3.0

A tabela a seguir lista os limites do compilador para Enterprise COBOL V5 e V6, outras versões Enterprise COBOL, IBM® COBOL, VS COBOL II e programas OS/VS COBOL.

Embora o compilador COBOL suporte o endereçamento de várias áreas de memória em uma unidade de compilação até os limites descritos neste apêndice, um aplicativo completo, geralmente consistindo em várias unidades de compilação, ainda é restrito pela quantidade de armazenamento privado disponível no espaço de endereço no qual ele corre.

Em outras palavras, um aplicativo pode ficar sem armazenamento antes de atingir os limites descritos.

Language element Enterprise COBOL V5 and V6 Other Enterprise COBOL versions IBM COBOL and VS COBOL II OS/VS COBOL
Size of program 999,999 lines 999,999 lines 999,999 lines 999,999 lines
Number of literals 4,194,303 bytes1 4,194,303 bytes1 4,194,303 bytes1 16,384 bytes
Total length of literals 4,194,303 bytes1 4,194,303 bytes1 4,194,303 bytes1 32,767 bytes after OPT
Reserved word table entries 1536 1536 1536 No limit
COPY REPLACING . . . BY . . . (items per COPY statement) No limit No limit No limit 150
Number of COPY libraries No limit No limit No limit No limit
Block size of COPY library 32,760 bytes 32,760 bytes 32,760 bytes 16,384 bytes
IDENTIFICATION DIVISION
ENVIRONMENT DIVISION
Configuration section
Special-names paragraph
mnemonic-name IS 18 18 18 18
UPSI-n ... (switches) 0-7 0-7 0-7 0-7
alphabet-name IS . . . No limit No limit No limit No limit
Literal THRU . . . or ALSO . . . 256 256 256 256
Input-Output section
File-control paragraph
SELECT file-name ... A maximum of 65,535 file names can be assigned external names A maximum of 65,535 file names can be assigned external names A maximum of 65,535 file names can be assigned external names A maximum of 65,535 file names can be assigned external names
ASSIGN system-name ... No limit No limit No limit No limit
ALTERNATE RECORD KEY data-name ... 253 253 253 253
RECORD KEY length No limit2 No limit2 No limit2 255
RESERVE integer (buffers) 2553 2553 2553 2553
I-O-control paragraph
RERUN ON system-name ... 32,767 32,767 32,767 32,767
RERUN integer RECORDS 16,777,215 16,777,215 16,777,215 16,777,215
SAME RECORD AREA 255 255 255 255
SAME RECORD AREA FOR file-name ... 255 255 255 255
SAME SORT/MERGE AREA No limit4 No limit4 No limit4 No limit4
MULTIPLE FILE file-name ... No limit4 No limit4 No limit4 No limit4
DATA DIVISION
77 data item size With LP(32): 999,999,999 bytes
With LP(64): 2,147,483,646 bytes
134,217,727 16,777,215 1,048,576
Total 01 + 77 (data items) No limit No limit No limit 255
88 condition-names . . . No limit No limit No limit No limit
66 RENAMES . . . No limit No limit No limit No limit
PICTURE clause, number of characters in character-string 50 50 30 30
PICTURE clause, numeric item digit positions With ARITH(COMPAT): 18
With ARITH(EXTEND): 31
18 (or 31)6 For IBM COBOL:18 (or 31)6
For VS COBOL II: 18
18
PICTURE clause, numeric-edited character positions 249 249 249 127
Picture symbol replication ( ) With LP(32): 999,999,999
With LP(64): 2,147,483,646
134,217,727 16,777,215 99,999
Picture symbol replication ( ), class DBCS items With LP(32): 499,999,999
With LP(64): 1,073,741,823
67,108,863 8,388,607 N/A
Picture symbol replication ( ), class national items With LP(32): 499,999,999
With LP(64): 1,073,741,823
67,108,863 N/A N/A
PICTURE symbol replication (editing) 32,767 32,767 32,767 99,999
Elementary item size With LP(32): 999,999,999
With LP(64): 2,147,483,646
134,217,727 16,777,215 32,767
OCCURS integer With LP(32): 999,999,999
With LP(64): 2,147,483,646
134,217,727 4,194,303 65,535
Table size With LP(32): 999,999,999
With LP(64): 2,147,483,646
134,217,727 8,388,607 32,767
Table element size With LP(32): 999,999,999
With LP(64): 2,147,483,646
134,217,727
ASCENDING or DESCENDING KEY . . . (per OCCURS clause) 12 KEYS 12 KEYS 12 KEYS 12 KEYS
Total length of keys (per OCCURS clause) 256 bytes 256 bytes 256 bytes 256 bytes
INDEXED BY . . . (index names per OCCURS clause) 12 12 12 12
Total number of indexes (index names) per class or program 65,535 65,535 65,535 65,535
Size of relative index 32,765 32,765 32,765 32,765
FILE SECTION
FD record description entry 1,048,575 bytes 1,048,575 1,048,575 1,048,575
FD file-name . . . 65,535 65,535 65,535 65,535
LABEL data-name . . . (if no optional clauses) 255 255 255 185
Label record length 80 bytes 80 bytes 80 bytes 80 bytes
DATA RECORD data-name . . . No limit4 No limit4 No limit4 No limit4
BLOCK CONTAINS integer 2,147,483,6479 2,147,483,6479 For IBM COBOL: 2,147,483,647
For VS COBOL II: 1,048,5755
32,760
RECORD CONTAINS integer 1,048,5755 1,048,5755 1,048,5755 32760
SD file-name . . . 65,535 65,535 65,535 65,535
DATA RECORD data-name . . . No limit4 No limit4 No limit4 No limit4
WORKING-STORAGE SECTION
Total size of items without the external attribute With LP(32): 2,147,483,646 bytes
With LP(64): Unlimited, up to the available 64-bit addressing capacity of the machine.
134,217,727 bytes 134,217,727 bytes 1,048,576
Total size of items with the external attribute With LP(32): 2,147,483,646 bytes
With LP(64): Unlimited, up to the available 64-bit addressing capacity of the machine.
134,217,727 bytes 134,217,727 bytes N/A
LINKAGE SECTION
Total size With LP(32): 2,147,483,646 bytes
With LP(64): Unlimited, up to the available 64-bit addressing capacity of the machine.
134,213,631 bytes 134,217,727 bytes 1,048,576
LOCAL-STORAGE SECTION
Total size 2,147,483,646 bytes
PROCEDURE DIVISION
Procedure and constant area 4,194,303 bytes1 4,194,303 bytes1 4,194,303 bytes1 1M + 32 - KB
PROCEDURE DIVISION USING identifier . . . 32,767 32,767 v No limit
Procedure-names 1,048,5751 1,048,5751 1,048,5751 64 KB1
Statements per line (FDUMP/TEST) 7 7 7 7
Subscripted data-names per statement 32,767 32,767 32,767 511
ADD identifier . . . No limit No limit No limit No limit
ALTER procedure-name-1 TO procedure-name-2 . . . 4,194,3031 4,194,3031 4,194,3031 64-KB11
CALL . . . BY CONTENT identifier 2,147,483,647 bytes 2,147,483,647 bytes 2,147,483,647 bytes No limit
CALL identifier or literal USING identifier or literal . . . 16,380 16,380 16,380 No limit
CALL literal . . . 4,194,3031 4,194,3031 4,194,3031 No limit
Active programs in a run unit 32,767 32,767 32,767 32,767
Number of names called (DYN option) No limit No limit No limit 64 K
CANCEL identifier or literal . . . No limit No limit No limit No limit
CLOSE file-name . . . No limit No limit No limit No limit
COMPUTE identifier . . . No limit No limit No limit No limit
DISPLAY identifier or literal  . . . No limit No limit No limit No limit
DIVIDE identifier . . . No limit No limit No limit No limit
ENTRY USING identifier or literal . . . No limit No limit No limit No limit
EVALUATE . . . subjects 64 64 64 No limit
EVALUATE . . . WHEN clauses 256 256 256 No limit
GO procedure-name . . . DEPENDING 255 255 255 2031
INSPECT TALLYING and REPLACING clauses No limit No limit No limit 15
MERGE file-name ASC or DES KEY . . . No limit No limit No limit 12
Total merge key length 4,092 bytes7 4,092 bytes7 4,092 bytes7 256 bytes
MERGE USING file-name . . . 168 168 168 168
MOVE identifier or literal TO identifier . . . No limit No limit No limit No limit
MULTIPLY identifier . . . No limit No limit No limit No limit
OPEN file-name . . . No limit No limit No limit No limit
PERFORM 4,194,303 4,194,303 4,194,303 64 K
SEARCH . . . WHEN . . . No limit No limit No limit No limit
SET index or identifier . . . TO No limit No limit No limit No limit
SET index . . . UP/DOWN No limit No limit No limit No limit
SORT file-name ASC or DES KEY No limit No limit No limit 12
Total sort key length 4,092 bytes7 4,092 bytes7 4,092 bytes7 256 bytes
SORT USING file-name . . . 168 168 168 168
STRING identifier . . . No limit No limit No limit No limit
STRING DELIMITED identifier or literal . . . No limit No limit No limit No limit
UNSTRING DELIMITED identifier or literal  . . . No limit 255 255 15
UNSTRING INTO identifier or literal . . . No limit No limit No limit No limit
USE . . . ON file-name . . . No limit No limit No limit No limit
Notes:
  1. Items included in limit for procedure plus constant area.
    Itens incluídos no limite para procedimento mais área constante.

  2. No compiler limit, but VSAM limits it to 255 bytes.
    Sem limite do compilador, mas o VSAM o limita a 255 bytes.

  3. QSAM limit.
    Limite de QSAM.

  4. Syntax checked, but has no effect on the execution of the program; there is no limit.
    Sintaxe verificada, mas não tem efeito na execução do programa; não há limite.

  5. The compiler limit is shown, but QSAM limits it to 32,767 bytes.
    O limite do compilador é mostrado, mas o QSAM o limita a 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.
    Para COBOL para OS / 390® & VM V2R2 e versões posteriores, 18 se ARITH (COMPAT) estiver em vigor, ou 31 se ARITH (EXTEND) estiver em vigor.

  7. For QSAM and VSAM, the limit is 4088 bytes if EQUALS is coded on the OPTION control statement.
    Para QSAM e VSAM, o limite é 4088 bytes se EQUALS estiver codificado na instrução de controle OPTION.

  8. SORT limit for QSAM and VSAM.
    Limite SORT para QSAM e VSAM.

  9. Requires large block interface (LBI) support provided by OS/390 DFSMS Version 2 Release 10.0 or later.
    On OS/390 systems with earlier releases of DFSMS, the limit is 32,767 bytes.
    For more information about using large block sizes, see the Enterprise COBOL for z/OS® Programming Guide.
    Requer suporte de interface de bloco grande (LBI) fornecido pelo OS / 390 DFSMS Versão 2 Release 10.0 ou posterior.
    Em sistemas OS / 390 com versões anteriores do DFSMS, o limite é de 32.767 bytes.
    Para obter mais informações sobre como usar tamanhos de bloco grandes, consulte o Enterprise COBOL for z / OS® Programming Guide .


© Copyright IBM Corp.