xknight
Active User
Joined: 22 Jan 2008 Posts: 117 Location: Liberty city
|
|
|
|
Hello,
Try this (Assumed MMDDYYYY starts from 4th position)
Code: |
//STEP30 EXEC PGM=ICETOOL
//DFSMSG DD SYSOUT=*
//TOOLMSG DD SYSOUT=*
//IN1 DD *
10 11102012SUB30023 ---> HEADER WITH DATE MMDDYYYY
20 TES1 DATA
30 TES2 DATA
40 TES3 DATA
50 TES4 DATA
99 TRAILER ---> TRAILER
10 11302011SUB30024 ---> HEADER WITH DATE MMDDYYYY
20 TES1 DATA
30 TES2 DATA
40 TES3 DATA
50 TES4 DATA
99 TRAILER
//OUT1 DD DSN=&TMP1,
// DISP=(MOD,PASS,DELETE),
// DCB=(RECFM=FB,LRECL=100,BLKSIZE=0),
// SPACE=(CYL,(15,15),RLSE),UNIT=SYSDA
//OUT2 DD DSN=&TMP2,
// DISP=(MOD,PASS,DELETE),
// DCB=(RECFM=FB,LRECL=100,BLKSIZE=0),
// SPACE=(CYL,(15,15),RLSE),UNIT=SYSDA
//OUT3 DD SYSOUT=*
//TOOLIN DD *
COPY FROM(IN1) TO(OUT1) USING(CTL1)
COPY FROM(OUT1) TO(OUT2) USING(CTL2)
COPY FROM(OUT2) TO(OUT3) USING(CTL3)
/*
//CTL1CNTL DD *
SORT FIELDS=COPY
INREC IFTHEN=(WHEN=(1,2,CH,EQ,C'10'),OVERLAY=(81:8,4,4,2,6,2))
//CTL2CNTL DD *
SORT FIELDS=COPY
INREC IFTHEN=(WHEN=GROUP,
BEGIN=(1,2,CH,EQ,C'10',AND,81,8,CH,EQ,&DATE1),
END=(1,2,CH,EQ,C'99'),
PUSH=(90:ID=1))
//CTL3CNTL DD *
SORT FIELDS=COPY
INCLUDE COND=(90,1,CH,EQ,C'1')
OUTREC BUILD=(1,80) |
Please use code-tags for better understanding
You need to do,
Please change the OUT3 to your file name, which is pointing to sysout, with the file attributes
Note: Three passes can be reduced |
|