Hi All,first program using Fuji Cobol Compiler. I'm sure it's not the most graceful example of Cobol programming. :)
This is my first time posting and I'm very new to Cobol. I've been teaching myself Cobol85 for fun and as a rite of passage since June '16. I've written my
The program works fine on my local desktop and my pretty report gets generatedlocally.
However -- When I port the source to the Tandem, I get an error that appears to indicate an array (table) is too big..? As you can see below, the table rowsare not high in bytes and it's less than 2000 rows table (array).
I am compiling the code on "NonStop Himalaya System" mainframe.CARD-PRFX-TAB
298 **************************
299 * DEFINE Card Prefix TABLE
300 **************************
301 01 CARD-PRFX-TABLE.
302 05 CARD-PRFX-TABLE-ROWS OCCURS 1943 TIMES
303 DESCENDING KEY IS CARD-PRFX-NBR
304 OF CARD-PRFX-TABLE
305 INDEXED BY CARD-PRFX-TABLE-INDEX.
306 10 CARD-PRFX-NBR PIC 9(11).
307 10 INST-FIID PIC X(04).
308 10 INST-NAME PIC X(35).
309 10 INST-REGN PIC X(04).
** Error 189 ** 01 or 77 level data item too large for section:
310 01 CARD-PRFX-TABLE-MAX-ROWS PIC S9(05) BINARY VALUE +1943.
...
...
COBOL85 - T9257H01 - (15 MAR 09)
No object file produced
Number of compiler errors = 2
Number of compiler warnings = 0
Maximum symbol table size = 186530 bytes
Last message on page 17
Elapsed time - 00:00:00
When I change the number of rows from 1943 to 100 (for example) in lines 302 and 310 above, the program compiles on the Tandem without errors.
Object file \CTD4S.$MDC016.CESVIC.RDFISSU
TIMESTAMP 2016-11-29 00:09:00
13 Code pages
16 Primary data words
5894 Secondary data words
41 Data pages
0 Resident code pages
0 Extended data pages
5910 Top of stack location in words
1 Code segment
0 Binder Warnings
0 Binder Errors
COBOL85 - T9257H01 - (15 MAR 09)
The object file is executable on a NonStop Himalaya System
Number of compiler errors = 0
Number of compiler warnings = 0
Maximum symbol table size = 186530 bytes
Elapsed time - 00:00:01
The manual I have is titled "HP COBOL Manual for TNS and TNS/R Programs". It indicates the following regarding error 189:
Cause. The size of a data item exceeds the maximum size permitted for the Data >Division section in which it is defined.
I'm pretty sure Cobol can handle more than a 2000 row array so I'm wondering if there is an environmental limitation I'm hitting?
Sorry if my questions seems rudimentary, I'm definitely trying to review all available materials before asking a question.
Thanks for your time!
Sysop: | DaiTengu |
---|---|
Location: | Appleton, WI |
Users: | 1,004 |
Nodes: | 10 (0 / 10) |
Uptime: | 221:23:35 |
Calls: | 13,080 |
Calls today: | 1 |
Files: | 186,574 |
Messages: | 3,300,357 |