Follow along with the video below to see how to install our site as a web app on your home screen.
Note: This feature may not be available in some browsers.
| Table 54. Compiler limits |
|_____________________________________________ _____________________________|
| Language element | Compiler limit |
|_____________________________________________|_____________________________|
| Size of program | 999,999 lines |
|_____________________________________________|_____________________________|
| Size of file record size (AIX and Windows) | 64K |
|_____________________________________________|_____________________________|
| 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 ... | A maximum of 65,535 file |
| | | names can be assigned |
| | | external names |
|_____________________________________________|_____________________________|
| | ASSIGN system-name ... | No limit |
|_____________________________________________|_____________________________|
| 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 | 2,147,483,647 (OS/390)(8) |
| | | 1,048,575 (other |
| | | platforms)(5) |
|_____________________________________________|_____________________________|
| RECORD CONTAINS integer | 1,048,575(5) |
|_____________________________________________|_____________________________|
| Item length | 1,048,575 bytes(5) |
|_____________________________________________|_____________________________|
| | LINAGE clause values | 99,999,999 |
|_____________________________________________|_____________________________|
| 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 | 50 |
|_____________________________________________|_____________________________|
| | Numeric item digit positions | If the ARITH(COMPAT) |
| | | compiler option is in |
| | | effect: 18 |
| | |
| | | If the ARITH(EXTEND) |
| | | compiler option is in |
| | | effect: 31 |
|_____________________________________________|_____________________________|
| 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 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 |
|_____________________________________________|_____________________________|
01 NAME-INDEX-RECORD.
02 NAME-IN-RECORD PIC X(100).
02 KEY-OF-MAIN-FILE PIC X(whatever).
MOVE INPUT-STRING(1:CTR-1) TO NAME-IN-RECORD.
START NAME-INDEX-FILE KEY = NAME-IN-RECORD
INVALID KEY
DISPLAY "No record exists with that name."
NOT INVALID KEY
loop here to read all the records where
NAME-IN-RECORD equals INPUT-STRING (1:CTR-1)
then MOVE KEY-OF-MAIN-FILE to MAIN-FILE-KEY
READ MAIN-FILE and you've got the record
END-START.