View previous topic :: View next topic
Author
Message
A_programmers New User Joined: 24 Mar 2010Posts: 19 Location: USA
Dear friends,
I am working on joining two files as mentioned below. I want to keep the order of file 1 as it is in the output. Whereas I can see that DFSORT is sorting output based on the joinkey. Any idea how can I join 2 files and keep the order of the output same as file 1 as requested below ?
File 1 :
TEST.T1
-----------
Code:
AAA 001 PQR
ZZZ 009 ADR
QQQ 231 PFR
CCC 031 FDR
BBB 201 DSR
LLL 031 QAR
File 2 :
TEST.T2
-----------
Code:
ZZZ 009 ADR TEST1
AAA 001 PQR TEST2
BBB 201 DSR TEST3
CCC 031 FDR TEST4
LLL 031 QAR TEST5
QQQ 231 PFR TEST6
Output file generated :
File 3 :
TEST.T3
-----------
Code:
AAATEST2
BBBTEST3
CCCTEST4
LLLTEST5
QQQTEST6
ZZZTEST1
Expected output :
Code:
AAATEST2
ZZZTEST1
QQQTEST6
CCCTEST4
BBBTEST3
LLLTEST5
Sort job I have used :
Code:
//STEP01 EXEC PGM=SRT
//SORTJNF1 DD DSN=TEST1.T1,DISP=SHR
//SORTJNF2 DD DSN=TEST1.T2,DISP=SHR
//SORTOUT DD DSN=TEST1.T3,DISP=(NEW,CATLG,CATLG),DCB=(RECFM=FB,BLZSIZE=0),
// SPACE=(CYL,(10,10),RLSE),UNIT=SYSDA
//SYSOUT DD SYSOUT=*
//SYSDUMP DD SYSOUT=*
//SYSIN DD *
SORT FIELDS=COPY
JOINKEYS FILE=F1,FIELDS=(1,3,A)
JOINKEYS FILE=F2,FIELDS=(1,3,A)
JOIN UNPAIRED,F1
REFORMAT FIELDS=(F1:1,3,F2:13,5)
OPTION EQUALS
/*
Please note; input files will not be in sorted order.
Back to top
Joerg.Findeisen Senior Member Joined: 15 Aug 2015Posts: 1231 Location: Bamberg, Germany
Code:
//SIMPLE EXEC PGM=ICEMAN
//F1 DD *
AAA 001 PQR
ZZZ 009 ADR
QQQ 231 PFR
CCC 031 FDR
BBB 201 DSR
LLL 031 QAR
/*
//F2 DD *
ZZZ 009 ADR TEST1
AAA 001 PQR TEST2
BBB 201 DSR TEST3
CCC 031 FDR TEST4
LLL 031 QAR TEST5
QQQ 231 PFR TEST6
/*
//SORTOUT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSIN DD *
JOINKEYS F1=F1,FIELDS=(1,3,A)
JOINKEYS F2=F2,FIELDS=(1,3,A)
JOIN UNPAIRED,F1
REFORMAT FIELDS=(F1:1,3,F2:13,5,F1:40,4)
SORT FIELDS=(9,4,ZD,A)
OUTFIL FNAMES=(SORTOUT),BUILD=(1,8)
/*
//JNF1CNTL DD *
INREC IFTHEN=(WHEN=INIT,OVERLAY=(40:SEQNUM,4,ZD))
END
/*
Output:
Code:
AAATEST2
ZZZTEST1
QQQTEST6
CCCTEST4
BBBTEST3
LLLTEST5
Back to top
A_programmers New User Joined: 24 Mar 2010Posts: 19 Location: USA
Thanks Joerg. It is working as expected. Appreciate your help.
Back to top
Please enable JavaScript!