1. The syntax of INREC OVERLAY=… seems to result in “Syntax Error”, isn’t it?
2. The statement REFORMAT is executed before INREC.
(Output from REFORMAT is used as input to INREC)
So, the result of REFORMAT is 38+5=43 bytes.
If so, it is not clear: what should be converted by INREC OVERLAY at positions 80, and 88?
Btw,You can use an INREC statement in
JNF1CNTL and/or JNF2CNTL to normalize the keys for the F1 file and/or F2.
Approximate record counts
SORTJNF1 - 70 Million
SORTJNF2 - 20 Million
SORTOUT - 20 Million
All the records(matching keys) from SORTJNF2 are present in SORTJNF1. From the previous Production Easytrieve run logs, I see this has been the case as well.
I have tried using INREC OVERLAY=(80,08,PD,TO=PDF,88:08,PD,TO=PDF) in JNF1CNTL but still no improvement in the CPU performance.
Joined: 15 Aug 2015 Posts: 1329 Location: Bamberg, Germany
Basically you need to rebuild (or reduce) the records into Key (80,8) for each, plus F2:1,38 in JNF2CNTL and F1:6,5 in JNF1CNTL. You have to adjust the JOINKEYS FIELDS for this, and conversion to format PDF can be done once join processing has completed.
I did not receive any response to my previous questions… There are obvious errors which nobody takes care about.
Now I can suggest: in both //JFN1CNTL and //JFN2CNTL to truncate records in INREC to only those fields needed for subsequent JOINKEYS, and REFORMAT.
It can significantly reduce the total size of data to be processed, and potentially speed-up the whole process.
Try BI format on keys along with trimming the data in subtask than in the maintask. If nothing works then work with site support to see if any of installation options are impacting this or can be changed to further time it.
www.ibm.com/docs/en/zos/2.3.0?topic=efficiently-tuning-main-storage
Next step: REFORMAT FIELDS=(F2:1,38,F1:6,5)
will produce the record of 38+5=43 bytes.
This 43-bytes records is passed to INREC OVERLAY=(80,08,PD,TO=PDF,88:08,PD,TO=PDF)
which definitely will give the error like this one: "position specified is out of the record field", because both positions 80, and 88 are greater than 43.