Bill, It is quite simple to get a mismatch file using JOINKEYS. There are a couple of DFSORT smart tricks which shows the usage of Joinkeys
Join fields from two files on a key Join fields from two files record-by-record Cartesian join Create files with matching and non-matching records http://www-01.ibm.com/support/docview.wss?rs=114&uid=isg3T7000094 In your case you wanted a little more about validating the data even on a match. So use the following DFSORT JCL which will give you the desired results. I added a 23 byte text to denote how the mismatch occurred. RECORD FOUND ONLY IN F1 RECORD FOUND ONLY IN F2 KEY MATCH DATA MISMATCH You will find this text at the end of each record. ie. at position 2525. //STEP0100 EXEC PGM=SORT //SYSOUT DD SYSOUT=* //INA DD DISP=SHR,DSN=Your Input 2524 File A //INB DD DISP=SHR,DSN=Your Input 2524 File B //SORTOUT DD SYSOUT=* //SYSIN DD * JOINKEYS F1=INA,FIELDS=(1,24,A) JOINKEYS F2=INB,FIELDS=(1,24,A) JOIN UNPAIRED REFORMAT FIELDS=(F1:1,2524,F2:1,2524,?) OPTION COPY OMIT COND=(5049,001,CH,EQ,C'B',AND, 0025,256,CH,EQ,2549,256,CH,AND, 0281,256,CH,EQ,2805,256,CH,AND, 0537,256,CH,EQ,3061,256,CH,AND, 0793,256,CH,EQ,3317,256,CH,AND, 1049,256,CH,EQ,3573,256,CH,AND, 1305,256,CH,EQ,3829,256,CH,AND, 1561,256,CH,EQ,4085,256,CH,AND, 1817,256,CH,EQ,4341,256,CH,AND, 2073,256,CH,EQ,4597,256,CH,AND, 2329,196,CH,EQ,4853,196,CH) INREC IFOUTLEN=2547, IFTHEN=(WHEN=(5049,1,CH,EQ,C'1'), BUILD=(0001,2524,C'RECORD FOUND ONLY IN F1')), IFTHEN=(WHEN=(5049,1,CH,EQ,C'2'), BUILD=(2525,2524,C'RECORD FOUND ONLY IN F2')), IFTHEN=(WHEN=NONE, BUILD=(1,2524,C'KEY MATCH DATA MISMATCH')) //* //JNF1CNTL DD * OPTION DYNALLOC=(,8) //* //JNF2CNTL DD * OPTION DYNALLOC=(,8) //* Here is a detailed explanation of Joinkeys. http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/ICE1CA60/4.0? Further if you have any questions please let me know Thanks, Sri Hari Kolusu DFSORT Development IBM Corporation Email: skol...@us.ibm.com Phone: 408-927-2187 Tie Line: 457-2187 From: Bill Ashton <bill00ash...@gmail.com> To: IBM-MAIN@LISTSERV.UA.EDU Date: 11/18/2014 04:58 AM Subject: Sort to show differences in a 2-file match Sent by: IBM Mainframe Discussion List <IBM-MAIN@LISTSERV.UA.EDU> Hi Sri et al., I have 2 files that I would like to compare, file "A" has 50000 records, and file "B" only a subset of that - maybe 1000 records. They have the same key (pos 1, len 24), but are not unloaded in key order. The records are 2524 bytes long (24 byte key + 2500 bytes data). I know I can sort them in one step to fix that problem, but then I want to produce a file "C" of only the mismatches: * Records in A, not in B * Records in B, not in A * Records in A with matching keys to B, but the data in A does not match B I have done this before in CA Easytrieve, but this client does not have that. Is there a way to do this in a SORT step? -- Thank you and best regards, *Billy Ashton* ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN