Skolusu
Senior Member
Joined: 07 Dec 2007 Posts: 2205 Location: San Jose
|
|
|
|
The following DFSORT/ICETOOL JCL will give you the desired results.
Code: |
//STEP0100 EXEC PGM=ICETOOL
//TOOLMSG DD SYSOUT=*
//DFSMSG DD SYSOUT=*
//IN1 DD *
00 0000
B1 A1
B2 A2
B1 A3
B3 A4
99 9999
//IN2 DD *
B1 S1
B2 S2
B3 S3
B4 S4
B5 S5
//T1 DD DSN=&&T1,DISP=(MOD,PASS),SPACE=(CYL,(1,1),RLSE)
//OUT1 DD SYSOUT=*
//OUT2 DD SYSOUT=*
//OUT3 DD SYSOUT=*
//TOOLIN DD *
COPY FROM(IN2) USING(CTL1)
COPY FROM(IN1) USING(CTL2)
SPLICE FROM(T1) TO(OUT1) ON(1,2,CH) KEEPNODUPS KEEPBASE -
WITHALL WITH(01,80) USING(CTL3)
//CTL1CNTL DD *
OUTFIL FNAMES=T1,BUILD=(1,2,78X,1,5)
//CTL2CNTL DD *
OMIT COND=(1,2,SS,EQ,C'00,99')
OUTFIL FNAMES=T1,OVERLAY=(81:5X)
//CTL3CNTL DD *
OUTFIL FNAMES=OUT1,BUILD=(01,5,83,3,80:X),REMOVECC,
INCLUDE=(3,78,CH,NE,C' ',AND,81,2,CH,EQ,C'B1'),
HEADER1=('00 0000 ',83,3,X,DATENS=(4MD)),
TRAILER1=('99 9999 ',COUNT=(M11,LENGTH=2))
OUTFIL FNAMES=OUT2,BUILD=(01,5,83,3,80:X),REMOVECC,
INCLUDE=(3,78,CH,NE,C' ',AND,81,2,CH,EQ,C'B2'),
HEADER1=('00 0000 ',83,3,X,DATENS=(4MD)),
TRAILER1=('99 9999 ',COUNT=(M11,LENGTH=2))
OUTFIL FNAMES=OUT3,BUILD=(01,5,83,3,80:X),REMOVECC,
INCLUDE=(3,78,CH,NE,C' ',AND,81,2,CH,EQ,C'B3'),
HEADER1=('00 0000 ',83,3,X,DATENS=(4MD)),
TRAILER1=('99 9999 ',COUNT=(M11,LENGTH=2))
/* |
|
|