|
Thanks Buck. Appreciate the code samples, although I knew all that. The point I was trying to make is that the RPG cycle and MR has limits like everything I suppose. One needs to understand the limitations which can only be done after one understands the cycle. To a newcomer it must be very frustrating to use the cycle, it really is obsolete but like a hand operated brace and bit it still works, ( to a degree and don't try to drill concrete). Buck Calabro wrote: > fkolmann wrote: > > >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. > > There's nothing inherently wrong with two programs since you need to pass > through the data twice anyway, but it you want to, you could write 2 SQL > embedded statements along the lines of Select ... from header where ordnum > not in (select ordernbr from detail) and Select ... from detail where > ordernbr not in (select ordnum from header). > > (sticking to the RPG topic) You could also do it in one program like this: > > fhdr if k disk > fdtl if k disk > > setll *loval hdr > loop > read hdr > chain dtl > no record -> print error > endloop > > setll *loval dtl > loop > read dtl > chain hdr > no record -> print error > endloop > > You can do the same thing in RPG II by making 4 F-Specs and using overrides. > Define one primary (header), one secondary (detail) and 2 files to CHAIN to. > > Buck Calabro > + +--- | 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-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.