I am trying now to compare previous & current for the same file. Trying to catch the records being added, deleted and changed...
But the field I want to compare is a variable one. can be up to 255. Due to limitations on Syncsort Joinkeys, I am setting the field comparison to 64 bytes only....
Example 7 on "Exploiting Syncsort MFX: JOIN" manual is almost the one I need... except that I need the Join keys to be variable, also the input and output files...
so, according to the manual I should use REFORMAT from Section 2.234 of Programmer's Guide....
According to it, because I want the output files to be variable length to, I should add the RDW at the front of the record and the variable fields at the end without a length. I also put both variable fields at the end.
I want to exclude the identical records.
I am including RDWs from both input files, but apparently I need another RDW for each output file.
How can I solve this?
WER813I INSTALLATION OPTIONS IN MFX LOAD LIBRARY WILL BE USED
WER276B SYSDIAG= 5009393, 12351294, 12351294, 9737185
WER164B 46,016K BYTES OF VIRTUAL STORAGE AVAILABLE, MAX REQUESTED,
WER164B 0 BYTES ESRERVE REQUESTED, 1,000K BYTES USED
WER146B 20K BYTES OF EMERGENCY SPACE ALLOCATED
WER481I JOINKEYS REFORMAT RECORD LENGTH= 548, TYPE = V
WER235A SORTOF2 OUTREC RDW NOT INCLUDED
WER211B SYNCSMF CALLED BY SYNCSORT; RC=0000
WER449I SYNCSORT GLOBAL DSM SUBSYSTEM ACTIVE
WER482I JNF1 STATISTICS
WER483B 22,776K BYTES OF VIRTUAL STORAGE AVAILABLE, MAX REQUESTED,
WER483B 0 BYTES ESRERVE REQUESTED, 1,000K BYTES USED
WER108I SORTJNF1 : RECFM=VB ; LRECL= 275; BLKSIZE= 27998
On top of that, REFORMAT records with two variable parts are... exciting.
You have two, more useful, possibilities: use a fixed-length REFORMAT record, and FTOV/CONVERT with VLTRIM on the OUTFILs; use one fixed-length source and one variable-length, and only one FTOV/CONVERT in OUTFIL.
It's also not clear what limitation you came across in the JOINKEYS which means you've stuck to 64 bytes.
Presuming that your data is in key order, use SORTED on each of the JOINKEYS statements. If not in key order, then you may be representing an artificial picture.
It's an oblique way of telling you that if you use OUTFIL reporting features you need an A in your RECFM for the output, because a printer-control character is inserted before the first position of each record.
Now, you don't actually want that. You'd like those Control Characters to not be there. So on the OUTFIL, you specify REMOVECC, and they won't be there.
Please use the Code tags, not the Quote tags, for marking-up anything which needs to retain proportional spacing.