Re: DFSORT/ICETOOL/ICEMAN: Grouping records
Many thx Kolusu, got it. On Wed, May 14, 2014 at 4:52 PM, Sri h Kolusu skol...@us.ibm.com wrote: Toni Cecil, It is quite easy to split the records into multiple files. You need to use OUTFIL processing. Since you are dealing with dataset names, I believe that your VOLSER name starts after 44 bytes as DSName can be a max of 44 bytes. So I assumed that the VOLSER starts at position 50. //STEP0100 EXEC PGM=SORT //SYSOUT DD SYSOUT=* //SORTIN DD * +1+2+3+4+5+6+ DSN1 CART1 DSN2 CART1 DSN3 CART1 DSN4 CART1 DSN5 CART2 DSN6 CART2 DSN7 CART3 DSN8 CART3 DSN9 CART3 //CART1DD SYSOUT=* //CART2DD SYSOUT=* //CART3DD SYSOUT=* //SYSINDD * OPTION COPY INREC BUILD=(C'HSEND WAIT RECALL ',1,44,81:50,8) OUTFIL FNAMES=CART1,INCLUDE=(81,5,CH,EQ,C'CART1'),BUILD=(1,80) OUTFIL FNAMES=CART2,INCLUDE=(81,5,CH,EQ,C'CART2'),BUILD=(1,80) OUTFIL FNAMES=CART3,INCLUDE=(81,5,CH,EQ,C'CART3'),BUILD=(1,80) //* or alternatively you can use the following control cards too if you need to build the output differently for each output file. //SYSINDD * OPTION COPY OUTFIL FNAMES=CART1,INCLUDE=(50,5,CH,EQ,C'CART1'), BUILD=(C'HSEND WAIT RECALL ',1,44,80:X) OUTFIL FNAMES=CART2,INCLUDE=(50,5,CH,EQ,C'CART2'), BUILD=(C'HSEND WAIT RECALL ',1,44,80:X) OUTFIL FNAMES=CART3,INCLUDE=(50,5,CH,EQ,C'CART3'), BUILD=(C'HSEND WAIT RECALL ',1,44,80:X) //* Further if you have any questions please let me know Thanks, Kolusu DFSORT Development From: Toni Cecil acbi...@gmail.com To: IBM-MAIN@listserv.ua.edu, Date: 05/14/2014 02:25 AM Subject:DFSORT/ICETOOL/ICEMAN: Grouping records Sent by:IBM Mainframe Discussion List IBM-MAIN@listserv.ua.edu Hello, can you pls give me an hint about how to use DFSORT to perform the following? input dsn: FB-80 with: dsn tape volser --- 1 1234567890123456 dsn1 cart1 dsn2 cart1 dsn3 cart1 dsn4 cart1 dsn5 cart2 dsn6 cart2 dsn7 cart3 dsn8 cart3 dsn9 cart3 I want to an outfile grouped by tape volser like this: outfile for cart1 with: HSEND WAIT RECALL dsn1 HSEND WAIT RECALL dsn2 HSEND WAIT RECALL dsn3 HSEND WAIT RECALL dsn4 outfile for cart2 with: HSEND WAIT RECALL dsn5 HSEND WAIT RECALL dsn6 I've seached on Smart DFSORT Tricks manual and on DFSORT Application Programming Guide but so far I didn't find the way. Many thx, A.Cecilio -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
DFSORT/ICETOOL/ICEMAN: Grouping records
Hello, can you pls give me an hint about how to use DFSORT to perform the following? input dsn: FB-80 with: dsn tape volser --- 1 1234567890123456 dsn1 cart1 dsn2 cart1 dsn3 cart1 dsn4 cart1 dsn5 cart2 dsn6 cart2 dsn7 cart3 dsn8 cart3 dsn9 cart3 I want to an outfile grouped by tape volser like this: outfile for cart1 with: HSEND WAIT RECALL dsn1 HSEND WAIT RECALL dsn2 HSEND WAIT RECALL dsn3 HSEND WAIT RECALL dsn4 outfile for cart2 with: HSEND WAIT RECALL dsn5 HSEND WAIT RECALL dsn6 I've seached on Smart DFSORT Tricks manual and on DFSORT Application Programming Guide but so far I didn't find the way. Many thx, A.Cecilio -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: DFSORT/ICETOOL/ICEMAN: Grouping records
Toni Cecil, It is quite easy to split the records into multiple files. You need to use OUTFIL processing. Since you are dealing with dataset names, I believe that your VOLSER name starts after 44 bytes as DSName can be a max of 44 bytes. So I assumed that the VOLSER starts at position 50. //STEP0100 EXEC PGM=SORT //SYSOUT DD SYSOUT=* //SORTIN DD * +1+2+3+4+5+6+ DSN1 CART1 DSN2 CART1 DSN3 CART1 DSN4 CART1 DSN5 CART2 DSN6 CART2 DSN7 CART3 DSN8 CART3 DSN9 CART3 //CART1DD SYSOUT=* //CART2DD SYSOUT=* //CART3DD SYSOUT=* //SYSINDD * OPTION COPY INREC BUILD=(C'HSEND WAIT RECALL ',1,44,81:50,8) OUTFIL FNAMES=CART1,INCLUDE=(81,5,CH,EQ,C'CART1'),BUILD=(1,80) OUTFIL FNAMES=CART2,INCLUDE=(81,5,CH,EQ,C'CART2'),BUILD=(1,80) OUTFIL FNAMES=CART3,INCLUDE=(81,5,CH,EQ,C'CART3'),BUILD=(1,80) //* or alternatively you can use the following control cards too if you need to build the output differently for each output file. //SYSINDD * OPTION COPY OUTFIL FNAMES=CART1,INCLUDE=(50,5,CH,EQ,C'CART1'), BUILD=(C'HSEND WAIT RECALL ',1,44,80:X) OUTFIL FNAMES=CART2,INCLUDE=(50,5,CH,EQ,C'CART2'), BUILD=(C'HSEND WAIT RECALL ',1,44,80:X) OUTFIL FNAMES=CART3,INCLUDE=(50,5,CH,EQ,C'CART3'), BUILD=(C'HSEND WAIT RECALL ',1,44,80:X) //* Further if you have any questions please let me know Thanks, Kolusu DFSORT Development From: Toni Cecil acbi...@gmail.com To: IBM-MAIN@listserv.ua.edu, Date: 05/14/2014 02:25 AM Subject:DFSORT/ICETOOL/ICEMAN: Grouping records Sent by:IBM Mainframe Discussion List IBM-MAIN@listserv.ua.edu Hello, can you pls give me an hint about how to use DFSORT to perform the following? input dsn: FB-80 with: dsn tape volser --- 1 1234567890123456 dsn1 cart1 dsn2 cart1 dsn3 cart1 dsn4 cart1 dsn5 cart2 dsn6 cart2 dsn7 cart3 dsn8 cart3 dsn9 cart3 I want to an outfile grouped by tape volser like this: outfile for cart1 with: HSEND WAIT RECALL dsn1 HSEND WAIT RECALL dsn2 HSEND WAIT RECALL dsn3 HSEND WAIT RECALL dsn4 outfile for cart2 with: HSEND WAIT RECALL dsn5 HSEND WAIT RECALL dsn6 I've seached on Smart DFSORT Tricks manual and on DFSORT Application Programming Guide but so far I didn't find the way. Many thx, A.Cecilio -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN