MVSFORUMS.com A Community of and for MVS Professionals
View previous topic :: View next topic
Author
Message
srini_igsi Beginner Joined: 12 May 2006 Posts: 41 Topics: 16 Location: Mumbai
Posted: Fri Jan 23, 2009 6:39 am Post subject: Which version of DFSORT supports joining files?
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
mf_user Intermediate Joined: 01 Jun 2003 Posts: 372 Topics: 105
Posted: Fri Jan 23, 2009 7:06 am Post subject: Reply
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
srini_igsi Beginner Joined: 12 May 2006 Posts: 41 Topics: 16 Location: Mumbai
Posted: Fri Jan 23, 2009 7:40 am Post subject:
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
mf_user Intermediate Joined: 01 Jun 2003 Posts: 372 Topics: 105
Posted: Fri Jan 23, 2009 8:09 am Post subject:
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
Frank Yaeger Sort Forum Moderator Joined: 02 Dec 2002 Posts: 1618 Topics: 31 Location: San Jose
Posted: Fri Jan 23, 2009 11:38 am Post subject:
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
kolusu Site Admin Joined: 26 Nov 2002 Posts: 12378 Topics: 75 Location: San Jose
Posted: Fri Jan 23, 2009 11:42 am Post subject:
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
srini_igsi Beginner Joined: 12 May 2006 Posts: 41 Topics: 16 Location: Mumbai
Posted: Fri Jan 23, 2009 11:46 am Post subject:
Thank you so much for your help. _________________ Thanks,
-Srini
Back to top
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