|
Hans, It would be nice. The only reason I knew about the restriction was because I tried to do this. If it means putting off other items I would rather see effort applied to areas that enable us to do that absolutely cannot be done today. For example, pointer support opened a lot of doors as will variable length fields (for return data) . Those two enhancements allow us to do in RPG what used to require MI or C. For me the top issue is the inability to pass a variable by reference through a program if it allows *OMIT or *NOPASS. Of equal importance to me would be an OPTIONS(*vartype) with operational descriptor support. Next priority would be that CONST be supported based on address rather than code analysis. Next would be debug support for pointers in data areas and the ability to set a watch on an address. Next would be to allow based variables to be exported directly (if it can be done by exporting the pointer why can't the compiler allow this). I could go on but these constraints are much more bother and sometimes require coding that borders on reckless. Thanks for the interest, David Morris >>> Hans Boldt <boldt@ca.ibm.com> 04/02 6:38 AM >>> Hi David! Yes, you're right. DS I/O is not allowed for ext-desc files in RPG. Would you (or any other RPG programmer watching) like that limitation removed in a future release? IMHO, ext-desc data structures are very useful and we should do more to support them. Hans Boldt, ILE RPG Development, IBM Toronto Lab, boldt@ca.ibm.com owner-midrange-l@midrange.com on 98-04-01 19:04:15 Please respond to MIDRANGE-L@midrange.com To: MIDRANGE-L@midrange.com cc: Subject: Re: Field record relation indicators 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 mailing list archive is Copyright 1997-2025 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.