MVSFORUMS.com Forum Index MVSFORUMS.com
A Community of and for MVS Professionals
 
 FAQFAQ   SearchSearch   Quick Manuals   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Which version of DFSORT supports joining files?

 
Post new topic   Reply to topic   printer-friendly view    MVSFORUMS.com Forum Index -> Utilities
View previous topic :: View next topic  
Author Message
srini_igsi
Beginner


Joined: 12 May 2006
Posts: 41
Topics: 16
Location: Mumbai

PostPosted: Fri Jan 23, 2009 6:39 am    Post subject: Which version of DFSORT supports joining files? Reply with quote

Hi,

Our shop has got DFSORT V1R5. When I tried to joing the files using 'JOINKEYS FILE' control statements, my job is abending with U0005.

SYSOUT:
Code:

ICE143I 0 BLOCKSET     COPY  TECHNIQUE SELECTED                                 
ICE250I 0 VISIT http://www.ibm.com/storage/dfsort FOR DFSORT PAPERS, EXAMPLES AN
ICE000I 1 - CONTROL STATEMENTS FOR 5694-A01, Z/OS DFSORT V1R5 - 06:05 ON FRI JAN
            JOINKEYS FILE=F1,FIELDS=(01,03,A)                                   
            $                                                                   
ICE005A 0 STATEMENT DEFINER ERROR                                               
            JOINKEYS FILE=F2,FIELDS=(01,03,A)                                   
            $                                                                   
ICE005A 0 STATEMENT DEFINER ERROR                                               
            JOIN UNPAIRED,F1,ONLY                                               
            $                                                                   
ICE005A 0 STATEMENT DEFINER ERROR                                               
            REFORMAT FIELDS=(F1:1,550)                                         
            $                                                                   
ICE005A 0 STATEMENT DEFINER ERROR                                               
            SORT FIELDS=COPY                                                   

Could somebody please update me as to which version of DFSORT supports this feature?
_________________
Thanks,
-Srini
Back to top
View user's profile Send private message
mf_user
Intermediate


Joined: 01 Jun 2003
Posts: 372
Topics: 105

PostPosted: Fri Jan 23, 2009 7:06 am    Post subject: Reply Reply with quote

Hi,

JOIN feature belongs to SYNCSORT and is not supported by DFSORT !

Thanks.
_________________
MF
==
Any training that does not include the emotions, mind and body is incomplete; knowledge fades without feeling.
==
Back to top
View user's profile Send private message Send e-mail
srini_igsi
Beginner


Joined: 12 May 2006
Posts: 41
Topics: 16
Location: Mumbai

PostPosted: Fri Jan 23, 2009 7:40 am    Post subject: Reply with quote

This is what I had coded earlier in 2007 and working fine.
Code:

//JS000020 EXEC PGM=SORT                                   
//*                                                         
//SORTJNF1 DD  DSN=FILE-1, 
//             DISP=SHR                                     
//SORTJNF2 DD  DSN=FILE-2, 
//             DISP=SHR                                     
//SORTOF01 DD  DSN=Output FILE1,                             
//             SPACE=(CYL,(1,5),RLSE),DISP=(NEW,PASS)       
//SORTOF02 DD  DSN=Output FILE2,                             
//             SPACE=(CYL,(1,5),RLSE),DISP=(NEW,PASS)       
//SORTOF03 DD  DSN=Output FILE3,                             
//             SPACE=(CYL,(1,5),RLSE),DISP=(NEW,PASS)       
//SYSOUT   DD  SYSOUT=*                                     
//SYSIN    DD  *
  JOINKEYS FILES=F1,FIELDS=(01,05,A,06,30,A,51,09,A,119,08,A,127,08,A)
 JOINKEYS FILES=F2,FIELDS=(01,05,A,06,30,A,51,09,A,119,08,A,127,08,A)
 REFORMAT FIELDS=(F1:1,500,F2:1,500),FILL=X'FF'
 JOIN UNPAIRED
 SORT FIELDS=COPY
 OUTFIL FILES=01,INCLUDE=(501,1,BI,EQ,X'FF'),
 OUTREC=(1,76,X'00000000000C',83,418)
 OUTFIL FILES=02,INCLUDE=(1,1,BI,EQ,X'FF'),
 OUTREC=(501,70,X'00000000000C',571,6,583,418)
 OUTFIL FILES=03,INCLUDE=(1,1,BI,NE,X'FF',AND,501,1,CH,NE,X'FF'),
 OUTREC=(1,76,571,6,83,102,316X)
