Re: DFSORT question - How to combine several records to one record
Yaeger-san, Thank you very much for telling me the way without additional DFSORT step. It is very helpful for me. I really appreciate your support. By the way, our customer already had installed the PTF on their z/OS V1.10. So they could use KEYBEGIN parameter. I'll try to install the PTF on our z/OS V1.12. Again thank you a lot! Minoru Massaki (M*M) 2012/2/29 Frank Yaeger yae...@us.ibm.com: Minoru Massaki at IBM Mainframe Discussion List IBM-MAIN@bama.ua.edu wrote on 02/27/2012 07:23:45 PM: I added an additional DFSORT step which add sequence number in dsname records before ICETOOL step. So the ICETOOL without KEYBEGIN parameter got the right result. ... You don't need to add a STEP - you can just use an IFTHEN clause with RESTART instead of the IFTHEN clause with KEYBEGIN, as shown in my other note. Frank Yaeger - DFSORT Development Team (IBM) - yae...@us.ibm.com Specialties: JOINKEYS, FINDREP, WHEN=GROUP, ICETOOL, Symbols, Migration = DFSORT/MVS is on the Web at http://www.ibm.com/storage/dfsort -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN -- 全先 実 - Minoru Massaki (M*M) E-mail: mmass...@gmail.com -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: DFSORT question - How to combine several records to one record
Minoru Massaki at IBM Mainframe Discussion List IBM-MAIN@bama.ua.edu wrote on 02/29/2012 07:37:40 AM: Yaeger-san, Thank you very much for telling me the way without additional DFSORT step. It is very helpful for me. I really appreciate your support. I'm glad I could help. Frank Yaeger - DFSORT Development Team (IBM) - yae...@us.ibm.com Specialties: JOINKEYS, FINDREP, WHEN=GROUP, ICETOOL, Symbols, Migration = DFSORT/MVS is on the Web at http://www.ibm.com/storage/dfsort -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: DFSORT question - How to combine several records to one record
Minoru Massaki at IBM Mainframe Discussion List IBM-MAIN@bama.ua.edu wrote on 02/27/2012 06:21:40 PM: But unfortunately KEYBEGIN parameter became 'OPERAND DEFINER ERROR' on my z/OS V1.12 (ADCD system) . Then I have checked DFSORT Application Programming Guide for z/OS V1.12, I could not find out KEYBEGIN parameter. Is KEYBEGIN a new keyword provided by new PTF? Is there another way to do same things without KEYBEGIN parameter? Because we don't have a chance to apply the PTF, if the KEYEGIN is provided by PTF. KEYBEGIN has been available with DFSORT since October, 2010 with z/OS DFSORT V1R10 PTF UK90025 and z/OS DFSORT V1R12 PTF UK90026. If you don't have that PTF installed, you can do what you want without KEYBEGIN using a DFSORT job like this: //S1EXEC PGM=ICETOOL //TOOLMSG DD SYSOUT=* //DFSMSG DD SYSOUT=* //IN DD * dsn-aaa08:00 open dsn-aaa08:10 close dsn-aaa08:15 delete dsn-bbb07:55 delete dsn-ccc08:05 open dsn-ccc08:07 close dsn-ddd08:01 open dsn-ddd08:02 close dsn-ddd08:03 open dsn-ddd08:04 close dsn-ddd08:05 open dsn-ddd08:06 close dsn-ddd08:07 open dsn-ddd08:08 close //OUT DD SYSOUT=* //TOOLIN DD * SPLICE FROM(IN) TO(OUT) ON(1,11,CH) KEEPNODUPS WITHEACH - WITH(26,14) WITH(40,14) WITH(54,14) WITH(68,14) - WITH(82,14) WITH(96,14) WITH(110,14) USING(CTL1) //CTL1CNTL DD * OPTION COPY INREC IFTHEN=(WHEN=INIT, OVERLAY=(125:SEQNUM,1,ZD,START=1,RESTART=(1,11))), IFTHEN=(WHEN=(125,1,ZD,EQ,2),BUILD=(1,11,26:12,14)), IFTHEN=(WHEN=(125,1,ZD,EQ,3),BUILD=(1,11,40:12,14)), IFTHEN=(WHEN=(125,1,ZD,EQ,4),BUILD=(1,11,54:12,14)), IFTHEN=(WHEN=(125,1,ZD,EQ,5),BUILD=(1,11,68:12,14)), IFTHEN=(WHEN=(125,1,ZD,EQ,6),BUILD=(1,11,82:12,14)), IFTHEN=(WHEN=(125,1,ZD,EQ,7),BUILD=(1,11,96:12,14)), IFTHEN=(WHEN=(125,1,ZD,EQ,8),BUILD=(1,11,110:12,14)) OUTFIL BUILD=(1,123) /* Frank Yaeger - DFSORT Development Team (IBM) - yae...@us.ibm.com Specialties: JOINKEYS, FINDREP, WHEN=GROUP, ICETOOL, Symbols, Migration = DFSORT/MVS is on the Web at http://www.ibm.com/storage/dfsort -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: DFSORT question - How to combine several records to one record
Minoru Massaki at IBM Mainframe Discussion List IBM-MAIN@bama.ua.edu wrote on 02/27/2012 07:23:45 PM: I added an additional DFSORT step which add sequence number in dsname records before ICETOOL step. So the ICETOOL without KEYBEGIN parameter got the right result. ... You don't need to add a STEP - you can just use an IFTHEN clause with RESTART instead of the IFTHEN clause with KEYBEGIN, as shown in my other note. Frank Yaeger - DFSORT Development Team (IBM) - yae...@us.ibm.com Specialties: JOINKEYS, FINDREP, WHEN=GROUP, ICETOOL, Symbols, Migration = DFSORT/MVS is on the Web at http://www.ibm.com/storage/dfsort -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
DFSORT question - How to combine several records to one record
Hello DFSORT experts, I'd like ask a help. I have to do following by DFSORT There is a data set which contains records with dsname, time, and status as following (dsname, time, status fields are fixed length) The records are sorted by dsname and time. dsn-aaa08:00 open dsn-aaa08:10 close dsn-aaa08:15 delete dsn-bbb07:55 delete dsn-ccc08:05 open dsn-ccc08:07 close I want to get a record by each dsname from multiple records as following. (each dsname has max 8 records(status)) dsn-aaa08:00 open 08:10 close 08:15 delete dsn-bbb07:55 delete dsn-ccc08:05 open 08:07 close How can I make this output list by using DFSORT? I'm trying to do this by using DFSORT SPLICE function, but I could not get right answer. Your help would be highly appreciated. Minoru Massaki (M*M) -- 全先 実 - Minoru Massaki (M*M) E-mail: mmass...@gmail.com -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: DFSORT question - How to combine several records to one record
Guys, Correct me if I am ring, what about ICETOOL Sent from my iPad Scott Ford Senior Systems Engineer www.identityforge.com On Feb 27, 2012, at 1:46 PM, Minoru Massaki mmass...@gmail.com wrote: Hello DFSORT experts, I'd like ask a help. I have to do following by DFSORT There is a data set which contains records with dsname, time, and status as following (dsname, time, status fields are fixed length) The records are sorted by dsname and time. dsn-aaa08:00 open dsn-aaa08:10 close dsn-aaa08:15 delete dsn-bbb07:55 delete dsn-ccc08:05 open dsn-ccc08:07 close I want to get a record by each dsname from multiple records as following. (each dsname has max 8 records(status)) dsn-aaa08:00 open 08:10 close 08:15 delete dsn-bbb07:55 delete dsn-ccc08:05 open 08:07 close How can I make this output list by using DFSORT? I'm trying to do this by using DFSORT SPLICE function, but I could not get right answer. Your help would be highly appreciated. Minoru Massaki (M*M) -- 全先 実 - Minoru Massaki (M*M) E-mail: mmass...@gmail.com -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: DFSORT question - How to combine several records to one record
Correct me if I am wrong but ICETOOL should work Sent from my iPad Scott Ford Senior Systems Engineer www.identityforge.com On Feb 27, 2012, at 2:25 PM, Scott Ford scott_j_f...@yahoo.com wrote: Guys, Correct me if I am ring, what about ICETOOL Sent from my iPad Scott Ford Senior Systems Engineer www.identityforge.com On Feb 27, 2012, at 1:46 PM, Minoru Massaki mmass...@gmail.com wrote: Hello DFSORT experts, I'd like ask a help. I have to do following by DFSORT There is a data set which contains records with dsname, time, and status as following (dsname, time, status fields are fixed length) The records are sorted by dsname and time. dsn-aaa08:00 open dsn-aaa08:10 close dsn-aaa08:15 delete dsn-bbb07:55 delete dsn-ccc08:05 open dsn-ccc08:07 close I want to get a record by each dsname from multiple records as following. (each dsname has max 8 records(status)) dsn-aaa08:00 open 08:10 close 08:15 delete dsn-bbb07:55 delete dsn-ccc08:05 open 08:07 close How can I make this output list by using DFSORT? I'm trying to do this by using DFSORT SPLICE function, but I could not get right answer. Your help would be highly appreciated. Minoru Massaki (M*M) -- 全先 実 - Minoru Massaki (M*M) E-mail: mmass...@gmail.com -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: DFSORT question - How to combine several records to one record
Minoru Massaki at IBM Mainframe Discussion List IBM-MAIN@bama.ua.edu wrote on 02/27/2012 10:46:57 AM: I have to do following by DFSORT There is a data set which contains records with dsname, time, and status as following (dsname, time, status fields are fixed length) The records are sorted by dsname and time. dsn-aaa08:00 open dsn-aaa08:10 close dsn-aaa08:15 delete dsn-bbb07:55 delete dsn-ccc08:05 open dsn-ccc08:07 close I want to get a record by each dsname from multiple records as following. (each dsname has max 8 records(status)) dsn-aaa08:00 open 08:10 close 08:15 delete dsn-bbb07:55 delete dsn-ccc08:05 open 08:07 close You can use a DFSORT/ICETOOL job like the following. I assumed your records were already in order by the dsname as implied by your example. If not, remove the OPTION COPY statement: //S1EXEC PGM=ICETOOL //TOOLMSG DD SYSOUT=* //DFSMSG DD SYSOUT=* //IN DD * dsn-aaa08:00 open dsn-aaa08:10 close dsn-aaa08:15 delete dsn-bbb07:55 delete dsn-ccc08:05 open dsn-ccc08:07 close dsn-ddd08:01 open dsn-ddd08:02 close dsn-ddd08:03 open dsn-ddd08:04 close dsn-ddd08:05 open dsn-ddd08:06 close dsn-ddd08:07 open dsn-ddd08:08 close //OUT DD SYSOUT=* //TOOLIN DD * SPLICE FROM(IN) TO(OUT) ON(1,11,CH) KEEPNODUPS WITHEACH - WITH(26,14) WITH(40,14) WITH(54,14) WITH(68,14) - WITH(82,14) WITH(96,14) WITH(110,14) USING(CTL1) //CTL1CNTL DD * OPTION COPY INREC IFTHEN=(WHEN=GROUP,KEYBEGIN=(1,11),PUSH=(125:SEQ=1)), IFTHEN=(WHEN=(125,1,ZD,EQ,2),BUILD=(1,11,26:12,14)), IFTHEN=(WHEN=(125,1,ZD,EQ,3),BUILD=(1,11,40:12,14)), IFTHEN=(WHEN=(125,1,ZD,EQ,4),BUILD=(1,11,54:12,14)), IFTHEN=(WHEN=(125,1,ZD,EQ,5),BUILD=(1,11,68:12,14)), IFTHEN=(WHEN=(125,1,ZD,EQ,6),BUILD=(1,11,82:12,14)), IFTHEN=(WHEN=(125,1,ZD,EQ,7),BUILD=(1,11,96:12,14)), IFTHEN=(WHEN=(125,1,ZD,EQ,8),BUILD=(1,11,110:12,14)) OUTFIL BUILD=(1,123) /* Frank Yaeger - DFSORT Development Team (IBM) - yae...@us.ibm.com Specialties: JOINKEYS, FINDREP, WHEN=GROUP, ICETOOL, Symbols, Migration = DFSORT/MVS is on the Web at http://www.ibm.com/storage/dfsort -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: DFSORT question - How to combine several records to one record
Yaeger-san, thank very much for telling me the way what I sould code DFSORT control cards. But unfortunately KEYBEGIN parameter became 'OPERAND DEFINER ERROR' on my z/OS V1.12 (ADCD system) . Then I have checked DFSORT Application Programming Guide for z/OS V1.12, I could not find out KEYBEGIN parameter. Is KEYBEGIN a new keyword provided by new PTF? Is there another way to do same things without KEYBEGIN parameter? Because we don't have a chance to apply the PTF, if the KEYEGIN is provided by PTF. I appreciate your support. Minoru Massaki (M*M) 2012/2/28 Frank Yaeger yae...@us.ibm.com: Minoru Massaki at IBM Mainframe Discussion List IBM-MAIN@bama.ua.edu wrote on 02/27/2012 10:46:57 AM: I have to do following by DFSORT There is a data set which contains records with dsname, time, and status as following (dsname, time, status fields are fixed length) The records are sorted by dsname and time. dsn-aaa08:00 open dsn-aaa08:10 close dsn-aaa08:15 delete dsn-bbb07:55 delete dsn-ccc08:05 open dsn-ccc08:07 close I want to get a record by each dsname from multiple records as following. (each dsname has max 8 records(status)) dsn-aaa08:00 open 08:10 close 08:15 delete dsn-bbb07:55 delete dsn-ccc08:05 open 08:07 close You can use a DFSORT/ICETOOL job like the following. I assumed your records were already in order by the dsname as implied by your example. If not, remove the OPTION COPY statement: //S1EXEC PGM=ICETOOL //TOOLMSG DD SYSOUT=* //DFSMSG DD SYSOUT=* //IN DD * dsn-aaa08:00 open dsn-aaa08:10 close dsn-aaa08:15 delete dsn-bbb07:55 delete dsn-ccc08:05 open dsn-ccc08:07 close dsn-ddd08:01 open dsn-ddd08:02 close dsn-ddd08:03 open dsn-ddd08:04 close dsn-ddd08:05 open dsn-ddd08:06 close dsn-ddd08:07 open dsn-ddd08:08 close //OUT DD SYSOUT=* //TOOLIN DD * SPLICE FROM(IN) TO(OUT) ON(1,11,CH) KEEPNODUPS WITHEACH - WITH(26,14) WITH(40,14) WITH(54,14) WITH(68,14) - WITH(82,14) WITH(96,14) WITH(110,14) USING(CTL1) //CTL1CNTL DD * OPTION COPY INREC IFTHEN=(WHEN=GROUP,KEYBEGIN=(1,11),PUSH=(125:SEQ=1)), IFTHEN=(WHEN=(125,1,ZD,EQ,2),BUILD=(1,11,26:12,14)), IFTHEN=(WHEN=(125,1,ZD,EQ,3),BUILD=(1,11,40:12,14)), IFTHEN=(WHEN=(125,1,ZD,EQ,4),BUILD=(1,11,54:12,14)), IFTHEN=(WHEN=(125,1,ZD,EQ,5),BUILD=(1,11,68:12,14)), IFTHEN=(WHEN=(125,1,ZD,EQ,6),BUILD=(1,11,82:12,14)), IFTHEN=(WHEN=(125,1,ZD,EQ,7),BUILD=(1,11,96:12,14)), IFTHEN=(WHEN=(125,1,ZD,EQ,8),BUILD=(1,11,110:12,14)) OUTFIL BUILD=(1,123) /* Frank Yaeger - DFSORT Development Team (IBM) - yae...@us.ibm.com Specialties: JOINKEYS, FINDREP, WHEN=GROUP, ICETOOL, Symbols, Migration = DFSORT/MVS is on the Web at http://www.ibm.com/storage/dfsort -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN -- 全先 実 - Minoru Massaki (M*M) E-mail: mmass...@gmail.com -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: DFSORT question - How to combine several records to one record
Yaeger-san, thank very much for telling me the way what I sould code DFSORT control cards. But unfortunately KEYBEGIN parameter became 'OPERAND DEFINER ERROR' on my z/OS V1.12 (ADCD system) . Then I have checked DFSORT Application Programming Guide for z/OS V1.12, I could not find out KEYBEGIN parameter. Is KEYBEGIN a new keyword provided by new PTF? Is there another way to do same things without KEYBEGIN parameter? Because we don't have a chance to apply the PTF, if the KEYEGIN is provided by PTF. I appreciate your support. Minoru Massaki (M*M) Minoru-San A search with DFSORT and KEYBEING shows PTF UK90025 for z/OS DFSORT V1R10 and PTF UK90026 for z/OS DFSORT V1R12 (Oct, 2010) provide important enhancements to DFSORT and DFSORT's ICETOOL for resizing records (RESIZE operator); updating the trailer record (IFTRAIL); processing subsets (ACCEPT); translation of ASCII to EBCDIC (TRAN=ATOE), EBCDIC to ASCII (TRAN=ETOA), EBCDIC hex to binary (TRAN=UNHEX), and more; date field arithmetic (ADDDAYS, ADDMONS, ADDYEARS, SUBDAYS, SUBMONS, SUBYEARS, DATEDIFF, NEXTDday, PREVDday, LASTDAYW, LASTDAYM, LASTDAYQ and LASTDAYY); timestamp constant with microseconds (DATE5); group functions (KEYBEGIN); use of SET and PROC symbols in control statements (JPnstring in EXEC PARM); more information in reports; larger fields; easier migration from other sort products, and more. Hope this helps Lizette -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: DFSORT question - How to combine several records to one record
Koehler-san, Thank you very much for giving me valuable information. I'll check the PTF on a customer's z/OS V1.10 systems as well as our z/OS V1.12 system. I hope that the customer already has installed the PTF. Again, Thank you a lot. Minoru Massaki (M*M) 2012/2/28 Lizette Koehler stars...@mindspring.com: Yaeger-san, thank very much for telling me the way what I sould code DFSORT control cards. But unfortunately KEYBEGIN parameter became 'OPERAND DEFINER ERROR' on my z/OS V1.12 (ADCD system) . Then I have checked DFSORT Application Programming Guide for z/OS V1.12, I could not find out KEYBEGIN parameter. Is KEYBEGIN a new keyword provided by new PTF? Is there another way to do same things without KEYBEGIN parameter? Because we don't have a chance to apply the PTF, if the KEYEGIN is provided by PTF. I appreciate your support. Minoru Massaki (M*M) Minoru-San A search with DFSORT and KEYBEING shows PTF UK90025 for z/OS DFSORT V1R10 and PTF UK90026 for z/OS DFSORT V1R12 (Oct, 2010) provide important enhancements to DFSORT and DFSORT's ICETOOL for resizing records (RESIZE operator); updating the trailer record (IFTRAIL); processing subsets (ACCEPT); translation of ASCII to EBCDIC (TRAN=ATOE), EBCDIC to ASCII (TRAN=ETOA), EBCDIC hex to binary (TRAN=UNHEX), and more; date field arithmetic (ADDDAYS, ADDMONS, ADDYEARS, SUBDAYS, SUBMONS, SUBYEARS, DATEDIFF, NEXTDday, PREVDday, LASTDAYW, LASTDAYM, LASTDAYQ and LASTDAYY); timestamp constant with microseconds (DATE5); group functions (KEYBEGIN); use of SET and PROC symbols in control statements (JPnstring in EXEC PARM); more information in reports; larger fields; easier migration from other sort products, and more. Hope this helps Lizette -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN -- 全先 実 - Minoru Massaki (M*M) E-mail: mmass...@gmail.com -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN
Re: DFSORT question - How to combine several records to one record
I added an additional DFSORT step which add sequence number in dsname records before ICETOOL step. So the ICETOOL without KEYBEGIN parameter got the right result. //ADDSEQ EXEC PGM=ICEMAN //SYSOUT DD SYSOUT=* //SORTIN DD * DSN-AAA08:00 OPEN DSN-AAA08:10 CLOSE DSN-AAA08:15 DELETE DSN-BBB07:55 DELETE DSN-CCC08:05 OPEN DSN-CCC08:07 CLOSE DSN-DDD08:01 OPEN DSN-DDD08:02 CLOSE DSN-DDD08:03 OPEN DSN-DDD08:04 CLOSE DSN-DDD08:05 OPEN DSN-DDD08:06 CLOSE DSN-DDD08:07 OPEN DSN-DDD08:08 CLOSE /* //SORTOUT DD SYSOUT=* //ADDSEQ DD DSN=ADDSEQ,DISP=(NEW,PASS),UNIT=SYSDA, // SPACE=(CYL,(2,1),RLSE), // DCB=(RECFM=FB,LRECL=125,BLKSIZE=0) //SYSINDD * INREC OVERLAY=(125:SEQNUM,1,ZD,START=1,RESTART=(1,11)) SORTFIELDS=(1,10,CH,A,12,5,CH,A) OUTFIL FNAMES=ADDSEQ,REMOVECC, BUILD=(1,125) /* //S1 EXEC PGM=ICETOOL //TOOLMSG DD SYSOUT=* //DFSMSG DD SYSOUT=* //IN DD DSN=ADDSEQ,DISP=(OLD,DELETE),UNIT=SYSDA //OUT DD SYSOUT=* //TOOLIN DD * SPLICE FROM(IN) TO(OUT) ON(1,11,CH) KEEPNODUPS WITHEACH - WITH(26,14) WITH(40,14) WITH(54,14) WITH(68,14) - WITH(82,14) WITH(96,14) WITH(110,14) USING(CTL1) /* //CTL1CNTL DD * OPTION COPY INREC IFTHEN=(WHEN=(125,1,ZD,EQ,2),BUILD=(1,11,26:12,14)), IFTHEN=(WHEN=(125,1,ZD,EQ,3),BUILD=(1,11,40:12,14)), IFTHEN=(WHEN=(125,1,ZD,EQ,4),BUILD=(1,11,54:12,14)), IFTHEN=(WHEN=(125,1,ZD,EQ,5),BUILD=(1,11,68:12,14)), IFTHEN=(WHEN=(125,1,ZD,EQ,6),BUILD=(1,11,82:12,14)), IFTHEN=(WHEN=(125,1,ZD,EQ,7),BUILD=(1,11,96:12,14)), IFTHEN=(WHEN=(125,1,ZD,EQ,8),BUILD=(1,11,110:12,14)) OUTFIL BUILD=(1,123) /* Again, I appreciate your kind support. Minoru Massaki (M*M) 2012年2月28日11:21 Minoru Massaki mmass...@gmail.com: Yaeger-san, thank very much for telling me the way what I sould code DFSORT control cards. But unfortunately KEYBEGIN parameter became 'OPERAND DEFINER ERROR' on my z/OS V1.12 (ADCD system) . Then I have checked DFSORT Application Programming Guide for z/OS V1.12, I could not find out KEYBEGIN parameter. Is KEYBEGIN a new keyword provided by new PTF? Is there another way to do same things without KEYBEGIN parameter? Because we don't have a chance to apply the PTF, if the KEYEGIN is provided by PTF. I appreciate your support. Minoru Massaki (M*M) 2012/2/28 Frank Yaeger yae...@us.ibm.com: Minoru Massaki at IBM Mainframe Discussion List IBM-MAIN@bama.ua.edu wrote on 02/27/2012 10:46:57 AM: I have to do following by DFSORT There is a data set which contains records with dsname, time, and status as following (dsname, time, status fields are fixed length) The records are sorted by dsname and time. dsn-aaa08:00 open dsn-aaa08:10 close dsn-aaa08:15 delete dsn-bbb07:55 delete dsn-ccc08:05 open dsn-ccc08:07 close I want to get a record by each dsname from multiple records as following. (each dsname has max 8 records(status)) dsn-aaa08:00 open 08:10 close 08:15 delete dsn-bbb07:55 delete dsn-ccc08:05 open 08:07 close You can use a DFSORT/ICETOOL job like the following. I assumed your records were already in order by the dsname as implied by your example. If not, remove the OPTION COPY statement: //S1EXEC PGM=ICETOOL //TOOLMSG DD SYSOUT=* //DFSMSG DD SYSOUT=* //IN DD * dsn-aaa08:00 open dsn-aaa08:10 close dsn-aaa08:15 delete dsn-bbb07:55 delete dsn-ccc08:05 open dsn-ccc08:07 close dsn-ddd08:01 open dsn-ddd08:02 close dsn-ddd08:03 open dsn-ddd08:04 close dsn-ddd08:05 open dsn-ddd08:06 close dsn-ddd08:07 open dsn-ddd08:08 close //OUT DD SYSOUT=* //TOOLIN DD * SPLICE FROM(IN) TO(OUT) ON(1,11,CH) KEEPNODUPS WITHEACH - WITH(26,14) WITH(40,14) WITH(54,14) WITH(68,14) - WITH(82,14) WITH(96,14) WITH(110,14) USING(CTL1) //CTL1CNTL DD * OPTION COPY INREC IFTHEN=(WHEN=GROUP,KEYBEGIN=(1,11),PUSH=(125:SEQ=1)), IFTHEN=(WHEN=(125,1,ZD,EQ,2),BUILD=(1,11,26:12,14)), IFTHEN=(WHEN=(125,1,ZD,EQ,3),BUILD=(1,11,40:12,14)), IFTHEN=(WHEN=(125,1,ZD,EQ,4),BUILD=(1,11,54:12,14)), IFTHEN=(WHEN=(125,1,ZD,EQ,5),BUILD=(1,11,68:12,14)), IFTHEN=(WHEN=(125,1,ZD,EQ,6),BUILD=(1,11,82:12,14)), IFTHEN=(WHEN=(125,1,ZD,EQ,7),BUILD=(1,11,96:12,14)), IFTHEN=(WHEN=(125,1,ZD,EQ,8),BUILD=(1,11,110:12,14)) OUTFIL BUILD=(1,123) /* Frank Yaeger - DFSORT Development Team (IBM) - yae...@us.ibm.com Specialties: JOINKEYS, FINDREP, WHEN=GROUP, ICETOOL, Symbols, Migration = DFSORT/MVS is on the Web at http://www.ibm.com/storage/dfsort -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN -- 全先 実 - Minoru Massaki (M*M) E-mail: mmass...@gmail.com -- 全先 実
DFSORT question
I would like to assign a sequence number to the input of ICETOOL, with a limit on the maximum number - so for example, the number would increment from 1 to 6, then start at 1 again. Can I combine the seqnum and MOD operations to do it in one pass, or do I need to add sequence numbers, create a work dataset, then apply the MOD operation? -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: DFSORT question
Tim Hare on IBM Mainframe Discussion List IBM-MAIN@bama.ua.edu wrote on 05/24/2010 10:03:56 AM: I would like to assign a sequence number to the input of ICETOOL, with a limit on the maximum number - so for example, the number would increment from 1 to 6, then start at 1 again. Can I combine the seqnum and MOD operations to do it in one pass, or do I need to add sequence numbers, create a work dataset, then apply the MOD operation? Tim, I would like to assign a sequence number to the input of ICETOOL, For which ICETOOL operator? It's not clear to me exactly what you want to do. Can you please show an example of your input records (relevant fields only) and what you expect for output. Explain the rules for getting from input to output. Give the RECFM and LRECL of the input file. Give the starting position, length and format of the relevant fields. Frank Yaeger - DFSORT Development Team (IBM) - yae...@us.ibm.com Specialties: JOINKEYS, FINDREP, WHEN=GROUP, ICETOOL, Symbols, Migration = DFSORT/MVS is on the Web at http://www.ibm.com/storage/dfsort/ -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: DFSORT question
Example input, RECFM=FB,LRECL=14: DSK001 100 DSK002 3962002 DSK003 0001001 DSK005 200 DSK006 200 DSK008 010 DSK007 0001002 DSK004 0527192 Two fields: VOLSER in 1-6 and SIZE in 8-14. I want to assign a 'sequence' number to the input from 1 to 4, so that I can sort these into 4 groups, and within those groups descending order by size: So for this group the input would be modified to have the sequence in 16 (for example) resulting in a temporary work dataset of LRECL=16: DSK001 100 1 DSK002 3962002 2 DSK003 0001001 3 DSK005 200 4 DSK006 200 1 DSK008 010 2 DSK007 0001002 3 DSK004 0527192 4 And the final output would be RECFM=FB,LRECL=14 DSK006 200 DSK001 100 DSK002 3962002 DSK008 010 DSK007 0001002 DSK003 0001001 DSK005 200 DSK004 0527192 The idea is to balance disk backup jobs by spreading the large volumes across the (4) jobs evenly. Doing the sort this way isn't perfect but it's closer to what is needed. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: DFSORT question
In the BUILD operand of the INREC statement, you can use the SEQNUM field specification to create sequence numbers (e.g., in columns 15-20) and the MOD operator of the arexp field specification to create a grouping value (e.g., in columns 22-23) that loops between 0 and 3. (If you really want 1 to 4, you can add an ADD operator.) You would sort on the grouping value and discard the constructed fields in the OUTREC statement to get the output you describe. -Original Message- From: IBM Mainframe Discussion List [mailto:ibm-m...@bama.ua.edu] On Behalf Of Tim Hare Sent: Monday, May 24, 2010 12:19 PM To: IBM-MAIN@bama.ua.edu Subject: Re: DFSORT question Example input, RECFM=FB,LRECL=14: DSK001 100 DSK002 3962002 DSK003 0001001 DSK005 200 DSK006 200 DSK008 010 DSK007 0001002 DSK004 0527192 Two fields: VOLSER in 1-6 and SIZE in 8-14. I want to assign a 'sequence' number to the input from 1 to 4, so that I can sort these into 4 groups, and within those groups descending order by size: So for this group the input would be modified to have the sequence in 16 (for example) resulting in a temporary work dataset of LRECL=16: DSK001 100 1 DSK002 3962002 2 DSK003 0001001 3 DSK005 200 4 DSK006 200 1 DSK008 010 2 DSK007 0001002 3 DSK004 0527192 4 And the final output would be RECFM=FB,LRECL=14 DSK006 200 DSK001 100 DSK002 3962002 DSK008 010 DSK007 0001002 DSK003 0001001 DSK005 200 DSK004 0527192 The idea is to balance disk backup jobs by spreading the large volumes across the (4) jobs evenly. Doing the sort this way isn't perfect but it's closer to what is needed. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: DFSORT question
Tim Hare on IBM Mainframe Discussion List IBM-MAIN@bama.ua.edu wrote on 05/24/2010 12:18:56 PM: Example input, RECFM=FB,LRECL=14: DSK001 100 DSK002 3962002 DSK003 0001001 DSK005 200 DSK006 200 DSK008 010 DSK007 0001002 DSK004 0527192 Two fields: VOLSER in 1-6 and SIZE in 8-14. I want to assign a 'sequence' number to the input from 1 to 4, so that I can sort these into 4 groups, and within those groups descending order by size: So for this group the input would be modified to have the sequence in 16 (for example) resulting in a temporary work dataset of LRECL=16: DSK001 100 1 DSK002 3962002 2 DSK003 0001001 3 DSK005 200 4 DSK006 200 1 DSK008 010 2 DSK007 0001002 3 DSK004 0527192 4 And the final output would be RECFM=FB,LRECL=14 DSK006 200 DSK001 100 DSK002 3962002 DSK008 010 DSK007 0001002 DSK003 0001001 DSK005 200 DSK004 0527192 The idea is to balance disk backup jobs by spreading the large volumes across the (4) jobs evenly. Doing the sort this way isn't perfectbut it's closer to what is needed. Tim, I believe these DFSORT control statements will give you what you want: INREC IFTHEN=(WHEN=GROUP,RECORDS=4,PUSH=(16:SEQ=1)) SORT FIELDS=(16,1,CH,A,1,6,CH,A,8,7,CH,D) OUTREC BUILD=(1,14) Frank Yaeger - DFSORT Development Team (IBM) - yae...@us.ibm.com Specialties: JOINKEYS, FINDREP, WHEN=GROUP, ICETOOL, Symbols, Migration = DFSORT/MVS is on the Web at http://www.ibm.com/storage/dfsort/ -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Advanced(?) DFSORT question.
I want to do something kind of weird and I'm wondering if DFSORT can do it for me. I have a file where each record has three fields. Field 1 is the z/OS SYSID. Field 2 is a TOD value. Field 3 is a number. The SYSID field can only contain one of two values (C'DEV1' or C'LIH1'). I want my output file to have 5 fields. Field 1 will be the TOD field, converted to a printable date (DC1) and time (TC1). Field 2 is C'LIH1'. Field 3 is the value of the number for the TOD for C'LIH1'. Field 4 is C'DEV1'. Field 5 is the value of the number for the TOD for C'DEV1'. Field 6 is the sum of output fields 3 and 5. Would the DFSORT control card below do what I want? * FIELD 1 IS 1,4,CH (SYSID) * FIELD 2 IS 5,8,BI (TOD) * FIELD 3 IS 13,5,ZD (NUMBER) SORT FIELDS=(1,11,CH,A) SORT ON DATE+HOUR INREC IFTHEN=(WHEN=(1,4,CH,EQ,C'LIH1'), BUILD=(5,8,DC1,C' ',5,8,TC1,C'|', C'LIH1|',13,5, C'|DEV1|',C'0|0')), IFTHEN=(WHEN=(1,4,CH,EQ,C'DEV1'), BUILD=(5,8,DC,C' ',5,8,TC1,C'|', C'LIH1|',C'0', C'|DEV1|',13,5,C'|0')) SUM FIELDS=(22,5,ZD,33,5,ZD) OUTREC OVERLAY=(39:22,5,ZD,ADD,33,5,ZD) Please excuse any column errors. I'm more interested in whether the concept of doing a SUM on two fields and then summing those two fields to overlay an output field is valid. -- John -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: Advanced(?) DFSORT question.
John McKown wrote on 04/15/2009 10:19:33 AM: I want to do something kind of weird and I'm wondering if DFSORT can do it for me. I have a file where each record has three fields. Field 1 is the z/OS SYSID. Field 2 is a TOD value. Field 3 is a number. The SYSID field can only contain one of two values (C'DEV1' or C'LIH1'). I want my output file to have 5 fields. Field 1 will be the TOD field, converted to a printable date (DC1) and time (TC1). Field 2 is C'LIH1'. Field 3 is the value of the number for the TOD for C'LIH1'. Field 4 is C'DEV1'. Field 5 is the value of the number for the TOD for C'DEV1'. Field 6 is the sum of output fields 3 and 5. Would the DFSORT control card below do what I want? * FIELD 1 IS 1,4,CH (SYSID) * FIELD 2 IS 5,8,BI (TOD) * FIELD 3 IS 13,5,ZD (NUMBER) SORT FIELDS=(1,11,CH,A) SORT ON DATE+HOUR INREC IFTHEN=(WHEN=(1,4,CH,EQ,C'LIH1'), BUILD=(5,8,DC1,C' ',5,8,TC1,C'|', C'LIH1|',13,5, C'|DEV1|',C'0|0')), IFTHEN=(WHEN=(1,4,CH,EQ,C'DEV1'), BUILD=(5,8,DC,C' ',5,8,TC1,C'|', C'LIH1|',C'0', C'|DEV1|',13,5,C'|0')) SUM FIELDS=(22,5,ZD,33,5,ZD) OUTREC OVERLAY=(39:22,5,ZD,ADD,33,5,ZD) Please excuse any column errors. I'm more interested in whether the concept of doing a SUM on two fields and then summing those two fields to overlay an output field is valid. Yes, that concept is valid. I changed your 5,8,DC in the second IFTHEN clause to 5,8,DC1 and ran a test and it worked. You could also eliminate the OUTREC statement by doing it with these DFSORT control statements (you don't need ZDPRINT if it's your default): INREC IFTHEN=(WHEN=(1,4,CH,EQ,C'LIH1'), BUILD=(5,8,DC1,C' ',5,8,TC1,C'|', C'LIH1|',13,5, C'|DEV1|',C'0|',13,5)), IFTHEN=(WHEN=(1,4,CH,EQ,C'DEV1'), BUILD=(5,8,DC1,C' ',5,8,TC1,C'|', C'LIH1|',C'0', C'|DEV1|',13,5,C'|',13,5)) SORT FIELDS=(1,11,CH,A) SORT ON DATE+HOUR OPTION ZDPRINT SUM FIELDS=(22,5,ZD,33,5,ZD,39,5,ZD) Frank Yaeger - DFSORT Development Team (IBM) - yae...@us.ibm.com Specialties: FINDREP, WHEN=GROUP, DATASORT, ICETOOL, Symbols, Migration = DFSORT/MVS is on the Web at http://www.ibm.com/storage/dfsort/ -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: Advanced(?) DFSORT question.
Frank, Thanks for the validation and the enhancement! -- John -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: DFSORT question MERGE w/SUM FIELDS=NONE
On Thu, 17 Jan 2008 17:31:21 -0600, Mark Zelden wrote: Is there a system determined BLKSIZE on a PATH= DD statement, or is the sort program left to deal with it? see above For a while, SDB always set BLKSIZE for PATH= to 80. This was much fixed as a side effect of an APAR directed to JES, with a warning to the PMR submitter that the documentation continued to say 80, and if another customer complained it might be necessary to re-break it. -- gil -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: DFSORT question MERGE w/SUM FIELDS=NONE
On Jan 16, 2008, at 11:55 AM, Rick Fochtman wrote: ---snip--- I have not done a merge in *YEARS*, having said that I believe (even if you concatenate) each concatenation has to be in a higher sequence than the file ahead of the concatenation (all records still must be in the right sequence) so (if) you can concatenate the records must be in sequence. I hope I said that right and Walt can correct if I am wrong. ie sortin01 dd (seq01-09) example for illustrative purposes only dd (seq10-15) dd (seq16-??) unsnip- Not true, Ed. a MERGE will merge, and interleave where necessary, based on the parameters provided in the control statements. I believe that the only requirements are that the various input files be in sequence by the same keys before starting, and that the input files be of the same format vis-a-vis LRECL and RECFM. Rick: I have been offline much of the afternoon due to an email problem that was magically fixed. Frank indicated that you cannot concatenate sortinxx I personally don't see why not as long as the sequence is OK (and any other restrictions like LRECL etc) but if DFSORT doesn't allow it fine with me. I was just hazarding a guess anyway. I have leaned something anyway. Like I said in my original entry I hadn't done a MERGE in years and I guess it shows. Now if he would have said NO to sortin (in a sort) I would have raised a vigorous objection. Merge is one of those only use it when the sort is too big (for me) . Anyway Thanks to Frank for correcting me. Ed -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: DFSORT question MERGE w/SUM FIELDS=NONE
On Thu, 17 Jan 2008 17:25:43 -0500, Tom Russell [EMAIL PROTECTED] wrote: Date:Tue, 15 Jan 2008 12:16:53 -0600 From:Mark Zelden [EMAIL PROTECTED] Subject: Re: DFSORT question MERGE w/SUM FIELDS=NONE This worked (SYNCSORT). But I did have to specify LRECL, BLKSIZE, and RECFM on the DDs or I got RC16: //SORTEXEC PGM=SORT //SYSOUT DD SYSOUT=* //SORTIN DD PATH='/u/myuserid/testdata', // LRECL=80,BLKSIZE=8000,RECFM=FB, // PATHOPTS=ORDONLY,FILEDATA=TEXT //SORTOUT DD PATH='/u/myuserid/testdata.sorted', // PATHDISP=(KEEP,DELETE), // PATHOPTS=(OWRONLY,OCREAT,OEXCL),PATHMODE=(SIRWXU,SIRGRP), // LRECL=80,BLKSIZE=8000,RECFM=FB, // FILEDATA=TEXT //SORTWK01 DD UNIT=SYSDA,SPACE=(CYL,(1)) //SYSINDD * SORT FIELDS=(1,80,CH,A) END Mark Mark, I find it interesting that you chose 8000 as the BLKSIZE. No particular reason. I can only multiply by adding zeros?? ;-) There is of course no actual block size on the Unix file... you are just controlling how often you go through the access method I/O routines. Is the difference in CPU time detectable if you coded the input as RECFM=F? Don't know. Test it... And what if you said RECFM=FB on the SORTOUT, but omitted BLKSIZE. Already covered... by me (sort of indirectly with a pointer to the fine manual) and by John Reda directly. The I/O is BSAM and you have to supply DCB info. Is there a system determined BLKSIZE on a PATH= DD statement, or is the sort program left to deal with it? see above The resulting Unix file should be the same even if SORTOUT was RECFM=F, BLKSIZE=80. Is the CPU time difference detectable? Again, don't know. Test it... Regards, Mark -- Mark Zelden Sr. Software and Systems Architect - z/OS Team Lead Zurich North America / Farmers Insurance Group - ZFUS G-ITO mailto:[EMAIL PROTECTED] z/OS Systems Programming expert at http://expertanswercenter.techtarget.com/ Mark's MVS Utilities: http://home.flash.net/~mzelden/mvsutil.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: DFSORT question MERGE w/SUM FIELDS=NONE
Date:Tue, 15 Jan 2008 12:16:53 -0600 From:Mark Zelden [EMAIL PROTECTED] Subject: Re: DFSORT question MERGE w/SUM FIELDS=NONE This worked (SYNCSORT). But I did have to specify LRECL, BLKSIZE, and RECFM on the DDs or I got RC16: //SORTEXEC PGM=SORT //SYSOUT DD SYSOUT=* //SORTIN DD PATH='/u/myuserid/testdata', // LRECL=80,BLKSIZE=8000,RECFM=FB, // PATHOPTS=ORDONLY,FILEDATA=TEXT //SORTOUT DD PATH='/u/myuserid/testdata.sorted', // PATHDISP=(KEEP,DELETE), // PATHOPTS=(OWRONLY,OCREAT,OEXCL),PATHMODE=(SIRWXU,SIRGRP), // LRECL=80,BLKSIZE=8000,RECFM=FB, // FILEDATA=TEXT //SORTWK01 DD UNIT=SYSDA,SPACE=(CYL,(1)) //SYSINDD * SORT FIELDS=(1,80,CH,A) END Mark Mark, I find it interesting that you chose 8000 as the BLKSIZE. There is of course no actual block size on the Unix file... you are just controlling how often you go through the access method I/O routines. Is the difference in CPU time detectable if you coded the input as RECFM=F? And what if you said RECFM=FB on the SORTOUT, but omitted BLKSIZE. Is there a system determined BLKSIZE on a PATH= DD statement, or is the sort program left to deal with it? The resulting Unix file should be the same even if SORTOUT was RECFM=F, BLKSIZE=80. Is the CPU time difference detectable? Ah well. I was just curious, but I am just procrastinating. I should be working. regards, Tom Tom Russell Stay calm. Be brave. Wait for the signs. -- Jasper FriendlyBear ... and remember to leave good news alone. -- Gracie HeavyHand -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: DFSORT question MERGE w/SUM FIELDS=NONE
Ed Gould wrote on 01/15/2008 09:07:38 PM: I believe (even if you concatenate) each concatenation has to be in a higher sequence than the file ahead of the concatenation (all records still must be in the right sequence) so (if) you can concatenate the records must be in sequence. I hope I said that right and Walt can correct if I am wrong. ie sortin01 dd (seq01-09) example for illustrative purposes only dd (seq10-15) dd (seq16-??) You can use concatenated SORTIN data sets for SORT and COPY. You can one or more SORTINdd data sets for MERGE. But concatenated SORTINdd data sets are not allowed. Frank Yaeger - DFSORT Development Team (IBM) - [EMAIL PROTECTED] Specialties: PARSE, JFY, SQZ, ICETOOL, IFTHEN, OVERLAY, Symbols, Migration = DFSORT/MVS is on the Web at http://www.ibm.com/storage/dfsort/ -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: DFSORT question MERGE w/SUM FIELDS=NONE
---snip--- I have not done a merge in *YEARS*, having said that I believe (even if you concatenate) each concatenation has to be in a higher sequence than the file ahead of the concatenation (all records still must be in the right sequence) so (if) you can concatenate the records must be in sequence. I hope I said that right and Walt can correct if I am wrong. ie sortin01 dd (seq01-09) example for illustrative purposes only dd (seq10-15) dd (seq16-??) unsnip- Not true, Ed. a MERGE will merge, and interleave where necessary, based on the parameters provided in the control statements. I believe that the only requirements are that the various input files be in sequence by the same keys before starting, and that the input files be of the same format vis-a-vis LRECL and RECFM. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: DFSORT question
Excellent suggestion. However, IIRC, Hiperbatch doesn't support BSAM. db -Original Message- From: IBM Mainframe Discussion List [mailto:[EMAIL PROTECTED] On Behalf Of Ron Hawkins Sent: Tuesday, January 15, 2008 1:14 AM To: IBM-MAIN@BAMA.UA.EDU Subject: Re: DFSORT question 2) HIPERBATCH, with an E15 exit to get sort to read the file with QSAM or BSAM, you will have just one job reading the file and the rest reading from the DLF buffer. Can be very fast and effective if you keep all the jobs swapped in and dispatched at the same rate. 32MB would be plenty for this case. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: DFSORT question
Yet another brain-fart... a bad week :-( -Original Message- From: IBM Mainframe Discussion List [mailto:[EMAIL PROTECTED] On Behalf Of Dave Barry Sent: Wednesday, January 16, 2008 2:46 PM To: IBM-MAIN@BAMA.UA.EDU Subject: Re: [IBM-MAIN] DFSORT question Excellent suggestion. However, IIRC, Hiperbatch doesn't support BSAM. db -Original Message- From: IBM Mainframe Discussion List [mailto:[EMAIL PROTECTED] On Behalf Of Ron Hawkins Sent: Tuesday, January 15, 2008 1:14 AM To: IBM-MAIN@BAMA.UA.EDU Subject: Re: DFSORT question 2) HIPERBATCH, with an E15 exit to get sort to read the file with QSAM or BSAM, you will have just one job reading the file and the rest reading from the DLF buffer. Can be very fast and effective if you keep all the jobs swapped in and dispatched at the same rate. 32MB would be plenty for this case. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
DFSORT question MERGE w/SUM FIELDS=NONE
The manual is unclear on this. First question: Is this supported? I.e. will SORTOUT contain only one of the records with the duplicate key? Second question: Which record will be kept? Random, the one read from the lowest SORTINnn or the one read from the highest SORTINnn DD statement? -- John McKown Senior Systems Programmer HealthMarkets Keeping the Promise of Affordable Coverage Administrative Services Group Information Technology The information contained in this e-mail message may be privileged and/or confidential. It is for intended addressee(s) only. If you are not the intended recipient, you are hereby notified that any disclosure, reproduction, distribution or other use of this communication is strictly prohibited and could, in certain circumstances, be a criminal offense. If you have received this e-mail in error, please notify the sender by reply and delete this message without copying or disclosing it. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: DFSORT question MERGE w/SUM FIELDS=NONE
On Tue, 15 Jan 2008 10:25:23 -0600, McKown, John wrote: The manual is unclear on this. First question: Is this supported? I.e. will SORTOUT contain only one of the records with the duplicate key? Second question: Which record will be kept? Random, the one read from the lowest SORTINnn or the one read from the highest SORTINnn DD statement? We use SYNCSORT... There's a parameter called EQUALS that ensures the first duplicate is the one that will show up on a deduped SORTed/MERGEd file. Does DFSORT have an equivalent ??? -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: DFSORT question MERGE w/SUM FIELDS=NONE
-Original Message- From: IBM Mainframe Discussion List [mailto:[EMAIL PROTECTED] On Behalf Of Dave Kopischke Sent: Tuesday, January 15, 2008 11:00 AM To: IBM-MAIN@BAMA.UA.EDU Subject: Re: DFSORT question MERGE w/SUM FIELDS=NONE On Tue, 15 Jan 2008 10:25:23 -0600, McKown, John wrote: The manual is unclear on this. First question: Is this supported? I.e. will SORTOUT contain only one of the records with the duplicate key? Second question: Which record will be kept? Random, the one read from the lowest SORTINnn or the one read from the highest SORTINnn DD statement? We use SYNCSORT... There's a parameter called EQUALS that ensures the first duplicate is the one that will show up on a deduped SORTed/MERGEd file. Does DFSORT have an equivalent ??? Yes, I just didn't really see how EQUALS applies to a MERGE. Possibly just lact of understanding on my part. I do understand how EQUALS applies to SORT since SORT is only reading one input file, so which is first makes sense to me. But MERGE is reading records from multiple input files, so which is first? The first one actually read? (that would be random, depending on the data in the various input files) Or the one which is read from the lowest numbered SORTINnn? In the words of Vinnie Barbarino I'm so confused! -- John McKown Senior Systems Programmer HealthMarkets Keeping the Promise of Affordable Coverage Administrative Services Group Information Technology The information contained in this e-mail message may be privileged and/or confidential. It is for intended addressee(s) only. If you are not the intended recipient, you are hereby notified that any disclosure, reproduction, distribution or other use of this communication is strictly prohibited and could, in certain circumstances, be a criminal offense. If you have received this e-mail in error, please notify the sender by reply and delete this message without copying or disclosing it. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: DFSORT question MERGE w/SUM FIELDS=NONE
If NOEQUALS is in effect, the record which is retained is determined arbitrarily. If EQUALS is in effect, the record which is retained is the first record read. In a MERGE application the retained record will be from the lowest numbered input file. These rules should hold true for SyncSort, DFSORT or CA-Sort. -Original Message- From: IBM Mainframe Discussion List [mailto:[EMAIL PROTECTED] On Behalf Of Dave Kopischke Sent: Tuesday, January 15, 2008 12:00 PM To: IBM-MAIN@BAMA.UA.EDU Subject: Re: DFSORT question MERGE w/SUM FIELDS=NONE On Tue, 15 Jan 2008 10:25:23 -0600, McKown, John wrote: The manual is unclear on this. First question: Is this supported? I.e. will SORTOUT contain only one of the records with the duplicate key? Second question: Which record will be kept? Random, the one read from the lowest SORTINnn or the one read from the highest SORTINnn DD statement? We use SYNCSORT... There's a parameter called EQUALS that ensures the first duplicate is the one that will show up on a deduped SORTed/MERGEd file. Does DFSORT have an equivalent ??? -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: DFSORT question MERGE w/SUM FIELDS=NONE
John McKown wrote on 01/15/2008 08:25:23 AM: The manual is unclear on this. First question: Is this supported? I.e. Yes, SUM FIELDS=NONE is supported for MERGE. will SORTOUT contain only one of the records with the duplicate key? Yes. Second question: Which record will be kept? Random, the one read from the lowest SORTINnn or the one read from the highest SORTINnn DD statement? If EQUALS is in effect, it will be the one from the lowest SORTINnn. So if you have: ... //SORTIN01 DD ... //SORTIN02 DD ... //SYSIN DD * OPTION EQUALS MERGE FIELDS=(...) SUM FIELDS=NONE or ... //SORTIN02 DD ... //SORTIN01 DD ... //SYSIN DD * OPTION EQUALS MERGE FIELDS=(...) SUM FIELDS=NONE the SORTIN01 record will be kept for duplicates. If NOEQUALS is in effect, it's random. Frank Yaeger - DFSORT Development Team (IBM) - [EMAIL PROTECTED] Specialties: PARSE, JFY, SQZ, ICETOOL, IFTHEN, OVERLAY, Symbols, Migration = DFSORT/MVS is on the Web at http://www.ibm.com/storage/dfsort/ -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: DFSORT question MERGE w/SUM FIELDS=NONE
-Original Message- From: IBM Mainframe Discussion List [mailto:[EMAIL PROTECTED] On Behalf Of Frank Yaeger Sent: Tuesday, January 15, 2008 11:07 AM To: IBM-MAIN@BAMA.UA.EDU Subject: Re: DFSORT question MERGE w/SUM FIELDS=NONE [snip] If NOEQUALS is in effect, it's random. = DFSORT/MVS is on the Web at http://www.ibm.com/storage/dfsort/ Many thanks. Confusing, but thanks. -- John McKown Senior Systems Programmer HealthMarkets Keeping the Promise of Affordable Coverage Administrative Services Group Information Technology The information contained in this e-mail message may be privileged and/or confidential. It is for intended addressee(s) only. If you are not the intended recipient, you are hereby notified that any disclosure, reproduction, distribution or other use of this communication is strictly prohibited and could, in certain circumstances, be a criminal offense. If you have received this e-mail in error, please notify the sender by reply and delete this message without copying or disclosing it. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: DFSORT question MERGE w/SUM FIELDS=NONE
On Tue, 15 Jan 2008 11:05:40 -0600, McKown, John wrote: Yes, I just didn't really see how EQUALS applies to a MERGE. Possibly just lact of understanding on my part. I do understand how EQUALS applies to SORT since SORT is only reading one input file, so which is first makes sense to me. But MERGE is reading records from multiple input files, so which is first? The first one actually read? (that would be random, depending on the data in the various input files) Or the one which is read from the lowest numbered SORTINnn? In the words of Vinnie Barbarino I'm so confused! SORT can also process a concatenation, so it can be more than one input file. It might even be able to access multiple DD's, but I didn't crack the manuals to look this one up. I always thought EQUALS was still valid on a MERGE, so I pulled the manual... When specified for a MERGE application, EQUALS guarantees that whenever equal-keyed records appear in different SORTIN data sets, the record from the lowest numbered SORTINnn will be written first to the output file. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: DFSORT question MERGE w/SUM FIELDS=NONE
On Tue, 15 Jan 2008 11:00:01 -0600, Dave Kopischke wrote: On Tue, 15 Jan 2008 10:25:23 -0600, McKown, John wrote: The manual is unclear on this. First question: Is this supported? I.e. will SORTOUT contain only one of the records with the duplicate key? Second question: Which record will be kept? Random, the one read from the lowest SORTINnn or the one read from the highest SORTINnn DD statement? dd We use SYNCSORT... There's a parameter called EQUALS that ensures the first duplicate is the one that will show up on a deduped SORTed/MERGEd file. Does DFSORT have an equivalent ??? Related question: Does either product support sorting on N keys and eliminating all but the first record with the first M (N) values identical? E.g. for all records with identical Names, keep only the one with the most recent Date. I've faced this problem with Unix sort(1). It doesn't specify which record will be retained, so I must pipe into an awk(1) script to do the final selection. Will DFSORT operate on Unix files? CMS Pipelines has a filter called UNIQUE which allows selecting either the first or last among identical keys, or only records which are unique initially, or not unique initially. -- gil -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
DFSORT question MERGE w/SUM FIELDS=NONE
(Sorry if this appears twice - the first post seems to be taking forever to get to the list, so I thought I'd try again.) John McKown wrote on 01/15/2008 08:25:23 AM: The manual is unclear on this. First question: Is this supported? I.e. Yes, SUM FIELDS=NONE is supported for MERGE. will SORTOUT contain only one of the records with the duplicate key? Yes. Second question: Which record will be kept? Random, the one read from the lowest SORTINnn or the one read from the highest SORTINnn DD statement? If EQUALS is in effect, it will be the one from the lowest SORTINnn. So if you have: ... //SORTIN01 DD ... //SORTIN02 DD ... //SYSIN DD * OPTION EQUALS MERGE FIELDS=(...) SUM FIELDS=NONE or ... //SORTIN02 DD ... //SORTIN01 DD ... //SYSIN DD * OPTION EQUALS MERGE FIELDS=(...) SUM FIELDS=NONE the SORTIN01 record will be kept for duplicates. If NOEQUALS is in effect, it's random. Frank Yaeger - DFSORT Development Team (IBM) - [EMAIL PROTECTED] Specialties: PARSE, JFY, SQZ, ICETOOL, IFTHEN, OVERLAY, Symbols, Migration = DFSORT/MVS is on the Web at http://www.ibm.com/storage/dfsort/ -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: DFSORT question MERGE w/SUM FIELDS=NONE
On Tue, 15 Jan 2008 11:20:25 -0600, Paul Gilmartin wrote: Related question: Does either product support sorting on N keys and eliminating all but the first record with the first M (N) values identical? E.g. for all records with identical Names, keep only the one with the most recent Date. An awkward solution would be to sort it in date sequence first, then SORT dedupe. Multiple passes and not very elegant. But for a small file, who cares ?? I've faced this problem with Unix sort(1). It doesn't specify which record will be retained, so I must pipe into an awk(1) script to do the final selection. Will DFSORT operate on Unix files? Check out SYNCSORT for UNIX. It's been a decade or so, but I'm pretty sure EQUALS is supported in SYNCSORT for UNIX. And it supports positional/variable length sort fields too. Very cool. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: DFSORT question MERGE w/SUM FIELDS=NONE
Paul Gilmartin wrote on 01/15/2008 09:20:25 AM: Related question: Does either product support sorting on N keys and eliminating all but the first record with the first M (N) values identical? E.g. for all records with identical Names, keep only the one with the most recent Date. I've faced this problem with Unix sort(1). It doesn't specify which record will be retained, so I must pipe into an awk(1) script to do the final selection. Yes, you can do that kind of thing with the SELECT operator of DFSORT's ICETOOL. You can use FIRST, LAST, FIRSTDUP and LASTDUP operands to select which record you want. You can also sort on various keys and select on one of them, e.g. sort on a name ascending and a date descending, and SELECT on the name ascending. See the following for more information on the SELECT operator of DFSORT's ICETOOL: http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/ICE1CA20/6.11?DT=20060615185603 Will DFSORT operate on Unix files? I don't know much about Unix files. DFSORT can use HFS files for input and output - does that help? Frank Yaeger - DFSORT Development Team (IBM) - [EMAIL PROTECTED] Specialties: PARSE, JFY, SQZ, ICETOOL, IFTHEN, OVERLAY, Symbols, Migration = DFSORT/MVS is on the Web at http://www.ibm.com/storage/dfsort/ -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: DFSORT question MERGE w/SUM FIELDS=NONE
On Tue, 15 Jan 2008 11:27:45 -0600, Dave Kopischke wrote: An awkward solution would be to sort it in date sequence first, then SORT dedupe. Multiple passes and not very elegant. But for a small file, who cares ?? If the file is small enough, I do it with an editor. Would it be better on the first pass do sort on name ascending major; date descending minor? Then the DEDUPE second pass would be almost trivial. Could MERGE EQUALS be used for the second pass? Will MERGE operate on a single input file, or would it require SORTIN02 DD DUMMY? -- gil -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: DFSORT question MERGE w/SUM FIELDS=NONE
On Tue, 15 Jan 2008 11:20:25 -0600, Paul Gilmartin [EMAIL PROTECTED] wrote: Does either product support sorting on N keys and eliminating all but the first record with the first M (N) values identical? E.g. for all records with identical Names, keep only the one with the most recent Date. Yes. With ICETOOL/SYNCTOOL. Example: SELECT FROM(INPUT) TO(OUTPUT) ON(26,6,CH) FIRST There are more options besides FIRST. Consult the fine manual. I've faced this problem with Unix sort(1). It doesn't specify which record will be retained, so I must pipe into an awk(1) script to do the final selection. Will DFSORT operate on Unix files? Never tried it. I think it would if you got the JCL and sort statements correct. Mark -- Mark Zelden Sr. Software and Systems Architect - z/OS Team Lead Zurich North America / Farmers Insurance Group - ZFUS G-ITO mailto:[EMAIL PROTECTED] z/OS Systems Programming expert at http://expertanswercenter.techtarget.com/ Mark's MVS Utilities: http://home.flash.net/~mzelden/mvsutil.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: DFSORT question MERGE w/SUM FIELDS=NONE
Paul Gilmartin wrote on 01/15/2008 09:40:44 AM: Would it be better on the first pass do sort on name ascending major; date descending minor? Then the DEDUPE second pass would be almost trivial. You can do it in one pass with a DFSORT/ICETOOL job like this: //S1EXEC PGM=ICETOOL //TOOLMSG DD SYSOUT=* //DFSMSG DD SYSOUT=* //IN DD * FRANK 20080107 FRANK 20080115 PAUL 20071230 FRANK 20071231 PAUL 20080112 GEORGE 20080103 PAUL 20080105 //OUT DD SYSOUT=* //TOOLIN DD * SELECT FROM(IN) TO(OUT) ON(1,7,CH) FIRST USING(CTL1) //CTL1CNTL DD * SORT FIELDS=(1,7,CH,A,8,8,CH,D) OUT would have: FRANK 20080115 GEORGE 20080103 PAUL 20080112 Note that SELECT sets EQUALS automatically. If the records are already in sorted order by the name and date, you can do it more easily like this: //S2EXEC PGM=ICETOOL //TOOLMSG DD SYSOUT=* //DFSMSG DD SYSOUT=* //IN DD * FRANK 20071231 FRANK 20080107 FRANK 20080115 PAUL 20071230 PAUL 20080105 PAUL 20080112 GEORGE 20080103 //OUT DD SYSOUT=* //TOOLIN DD * SELECT FROM(IN) TO(OUT) ON(1,7,CH) LAST Will MERGE operate on a single input file, or would it require SORTIN02 DD DUMMY? You can use one SORTINdd file for MERGE. Frank Yaeger - DFSORT Development Team (IBM) - [EMAIL PROTECTED] Specialties: PARSE, JFY, SQZ, ICETOOL, IFTHEN, OVERLAY, Symbols, Migration = DFSORT/MVS is on the Web at http://www.ibm.com/storage/dfsort/ -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: DFSORT question MERGE w/SUM FIELDS=NONE
On Tue, 15 Jan 2008 11:40:44 -0600, Paul Gilmartin wrote: On Tue, 15 Jan 2008 11:27:45 -0600, Dave Kopischke wrote: An awkward solution would be to sort it in date sequence first, then SORT dedupe. Multiple passes and not very elegant. But for a small file, who cares ?? If the file is small enough, I do it with an editor. Would it be better on the first pass do sort on name ascending major; date descending minor? Then the DEDUPE second pass would be almost trivial. Could MERGE EQUALS be used for the second pass? Possibly. As long as your first pass sort puts the file in the desired sequence. Will MERGE operate on a single input file, or would it require SORTIN02 DD DUMMY? My manual doesn't state a minimum. It just says the maximum is 32 DD's following the naming pattern SORTINnn. You can skip sequence numbers too if you want. My manual is pretty old, so the 32 DD constraint might have been relieved at some point. Give it a try and see. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: DFSORT question MERGE w/SUM FIELDS=NONE
Dave Kopischke wrote on 01/15/2008 09:57:20 AM: Will MERGE operate on a single input file, or would it require SORTIN02 DD DUMMY? My manual doesn't state a minimum. It just says the maximum is 32 DD's following the naming pattern SORTINnn. You can skip sequence numbers too if you want. My manual is pretty old, so the 32 DD constraint might have been relieved at some point. Give it a try and see. If it's a DFSORT manual, it must be very old. DFSORT has supported up to 100 DD's for MERGE since 1998. Frank Yaeger - DFSORT Development Team (IBM) - [EMAIL PROTECTED] Specialties: PARSE, JFY, SQZ, ICETOOL, IFTHEN, OVERLAY, Symbols, Migration = DFSORT/MVS is on the Web at http://www.ibm.com/storage/dfsort/ -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: DFSORT question MERGE w/SUM FIELDS=NONE
On Tue, 15 Jan 2008 11:46:02 -0600, Mark Zelden [EMAIL PROTECTED] wrote: Will DFSORT operate on Unix files? Never tried it. I think it would if you got the JCL and sort statements correct. This worked (SYNCSORT). But I did have to specify LRECL, BLKSIZE, and RECFM on the DDs or I got RC16: //SORTEXEC PGM=SORT //SYSOUT DD SYSOUT=* //SORTIN DD PATH='/u/myuserid/testdata', // LRECL=80,BLKSIZE=8000,RECFM=FB, // PATHOPTS=ORDONLY,FILEDATA=TEXT //SORTOUT DD PATH='/u/myuserid/testdata.sorted', // PATHDISP=(KEEP,DELETE), // PATHOPTS=(OWRONLY,OCREAT,OEXCL),PATHMODE=(SIRWXU,SIRGRP), // LRECL=80,BLKSIZE=8000,RECFM=FB, // FILEDATA=TEXT //SORTWK01 DD UNIT=SYSDA,SPACE=(CYL,(1)) //SYSINDD * SORT FIELDS=(1,80,CH,A) END Mark -- Mark Zelden Sr. Software and Systems Architect - z/OS Team Lead Zurich North America / Farmers Insurance Group - ZFUS G-ITO mailto:[EMAIL PROTECTED] z/OS Systems Programming expert at http://expertanswercenter.techtarget.com/ Mark's MVS Utilities: http://home.flash.net/~mzelden/mvsutil.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: DFSORT question MERGE w/SUM FIELDS=NONE
On Tue, 15 Jan 2008 12:16:53 -0600, Mark Zelden wrote: Will DFSORT operate on Unix files? Never tried it. I think it would if you got the JCL and sort statements correct. This worked (SYNCSORT). But I did have to specify LRECL, BLKSIZE, and RECFM on the DDs or I got RC16: Thanks for the experiment. We fence-straddlers are well accustomed to the attributes requirement, as well as to being distrusted by IBM development groups. Several years ago, I had some contention with an IBM product which refused to support Unix files for input because, they said, they feared the programmer might code unacceptable attributes. So what else is new? To IBM's credit, they had about an hour's conference call with me in which we discussed our various concerns. The restriction was dropped and the product now supports Unix files well. Thanks, Kurt! -- gil -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: DFSORT question MERGE w/SUM FIELDS=NONE
On Tue, 15 Jan 2008 12:33:01 -0600, Paul Gilmartin [EMAIL PROTECTED] wrote: On Tue, 15 Jan 2008 12:16:53 -0600, Mark Zelden wrote: Will DFSORT operate on Unix files? Never tried it. I think it would if you got the JCL and sort statements correct. This worked (SYNCSORT). But I did have to specify LRECL, BLKSIZE, and RECFM on the DDs or I got RC16: Thanks for the experiment. We fence-straddlers are well accustomed to the attributes requirement, snip The BSAM/BPAM access to HFS files requirements are documented in the DFSMS Using Data Sets manual. But I'm sure you are much more familiar with how good or bad that documentation is than I am since you are a well known fence-straddler. :-) Mark -- Mark Zelden Sr. Software and Systems Architect - z/OS Team Lead Zurich North America / Farmers Insurance Group - ZFUS G-ITO mailto:[EMAIL PROTECTED] z/OS Systems Programming expert at http://expertanswercenter.techtarget.com/ Mark's MVS Utilities: http://home.flash.net/~mzelden/mvsutil.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: DFSORT question MERGE w/SUM FIELDS=NONE
Mark, The zFS (or HFS) files appear to the sort as a sub-system data set and can be read using standard BSAM I/O. When we OPEN them, there are DCB characteristics. If you don't supply the DCB, there is no way for us to determine what will be coming. John Reda Syncsort, Inc. -Original Message- From: IBM Mainframe Discussion List [mailto:[EMAIL PROTECTED] On Behalf Of Mark Zelden Sent: Tuesday, January 15, 2008 1:17 PM To: IBM-MAIN@BAMA.UA.EDU Subject: Re: DFSORT question MERGE w/SUM FIELDS=NONE On Tue, 15 Jan 2008 11:46:02 -0600, Mark Zelden [EMAIL PROTECTED] wrote: Will DFSORT operate on Unix files? Never tried it. I think it would if you got the JCL and sort statements correct. This worked (SYNCSORT). But I did have to specify LRECL, BLKSIZE, and RECFM on the DDs or I got RC16: //SORTEXEC PGM=SORT //SYSOUT DD SYSOUT=* //SORTIN DD PATH='/u/myuserid/testdata', // LRECL=80,BLKSIZE=8000,RECFM=FB, // PATHOPTS=ORDONLY,FILEDATA=TEXT //SORTOUT DD PATH='/u/myuserid/testdata.sorted', // PATHDISP=(KEEP,DELETE), // PATHOPTS=(OWRONLY,OCREAT,OEXCL),PATHMODE=(SIRWXU,SIRGRP), // LRECL=80,BLKSIZE=8000,RECFM=FB, // FILEDATA=TEXT //SORTWK01 DD UNIT=SYSDA,SPACE=(CYL,(1)) //SYSINDD * SORT FIELDS=(1,80,CH,A) END Mark -- Mark Zelden Sr. Software and Systems Architect - z/OS Team Lead Zurich North America / Farmers Insurance Group - ZFUS G-ITO mailto:[EMAIL PROTECTED] z/OS Systems Programming expert at http://expertanswercenter.techtarget.com/ Mark's MVS Utilities: http://home.flash.net/~mzelden/mvsutil.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: DFSORT question MERGE w/SUM FIELDS=NONE
Sorry, the post should read: The zFS (or HFS) files appear to the sort as a sub-system data set and can be read using standard BSAM I/O. When we OPEN them, there are NO DCB characteristics. If you don't supply the DCB, there is no way for us to determine what will be coming. -Original Message- From: IBM Mainframe Discussion List [mailto:[EMAIL PROTECTED] On Behalf Of Reda, John Sent: Tuesday, January 15, 2008 1:42 PM To: IBM-MAIN@BAMA.UA.EDU Subject: Re: DFSORT question MERGE w/SUM FIELDS=NONE Mark, The zFS (or HFS) files appear to the sort as a sub-system data set and can be read using standard BSAM I/O. When we OPEN them, there are DCB characteristics. If you don't supply the DCB, there is no way for us to determine what will be coming. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: DFSORT question MERGE w/SUM FIELDS=NONE
On Jan 15, 2008, at 11:16 AM, Dave Kopischke wrote: On Tue, 15 Jan 2008 11:05:40 -0600, McKown, John wrote: Yes, I just didn't really see how EQUALS applies to a MERGE. Possibly just lact of understanding on my part. I do understand how EQUALS applies to SORT since SORT is only reading one input file, so which is first makes sense to me. But MERGE is reading records from multiple input files, so which is first? The first one actually read? (that would be random, depending on the data in the various input files) Or the one which is read from the lowest numbered SORTINnn? In the words of Vinnie Barbarino I'm so confused! SORT can also process a concatenation, so it can be more than one input file. It might even be able to access multiple DD's, but I didn't crack the manuals to look this one up. I always thought EQUALS was still valid on a MERGE, so I pulled the manual... I have not done a merge in *YEARS*, having said that I believe (even if you concatenate) each concatenation has to be in a higher sequence than the file ahead of the concatenation (all records still must be in the right sequence) so (if) you can concatenate the records must be in sequence. I hope I said that right and Walt can correct if I am wrong. ie sortin01 dd (seq01-09) example for illustrative purposes only dd (seq10-15) dd (seq16-??) When specified for a MERGE application, EQUALS guarantees that whenever equal-keyed records appear in different SORTIN data sets, the record from the lowest numbered SORTINnn will be written first to the output file. Ed -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
DFSORT question
This just came up. Which is better: to allocate more, smaller, SORTWKnn DD statements, or fewer, larger, SORTWKnn DD statements, or does it not really matter. By better, I mean: Which will result in a shorter run time?. The question came up due to a huge sort this weekend. DFSORT wanted to allocate the SORTWKnn space 3390-3 volume. We only have 3390-3 volumes. So the question is, do I update defaults to have more than 32 volumes or do we consider creating 3390-9 volumes for SORTWKnn? This is IBM's DFSORT on z/OS 1.8. Yes, I am aware of Syncsort's MAXSORT capability. No, it will not be considered. End of discussion on that point, please. -- John McKown Senior Systems Programmer HealthMarkets Keeping the Promise of Affordable Coverage Administrative Services Group Information Technology The information contained in this e-mail message may be privileged and/or confidential. It is for intended addressee(s) only. If you are not the intended recipient, you are hereby notified that any disclosure, reproduction, distribution or other use of this communication is strictly prohibited and could, in certain circumstances, be a criminal offense. If you have received this e-mail in error, please notify the sender by reply and delete this message without copying or disclosing it. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: DFSORT question
On Mon, 14 Jan 2008 08:30:08 -0600, McKown, John [EMAIL PROTECTED] wrote: This just came up. Which is better: to allocate more, smaller, SORTWKnn DD statements, or fewer, larger, SORTWKnn DD statements, or does it not really matter. By better, I mean: Which will result in a shorter run time?. The question came up due to a huge sort this weekend. DFSORT wanted to allocate the SORTWKnn space 3390-3 volume. We only have 3390-3 volumes. So the question is, do I update defaults to have more than 32 volumes or do we consider creating 3390-9 volumes for SORTWKnn? This is IBM's DFSORT on z/OS 1.8. Yes, I am aware of Syncsort's MAXSORT capability. No, it will not be considered. End of discussion on that point, please. Mostly, it doesn't matter... but as usual - it depends, YMMV, etc. How many control units / storage subsystems do you have? How many paths? Is there enough contiguous space for a large sort (there is still a 16 extent limit per SORKWKxx AFAIK). I'm pretty sure there have been some posts in the archive about this. Have you reviewed the DFSORT tuning manual (I have know idea it if answers your specific question)? Mark -- Mark Zelden Sr. Software and Systems Architect - z/OS Team Lead Zurich North America / Farmers Insurance Group - ZFUS G-ITO mailto:[EMAIL PROTECTED] z/OS Systems Programming expert at http://expertanswercenter.techtarget.com/ Mark's MVS Utilities: http://home.flash.net/~mzelden/mvsutil.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: DFSORT question
John, Sometimes it is possible to use INREC to reduce the size of the record that gets sorted and written to SORTWK. If this is possible, you may be able to complete your sort with your existing SORTWK allocations. John Reda Software Services Manager Syncsort Inc. 201-930-8260 -Original Message- From: IBM Mainframe Discussion List [mailto:[EMAIL PROTECTED] On Behalf Of McKown, John Sent: Monday, January 14, 2008 9:30 AM To: IBM-MAIN@BAMA.UA.EDU Subject: DFSORT question This just came up. Which is better: to allocate more, smaller, SORTWKnn DD statements, or fewer, larger, SORTWKnn DD statements, or does it not really matter. By better, I mean: Which will result in a shorter run time?. The question came up due to a huge sort this weekend. DFSORT wanted to allocate the SORTWKnn space 3390-3 volume. We only have 3390-3 volumes. So the question is, do I update defaults to have more than 32 volumes or do we consider creating 3390-9 volumes for SORTWKnn? This is IBM's DFSORT on z/OS 1.8. Yes, I am aware of Syncsort's MAXSORT capability. No, it will not be considered. End of discussion on that point, please. -- John McKown Senior Systems Programmer HealthMarkets Keeping the Promise of Affordable Coverage Administrative Services Group Information Technology -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: DFSORT question
McKown, John [EMAIL PROTECTED] wrote in message news:[EMAIL PROTECTED].. . This just came up. Which is better: to allocate more, smaller, SORTWKnn DD statements, or fewer, larger, SORTWKnn DD statements, or does it not really matter. By better, I mean: Which will result in a shorter run time?. The question came up due to a huge sort this weekend. DFSORT wanted to allocate the SORTWKnn space 3390-3 volume. We only have 3390-3 volumes. So the question is, do I update defaults to have more than 32 volumes or do we consider creating 3390-9 volumes for SORTWKnn? This is IBM's DFSORT on z/OS 1.8. Yes, I am aware of Syncsort's MAXSORT capability. No, it will not be considered. End of discussion on that point, please. -- John McKown AFAIK DFsort does not care, as long as it gets its storage. However, allocating more SORTWK's takes longer and creates more overhead. Another point: in modern storage subsytems with WLM managed PAV enabled, there is no real reason anymore not to create all 3390-27's. Kees. ** For information, services and offers, please visit our web site: http://www.klm.com. This e-mail and any attachment may contain confidential and privileged material intended for the addressee only. If you are not the addressee, you are notified that no part of the e-mail or any attachment may be disclosed, copied or distributed, and that any other action related to this e-mail or attachment is strictly prohibited, and may be unlawful. If you have received this e-mail by error, please notify the sender immediately by return e-mail, and delete this message. Koninklijke Luchtvaart Maatschappij NV (KLM), its subsidiaries and/or its employees shall not be liable for the incorrect or incomplete transmission of this e-mail or any attachments, nor responsible for any delay in receipt. Koninklijke Luchtvaart Maatschappij N.V. (also known as KLM Royal Dutch Airlines) is registered in Amstelveen, The Netherlands, with registered number 33014286 ** -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: DFSORT question
-Original Message- From: IBM Mainframe Discussion List [mailto:[EMAIL PROTECTED] On Behalf Of David Betten Sent: Monday, January 14, 2008 8:58 AM To: IBM-MAIN@BAMA.UA.EDU Subject: Re: DFSORT question There can be a slight decrease in performance when you increase the number of sortworks. Going from say 32 to 48 or 64 probably won't have a major impact. However, jumping to something like 128 or 255, you will see a more noticable impact. If you want to send me the sysout from the sort, I can take a look and see if there's any additional tuning we could do to improve performance and/or decrease the sortwork requirement. Have a nice day, Dave Betten Thanks for the offer. The SORT never worked due to, uh, never mind as I don't want to cast aspersions. And, in any case, the SORT was replaced by a MERGE because the input was from two files which were already sorted in the correct sequence. The reason I asked was that this is likely going to result in a demand that the default number of SORTWKnn DDs be increased from 32 to some larger number. Our programmers do NOT want to take responsibility for calculating SORTWKnn space, even for extreme cases. I guess that I can understand that, but I'm becoming depressed by the decreasing level of knowledge and expertise shown in our line of work. We are not longer craftsmen but assembly line workers. Such is life. -- John McKown Senior Systems Programmer HealthMarkets Keeping the Promise of Affordable Coverage Administrative Services Group Information Technology The information contained in this e-mail message may be privileged and/or confidential. It is for intended addressee(s) only. If you are not the intended recipient, you are hereby notified that any disclosure, reproduction, distribution or other use of this communication is strictly prohibited and could, in certain circumstances, be a criminal offense. If you have received this e-mail in error, please notify the sender by reply and delete this message without copying or disclosing it. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: DFSORT question
There can be a slight decrease in performance when you increase the number of sortworks. Going from say 32 to 48 or 64 probably won't have a major impact. However, jumping to something like 128 or 255, you will see a more noticable impact. If you want to send me the sysout from the sort, I can take a look and see if there's any additional tuning we could do to improve performance and/or decrease the sortwork requirement. Have a nice day, Dave Betten DFSORT Development, Performance Lead IBM Corporation email: [EMAIL PROTECTED] DFSORT/MVSontheweb at http://www.ibm.com/storage/dfsort/ IBM Mainframe Discussion List IBM-MAIN@BAMA.UA.EDU wrote on 01/14/2008 09:30:08 AM: This just came up. Which is better: to allocate more, smaller, SORTWKnn DD statements, or fewer, larger, SORTWKnn DD statements, or does it not really matter. By better, I mean: Which will result in a shorter run time?. The question came up due to a huge sort this weekend. DFSORT wanted to allocate the SORTWKnn space 3390-3 volume. We only have 3390-3 volumes. So the question is, do I update defaults to have more than 32 volumes or do we consider creating 3390-9 volumes for SORTWKnn? This is IBM's DFSORT on z/OS 1.8. Yes, I am aware of Syncsort's MAXSORT capability. No, it will not be considered. End of discussion on that point, please. -- John McKown Senior Systems Programmer HealthMarkets Keeping the Promise of Affordable Coverage Administrative Services Group Information Technology The information contained in this e-mail message may be privileged and/or confidential. It is for intended addressee(s) only. If you are not the intended recipient, you are hereby notified that any disclosure, reproduction, distribution or other use of this communication is strictly prohibited and could, in certain circumstances, be a criminal offense. If you have received this e-mail in error, please notify the sender by reply and delete this message without copying or disclosing it. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: DFSORT question
-Original Message- From: IBM Mainframe Discussion List [mailto:[EMAIL PROTECTED] On Behalf Of ITURIEL DO NASCIMENTO NETO Sent: Monday, January 14, 2008 10:42 AM To: IBM-MAIN@BAMA.UA.EDU Subject: RES: DFSORT question John, In the past i've used DYNAUTO=IGNWKDD parameter of ICEMAC, and it works like a charm (except when input is in large TAPE files and you don't have RMM). With this parameter on, DFSORT ignores what have been specified in JCL (FREEing it) and calculates the space amount necessary to run, reallocating SORTWKxx if needed. That is what we do. The problem that came up is that I have this set to 32 work volumes. The size of the input was such that each sortwork had to be larger than the largest sized volume that we have (3390-3s). We currently have 60 3390-3 volumes in out temporary work pool. There is a debate now as to whether it would be better to increase the number of work volumes in the pool and make the sortwork number 32, or to leave the number of volumes the same, but make them larger, say 3390-9. We are currently on a 2105 (Shark) without PAV. Our requested upgrade to a newer DASD array has been denied. We've been told that if we need more space, we will be given an older EMC array which is already on the floor. In any case PAV does not look to be an option. So we are concerned about performance. Management doesn't directly care because the mainframe is going away so no moneys will be spent unless they are forced. But the mainframe performance is still critical because the mainframe usage is still increasing. So if performance suffers, for __any__ reason, then it is just more proof that the mainframe is junk. Yes, I'm still P.O.'ed at this attitude. -- John McKown Senior Systems Programmer HealthMarkets Keeping the Promise of Affordable Coverage Administrative Services Group Information Technology The information contained in this e-mail message may be privileged and/or confidential. It is for intended addressee(s) only. If you are not the intended recipient, you are hereby notified that any disclosure, reproduction, distribution or other use of this communication is strictly prohibited and could, in certain circumstances, be a criminal offense. If you have received this e-mail in error, please notify the sender by reply and delete this message without copying or disclosing it. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
RES: DFSORT question
John, In the past i've used DYNAUTO=IGNWKDD parameter of ICEMAC, and it works like a charm (except when input is in large TAPE files and you don't have RMM). With this parameter on, DFSORT ignores what have been specified in JCL (FREEing it) and calculates the space amount necessary to run, reallocating SORTWKxx if needed. Atenciosamente / Regards / Saludos Ituriel do Nascimento Neto Banco Bradesco S/A 4254/DPCD Alphaville Engenharia de Software - Sistemas Operacionais Mainframes Tel: 55 11 4197-2021 Fax: 55 11 4197-2814 |-Mensagem original- |De: IBM Mainframe Discussion List |[mailto:[EMAIL PROTECTED] Em nome de McKown, John |Enviada em: segunda-feira, 14 de janeiro de 2008 13:21 |Para: IBM-MAIN@BAMA.UA.EDU |Assunto: Re: DFSORT question | | |The reason I asked was that this is likely going to result in |a demand that the default number of SORTWKnn DDs be increased |from 32 to some larger number. Our programmers do NOT want to |take responsibility for calculating SORTWKnn space, even for |extreme cases. I guess that I can understand that, but I'm |becoming depressed by the decreasing level of knowledge and |expertise shown in our line of work. We are not longer |craftsmen but assembly line workers. Such is life. | |-- |John McKown |Senior Systems Programmer |HealthMarkets |Keeping the Promise of Affordable Coverage Administrative |Services Group Information Technology | HTMLfont face=Tahoma size=1HRAVISO LEGAL brEsta mensagem é destinada exclusivamente para a(s) pessoa(s) a quem é dirigida, podendo conter informação confidencial e/ou legalmente privilegiada. Se você não for destinatário desta mensagem, desde já fica notificado de abster-se a divulgar, copiar, distribuir, examinar ou, de qualquer forma, utilizar a informação contida nesta mensagem, por ser ilegal. Caso você tenha recebido esta mensagem por engano, pedimos que nos retorne este E-Mail, promovendo, desde logo, a eliminação do seu conteúdo em sua base de dados, registros ou sistema de controle. Fica desprovida de eficácia e validade a mensagem que contiver vínculos obrigacionais, expedida por quem não detenha poderes de representação. HTMLfont face=Tahoma size=1HRLEGAL ADVICE brThis message is exclusively destined for the people to whom it is directed, and it can bear private and/or legally exceptional information. If you are not addressee of this message, since now you are advised to not release, copy, distribute, check or, otherwise, use the information contained in this message, because it is illegal. If you received this message by mistake, we ask you to return this email, making possible, as soon as possible, the elimination of its contents of your database, registrations or controls system. The message that bears any mandatory links, issued by someone who has no representation powers, shall be null or void. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: DFSORT question
-Original Message- From: IBM Mainframe Discussion List [mailto:[EMAIL PROTECTED] On Behalf Of Rick Fochtman Sent: Monday, January 14, 2008 12:30 PM To: IBM-MAIN@BAMA.UA.EDU Subject: Re: DFSORT question snip-- This just came up. Which is better: to allocate more, smaller, SORTWKnn DD statements, or fewer, larger, SORTWKnn DD statements, or does it not really matter. By better, I mean: Which will result in a shorter run time?. The question came up due to a huge sort this weekend. DFSORT wanted to allocate the SORTWKnn space 3390-3 volume. We only have 3390-3 volumes. So the question is, do I update defaults to have more than 32 volumes or do we consider creating 3390-9 volumes for SORTWKnn? This is IBM's DFSORT on z/OS 1.8. Yes, I am aware of Syncsort's MAXSORT capability. No, it will not be considered. End of discussion on that point, please. --unsnip-- My thought would be to allow more SORTWKxx datasets. Just my $.02 worth. That is likely what will happen. Expecting the programmers to know when and how to properly allocate SORTWKnn is likely expecting far too much in this day and age. [sigh] -- John McKown Senior Systems Programmer HealthMarkets Keeping the Promise of Affordable Coverage Administrative Services Group Information Technology The information contained in this e-mail message may be privileged and/or confidential. It is for intended addressee(s) only. If you are not the intended recipient, you are hereby notified that any disclosure, reproduction, distribution or other use of this communication is strictly prohibited and could, in certain circumstances, be a criminal offense. If you have received this e-mail in error, please notify the sender by reply and delete this message without copying or disclosing it. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: DFSORT question
snip-- This just came up. Which is better: to allocate more, smaller, SORTWKnn DD statements, or fewer, larger, SORTWKnn DD statements, or does it not really matter. By better, I mean: Which will result in a shorter run time?. The question came up due to a huge sort this weekend. DFSORT wanted to allocate the SORTWKnn space 3390-3 volume. We only have 3390-3 volumes. So the question is, do I update defaults to have more than 32 volumes or do we consider creating 3390-9 volumes for SORTWKnn? This is IBM's DFSORT on z/OS 1.8. Yes, I am aware of Syncsort's MAXSORT capability. No, it will not be considered. End of discussion on that point, please. --unsnip-- My thought would be to allow more SORTWKxx datasets. Just my $.02 worth. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: DFSORT question
On Jan 14, 2008, at 9:20 AM, McKown, John wrote: -Original Message- From: IBM Mainframe Discussion List [mailto:[EMAIL PROTECTED] On Behalf Of David Betten Sent: Monday, January 14, 2008 8:58 AM To: IBM-MAIN@BAMA.UA.EDU Subject: Re: DFSORT question There can be a slight decrease in performance when you increase the number of sortworks. Going from say 32 to 48 or 64 probably won't have a major impact. However, jumping to something like 128 or 255, you will see a more noticable impact. If you want to send me the sysout from the sort, I can take a look and see if there's any additional tuning we could do to improve performance and/or decrease the sortwork requirement. Have a nice day, Dave Betten We could of used you 20+ years ago we were sorting huge amounts of data (for the day). We kept bumping up against the max. We finally had no alternative to break the sort into smaller ones. This was one of the many reasons we went with Syncsort. I liked it at the time but over the years DFSORT has in many ways either caught up or surpassed it. If it hadn't been for the huge sort we did the company probably stayed with DFSORT. The other issue we had with DFSORT was that the demo tape they sent out had a MP bug in it and it would at random times go into a unending wait. We were (apparently) the only MP shop at the time. I will grant the problem was only MP oriented and that is why it took as long as it did to get the documentation and other info off to the DFSORT people to get the problem resolved. We could no wait and we finally decided on SYNCSORT. Ed -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: DFSORT question
John, It sounds to me like splitting this up into several concurrent sorts, followed by a merge, may be the right way to do this from the get go. I'm guessing you are sorting a file in the 70-100GB range. Maybe larger, and one of the problems I've come across with very large sorts like this is the sort method has to do an intermediate merge causing a huge growth in IO and SORTWK space. Having many sorts - 5, 10 , etc - running in parallel against the subsets of the input file will probably be much faster than a single huge sort. There are several ways to subset based on key or number of records, but it always means having several jobs reading the same dataset from the same volume(s), which leads to big time IOSQ and you aren't much better off. There's a few ways to solve this: 1) PAV, but you already said that this is not an options 2) HIPERBATCH, with an E15 exit to get sort to read the file with QSAM or BSAM, you will have just one job reading the file and the rest reading from the DLF buffer. Can be very fast and effective if you keep all the jobs swapped in and dispatched at the same rate. 32MB would be plenty for this case. 3) DFSMS data striping, with the dataset in RAID-0 across as many volumes as possible you can mitigate the IOSQ problem and get read rates close to HIPERBATCH. Because all the jobs will read the whole input file, the idea is optimize reading the SORTIN. After the SORTIN is read you will have 5, 10, etc concurrent sorts operating in parallel, followed by a simple merge; or concatenation if the sort keys will let you. My preference is for HIPERBATCH, but whatever is best for your site is what counts. Batchpipes may also be something to consider. Ron -Original Message- From: IBM Mainframe Discussion List [mailto:[EMAIL PROTECTED] On Behalf Of McKown, John Sent: Monday, January 14, 2008 10:34 AM To: IBM-MAIN@BAMA.UA.EDU Subject: Re: [IBM-MAIN] DFSORT question -Original Message- From: IBM Mainframe Discussion List [mailto:[EMAIL PROTECTED] On Behalf Of Rick Fochtman Sent: Monday, January 14, 2008 12:30 PM To: IBM-MAIN@BAMA.UA.EDU Subject: Re: DFSORT question snip-- This just came up. Which is better: to allocate more, smaller, SORTWKnn DD statements, or fewer, larger, SORTWKnn DD statements, or does it not really matter. By better, I mean: Which will result in a shorter run time?. The question came up due to a huge sort this weekend. DFSORT wanted to allocate the SORTWKnn space 3390-3 volume. We only have 3390-3 volumes. So the question is, do I update defaults to have more than 32 volumes or do we consider creating 3390-9 volumes for SORTWKnn? This is IBM's DFSORT on z/OS 1.8. Yes, I am aware of Syncsort's MAXSORT capability. No, it will not be considered. End of discussion on that point, please. --unsnip-- My thought would be to allow more SORTWKxx datasets. Just my $.02 worth. That is likely what will happen. Expecting the programmers to know when and how to properly allocate SORTWKnn is likely expecting far too much in this day and age. [sigh] -- John McKown Senior Systems Programmer HealthMarkets Keeping the Promise of Affordable Coverage Administrative Services Group Information Technology The information contained in this e-mail message may be privileged and/or confidential. It is for intended addressee(s) only. If you are not the intended recipient, you are hereby notified that any disclosure, reproduction, distribution or other use of this communication is strictly prohibited and could, in certain circumstances, be a criminal offense. If you have received this e-mail in error, please notify the sender by reply and delete this message without copying or disclosing it. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
DFSort Question
We are trying to sort DASD addresses and it puts the alpha addresses in front of the numerics. I seem to remember a long time ago, we used an alternate sort sequence for something like this. Does anyone use this? Thanks, Bobby Herring Texas Farm Bureau Ins -Original Message- From: IBM Mainframe Discussion List [mailto:[EMAIL PROTECTED] On Behalf Of Mark Zelden Sent: Monday, June 11, 2007 7:24 AM To: IBM-MAIN@BAMA.UA.EDU Subject: Re: [IBM-MAIN] WLM problem On Mon, 11 Jun 2007 07:41:28 -0400, Lizette Koehler [EMAIL PROTECTED] wrote: At one of the Share presentations I seem to remember that the IRLM address space should be placed higher in WLM than the DB2 address spacess. If I recall correctly, it is so you do not wait on lock processing. All your IRLMs should be SYSSTC. Even for test DB2 / IMS subsystems. Otherwise an appropriate online velocity goal should be used for production and development/test. Note that the number of engines really matters here. Search the archives for references to John Arwe's white paper (dated now, but still valid) to see what I mean. On our SAP LPARs (DB2 back end only on z/OS), I run all the DB2 tasks in SYSSTC since the work is variable and the real priority is controlled under the SAP subsystem type for the ICLI (prior to DB2 V8) and via DDF enclave service classes (DB2 V8+). Again... search the archives, this topic has been covered many times. Mark -- Mark Zelden Sr. Software and Systems Architect - z/OS Team Lead Zurich North America / Farmers Insurance Group: G-ITO mailto:[EMAIL PROTECTED] z/OS and OS390 expert at http://searchDataCenter.com/ateExperts/ Systems Programming expert at http://expertanswercenter.techtarget.com/ Mark's MVS Utilities: http://home.flash.net/~mzelden/mvsutil.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: DFSort Question
Bobby Herring wrote on 06/28/2007 09:38:34 AM: We are trying to sort DASD addresses and it puts the alpha addresses in front of the numerics. I seem to remember a long time ago, we used an alternate sort sequence for something like this. Does anyone use this? If you want the numbers before the letters, you can use DFSORT's AC format. For example, if the input is: 9 Z 1 A and you use: SORT FIELDS=(1,1,AC,A) the output will be: 1 9 A Z If that's not what you want, then please show an example of your input records and what you want for output. Frank Yaeger - DFSORT Development Team (IBM) - [EMAIL PROTECTED] Specialties: PARSE, JFY, SQZ, ICETOOL, IFTHEN, OVERLAY, Symbols, Migration = DFSORT/MVS is on the Web at http://www.ibm.com/storage/dfsort/ -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
DFSORT question
I think that I know the answer to this, but I'll ask here. Suppose that I have an input file with variable length records. I use OPTION VLSHRT. I then have a couple of OUTFIL statements, similar to: SORT FIELDS=COPY OPTION VLSHRT OUTFIL FNAMES=FILE1,INCLUDE=(27,1,CH,EQ,C'A',OR,50,2,CH,EQ,C'BC') OUTFIL FNAMES=FILE2,INCLUDE=(99,2,CH,EQ,C'ZD') Suppose that I have a record which is 90 bytes long. It contains an A in column 27 and a BC in column 50 (Yes, I know about the +4 for VB records, that's been taken into account). For some reason, the person thinks that because the second OUTFIL goes beyond the length of the record, that the first OUTFIL will fail as well. So he ran two separate SORT steps which did the equivalent of the above. -- John McKown Senior Systems Programmer HealthMarkets Keeping the Promise of Affordable Coverage Administrative Services Group Information Technology The information contained in this e-mail message may be privileged and/or confidential. It is for intended addressee(s) only. If you are not the intended recipient, you are hereby notified that any disclosure, reproduction, distribution or other use of this communication is strictly prohibited and could, in certain circumstances, be a criminal offense. If you have received this e-mail in error, please notify the sender by reply and delete this message without copying or disclosing it. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: DFSORT question
John McKown wrote on 06/11/2007 01:46:55 PM: I think that I know the answer to this, but I'll ask here. Suppose that I have an input file with variable length records. I use OPTION VLSHRT. I then have a couple of OUTFIL statements, similar to: SORT FIELDS=COPY OPTION VLSHRT OUTFIL FNAMES=FILE1,INCLUDE=(27,1,CH,EQ,C'A',OR,50,2,CH,EQ,C'BC') OUTFIL FNAMES=FILE2,INCLUDE=(99,2,CH,EQ,C'ZD') Suppose that I have a record which is 90 bytes long. It contains an A in column 27 and a BC in column 50 (Yes, I know about the +4 for VB records, that's been taken into account). For some reason, the person thinks that because the second OUTFIL goes beyond the length of the record, that the first OUTFIL will fail as well. So he ran two separate SORT steps which did the equivalent of the above. The statement about beyond the length of the record is false. But, if you substitute beyond the length of the LRECL for beyond the length of the record, then that's true. To explain: To use 99,2 the LRECL of the input file must be at least 100 bytes. Otherwise, DFSORT will terminate with: ICE027A 9 END OF FILE2FIELD BEYOND MAXIMUM RECORD LENGTH To use 50,2 the LRECL of the input file must be at least 51 bytes. So depending on the LRECL of the input file, it may be that the second OUTFIL statement causes the job to fail because it requires an LRECL of 100 whereas the first OUTFIL statement alone wouldn't because it requires an LRECL of 51. But that's a consequence of the input LRECL, not VLSHRT. If the input LRECL is at least 100 bytes, then the 90 byte record will not cause the first OUTFIL to fail based on the second OUTFIL. The OUTFIL conditions are independent of each other with respect to the record length. Frank Yaeger - DFSORT Development Team (IBM) - [EMAIL PROTECTED] Specialties: PARSE, JFY, SQZ, ICETOOL, IFTHEN, OVERLAY, Symbols, Migration = DFSORT/MVS is on the Web at http://www.ibm.com/storage/dfsort/ -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: DFSORT question on max record length in VB file
Frank Silven wrote: I have a need to determine the actual maximum record length used by a VB file..so when i have a LRECL=522,RECFM=VB then the physical max record length=518 bytes... But I need a solution which determines the actual maximum record length used in a VB file, so the question is whether DFSORT or ICETOOL can determine the MAX RDW value over all records ? Sure. Here are two ways to do it: 1) DFSORT Job using OUTFIL: //S1 EXEC PGM=ICEMAN //SYSOUT DD SYSOUT=* //SORTIN DD DSN=... input file (VB) //SORTOUT DD SYSOUT=* //SYSIN DD * OPTION COPY OUTFIL REMOVECC,NODETAIL, TRAILER1=(MAX=(1,2,BI,TO=ZD)) /* SORTOUT will have one record with the maximum record length, e.g. 00084 2) ICETOOL job using STATS: //S2 EXEC PGM=ICETOOL //TOOLMSG DD SYSOUT=* //DFSMSG DD SYSOUT=* //IN DD DSN=... input file (VB) //TOOLIN DD * STATS FROM(IN) ON(VLEN) /* TOOLMSG will show the maximum record length in an ICE608I message, e.g. STATS FROM(IN) ON(VLEN) ICE627I 0 DFSORT CALL 0001 FOR COPY FROM IN TO E35 EXIT COMPLETED ICE628I 0 RECORD COUNT: 008 ICE607I 0 STATISTICS FOR (VLEN): ICE608I 0 MINIMUM: +031, MAXIMUM: +084 ICE609I 0 AVERAGE: +039, TOTAL : +317 ICE602I 0 OPERATION RETURN CODE: 00 Frank Yaeger - DFSORT Team (IBM) - [EMAIL PROTECTED] Specialties: PARSE, JFY, SQZ, ICETOOL, IFTHEN, OVERLAY, Symbols, Migration = DFSORT/MVS is on the Web at http://www.ibm.com/storage/dfsort/ -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: DFSORT question
Frank Silven wrote: Can somebody pls help me with a problem I have when DFSORT reformats a VB 602 file to a new VB 612 file having a leading record sequence nr JCL step: //SORT03 EXEC PGM=SORT,PARM='SIZE=MAX',COND=(0,NE) //SORTIN DD DSN=XE01.XE40.GNROSC.DATA,DISP=SHR //SORTOUT DD DSN=XD0113.SAMPLE.V4,DISP=OLD //SORTWK01 DD UNIT=DISK,SPACE=(CYL,(25),RLSE) //SORTWK02 DD UNIT=DISK,SPACE=(CYL,(25),RLSE) //SYSOUT DD SYSOUT=* //SYSINDD * OPTION COPY OUTFIL FNAMES=SORTOUT, OUTREC=(1:1,4, 5:SEQNUM,10,ZD, 15:5,598),VLFILL=C' ' /* ... I suspect that the VLFILL option causes all trailing bytes (up to data byte 608) being filled with blanks. This way all resulting output records have a data portion padded with blanks up to databytepos 608 in the new file. However I want DFSORT to automatically adapt the leading 4 byte RDW from the old RDW + 10 bytes. But i dont want the padding up to the max record length! When I omit the VLFILL clause then i get a DFSORT abend message on the first record telling that 40 bytes do not fill up the data portion of 608 bytes Any ideas ? Thanks a lot in advance To do what you want, you can use: OPTION COPY OUTFIL FNAMES=SORTOUT, OUTREC=(1:1,4, 5:SEQNUM,10,ZD, 15:5) 5,598 and VLFILL=C' ' tells DFSORT to pad the records. 5 without a length tells DFSORT to include the bytes from position 5 to the end of the record without padding . Frank Yaeger - DFSORT Team (IBM) - [EMAIL PROTECTED] Specialties: PARSE, JFY, SQZ, ICETOOL, IFTHEN, OVERLAY, Symbols, Migration = DFSORT/MVS is on the Web at http://www.ibm.com/storage/dfsort/ -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html