|
With this scenario, unless you particularly WANT a program, I would say you should use a Query with a join type '3' (Unmatched records with primary file). Of course, you would need a few queries (Order Detail vs Order Header, Invoice Detail vs Order Detail), but each would be lucky to take 60 seconds to write. This is the way I always deal with these sorts of jobs. Matching Records is a pain. I've used them a few times in the past (S/34, S/36), but never on an AS/400. They are not really suitable for the current batch or programmers. Most AS/400 only programmers, for instance, would not be familiar with record level indicators, which really are needed to use MR properly. fkolmann@revlon.com.au on 18/02/2000 08:45:09 Please respond to RPG400-L@midrange.com To: RPG400-L@midrange.com cc: (bcc: STEVEN J RYAN/DIAU) Subject: Re: RPG Cycle OK. Still the RPG cycle is 'supposed' do handle all READS WRITES UPDATEs in hidden manner. The fact that the file IO in NOT specifically coded for is what confuses most beginners. Anyhow recently I had this case, Order Header File (Keyed by Order number) Order Detail File (Keyed by Order Number, Line Number) Invoice Detail File (Keyed by Order Number , Line Number) I asked a programmer to use Control breaks and MR to find mismatched Headers and also mismatches between the Order Lines and Invoice Lines, we had a problem using MR to find orphaned Invoice Detail Lines, we had to write 2 programs the first using the Header as a primary file, the second used the Detail as the Primary file. Perhaps you have a suggestion how we can do this with one program. pcunnane@learningco.com wrote: > It quickly becomes a hair-splitting excercise, but splitting hairs is > sometimes the most effective way to understand something in detail. > > When you create an RPG program, the compiler inserts the cycle code. > It's always there. If you don't have a primary file, chunks of the > cycle don't get executed (such as primary input, total output), but > they are still there. When the mainline of your code executes, it is > the first cycle of the detail time calculations. To prevent your > program from looping through the cycle indefinitely, you have to set > LR or execute a RETRN/return. > > Coding H NOMAIN prevents the cycle code from being included in the > program at all. > > To say that every programming language has a cycle of sorts is to > misunderstand how the cycle works. There is no way to get a C program > to constantly repeat its main() routine; you have to code a loop > within main(). RPG will happily repeat the mainline C-specs until it > finds an explicit exit. > > Peter Dow: I loved your non-primary cycle example! > > ____________ > Paul Cunnane +--- | This is the RPG/400 Mailing List! | To submit a new message, send your mail to RPG400-L@midrange.com. | To subscribe to this list send email to RPG400-L-SUB@midrange.com. | To unsubscribe from this list send email to RPG400-L-UNSUB@midrange.com. | Questions should be directed to the list owner/operator: david@midrange.com +--- +--- | This is the RPG/400 Mailing List! | To submit a new message, send your mail to RPG400-L@midrange.com. | To subscribe to this list send email to RPG400-L-SUB@midrange.com. | To unsubscribe from this list send email to RPG400-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.