× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



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


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

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.