×

Good News Everybody!

The new search engine is LIVE!

Please report any problems to david (at) 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-2026 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.