This is getting to be like a discussion that was had on the REXX list recently, as in it would be nice if there was an available PIPE type of command available, oh wait there is:
The product where IBM has made a PIPE command available: http://www-01.ibm.com/common/ssi/cgi-bin/ssialias?infotype=dd&subtype=sm&htmlfid=897/ENUS5655-D45 Sorting is very simple there: PIPE stem xy. | sort 1 5 | stem yx. Or PIPE < indsn | sort 1 5 | > outdsn These are simple examples and not everything that can be done, but when I was using it (my previous job) it was reasonably quick in execution. Now I have to do the allocation of SORTIN, SORTOUT and SYSIN (control cards) then invoke SORT, very cumbersome compared to the simple PIPE command version. Al Nims UFIT University of Florida (352) 273-1298 @Home -----Original Message----- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf Of Elardus Engelbrecht Sent: Wednesday, June 07, 2017 1:14 PM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: AW: Rexx SORT (was: ... Job Scheduler ... ) Paul Gilmartin wrote: >Bernd.Oppolzer wrote: >>http://bernd-oppolzer.de/blog_20150115_151000.htm >>this Contains a REXX Procedure to sort a stem variable. See >>quicksort_nonrec >o Of course. But why should it be necessary to reinvent the wheel when DFSORT >has vast capabilities not practical to duplicate in Rexx? Could you please be kind to tell us what function(s) you have in mind? On one side, REXX has this nice PARSE function. hard to duplicate that in DFSORT, but do-able. On other side, DFSORT handles SMF records and their weird timestamps better. (Yes, I know REXX can handle VBS records these days.) >>>I could envision adapting [the ANSI Rexx form] in TSO Rexx something like: >>> address LINKMVS 'ICEMAN' with , >>> DD:SORTIN stem F1. , >>> DD:SORTOUT stem F2. You can do the same with REXX statements like this: "ALLOC F(SORTIN).... blah .... " "EXECIO * DISKR SORTIN (STEM F1. FINIS" "FREE F(SORTIN)" ... and then call DFSORT and sort out your magic In fact, I have some RYO REXX progs which call DFSORT to sort something out... >o And while I chose SORT as an example, I intended to consider a more general >solution. Imagine a facility that could invoke not only SORT, but: > - IEBUPDTE witn SYSIN, SYSUT1, and SYSUT2 assigned to stems. > - ISRSUPC with OLD, NEW, and DELTA assigned to stems. > - Etc. Much like ANSI Rexx. You can invoke anything with REXX including SDSF, IEBGENER, IEBCOPY, etc. as long you pass/receive parameters and DD correctly. In fact, zSecure ISPF panels are mostly driven by REXX. But, I agree with you, something standardised so you can do what you desire would really be useful. Something like "ALLOC F(SYSIN) <Stemvariable name> ..." Also FREE(FSYSIN) which -optionally- drops those Stems. (I said optionally, because, you may need to free up SYSIN immediately, but continue to handle those stems.) Just some little idle ideas, yaaaaa.... ;-) Groete / Greetings Elardus Engelbrecht ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN