raja1128
New User
Joined: 09 Jan 2007 Posts: 17 Location: india
|
|
|
|
Hi all,
Need your help.
I have to compare two files using DFSORT as mentioned below…
Input files and output file have same attributes: recl=41 , PS, FB.
both files have same number of records. Key is first two fields.
every key in first file has a match in second file.
key fields are unique and sorted.
And fields are…
05 AAA PIC S9(11) COMP-3.
05 BBB PIC X(03).
05 CCC PIC S9(11) COMP-3.
05 DDD PIC S9(11) COMP-3.
05 EEE PIC S9(11) COMP-3.
05 FFF PIC X(8).
05 GGG PIC X(6).
Example -
INPUT:
File1:
AA11111
CC33333
File2:
AA44444
CC33333
OUTPUT:
File3: records from file1 where non-key fields do not match with File2 .
AA11111
Thank you. |
|
Skolusu
Senior Member
Joined: 07 Dec 2007 Posts: 2205 Location: San Jose
|
|
|
|
Raj1128,
The following DFSORT/ICETOOL JCL will give you the desired results
Code: |
//STEP0100 EXEC PGM=SORT
//SYSOUT DD SYSOUT=*
//SORTIN DD *
//SORTOUT DD DSN=&&HD,DISP=(,PASS),SPACE=(CYL,(1,1),RLSE)
//SYSIN DD *
OPTION COPY
OUTFIL REMOVECC,NODETAIL,BUILD=(41X),TRAILER1=('HDR')
/*
//STEP0200 EXEC PGM=ICETOOL
//TOOLMSG DD SYSOUT=*
//DFSMSG DD SYSOUT=*
//IN DD DSN=&&HD,DISP=SHR,VOL=REF=*.STEP0100.SORTOUT
// DD DSN=your file1,DISP=SHR
// DD DSN=&&HD,DISP=SHR,VOL=REF=*.STEP0100.SORTOUT
// DD DSN=your file2,DISP=SHR
//OUT DD SYSOUT=*
//TOOLIN DD *
SELECT FROM(IN) TO(OUT) ON(1,6,PD) ON(7,3,CH) NODUPS USING(CTL1)
//CTL1CNTL DD *
INREC IFTHEN=(WHEN=GROUP,BEGIN=(1,3,CH,EQ,C'HDR'),PUSH=(42:ID=1))
OUTFIL FNAMES=OUT,BUILD=(1,41),INCLUDE=(42,1,ZD,EQ,1)
//* |
|
|