Frank Yaeger
DFSORT Developer
Joined: 15 Feb 2005 Posts: 7129 Location: San Jose, CA
|
|
|
|
Assuming you just have the three input records as shown, this DFSORT/ICETOOL job will do what you asked for:
Code: |
//S1 EXEC PGM=ICETOOL
//TOOLMSG DD SYSOUT=*
//DFSMSG DD SYSOUT=*
//IN DD DSN=... input file
//T1 DD DSN=&&T1,UNIT=SYSDA,SPACE=(CYL,(5,5)),DISP=(,PASS)
//OUT DD DSN=... output file
//TOOLIN DD *
COPY FROM(IN) USING(CTL1)
SPLICE FROM(T1) TO(OUT) ON(61,1,CH) -
WITHEACH WITH(21,14) WITH(41,14) USING(CTL2)
/*
//CTL1CNTL DD *
OUTFIL FNAMES=T1,
IFTHEN=(WHEN=INIT,OVERLAY=(62:SEQNUM,1,ZD)),
IFTHEN=(WHEN=(62,1,ZD,EQ,+1),
BUILD=(1:1,14,61:C'1',/,1:15,14,61:C'2',/,1:29,14,61:C'3')),
IFTHEN=(WHEN=(62,1,ZD,EQ,+2),
BUILD=(21:1,14,61:C'1',/,21:15,14,61:C'2',/,21:29,14,61:C'3')),
IFTHEN=(WHEN=(62,1,ZD,EQ,+3),
BUILD=(41:1,14,61:C'1',/,41:15,14,61:C'2',/,41:29,14,61:C'3'))
/*
//CTL2CNTL DD *
OUTFIL FNAMES=OUT,BUILD=(1,60)
/*
|
|
|