/*

//
_________________
Thanks,
-Srini
Back to top
View user's profile Send private message
mf_user
Intermediate


Joined: 01 Jun 2003
Posts: 372
Topics: 105

PostPosted: Fri Jan 23, 2009 8:09 am    Post subject: Reply with quote

Hello, you would have used SYNCSORT at that time !
_________________
MF
==
Any training that does not include the emotions, mind and body is incomplete; knowledge fades without feeling.
==
Back to top
View user's profile Send private message Send e-mail
Frank Yaeger
Sort Forum Moderator
Sort Forum Moderator


Joined: 02 Dec 2002
Posts: 1618
Topics: 31
Location: San Jose

PostPosted: Fri Jan 23, 2009 11:38 am    Post subject: Reply with quote

DFSORT does NOT support JOINKEYS. It does support SELECT and SPLICE. For examples of joining records with DFSORT, see the "Join fields from two files on a key" Smart DFSORT Trick at:

www.ibm.com/systems/support/storage/software/sort/mvs/tricks/
_________________
Frank Yaeger - DFSORT Development Team (IBM)
Specialties: JOINKEYS, FINDREP, WHEN=GROUP, ICETOOL, Symbols, Migration
DFSORT is on the Web at:
www.ibm.com/storage/dfsort
Back to top
View user's profile Send private message Send e-mail Visit poster's website
kolusu
Site Admin
Site Admin


Joined: 26 Nov 2002
Posts: 12378
Topics: 75
Location: San Jose

PostPosted: Fri Jan 23, 2009 11:42 am    Post subject: Reply with quote

srini_igsi,

Assuming that your files don't have duplicates the following DFSORT/ICETOOL jcl will give you the desired results. Make sure that you have DISP=MOD for the temp file T1.

Code:

//STEP0100 EXEC PGM=ICETOOL                                   
//TOOLMSG  DD SYSOUT=*                                       
//DFSMSG   DD SYSOUT=*                                       
//IN1      DD DSN=your 550 byte file,DISP=SHR
//IN2      DD DSN=your second file,DISP=SHR
//T1       DD DSN=&&T1,DISP=(MOD,PASS),SPACE=(CYL,(X,Y),RLSE)
//OUT      DD SYSOUT=*                                       
//TOOLIN   DD *                                               
  COPY FROM(IN1) USING(CTL1)                                 
  COPY FROM(IN2) USING(CTL2)                                 
  SPLICE FROM(T1) TO(OUT) ON(1,3,CH) WITH(1,551) -           
  USING(CTL3) KEEPNODUPS                                     
//CTL1CNTL DD *                                               
  OUTFIL FNAMES=T1,BUILD=(1,3,551:C'11')                     
//CTL2CNTL DD *                                               
  OUTFIL FNAMES=T1,OVERLAY=(551:C'22')                       
//CTL3CNTL DD *                                               
  OUTFIL FNAMES=OUT,INCLUDE=(551,2,ZD,EQ,11),BUILD=(1,550) 
//* 

_________________
Kolusu
www.linkedin.com/in/kolusu
Back to top
View user's profile Send private message Send e-mail Visit poster's website
srini_igsi
Beginner


Joined: 12 May 2006
Posts: 41
Topics: 16
Location: Mumbai

PostPosted: Fri Jan 23, 2009 11:46 am    Post subject: Reply with quote

Thank you so much for your help.
_________________
Thanks,
-Srini
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic   printer-friendly view    MVSFORUMS.com Forum Index -> Utilities All times are GMT - 5 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


MVSFORUMS
Powered by phpBB © 2001, 2005 phpBB Group