Could some variation of this do it for you?

D OrgRecDS ds extname(FORBOZZ) prefix('Org_')
D NewRecDS ds extname(FORBOZZ)

*Make a new record for the old record.
C NewRecord begsr C eval NewRcDS = OrgRecDS
C eval Key1 = 'bozbar'
C eval Key2 = NewVal2
C eval Key3 = Org_Key3
C write(e) FORBOZZ
C dow %error
C eval Key3 = Key3 + 1
C write(e) FORBOZ
C enddo C endsr

(I recognize that I have an error in the incrementing process, but this should be a structure that you can make work?)


James Lampert wrote:
I'm working on a program that has to copy a block of records within a file. That is to say, given a block of records, in the file FROBOZZ, with keys:

foobar 15 1
foobar 15 2
foobar 15 3
foobar 15 4
foobar 15 5

I want to duplicate the records, still in FROBOZZ, keyed as:

bozbar 7 1
bozbar 7 2
bozbar 7 3
bozbar 7 4
bozbar 7 5

or, conceivably, if there's already a "bozbar 7 1," the copies might be keyed as "bozbar 7 2" through "bozbar 7 6."

I don't relish the thought of having to keep track of the position from which I'm reading records. Can I have the FROBOZZ physical file open twice within an RPG program? Or is there an easier way to do this?



This thread ...

Replies:

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

This mailing list archive is Copyright 1997-2026 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.