kolusu Site Admin

Joined: 26 Nov 2002 Posts: 12378 Topics: 75 Location: San Jose
|
Posted: Wed Jun 06, 2007 9:58 am Post subject: |
|
|
rover,
Try this job
Code: |
//STEP0100 EXEC PGM=ICETOOL
//TOOLMSG DD SYSOUT=*
//DFSMSG DD SYSOUT=*
//IN DD DSN=Your input file,
// DISP=SHR
//T1 DD DSN=&&T1,DISP=(,PASS),SPACE=(CYL,(x,y),RLSE)
//T2 DD DSN=&&T2,DISP=(,PASS),SPACE=(CYL,(x,y),RLSE)
//T3 DD DSN=&&T3,DISP=(,PASS),SPACE=(CYL,(x,y),RLSE)
//OUT DD DSN=your output file,
// DISP=(NEW,CATLG,DELETE),
// UNIT=SYSDA,
// SPACE=(CYL,(X,Y),RLSE)
//TOOLIN DD *
SPLICE FROM(IN) TO(T1) ON(1973,08,CH) WITH(1,1973) WITHALL -
USING(CTL1) KEEPBASE
SPLICE FROM(T1) TO(T2) ON(1973,19,CH) WITH(1,1962) -
KEEPBASE WITHALL KEEPNODUPS
SORT FROM(T2) TO(T3) USING(CTL2)
SORT FROM(T3) TO(OUT) USING(CTL3)
//CTL1CNTL DD *
SORT FIELDS=(1973,8,CH,A,
1981,3,CH,D)
INREC IFTHEN=(WHEN=INIT,
OVERLAY=(1963:10X,
1973:SEQNUM,8,ZD,
1981:3X)),
IFTHEN=(WHEN=(05,06,CH,NE,C'HEADER'),
OVERLAY=(1955:SEQNUM,8,ZD,
1973:1973,8,ZD,SUB,1955,8,ZD,M11,LENGTH=8),HIT=NEXT),
IFTHEN=(WHEN=(05,02,CH,EQ,C'01',AND,
41,03,SS,EQ,C'YCF,ZAQ'),
OVERLAY=(1981:41,3)),
IFTHEN=(WHEN=(05,02,CH,EQ,C'04'),
OVERLAY=(1963:124,10)),
IFTHEN=(WHEN=NONE,
OVERLAY=(1973:SEQNUM,8,ZD))
OUTFIL FNAMES=T1,
IFTHEN=(WHEN=INIT,OVERLAY=(1984:SEQNUM,8,ZD)),
IFTHEN=(WHEN=(05,02,CH,EQ,C'04'),
OVERLAY=(1984:SEQNUM,8,ZD)),
IFTHEN=(WHEN=NONE,
OVERLAY=(1992:SEQNUM,8,ZD,
1984:1984,8,ZD,SUB,1992,8,ZD,M11,LENGTH=8))
//CTL2CNTL DD *
OPTION EQUALS
SORT FIELDS=(1973,08,CH,A,
1963,10,CH,A,
1984,08,CH,A)
INREC IFTHEN=(WHEN=(1981,03,SS,NE,C'YCF,ZAQ'),
OVERLAY=(1963:10X))
//CTL3CNTL DD *
SORT FIELDS=(1973,08,CH,A,
1981,03,CH,A)
INREC IFTHEN=(WHEN=(05,06,CH,EQ,C'HEADER'),
OVERLAY=(1981:3X))
OUTFIL FNAMES=OUT,VLTRIM=C' ',
IFOUTLEN=1954,IFTHEN=(WHEN=INIT,BUILD=(1,4,5))
/*
|
Hope this helps...
Cheers
Kolusu _________________ Kolusu
www.linkedin.com/in/kolusu |
|