× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.


  • Subject: Re: Multiple occurance data structure
  • From: "Roger Vicker, CCP" <rvicker@xxxxxxxxxxxxx>
  • Date: Fri, 27 Jun 1997 20:49:50 -0500
  • Organization: Vicker Programming

Scott Cornell wrote:
> 
> I have kind of an odd problem - an RPG III program
> uses a multiple occurance data structure defined
> for 25 occurances like so:
> 
> IMDEARN DS      25
> I               1       4 NONTAX
> 
> The structure is filled with some number of values
> from a database file, then later traversed in a DO
> loop.  The loop exit criteria is that a field from
> the DS = *blanks, e.g. no value loaded from the
> file, e.g. "End Of File" (yeah it's bad technique - I
> didn't write it, it's legacy code!), like so:
> 
> C                         Z-ADD   1           INDX
> C       INDX            OCUR    MDEARN
> C       NONTAX  DOWNE*BLANKS
>                   <process DS entry>
> C                        ADD  1       INDX
> C       INDX             OCUR    MDEARN
> C                        END
> 
> Problem - program blows up on an "index out of
> range error" for one of our client's whose
> database has 10 values to be loaded into MDEARN,
> e.g. the error occurs when INDX in the above
> snippet reaches 11.  I'm confused... since MDEARN
> is defined w/25 occurances, 11 shouldn't cause an
> index error, right?  Compile listing shows
> MDEARN(25) and yet, sure enough, in the program
> dump after the error, MDEARN says dimension(10)
> and only shows 10 spaces allocated to the
> structure.  What's up with this... did RPG III
> suddenly start allocating memory for data
> structures dynamically?
> 
> TIA
> 
> Scott Cornell, Mercy Information Systems

Just a quick scan. Are you sure it bombs at 11 or is it 10? Is INDX 2
digits long or just 1 and wrapping from 9 to 0 (no 0 occurances)?

Roger Vicker, CCP

-- 
*** Vicker Programming and Service *** Have bits will byte ***
In adversity remember to keep an even mind. Horace (8 BC)

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* This is the Midrange System Mailing List!  To submit a new message,   *
* send your mail to "MIDRANGE-L@midrange.com".  To unsubscribe from     *
* this list send email to MAJORDOMO@midrange.com and specify            *
* 'unsubscribe MIDRANGE-L' in the body of your message.  Questions      *
* should be directed to the list owner / operator: david@midrange.com   *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.