Need help with join keys in Syncsort



Support for NetApp SyncSort for z/OS, Visual SyncSort, SYNCINIT, SYNCLIST and SYNCTOOL

Need help with join keys in Syncsort

Postby kiran_wiproblr » Thu Sep 11, 2014 8:10 pm

Hi All,

Could you please help me with sort card for below requirement?

File-1
----+----1----+
TEST     1111
AAAAAAAAAAAAA
BBBBBBBBBBBBB
TEST     2222
CCCCCCCCCCCCC
CCCCCCCCCCCCC
TEST     3333
DDDDDDDDDDDDD
EEEEEEEEEEEEE
TEST     2222
FFFFFFFFFFFFF
GGGGGGGGGGGGG
TEST     4444
HHHHHHHHHHHHH
TEST     3333


File-2
----+----1
1111
2222
3333
4444



Expected output
----+----1----+
TEST     Z1111
AAAAAAAAAAAAA
BBBBBBBBBBBBB
TEST     Z2222
CCCCCCCCCCCCC
CCCCCCCCCCCCC
TEST     Z3333
DDDDDDDDDDDDD
EEEEEEEEEEEEE
TEST     Z2222
FFFFFFFFFFFFF
GGGGGGGGGGGGG
TEST     Z4444
HHHHHHHHHHHHH
TEST     Z3333



in normal text
----+----1----+
TEST Z1111
AAAAAAAAAAAAA
BBBBBBBBBBBBB
TEST Z2222
CCCCCCCCCCCCC
CCCCCCCCCCCCC
TEST Z3333
DDDDDDDDDDDDD
EEEEEEEEEEEEE
TEST Z2222
FFFFFFFFFFFFF
GGGGGGGGGGGGG
TEST Z4444
HHHHHHHHHHHHH
TEST Z3333



Key (1st to 4th position) of file-2 has to match with key of file-1(10th position to 14th position)

If key is matched output has to write with added ā€œZā€ character(As highlighted in red color ) before key and rest has to copy as in file-1.

I am OK to have even in 2 or 3 steps -- Please help me.


Thanks
Kiran
kiran_wiproblr
 
Posts: 21
Joined: Fri Feb 10, 2012 11:10 pm
Has thanked: 0 time
Been thanked: 0 time

Re: Need help with join keys in Syncsort

 

Re: Need help with join keys in Syncsort

Postby NicC » Thu Sep 11, 2014 8:51 pm

Syncsort topics are posted in the Syncsort part of the forum. Moving.
The problem I have is that people can explain things quickly but I can only comprehend slowly.
Regards
Nic
NicC
Global moderator
 
Posts: 2690
Joined: Sun Jul 04, 2010 12:13 am
Location: Pushing up the daisys (almost)
Has thanked: 4 times
Been thanked: 105 times

Re: Need help with join keys in Syncsort

Postby kiran_wiproblr » Sat Sep 13, 2014 12:54 pm

Hi All,

could you please provide clue, how I can get my desired output.

Regards,
Venu.
kiran_wiproblr
 
Posts: 21
Joined: Fri Feb 10, 2012 11:10 pm
Has thanked: 0 time
Been thanked: 0 time

Re: Need help with join keys in Syncsort

Postby Thampy » Sun Sep 14, 2014 6:10 pm

If you are having Syncsort V1.4.2, then your requirement can be done in one step. I am assuming your file1 record length is 80 and record format is fixed block
//STEP010  EXEC  PGM=SORT                                         
//SORTJNF1 DD *                                                   
TEST     1111                                                     
AAAAAAAAAAAAA                                                     
BBBBBBBBBBBBB                                                     
TEST     2222                                                     
CCCCCCCCCCCCC                                                     
CCCCCCCCCCCCC                                                     
TEST     3333                                                     
DDDDDDDDDDDDD                                                     
EEEEEEEEEEEEE                                                     
TEST     2222                                                     
FFFFFFFFFFFFF                                                     
GGGGGGGGGGGGG                                                     
TEST     4444                                                     
HHHHHHHHHHHHH                                                     
TEST     3333                                                 
//SORTJNF2 DD *                                               
1111                                                           
2222                                                           
3333                                                           
4444                                                           
//SORTOUT  DD SYSOUT=*                                         
//SYSOUT   DD SYSOUT=*                                         
//SYSIN   DD   *                                               
  JOINKEYS FILES=F1,FIELDS=(10,4,A)                           
  JOINKEYS FILES=F2,FIELDS=(1,4,A)                             
  JOIN UNPAIRED,F1                                             
  REFORMAT FIELDS=(F1:1,85,?)                                 
  INREC IFTHEN=(WHEN=(86,1,CH,EQ,C'B'),OVERLAY=(9:C'Z'))       
  SORT FIELDS=(81,5,ZD,A)                                     
  OUTREC BUILD=(1,80)                                         
