|
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.