> Please "light us" with the trick. Max,
Here is the trick job I was talking about. Basically you resize the record into 4 byte chunks and use 4 IFTHEN statements to space out the record. This job will work for any LRECL 1-9999(assuming you adjust the pos and lengths) and if you want to handle LRECL (10000 - 32760), then it would be a 5 byte resize. //*************************************************************** //** CREATE SAMPLE DATA WITH LRECL=101 AND RECFM=FB ** //*************************************************************** //STEP0050 EXEC PGM=SORT //SYSOUT DD SYSOUT=* //SORTIN DD * H 01 COMMENT: "01" IS SIGNIFICANT DATA COLUMNS D 12345XYZ ABC DEF D 45678GHI JKL MNO H 05 COMMENT: "05" IS SIGNIFICANT DATA COLUMNS D 12345XYZ ABC DEF D 45678GHI JKL MNO H 10 D 1234567890 ABCDEFGHIJKL D 9876543210 MNOPQWRSTUVWXYZ H 98 Y A234567890 ABCDEFGHIJKL Y B876543210 MNOPQWRSTUVWXYZ Y C876543210 MNOPQWRSTUVWXYZ H 99 Z A234567890 ABCDEFGHIJKL Z B876543210 MNOPQWRSTUVWXYZ Z C876543210 MNOPQWRSTUVWXYZ //SORTOUT DD DSN=&&IN,DISP=(,PASS),SPACE=(CYL,(1,1),RLSE) //SYSIN DD * OPTION COPY INREC IFOUTLEN=101, IFTHEN=(WHEN=(1,3,CH,EQ,C'Y A'),OVERLAY=(3:98C'A',C'@')), IFTHEN=(WHEN=(1,3,CH,EQ,C'Y B'),OVERLAY=(3:98C'B',C'#')), IFTHEN=(WHEN=(1,3,CH,EQ,C'Y C'),OVERLAY=(3:98C'C',C'$')), IFTHEN=(WHEN=(1,3,CH,EQ,C'Z A'),OVERLAY=(3:99C'X',C'@')), IFTHEN=(WHEN=(1,3,CH,EQ,C'Z B'),OVERLAY=(3:99C'Y',C'#')), IFTHEN=(WHEN=(1,3,CH,EQ,C'Z C'),OVERLAY=(3:99C'Z',C'$')) /* //*************************************************************** //** BLANK OUT THE DETAIL RECORD WITH LENGTH VALUE ON HEADER ** //*************************************************************** //STEP0100 EXEC PGM=ICETOOL //TOOLMSG DD SYSOUT=* //DFSMSG DD SYSOUT=* //INP DD DISP=SHR,DSN=&&IN //TMP DD DSN=&&TMP,DISP=(,PASS),SPACE=(CYL,(1,1),RLSE) //OUT DD SYSOUT=* //TOOLIN DD * RESIZE FROM(INP) TO(TMP) TOLEN(004) USING(CTL1) RESIZE FROM(TMP) TO(OUT) TOLEN(108) USING(CTL2) //CTL1CNTL DD * OMIT COND=(3,2,ZD,LT,1) INREC IFOUTLEN=108, IFTHEN=(WHEN=INIT, BUILD=(C'00',2X,1,101)), IFTHEN=(WHEN=GROUP,BEGIN=(5,1,CH,EQ,C'H'), PUSH=(03:7,2)), IFTHEN=(WHEN=INIT, OVERLAY=(01:01,4,ZD,ADD,+2,EDIT=(TTTT), 01:5,1,CHANGE=(4,C'H',C'0101'), NOMATCH=(1,4))) OUTFIL IFOUTLEN=4, IFTHEN=(WHEN=GROUP,RECORDS=27,PUSH=(6:1,4,ID=8)), IFTHEN=(WHEN=INIT, OVERLAY=(20:SEQNUM,4,ZD,START=0,INCR=4,RESTART=(6,12), 26:06,4,ZD,SUB,20,4,ZD,ZD,LENGTH=4)), IFTHEN=(WHEN=(26,4,ZD,EQ,-1),OVERLAY=(4:1X)), IFTHEN=(WHEN=(26,4,ZD,EQ,-2),OVERLAY=(3:2X)), IFTHEN=(WHEN=(26,4,ZD,EQ,-3),OVERLAY=(2:3X)), IFTHEN=(WHEN=(26,4,ZD,LE,-4),OVERLAY=(1:4X)) /* //CTL2CNTL DD * OUTFIL BUILD=(5,101) /* Thanks, Kolusu ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN