View previous topic :: View next topic
Author
Message
suganthyprabha New User Joined: 28 Jul 2005Posts: 58
Hi Friends,
I am trying to get the matching and non-matching records.
I am getting out1 and out2 results, but iam not getting out12 records.
Can u please let me know what is the mistake i made.
Code:
//S1 EXEC PGM=ICETOOL
//TOOLMSG DD SYSOUT=*
//DFSMSG DD SYSOUT=*
//IN1 DD DSN=A.B.PS1,DISP=SHR
//IN2 DD DSN=A.B.PS2,DISP=SHR
//OUT12 DD SYSOUT=*
//OUT1 DD SYSOUT=*
//OUT2 DD SYSOUT=*
//T1 DD DSN=&&T1,DISP=(,PASS),UNIT=SYSDA,SPACE=(TRK,(3,3))
//T2 DD DSN=&&T2,DISP=(,PASS),UNIT=SYSDA,SPACE=(TRK,(3,3))
//CONCAT DD DSN=*.T1,VOL=REF=*.T1,DISP=(OLD,DELETE)
// DD DSN=*.T2,VOL=REF=*.T2,DISP=(OLD,DELETE)
//TOOLIN DD *
COPY FROM(IN1) TO(T1) USING(CTL1)
COPY FROM(IN2) TO(T2) USING(CTL2)
SPLICE FROM(CONCAT) TO(OUT12) ON(1,12,CH) WITH(15,1) -
USING(CTL3) KEEPNODUPS
/*
//CTL1CNTL DD *
OUTREC FIELDS=(1,12,15:C'11')
//CTL2CNTL DD *
OUTREC FIELDS=(1,12,15:C'22')
//CTL3CNTL DD *
OUTFIL FNAMES=OUT12,INCLUDE=(15,2,CH,EQ,C'12'),OUTREC=(1,12)
OUTFIL FNAMES=OUT1,INCLUDE=(15,2,CH,EQ,C'11'),OUTREC=(1,12)
OUTFIL FNAMES=OUT2,INCLUDE=(15,2,CH,EQ,C'22'),OUTREC=(1,12)
/*
Thanks and Regards,
Prabha.
Back to top
Frank Yaeger DFSORT Developer Joined: 15 Feb 2005Posts: 7129 Location: San Jose, CA
You need WITH(16,1) instead of WITH(15,1). Go back to the original "Smart DFSORT Trick" at:
www.ibm.com/servers/storage/support/software/sort/mvs/tricks/srtmst02.html#t05
and you'll see that you missed that.
Also note that I changed the trick to use a MOD T1 data set instead of concatenated T1/T2 data sets. This avoids a problematical system restriction. So your job should be:
Code:
//S1 EXEC PGM=ICETOOL
//TOOLMSG DD SYSOUT=*
//DFSMSG DD SYSOUT=*
//IN1 DD DSN=A.B.PS1,DISP=SHR
//IN2 DD DSN=A.B.PS2,DISP=SHR
//OUT12 DD SYSOUT=*
//OUT1 DD SYSOUT=*
//OUT2 DD SYSOUT=*
//T1 DD DSN=&&T1,DISP=(MOD,PASS),UNIT=SYSDA,SPACE=(TRK,(6,6))
//TOOLIN DD *
COPY FROM(IN1) TO(T1) USING(CTL1)
COPY FROM(IN2) TO(T1) USING(CTL2)
SPLICE FROM(T1) TO(OUT12) ON(1,12,CH) WITH(16,1) -
USING(CTL3) KEEPNODUPS
/*
//CTL1CNTL DD *
OUTREC FIELDS=(1,12,15:C'11')
//CTL2CNTL DD *
OUTREC FIELDS=(1,12,15:C'22')
//CTL3CNTL DD *
OUTFIL FNAMES=OUT12,INCLUDE=(15,2,CH,EQ,C'12'),OUTREC=(1,12)
OUTFIL FNAMES=OUT1,INCLUDE=(15,2,CH,EQ,C'11'),OUTREC=(1,12)
OUTFIL FNAMES=OUT2,INCLUDE=(15,2,CH,EQ,C'22'),OUTREC=(1,12)
/*
Back to top
suganthyprabha New User Joined: 28 Jul 2005Posts: 58
Hi Frank,
Thank u so much. i have corrected it.
Thanks and Regards,
Prabha.
Back to top
Please enable JavaScript!