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
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 -- 全先 実