I have two files of length 500 and same structure . I am comparing the files and updating the first file (F1) , with values from 50th position of F2. I am using be below JCL to update my first file and working fine.
ICE214A F DUPLICATE, CONFLICTING, OR MISSING OUTFIL STATEMENT OPERANDS
ICE005A 0 BLANK NEEDED IN COLUMN 1 OR OPERATION NOT DEFINED CORRECTLY
can you please let me know how can I correct the error and create the unmatched file in the same step.
Please learn to use the code tags to make things easier to read. They are easy to use
I am getting the expected results for overlay , that is file F1 in 50th position is updating perfectly with the 50 th position from file F2. , with my first JCL. Only problem is when I tried to write the unmatched records for F1 , I am getting error.
Joined: 08 May 2006 Posts: 1095 Location: Dublin, Ireland
I misread the REFORMAT statement v
However, I suggested moving the last close parenthesis of the IFTHEN from after the OVERLAY to after the BUILD, then continue into the next IFTHEN which has the OVERLAY omitted and has the closing parenthesis after a separate BUILD.
In your first IFTHEN= group, subparameters BUILD=, and OVERLAY= are mutually exclusive.
You need to review the logic of your parameters.
It might be easier to catch similar problems, including misplaced parenthesis, if you aligned your code properly (with logical indentation), and divided parameters by lines.
This is an extra recommendation besides of standard one: always use code tags in your questions.
But your later posts show that you are including only matching records into OUT1, if that is what you want you can add an INCLUDE in OUT1 OUTFIL to extract only 'B' records.
IFOUTLEN would help limit your final record length - if that is what you were trying to do with the extra BUILD. You had it in your original control card but looks like you left that out in your 'modified' control card.