Just to add additional options:

You could define it once and use data structures for your IO. Then you could store each version of the record and do you processing.

You could define the file local to a subprocedure, then each call would have its own instance of the files. This is especially convenient if recursion makes sense for your situation.

Brian May
Director
Pre-Sales and Customer Solutions
Profound Logic Software
http://www.profoundlogic.com
937-439-7925 Phone
877-224-7768 Toll Free
  

UI Modernization. And More!

www.profoundlogic.com
      

-----Original Message-----
From: RPG400-L <rpg400-l-bounces@xxxxxxxxxxxxxxxxxx> On Behalf Of Charles Wilt
Sent: Wednesday, April 22, 2020 3:25 PM
To: RPG programming on IBM i <rpg400-l@xxxxxxxxxxxxxxxxxx>
Subject: Re: Having the same file open twice in an RPG program

Still running that v3r2 system?

Then yeah, a new logical is needed (or you could use SQL)

Assuming a modern system
dcl-f FOO2 extdesc('FOO') extfile(*extdesc) rename(FOOR:FOOR2);

extdesc controls where the RPGIV compiler gets the definition for the file extfile controls what file is actually opened.

EXTFILE is nice, you can use it instead of needed an OVRDBF...

Charles



On Wed, Apr 22, 2020 at 12:10 PM James H. H. Lampert < jamesl@xxxxxxxxxxxxxxxxx> wrote:

I have a situation, with a header file, FOO, and a line-item file,
BAR, in which I need to have both files open twice in the same
program. It seems that there are some 92000 cases in which the same
header appears twice, and (presumably) each has an identical set of line-item records.

As it happens, I can (and indeed, *must*) have two different logicals
open on FOO, in order to be positioned to both of the mutually
redundant headers.

But for each of those pairs, I also need to run through the line
items, in order to compare the line items of one to the line items of the other.

I can't recall ever being able to have the same file open twice in an
RPG program, other than by having two different LFs on the same PF.

Is there something I'm not aware of?

--
JHHL
--
This is the RPG programming on IBM i (RPG400-L) mailing list To post a
message email: RPG400-L@xxxxxxxxxxxxxxxxxx To subscribe, unsubscribe,
or change list options,
visit: https://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives at
https://archive.midrange.com/rpg400-l.

Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription
related questions.

Help support midrange.com by shopping at amazon.com with our affiliate
link: https://amazon.midrange.com

--
This is the RPG programming on IBM i (RPG400-L) mailing list To post a message email: RPG400-L@xxxxxxxxxxxxxxxxxx To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives at https://archive.midrange.com/rpg400-l.

Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription related questions.

Help support midrange.com by shopping at amazon.com with our affiliate link: https://amazon.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.