IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

Help in need in SORT JCL


IBM Mainframe Forums -> DFSORT/ICETOOL
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
sathish_rathinam

New User


Joined: 22 Aug 2005
Posts: 59
Location: india

PostPosted: Fri Jun 27, 2008 11:26 am
Reply with quote

I have two files like below

File1 : here XYZ,PQR,WWW,ZZZ,YYY should be compared with second file key values

ABCDEFGHIJKLMXYZ123123
ABCDEFGHIJKLMXYZ12367676
ABCDEFGHIJKLMXYZ123567567
ABCDEFGHIJKLMXYZ12345645
ABCDEFGHIJKLMPQR123123
ABCDEFGHIJKLMPQR12367676
ABCDEFGHIJKLMPQR123567567
ABCDEFGHIJKLMPQR12345645
ABCDEFGHIJKLMWWW123123
ABCDEFGHIJKLMWWW12367676
ABCDEFGHIJKLMZZZ123123
ABCDEFGHIJKLMZZZ12367676
ABCDEFGHIJKLMYYY123123
ABCDEFGHIJKLMYYY12367676

File2:- in this file the key field position was first three characters

XYZ
PQR
WWW


Out put should be

Match records from File1:-

ABCDEFGHIJKLMXYZ123123
ABCDEFGHIJKLMXYZ12367676
ABCDEFGHIJKLMXYZ123567567
ABCDEFGHIJKLMXYZ12345645
ABCDEFGHIJKLMPQR123123
ABCDEFGHIJKLMPQR12367676
ABCDEFGHIJKLMPQR123567567
ABCDEFGHIJKLMPQR12345645
ABCDEFGHIJKLMWWW123123
ABCDEFGHIJKLMWWW12367676

Un matched records from file1

ABCDEFGHIJKLMZZZ123123
ABCDEFGHIJKLMZZZ12367676
ABCDEFGHIJKLMYYY123123
ABCDEFGHIJKLMYYY12367676



How can i get the above result from the input.
Pleae help me out in this problem.
Back to top
View user's profile Send private message
Skolusu

Senior Member


Joined: 07 Dec 2007
Posts: 2205
Location: San Jose

PostPosted: Fri Jun 27, 2008 9:48 pm
Reply with quote

sathish_rathinam,

The following DFSORT/ICETOOL JCl will give you the desired results. I assumed that your input files are of FB recfm and 80 bytes in length. The matching key in file 1 is pos 14 for 3 bytes and in file 2 it is in pos 1 for 3 bytes



Code:

//STEP0100 EXEC PGM=ICETOOL                                   
//TOOLMSG  DD SYSOUT=*                                       
//DFSMSG   DD SYSOUT=*                                       
//IN1      DD *                                               
ABCDEFGHIJKLMXYZ123123                                       
ABCDEFGHIJKLMXYZ12367676                                     
ABCDEFGHIJKLMXYZ123567567                                     
ABCDEFGHIJKLMXYZ12345645                                     
ABCDEFGHIJKLMPQR123123                                       
ABCDEFGHIJKLMPQR12367676                                     
ABCDEFGHIJKLMPQR123567567                                     
ABCDEFGHIJKLMPQR12345645                                     
ABCDEFGHIJKLMWWW123123                                       
ABCDEFGHIJKLMWWW12367676                                     
ABCDEFGHIJKLMZZZ123123                                       
ABCDEFGHIJKLMZZZ12367676                                     
ABCDEFGHIJKLMYYY123123                                       
ABCDEFGHIJKLMYYY12367676                                     
//IN2      DD *                                               
XYZ                                                           
PQR                                                           
WWW                                                           
//T1       DD DSN=&&T1,DISP=(MOD,PASS),SPACE=(CYL,(1,1),RLSE)
//MATCH    DD SYSOUT=*                                       
//UNMATCH  DD SYSOUT=*                                       
//TOOLIN   DD *                                               
  COPY FROM(IN2) USING(CTL1)                                 
  COPY FROM(IN1) USING(CTL2)                                 
  SPLICE FROM(T1) TO(MATCH) ON(14,3,CH) KEEPNODUPS KEEPBASE -
  WITHALL WITH(01,80) USING(CTL3)                             
//CTL1CNTL DD *                                               
  OUTFIL FNAMES=T1,BUILD=(14:1,3,81:C'22',1,3)               
//CTL2CNTL DD *                                               
  OUTFIL FNAMES=T1,OVERLAY=(81:C'11',3X)                     
//CTL3CNTL DD *                                               
  OUTFIL FNAMES=MATCH,BUILD=(1,80),                           
  INCLUDE=(81,2,CH,EQ,C'22',AND,(14,3,CH,EQ,83,3,CH,AND,     
            1,13,CH,NE,C' '))                                 
  OUTFIL FNAMES=UNMATCH,BUILD=(1,80),                         
  INCLUDE=(81,2,CH,EQ,C'11')                                 
/*


Hope this helps...

Cheers
Back to top
View user's profile Send private message
sathish_rathinam

New User


Joined: 22 Aug 2005
Posts: 59
Location: india

PostPosted: Mon Jun 30, 2008 10:20 am
Reply with quote

Hi Skolusu,

Icetool job given by you works fine.Thanks alot.

Regards,
Sathish
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> DFSORT/ICETOOL

 


Similar Topics
Topic Forum Replies
No new posts Need to set RC4 through JCL SORT DFSORT/ICETOOL 5
No new posts How to split large record length file... DFSORT/ICETOOL 10
No new posts JCL sort card - get first day and las... JCL & VSAM 9
No new posts Sort First/last record of a subset th... DFSORT/ICETOOL 7
No new posts how to calculate SUM value for VB fil... DFSORT/ICETOOL 1
Search our Forums:

Back to Top