mrdinesh
New User
Joined: 23 Sep 2006 Posts: 24 Location: India
|
|
|
|
Here's the sort card that I came up with
Code: |
//STEP1 EXEC PGM=ICETOOL
//TOOLMSG DD SYSOUT=*
//DFSMSG DD SYSOUT=*
//IN DD DISP=(SHRS),DSN=INPUTFILE
//OUT DD DISP=(NEW,CATLG,DELETE),
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=0),
// MGMTCLAS=MCM030BK,SPACE=(TRK,(7200,600),RLSE),
// DSN=OUTPUTFILE
//TEMPFILE DD DSN=&&TEMPFILE,UNIT=SYSDA,SPACE=(CYL,(5,5)),DISP=(,PASS)
//TOOLIN DD *
RESIZE FROM(IN) TO(TEMPFILE) TOLEN(81) USING(CTL1)
COPY FROM(TEMPFILE) TO(OUT) USING(CTL2)
/*
//CTL1CNTL DD *
OPTION COPY
INREC IFTHEN=(WHEN=INIT,
PARSE=(%01=(ENDAT=C'&',FIXLEN=81),
%02=(ENDAT=C'&',FIXLEN=81),
%03=(ENDAT=C'&',FIXLEN=81),
%04=(ENDAT=C'&',FIXLEN=81),
%05=(ENDAT=C'&',FIXLEN=81),
%06=(ENDAT=C'&',FIXLEN=81),
%07=(ENDAT=C'&',FIXLEN=81),
%08=(ENDAT=C'&',FIXLEN=81),
%09=(ENDAT=C'&',FIXLEN=81),
%10=(ENDAT=C'&',FIXLEN=81),
%11=(ENDAT=C'&',FIXLEN=81),
%12=(ENDAT=C'&',FIXLEN=81),
%13=(ENDAT=C'&',FIXLEN=81),
%14=(ENDAT=C'&',FIXLEN=81),
%15=(ENDAT=C'&',FIXLEN=81)),
BUILD=(%01,%02,%03,%04,%05,%06,%07,%08,%10,%11,%12,%13,%14,%15)),
IFTHEN=(WHEN=(0001,0081,SS,NE,C'&'),OVERLAY=(0081:C'B'),HIT=NEXT),
IFTHEN=(WHEN=(0082,0081,SS,NE,C'&'),OVERLAY=(0162:C'B'),HIT=NEXT),
IFTHEN=(WHEN=(0163,0081,SS,NE,C'&'),OVERLAY=(0243:C'B'),HIT=NEXT),
IFTHEN=(WHEN=(0244,0081,SS,NE,C'&'),OVERLAY=(0324:C'B'),HIT=NEXT),
IFTHEN=(WHEN=(0325,0081,SS,NE,C'&'),OVERLAY=(0405:C'B'),HIT=NEXT),
IFTHEN=(WHEN=(0406,0081,SS,NE,C'&'),OVERLAY=(0486:C'B'),HIT=NEXT),
IFTHEN=(WHEN=(0487,0081,SS,NE,C'&'),OVERLAY=(0567:C'B'),HIT=NEXT),
IFTHEN=(WHEN=(0568,0081,SS,NE,C'&'),OVERLAY=(0648:C'B'),HIT=NEXT),
IFTHEN=(WHEN=(0649,0081,SS,NE,C'&'),OVERLAY=(0729:C'B'),HIT=NEXT),
IFTHEN=(WHEN=(0730,0081,SS,NE,C'&'),OVERLAY=(0810:C'B'),HIT=NEXT),
IFTHEN=(WHEN=(0811,0081,SS,NE,C'&'),OVERLAY=(0891:C'B'),HIT=NEXT),
IFTHEN=(WHEN=(0892,0081,SS,NE,C'&'),OVERLAY=(0972:C'B'),HIT=NEXT),
IFTHEN=(WHEN=(0973,0081,SS,NE,C'&'),OVERLAY=(1053:C'B'),HIT=NEXT),
IFTHEN=(WHEN=(1054,0081,SS,NE,C'&'),OVERLAY=(1134:C'B'),HIT=NEXT),
IFTHEN=(WHEN=(1135,0081,SS,NE,C'&'),OVERLAY=(1215:C'B'),HIT=NEXT)
OUTFIL OMIT=(1,80,CH,EQ,C' '),
IFTHEN=(WHEN=GROUP,BEGIN=(81,1,CH,EQ,C'B'),
PUSH=(82:1,80),RECORDS=2)
/*
//CTL2CNTL DD *
OMIT COND=(81,1,CH,EQ,C'B')
INREC IFOUTLEN=80,IFTHEN=(WHEN=INIT,BUILD=(82,80,1,80)),
IFTHEN=(WHEN=INIT,BUILD=(1,160,SQZ=(SHIFT=LEFT)))
/*
|
|
|