× 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: Field record relation indicators
  • From: David Morris <dmorris@xxxxxxxxxxxxx>
  • Date: Wed, 01 Apr 1998 12:10:27 -0700

Hans,

I don't think you can read to a data structure with an external file.  Has that 
changed?  Anyway I was under the impression (have no interest in finding out) 
that the look ahead still works for program described files.  So I think you 
might want to swap the data using an intermediate variable.  Or you could swap 
pointers.  Create two based externally described files, in one prefix the 
names.  After a record is read swap the basing pointers using an intermediate 
pointer.

d Rcd     E DS  extname(file) inz based(pRcd)
d Nxt      E DS  extname(file) inz prefix(Nxt) based(pNxt)

If I didn't need to compare the two record images I would just use a MODS and 
use occur 1 for current record and occur 2 for look ahead data.  I agree this 
should be very low on the priority list.  Back there with auto report and 
increasing the number of level indicators.

David Morris


>>> Hans Boldt <boldt@ca.ibm.com> 04/01 8:31 AM >>>
Mark wrote:
>>If you need some sort of lookahead on sequential reads to an externally
>>described file, you could probably manage nicely using externally
>>described data structures and READ into DS.
>
> Wouldn't you still have to define the from and to positions in the
>look-ahead area?

No.  The technique I described works like this:  You define 2 externally
described data structures
(called, say, CURREC and LOOKREC) from the file you want to read from, using
PREFIX to rename
all the fields in one of them.  Keep the current record in CURREC and the
lookahead record in
LOOKREC.   To start reading, do:

       C                          READ        FILE              CURREC
       C                          READ        FILE              LOOKREC

To read the next record, do:

       C                          EVAL        CURREC = LOOKREC
       C                          READ        FILE              LOOKREC
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                             
+---
| 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 MIDRANGE-L-UNSUB@midrange.com.
| Questions should be directed to the list owner/operator: david@midrange.com
+---


As an Amazon Associate we earn from qualifying purchases.

This thread ...


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.