> Using EXECIO makes the original requirement simpler:
> > This is the IDCAMS version:


Wayne,

Thanks for sharing the REXX execs. couple of observations.


1 The PDSTOSEQ fails processing members having aliases.  (LISTDS does give
you the ALIAS information too) For example I tried with z/OS V2R4
SYS1.MACLIB

 %PDSTOSEQ SYS1.MACLIB OFF

The result is REPRO fails when it encounters

NAME=ERBPICT  ALIAS(PICTURE)

2. with PDSTOSAM, you need to have REGION=0M. Without it you would get

IRX0005I Error running PDSTOSAM, line 69: Machine storage exhausted

And then once again it fails processing members with alias

IKJ56709I INVALID DATA SET NAME, 'SYS1.MACLIB(ERBPICT
IKJ56712I INVALID KEYWORD, '
IKJ56712I INVALID KEYWORD, )

3. So I picked a smaller PDS with just 25 members(has no alias) and has a
total of 1698 records and the here are the run times.

PDSTOSEQ REXX |ELAPSED:   00:00:00.42     TCB:       00:00:00.059836
PDSTOSAM REXX |ELAPSED:   00:00:00.28     TCB:       00:00:00.049764
IEBPTCH+DFSORT|ELAPSED:   00:00:00.11     TCB:       00:00:00.008154

If you notice the above DFSORT is the best in the category with less
elapsed and TCB time.

Apart from that DFSORT was able to process SYS1.MACLIB without any problem.
z/OS V2R4 SY1.MACLIB has 1968 members and for a total of 2,454,296 records.
Here are the stats for that run.

IEBPTCH+DFSORT|ELAPSED:   00:01:11.31     SRB:   00:00:04.124737


And here is the JCL for that

//STEP0100 EXEC PGM=IEBPTPCH
//SYSPRINT DD SYSOUT=*
//SYSUT1   DD DISP=SHR,DSN=SYS1.MACLIB
//SYSUT2   DD DSN=&&SOURCE,
//            DISP=(,PASS),
//            SPACE=(CYL,(X,Y),RLSE)
//SYSIN    DD *
  PUNCH TYPORG=PO
//*
//STEP0200 EXEC PGM=SORT
//SYSOUT   DD SYSOUT=*
//SORTIN   DD DSN=&&SOURCE,DISP=SHR
//SORTOUT  DD DSN=&SYSUID..SEQFILE.EXPDS.DFSORT.MACLIB,
//            DISP=(,CATLG),
//            SPACE=(CYL,(X,Y),RLSE),RECFM=FB
//SYSIN    DD *
  OPTION COPY
  INREC IFTHEN=(WHEN=INIT,BUILD=(2,80)),
  IFTHEN=(WHEN=(1,11,CH,EQ,C'MEMBER NAME'),
      BUILD=(C'./       ADD  LEVEL=00,SOURCE=0,NAME=',
             14,8))
/*


Everyone seems to be comfortable with coding REXX, but from a performance
point of view, it is not an ideal tool. I am always surprised to see people
prefer to code 100+ lines of  REXX  but not willing to code to 5-25 lines
of DFSORT control cards.

Even though I work with DFSORT exclusively, I believe in using the right
tool for the right job.

Thanks,
Kolusu
DFSORT Development
IBM Corporation

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

Reply via email to