Re: DFSORT question - How to combine several records to one record

2012-02-29 Thread Minoru Massaki
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

2012-02-29 Thread Frank Yaeger
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

2012-02-28 Thread Frank Yaeger
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

2012-02-28 Thread Frank Yaeger
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

2012-02-27 Thread Minoru Massaki
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

2012-02-27 Thread Scott Ford
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

2012-02-27 Thread Scott Ford
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

2012-02-27 Thread Frank Yaeger
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

2012-02-27 Thread Minoru Massaki
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

2012-02-27 Thread Lizette Koehler
 
 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

2012-02-27 Thread Minoru Massaki
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

2012-02-27 Thread Minoru Massaki
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

2010-05-24 Thread Tim Hare
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

2010-05-24 Thread Frank Yaeger
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

2010-05-24 Thread Tim Hare
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

2010-05-24 Thread Schwarz, Barry A
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

2010-05-24 Thread Frank Yaeger
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.

2009-04-15 Thread John McKown
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.

2009-04-15 Thread Frank Yaeger
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.

2009-04-15 Thread John McKown
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

2008-01-18 Thread Paul Gilmartin
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

2008-01-17 Thread Ed Gould

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

2008-01-17 Thread Mark Zelden
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

2008-01-17 Thread Tom Russell
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

2008-01-16 Thread Frank Yaeger
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

2008-01-16 Thread Rick Fochtman

---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

2008-01-16 Thread Dave Barry
 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

2008-01-16 Thread Ron Hawkins
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

2008-01-15 Thread McKown, John
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

2008-01-15 Thread Dave Kopischke
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

2008-01-15 Thread McKown, John
 -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

2008-01-15 Thread Reda, John
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

2008-01-15 Thread Frank Yaeger
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

2008-01-15 Thread McKown, John
 -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

2008-01-15 Thread Dave Kopischke
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

2008-01-15 Thread Paul Gilmartin
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

2008-01-15 Thread Frank Yaeger
(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

2008-01-15 Thread Dave Kopischke
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

2008-01-15 Thread Frank Yaeger
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

2008-01-15 Thread Paul Gilmartin
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

2008-01-15 Thread Mark Zelden
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

2008-01-15 Thread Frank Yaeger
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

2008-01-15 Thread Dave Kopischke
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

2008-01-15 Thread Frank Yaeger
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

2008-01-15 Thread Mark Zelden
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

2008-01-15 Thread Paul Gilmartin
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

2008-01-15 Thread Mark Zelden
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

2008-01-15 Thread Reda, John
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

2008-01-15 Thread Reda, John
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

2008-01-15 Thread Ed Gould

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

2008-01-14 Thread McKown, John
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

2008-01-14 Thread Mark Zelden
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

2008-01-14 Thread Reda, John
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

2008-01-14 Thread Vernooy, C.P. - SPLXM
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

2008-01-14 Thread McKown, John
 -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

2008-01-14 Thread David Betten
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

2008-01-14 Thread McKown, John
 -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

2008-01-14 Thread ITURIEL DO NASCIMENTO NETO
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

2008-01-14 Thread McKown, John
 -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

2008-01-14 Thread Rick Fochtman

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

2008-01-14 Thread Ed Gould

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

2008-01-14 Thread Ron Hawkins
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

2007-06-28 Thread Herring, Bobby
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

2007-06-28 Thread Frank Yaeger
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

2007-06-11 Thread McKown, John
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

2007-06-11 Thread Frank Yaeger
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

2007-01-18 Thread Frank Yaeger
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

2007-01-10 Thread Frank Yaeger
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