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



Carl,

Like Mike Barton suggested, you should rename one set of fields to match the field names of the other file. The way it is coded a L1 control break when the value of PLOCSZ or PLOCVT or PLOITM or IVSCSZ or IVSCVT or IVSITM changes. So a record in PLNMJ1 triggers L1 because it changes the PLOxxx fields and the equivalent record in INVSUM triggers another L1 because it changes the IVSxxx fields.

Other remarks:

Mike also noted that you should probably have a control break on xxxYER as well. In the (probably highly unlikely) case that you have consecutive records with all match fields except xxxYER alike, you would not get a level break.

Your program has a problem when you have a record in one file without a match in the other file. In that case you use information from the last record in the previous group. A better way would be:
- At L1 (detail time): Initialize print fields
- At 01 (record from PLNMJ1): move information from PLNMJ1 to print fields
- At 02 (record from INVSUM): move information from INVSUM to print fields
- At L1 (total time): print


If you are only interested in L1 you might just as well use L1 for all your match fields.

Joep Beckeringh


Mañoso, Carl wrote:
Mabuhay RPG gurus!

A colleague has this problem, which I cannot solve, involving primary and
secondary files and match fields. Here are the relevant code fragments and a
sample output. A record pertaining to a particular key doesn't necessarily
have to be in both files.

SAMPLE PROGRAM
==============
IPLNMJ1 01 I PLOYER M6
I PLOMKTL3M5
I PLOIGRL2M4
I PLOCSZL1M3
I PLOCVTL1M2
I PLOITML1M1
IINVSUM 02 I IVSYER M6
I IVSMKTL3M5
I IVSIGRL2M4
I IVSCSZL1M3
I IVSCVTL1M2
I IVSITML1M1
----------
MAIN
----------
.
.
.
CL1 EXSR PRTDTL
.
.



SAMPLE OUTPUT
=============
Cur Mo. Total Item_ Size__ Variety___ Market_PO_Description____ ___PO__ Shipmts
CONC FOR DC OR DIRECT *1* 01160 12-46 PO EUROPE MARKET 1,000


*1*  01160  12-46   PO          EUROPE MARKET                           204

*2* 01254 6-10 J- EUROPE MARKET 1,000 *2* 01254 6-10 J- EUROPE MARKET 272

                                Sub-total                    2,000      476


QUESTION ======== *INL1 controls the printing of a detail line. In the sample output above, lines indicated by *1* should supposedly appear in one line, lines indicated by *2* also in one line. However, as you can see, *INL1 is triggered twice, one for each file (primary and secondary), so that they were printed on two separate lines. Printing on every other setting of *INL1 also doesn't work because the records pertaining to a particular key need not appear in both files.

Does anybody here knows of a technique that will print the summary of a
record with details coming from two separate files in a single line? We are
using RPG/400 on V4R5M0 (by order of our BDFL).

Thanks in advance.

--
Carl Mañoso
"It is not real work unless you would rather be doing something else."
[J.M.BARRIE]




As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

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.