Portal | Manuals | References | Downloads | Info | Programs | JCLs | Mainframe wiki | Quick Ref
IBM Mainframe Computers Forums Index
 
Register
 
IBM Mainframe Computers Forums Index Mainframe: Search IBM Mainframe Forum: FAQ Memberlist Profile Log in to check your private messages Log in
 
SYNCSORT/SYNCTOOL : Is there a better way

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

Active User


Joined: 14 Jun 2005
Posts: 186
Location: USA

PostPosted: Thu May 14, 2009 1:21 am    Post subject: SYNCSORT/SYNCTOOL : Is there a better way
Reply with quote

Here is a job which when account #'s in both files are matching, compares rest of the data and if different write out difference or matching data.

And this job uses two steps:

Code:

//STEP1  EXEC  PGM=SYNCSORT                                             
//SYSOUT    DD  SYSOUT=*                                             
//SORTJNF1  DD *                                                     
ACCT1  AAA                                                           
ACCT2  BBB                                                           
ACCT3  CCC                                                           
ACCT4  DDD                                                           
ACCT5  EEE                                                           
/*                                                                   
//SORTJNF2  DD *                                                     
ACCT1  AA1                                                           
ACCT2  BB1                                                           
ACCT3  CC1                                                           
ACCT4  DDD                                                           
/*                                                                   
//SORTOUT   DD DSN=&&T1,UNIT=SYSDA,SPACE=(CYL,(5,5)),DISP=(,PASS)   
//SYSIN    DD    *                                                   
  JOINKEYS FILE=F1,FIELDS=(1,5,A)                                   
  JOINKEYS FILE=F2,FIELDS=(1,5,A)                                   
  REFORMAT FIELDS=(F1:01,10,F2:6,5)                                 
  SORT FIELDS=COPY                                                   
/*                                                                   
//STEP2  EXEC  PGM=SYNCTOOL     
//TOOLMSG   DD  SYSOUT=*                               
//DFSMSG    DD  SYSOUT=*                               
//IN        DD DSN=&&T1,DISP=(OLD,PASS)               
//OUT1 DD SYSOUT=*                                     
//OUT2 DD SYSOUT=*                                     
//TOOLIN DD *                                         
COPY FROM(IN) USING(CTL1)                             
/*                                                     
//CTL1CNTL DD *                                       
  OUTFIL FNAMES=OUT1,INCLUDE=(6,5,CH,EQ,11,5,CH)       
  OUTFIL FNAMES=OUT2,SAVE                             
/*                                                     
                                     


And I get expected results:

OUT2:

Code:

ACCT1  AAA  AA1   
ACCT2  BBB  BB1   
ACCT3  CCC  CC1   


OUT1:
Code:

ACCT4  DDD  DDD


Can this be accomplished in one step?
Back to top
View user's profile Send private message

santosh.ambaprasad

New User


Joined: 08 Mar 2009
Posts: 16
Location: London

PostPosted: Thu May 14, 2009 3:34 am    Post subject: Reply to: SYNCSORT/SYNCTOOL : Is there a better way
Reply with quote

Hi

Try using SYNCTOOL........ let me know if you see any unexpected result.. icon_smile.gif
Code:

//STEP1 EXEC PGM=SYNCTOOL
//SYSOUT DD SYSOUT=*
//JNF1  DD *                                                     
ACCT1AAA                                                           
ACCT2BBB                                                           
ACCT3CCC                                                           
ACCT4DDD                                                           
ACCT5EEE                                                           
/*                                                                   
//JNF2  DD *                                                     
ACCT1AA1                                                           
ACCT2BB1                                                           
ACCT3CC1                                                           
ACCT4DDD                                                           
/*                                                                   
//TEMP DD DSN=&&TEMP,DISP=MOD
//OUT1 DD *
//OUT2 DD *
//TOOLIN DD *
  COPY FROM(JNF1) TO(TEMP) USING CNTL1
  COPY FROM(JNF2) TO(TEMP) USING CNTL2
  SPLICE FROM(TEMP) TO(OUT2) ON(3,8,CH) WITH(12,1) USING CNTL3
  SPLICE FROM(TEMP) TO(OUT1) ON(3,5,CH) WITH(02,1) USING CNTL4
//CNTL1CNTL DD *
  OUTREC=(C'11',1,8,C'11')
//CNTL2CNTL DD *
  OUTREC=(C'22',1,8,C'22')
//CNTL3CNTL DD *
  OUTFIL FNAMES=OUT2,INCLUDE=(11,2,CH,EQ,C'12')
//CNTL4CNTL DD *
  OUTFIL FNAMES=OUT1,INCLUDE=(1,2,CH,EQ,C'12')
Back to top
View user's profile Send private message
Arun Raj

Moderator


Joined: 17 Oct 2006
Posts: 2285
Location: @my desk

PostPosted: Thu May 14, 2009 9:04 am    Post subject:
Reply with quote

MFRASHEED,

You can include those OUTFIL statements in your initial JOIN itself like this in order to accomplish this. And do remember to add OUT1 and OUT2 ddnames instead of SORTOUT.
Code:
//SYSIN     DD *                               
  JOINKEYS FILE=F1,FIELDS=(1,5,A)               
  JOINKEYS FILE=F2,FIELDS=(1,5,A)               
  REFORMAT FIELDS=(F1:01,10,F2:6,5)             
  SORT FIELDS=COPY                             
  OUTFIL FNAMES=OUT1,INCLUDE=(6,5,CH,EQ,11,5,CH)
  OUTFIL FNAMES=OUT2,SAVE 
Back to top
View user's profile Send private message
MFRASHEED

Active User


Joined: 14 Jun 2005
Posts: 186
Location: USA

PostPosted: Fri May 15, 2009 12:09 am    Post subject:
Reply with quote

Thanks to both of you, solution works.
Back to top
View user's profile Send private message
Arun Raj

Moderator


Joined: 17 Oct 2006
Posts: 2285
Location: @my desk

PostPosted: Fri May 15, 2009 12:37 am    Post subject:
Reply with quote

You're welcome. Since you have SyncSort JOIN, I would recommend a simple Syncsort JOIN solution rather than a Synctool SPLICE job which would involve additional data passes.
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 Split 1 file into 10 output Files - S... Prasanth Kumar SYNCSORT 5 Sat Sep 16, 2017 12:02 am
No new posts SYNCSORT SEQNUM and FI fields. nartcr SYNCSORT 7 Sat Jan 21, 2017 4:02 am
No new posts Syncsort Help to group fields sudhakarraju SYNCSORT 6 Thu Dec 29, 2016 1:38 am
No new posts syncsort: copy lines after the keyword shreya19 SYNCSORT 7 Fri Dec 02, 2016 9:47 am
No new posts Syncsort - Hard coded Value in output PORYES SYNCSORT 1 Thu Nov 03, 2016 9:23 am

Facebook
Back to Top
 
Job Vacancies | Forum Rules | Bookmarks | Subscriptions | FAQ | Polls | Contact Us