Skolusu
Senior Member
Joined: 07 Dec 2007 Posts: 2205 Location: San Jose
|
|
|
|
vanakar,
The following DFSORT/ICETOOL JCL will give you the desired results
Code: |
//STEP0100 EXEC PGM=ICETOOL
//TOOLMSG DD SYSOUT=*
//DFSMSG DD SYSOUT=*
//TEST1 DD *
000001 KASH N KARRY UNITED STATES
001200 WALMART AUSTRALIA
123456 DELHIZE UNITED STATES
099912 PEPSI BRAZIL
564721 THUMSUP NEWZEALAND
000010 KINGFISHER SOUTHAFRICA
//TEST2 DD *
500001 KASH N KARRY UNITED STATES
601200 WALMART AUSTRALIA
123456 DELHIZE UNITED STATES
599912 PEPSI BRAZIL
564721 THUMSUP NEWZEALAND
500010 KINGFISHER SOUTHAFRICA
//REF DD *
000001500001
001200601200
000010500010
099912599912
//T1 DD DSN=&&T1,DISP=(MOD,PASS),SPACE=(CYL,(1,1),RLSE)
//T2 DD DSN=&&T2,DISP=(MOD,PASS),SPACE=(CYL,(1,1),RLSE)
//OUT DD SYSOUT=*
//TOOLIN DD *
COPY FROM(REF) USING(CTL1)
COPY FROM(TEST1) USING(CTL2)
COPY FROM(TEST2) USING(CTL4)
SPLICE FROM(T1) TO(T2) KEEPNODUPS ON(1,6,CH) WITH(1,6) USING(CTL3)
SPLICE FROM(T2) TO(OUT) KEEPNODUPS ON(1,6,CH) WITH(7,7) USING(CTL5)
//CTL1CNTL DD *
OUTFIL FNAMES=T1,BUILD=(1,6,7,6)
//CTL2CNTL DD *
OUTFIL FNAMES=T1,BUILD=(1,6,6X)
//CTL3CNTL DD *
OUTFIL FNAMES=T2,IFOUTLEN=13,
IFTHEN=(WHEN=(7,6,CH,NE,C' '),BUILD=(7,6,1,6,C'C'))
//CTL4CNTL DD *
OUTFIL FNAMES=T2,BUILD=(1,6,7X)
//CTL5CNTL DD *
OUTFIL FNAMES=OUT,IFOUTLEN=16,
IFTHEN=(WHEN=INIT,BUILD=(1,6,X,7,6,X,13,1,X)),
IFTHEN=(WHEN=(8,6,CH,EQ,C' '),OVERLAY=(8:1,6,15:C'NC'))
/* |
The output from this job is
Code: |
123456 123456 NC
500001 000001 C
500010 000010 C
564721 564721 NC
599912 099912 C
601200 001200 C
|
|
|