/*                                                             
//JNF1CNTL   DD *                                             
  INREC OVERLAY=(81:SEQNUM,5,ZD)                               
//*


Alternatively you can use two sort steps to do the same if you don't have syncsort V1.4.2.
//STEP010  EXEC  PGM=SORT                                           
//SORTIN   DD *                                                     
TEST     1111                                                       
AAAAAAAAAAAAA                                                       
BBBBBBBBBBBBB                                                       
TEST     2222                                                       
CCCCCCCCCCCCC                                                       
CCCCCCCCCCCCC                                                       
TEST     3333                                                       
DDDDDDDDDDDDD                                                       
EEEEEEEEEEEEE                                                       
TEST     2222                                                       
FFFFFFFFFFFFF                                                       
GGGGGGGGGGGGG                                                       
TEST     4444                                                       
HHHHHHHHHHHHH                                                       
TEST     3333                                                         
//SORTOUT  DD DSN=&&T1,DISP=(,PASS),LRECL=85,RECFM=FB,               
//         SPACE=(TRK,(10,10),RLSE)                                   
//SYSOUT   DD SYSOUT=*                                               
//SYSIN   DD   *                                                     
  SORT FIELDS=COPY                                                   
  OUTREC OVERLAY=(81:SEQNUM,5,ZD)                                     
//*
//STEP020  EXEC  PGM=SORT                                             
//SORTJNF1 DD DSN=&&T1,DISP=OLD                                       
//SORTJNF2 DD *                                                       
1111                                                                 
2222                                                                 
3333                                                                 
4444                                                                 
//SORTOUT  DD SYSOUT=*                                               
//SYSOUT   DD SYSOUT=*                                               
//SYSIN   DD   *                                                     
  JOINKEYS FILES=F1,FIELDS=(10,4,A)                                   
  JOINKEYS FILES=F2,FIELDS=(1,4,A)                                   
  JOIN UNPAIRED,F1                                                   
  REFORMAT FIELDS=(F1:1,85,F2:1,1)                                   
  INREC IFTHEN=(WHEN=(86,1,CH,NE,C' '),OVERLAY=(9:C'Z'))             
  SORT FIELDS=(81,5,ZD,A)           
  OUTREC BUILD=(1,80)               
/*                                 
Thampy
 
Posts: 35
Joined: Sat Sep 26, 2009 2:27 pm
Has thanked: 0 time
Been thanked: 3 times

Re: Need help with join keys in Syncsort

Postby NicC » Mon Sep 15, 2014 2:35 am

Thampy,
Code and data should be 'coded' not 'quoted'. Fixed it up for you.

kiran_wiproblr/Venu (whatever your name is),
Please do not solicit replies. Remember that people who respond are volunteers and reply on their own time, free, and if they want to.
The problem I have is that people can explain things quickly but I can only comprehend slowly.
Regards
Nic
NicC
Global moderator
 
Posts: 2690
Joined: Sun Jul 04, 2010 12:13 am
Location: Pushing up the daisys (almost)
Has thanked: 4 times
Been thanked: 105 times

Re: Need help with join keys in Syncsort

Postby kiran_wiproblr » Mon Sep 15, 2014 12:31 pm

Thampy,

Thanks a lot for your help,
my File-1 is VB file.

would you please provide any suggestion/code?

NicC,
Thanks for your suggestion.

Thanks
Kiran
kiran_wiproblr
 
Posts: 21
Joined: Fri Feb 10, 2012 11:10 pm
Has thanked: 0 time
Been thanked: 0 time

Re: Need help with join keys in Syncsort

Postby NicC » Mon Sep 15, 2014 4:36 pm

my File-1 is VB file.

Then you should have stated so in the first place. VB files have a 4 byte RDW at the front of each record so solutions are slightly different from Fixed length solutions.

would you please provide any suggestion/code?

Suggest you start looking to add four bytes to the offsets in Thampy's solution above and read the manual to understand his solution and resolve any problems adjusting it.
The problem I have is that people can explain things quickly but I can only comprehend slowly.
Regards
Nic
NicC
Global moderator
 
Posts: 2690
Joined: Sun Jul 04, 2010 12:13 am
Location: Pushing up the daisys (almost)
Has thanked: 4 times
Been thanked: 105 times


Return to Syncsort/Synctool

 


  • Related topics
    Replies
    Views
    Last post