Page 1 of 1

B021 - Array occurences limit

PostPosted: Tue Jun 02, 2009 6:03 am
by deepu_1156
I declared the following array in an easytrieve program,
WS-TBL1 W 10 A OCCURS 50000
WS-ITEM WS-TBL1 05 A
WS-STORE WS-TBL1 +05 05 A
When i compile the above piece of code, Im getting the error "B021- Parameter too large". Easytrieve app. programming guide says that 32767 is the max number of elements in an array. Is there any way I can override this number either through compile/link edit options or Option table settings? I have tried giving RMODE=ANY and AMODE=31 in compilation options. Still didnt work. Im using Easytrieve version 6.4.

please give me any thoughts or pointers on this.

Thanks,
deepu

Re: B021 - Array occurences limit

PostPosted: Tue Jun 02, 2009 6:27 am
by dick scherrer
Hello and welcome to the forum,

Is there any way I can override this number either through compile/link edit options or Option table settings?
Not that i'm aware of - hence the limit.

Depending on just what is happening in the process, you might consider creating a vsam file for this or splitting the table into 2 and process the "first" half or the other half depending on the ITEM. The entries would need to be in sequence for either the 2 table approach or the vsam approach.

If this is part of a db2 app, a temporary database table might also be used.

Re: B021 - Array occurences limit

PostPosted: Tue Jun 02, 2009 8:06 am
by deepu_1156
Thanks a lot. We had around 50 EZT programs in which we had to increase array size to 99999. Currently, we are using Virtual files or re-writing in COBOL. I thought if we can tweak the array limit, we can reduce a lot of coding effort. Thanks again for the timely reply.

Re: B021 - Array occurences limit

PostPosted: Tue Jun 02, 2009 8:20 am
by dick scherrer
You're welcome - good luck :)

d