Portal | Manuals | References | Downloads | Info | Programs | JCLs | Master the Mainframes
IBM Mainframe Computers Forums Index
 
Register
 
IBM Mainframe Computers Forums Index Mainframe: Search IBM Mainframe Forum: FAQ Memberlist Usergroups Profile Log in to check your private messages Log in
 

 

Compare two files (Using SYNCSORT or Batch FileAid)

 
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> JCL & VSAM
View previous topic :: :: View next topic  
Author Message
hcl_ln

New User


Joined: 14 Sep 2005
Posts: 21

PostPosted: Tue Nov 13, 2007 10:28 am    Post subject: Compare two files (Using SYNCSORT or Batch FileAid)
Reply with quote

Does anybody know of some batch FILE-AID or SYNCSORT that compares two files and gives a third file, listing out the records that were on one file but not the other?

Here is the example of what I am trying to achieve:

File 1: FB,80
Values are: 1,2,3,4,5

File2: FB,80
Values are: 1,5,6,7,8,9

Now the output should contain:
File3: FB,80
Values should be: 2,3,4

That means "the utility" should eliminate the records that are common to both the files and write the records from the first file to the output file.

I could achieve thru INSYNC batch utility, but since INSYNC is going away in our shop (and is being replaced by FILE-AID), the use of either FILE-AID or SYNCSORT is important.

Any help would be greatly appreciated.

Here is my INSYNC utility.

Code:
//INSYNC1    EXEC PGM=INSYNC,PARM=MVS                               
//#ELIBDD  DD DISP=SHR,DSN=xx.xx.xx                       
//SYSTSPRT DD SYSOUT=*                                           
//#LOG     DD SYSOUT=*                                           
//#PRINT   DD SYSOUT=*                                           
//#INDD1   DD DISP=SHR,DSN=FILE1       
//#INDD2   DD DISP=SHR,DSN=FILE2
//#CMPISRT DD DSN=FILE3,
//             DISP=..,UNIT=..,SPACE=..,DCB=..
//#PARM    DD *                                                 
FUNCTION=COMPARE       
INDD1=#INDD1                                                     
INDD2=#INDD2                                                     
RDW=OFF                                                         
PRINTMODE=CHAR                                                   
PRINTNEWPAGE=NO                                                 
LINESPERPAGE=065                                                 
MAXSYNC=9999                                                     
//*
Back to top
View user's profile Send private message

Aaru

Senior Member


Joined: 03 Jul 2007
Posts: 1288
Location: Chennai, India

PostPosted: Tue Nov 13, 2007 10:47 am    Post subject: Reply to: Compare two files (Using SYNCSORT or Batch FileAid
Reply with quote

Hcl_in,

Use this for your requirement.

Code:
//S1    EXEC  PGM=SYNCTOOL                                     
//TOOLMSG DD SYSOUT=*                                         
//DFSMSG  DD SYSOUT=*                                         
//IN1 DD *                                                     
1                                                             
2                                                             
3                                                             
4                                                             
5                                                             
/*                                                             
//IN2 DD *                                                     
1                                                             
5                                                             
6                                                             
7                                                             
8                                                             
9                                                             
/*                                                             
//OUT  DD SYSOUT=*                                             
//T1 DD DSN=&&B1,UNIT=SYSDA,SPACE=(CYL,(5,5)),DISP=(MOD,PASS)     
//TOOLIN DD *                                                     
COPY FROM(IN1) TO(T1) USING(CTL1)                                 
COPY FROM(IN2) TO(T1) USING(CTL2)                                 
  SELECT FROM(T1) TO(OUT) ON(1,1,CH) NODUPS USING(CTL3)           
/*                                                                 
//CTL1CNTL DD *                                                   
  INREC OVERLAY=(81:C'1')                                         
/*                                                                 
//CTL2CNTL DD *                                                   
  INREC OVERLAY=(81:C'2')                                         
/*                                                                 
//CTL3CNTL DD *                                                   
  OUTFIL FNAMES=OUT,INCLUDE=(81,1,CH,EQ,C'1'),                     
     BUILD=(1,80)                                                 
/*                                                                 


output:

Code:
***************************** Top o
2                                 
3                                 
4                                 
**************************** Bottom


Direct the output to a PS.
Back to top
View user's profile Send private message
krisprems

Active Member


Joined: 27 Nov 2006
Posts: 649
Location: India

PostPosted: Tue Nov 13, 2007 11:05 am    Post subject:
Reply with quote

hcl_ln

You could handle this file comparison, and do the Left outer JOIN using the JOINKEYS function:
Code:
//******************************************************************** 
//SORT1    EXEC PGM=SYNCSORT                                           
//SORTJNF1 DD *                                                         
1                                                                       
2                                                                       
3                                                                       
4                                                                       
5                                                                       
/*                                                                     
//SORTJNF2 DD *                                                         
1                                                                       
5                                                                       
6                                                                       
7                                                                       
8                                                                       
9                                                                       
/*                                                                     
//SORTOUT DD SYSOUT=*                                                   
//SYSOUT   DD SYSOUT=*                                                 
//SYSIN    DD *                                                                                                          JOINKEYS FILE=F1,FIELDS=(1,1,A)                                       
 JOINKEYS FILE=F2,FIELDS=(1,1,A)                                       
 JOIN UNPAIRED,F1,ONLY                                                 
 REFORMAT FIELDS=(F1:1,80)                                             
 SORT FIELDS=COPY                                                       
//*                                                                     
Back to top
View user's profile Send private message
hcl_ln

New User


Joined: 14 Sep 2005
Posts: 21

PostPosted: Wed Nov 14, 2007 7:39 pm    Post subject:
Reply with quote

Thank you both for your suggestions.
I really appreciate it.
Back to top
View user's profile Send private message
krisprems

Active Member


Joined: 27 Nov 2006
Posts: 649
Location: India

PostPosted: Wed Nov 14, 2007 7:54 pm    Post subject:
Reply with quote

You are welcome
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> JCL & VSAM All times are GMT + 6 Hours
Page 1 of 1

 

Search our Forum:

Similar Topics
Topic Author Forum Replies Posted
No new posts MIPS/CPU consumption reduction in Batch vishwakotin DFSORT/ICETOOL 4 Sat Mar 18, 2017 5:46 pm
No new posts Append data from two files into a sin... Praveen04 DFSORT/ICETOOL 5 Thu Mar 16, 2017 7:29 pm
No new posts SYNCSORT SEQNUM and FI fields. nartcr SYNCSORT 7 Sat Jan 21, 2017 4:02 am
No new posts Storing huge volume of data, compare ... Pradeep K M All Other Mainframe Topics 3 Mon Jan 16, 2017 5:08 pm
No new posts Syncsort Help to group fields sudhakarraju SYNCSORT 6 Thu Dec 29, 2016 1:38 am


Facebook
Back to Top
 
Mainframe Wiki | Forum Rules | Bookmarks | Subscriptions | FAQ | Tutorials | Contact Us