|
James, This discussion has gone on quite a while on how to build a index over an unknown number of files in unknown libraries. Do you really need to access all of the records at once? Rich Duzenbury had a suggestion about building a list of files, and reading the files individually. I've also thought about just doing a CPYF to a summary file in QTEMP, and then a program could access the records form this file. The file would disappear at the end of the job, so that each time it runs it would be rebuilt, but it would always have a fresh copy of the data in the individual files. Also, along the lines of working with a list a files is the idea of retrieving a list of files, and using some selection (customer ID?) to chose the individual file. The program would then do an OVRDBF and open the file. Just what type of work do you need to do with this huge join? Are you building a report, or trying to do some updates? How many records are in these files? Hundreds of records per file or 50,000 records per file? Steve Morrison Beacon Insurance 940-720-4672 -----Original Message----- From: Vern Hamberg [mailto:vhamberg@xxxxxxxxxxxxxxxxxxxxxxxxx] Sent: Wednesday, September 22, 2004 1:33 PM To: Midrange Systems Technical Discussion Subject: Re: Summary view of arbitrary number ofidentically-named-and-formatted physical files in separate libraries If the number of physical files is known and constant, you can use a logical file, listing all the files in PFILE. Use the K-spec and badabing! If not known but a list is buildable, I suggest a QMQRY with a substitution variable for the library and file names. Get the list by whatever means, loop through it, running STRQMQRY for each file with outfile *add for each (clear the outfile first, then use *ADD for all). The outfile could be an empty dupe of the others, with the same key, maybe. The statement in the QMQRY could be select * from &LIBRARY/&FILE and the command could be strqmqry qmqrylib/qmqrynam output(*outfile) outfile(qtemp/outfile) outmbr(*first *add) setvar((library &ODLBNM) (file &ODOBNM)) The CL variables given assume an outfile from DSPOBJD. But maybe you'd use DSPFD *ALLUSR/yourfile type(*RCDFMT) Vern At 09:14 AM 9/22/2004, you wrote: >Chuck Lewis wrote: > > > Maybe I am missing what you want here, but how about: > > WRKOBJ OBJ(*ALL/"your file name") OBJTYPE(*FILE) ? > > Or were you wanting more detail than that ? You could use that and > > get it to a file, then read the file and do a DSPFD, etc. from > > there...) > >No, I'm not the slightest bit interested in a list of filenames; the >idea is to have every record from all of these >identically-named-and-formatted files appear in what looks, to RPG, >like a single file, keyed on the same field as the physical. Preferably >with a way to tell which library's physical any given record came from. > >-- >James H. H. Lampert >Professional Dilettante >http://www.hb.quik.com/jamesl >http://members.hostedscripts.com/antispam.html >http://www.thehungersite.com > >Help America's Passenger Trains. http://www.saveamtrak.org > >Read My Lips: No More Atrocities! > >-- >This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing >list To post a message email: MIDRANGE-L@xxxxxxxxxxxx To subscribe, >unsubscribe, or change list options, >visit: http://lists.midrange.com/mailman/listinfo/midrange-l >or email: MIDRANGE-L-request@xxxxxxxxxxxx Before posting, please take a >moment to review the archives at >http://archive.midrange.com/midrange-l. -- This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list To post a message email: MIDRANGE-L@xxxxxxxxxxxx To subscribe, unsubscribe, or change list options, visit: http://lists.midrange.com/mailman/listinfo/midrange-l or email: MIDRANGE-L-request@xxxxxxxxxxxx Before posting, please take a moment to review the archives at http://archive.midrange.com/midrange-l.
As an Amazon Associate we earn from qualifying purchases.
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.