Frank Yaeger
DFSORT Developer
Joined: 15 Feb 2005 Posts: 7129 Location: San Jose, CA
|
|
|
|
Here's a DFSORT/ICETOOL job that will do what you asked for. You'll need z/OS DFSORT V1R5 PTF UK90007 or DFSORT R14 PTF UK90006 (April, 2006) in order to use INREC with SPLICE. If you don't have that PTF, you won't get the correct output - ask your System Programmer to install the PTF (it's free). For complete details on all of the new DFSORT and ICETOOL functions available with the April, 2006 PTF, see:
Use [URL] BBCode for External Links
If you can't get your System Programmer to install the PTF, you could do it in two passes instead of one pass - COPY with INREC to T1 and SPLICE from T1.
Code: |
//S1 EXEC PGM=ICETOOL
//TOOLMSG DD SYSOUT=*
//DFSMSG DD SYSOUT=*
//IN DD DSN=... input file (FB/20)
//OUT DD DSN=... output file (FB/267)
//TOOLIN DD *
SPLICE FROM(IN) TO(OUT) ON(1,7,CH) KEEPNODUPS -
WITHEACH WITH(21,13) WITH(34,13) WITH(47,13) WITH(60,13) -
WITH(73,13) WITH(86,13) WITH(99,13) WITH(112,13) WITH(125,13) -
WITH(138,13) WITH(151,13) WITH(164,13) WITH(177,13) WITH(190,13) -
WITH(203,13) WITH(216,13) WITH(229,13) WITH(242,13) WITH(255,13) -
USING(CTL1)
/*
//CTL1CNTL DD *
INREC IFOUTLEN=267,
IFTHEN=(WHEN=INIT,
OVERLAY=(268:SEQNUM,2,ZD,RESTART=(1,7))),
IFTHEN=(WHEN=(268,2,ZD,EQ,+2),OVERLAY=(21:8,13)),
IFTHEN=(WHEN=(268,2,ZD,EQ,+3),OVERLAY=(34:8,13)),
IFTHEN=(WHEN=(268,2,ZD,EQ,+4),OVERLAY=(47:8,13)),
IFTHEN=(WHEN=(268,2,ZD,EQ,+5),OVERLAY=(60:8,13)),
IFTHEN=(WHEN=(268,2,ZD,EQ,+6),OVERLAY=(73:8,13)),
IFTHEN=(WHEN=(268,2,ZD,EQ,+7),OVERLAY=(86:8,13)),
IFTHEN=(WHEN=(268,2,ZD,EQ,+8),OVERLAY=(99:8,13)),
IFTHEN=(WHEN=(268,2,ZD,EQ,+9),OVERLAY=(112:8,13)),
IFTHEN=(WHEN=(268,2,ZD,EQ,+10),OVERLAY=(125:8,13)),
IFTHEN=(WHEN=(268,2,ZD,EQ,+11),OVERLAY=(138:8,13)),
IFTHEN=(WHEN=(268,2,ZD,EQ,+12),OVERLAY=(151:8,13)),
IFTHEN=(WHEN=(268,2,ZD,EQ,+13),OVERLAY=(164:8,13)),
IFTHEN=(WHEN=(268,2,ZD,EQ,+14),OVERLAY=(177:8,13)),
IFTHEN=(WHEN=(268,2,ZD,EQ,+15),OVERLAY=(190:8,13)),
IFTHEN=(WHEN=(268,2,ZD,EQ,+16),OVERLAY=(203:8,13)),
IFTHEN=(WHEN=(268,2,ZD,EQ,+17),OVERLAY=(216:8,13)),
IFTHEN=(WHEN=(268,2,ZD,EQ,+18),OVERLAY=(229:8,13)),
IFTHEN=(WHEN=(268,2,ZD,EQ,+19),OVERLAY=(242:8,13)),
IFTHEN=(WHEN=(268,2,ZD,EQ,+20),OVERLAY=(255:8,13))
/*
|
|
|