Understood. As evidenced by the many home-grown gyrations that we have all seen in different REXX execs that are gone through in order to place the arguments passed into the desired REXX variables. I can see, by your explanation, how Clist provides some better support there.
All the best, Scott T. Harder -----Original Message----- From: IBM Mainframe Discussion List [mailto:[email protected]]on Behalf Of Edward Jaffe Sent: Saturday, April 04, 2009 11:55 AM To: [email protected] Subject: Re: Rexx Scott T. Harder wrote: > Hi Ed, > > You are "the man", and I mean that sincerely (your questions and comments at > the TDM's are legendary as far as I'm concerned), ... Thanks for that ... > ... but isn't the parsing in > REXX better than Clist?I have no knowledge of IKJPARS and you can bet I'll > be looking it up; I always found the PROC statement problematic, and that is > the only way I knew to pass data between. I'm *sure* I am needing to learn > here. > Don't get me wrong. I agree the REXX PARSE statement is *extremely* powerful. But, all REXX parsing must be done by the REXX program itself. CLIST gets the benefit(?) of IKJPARS processing before it even gets control. And, the TSO/E positional and keyword parameters paradigm, while sometimes problematic (how many quotes do I need?), also has tremendous advantages. For example, suppose you have PROC 3 POS1 POS2 KWD1(default) KW1() KWORD2() KWD3 TSO/E takes care of prompting the user for missing positional parameters POS1 and POS2, understands the minimum number of characters required to identify any keyword, substitutes what the user specifies or supplies defaults from the PROC statement for keyword parameters with parenthetical specifications, and substitutes naked keywords with their own values (e.g.) KWD3='KWD3' if specified. I have experience transparently replacing CLIST with REXX without changing the caller--i.e., a plug-compatible replacement. THIS WAS NOT EASY! Writing REXX code to simulate all of the IKJPARS functionality, automatically provided to CLIST, turned out to be a *days-long* project. I ended up writing a large REXX external function to do the guts of the work. It is passed (via the data stack) both a complete PROC statement and the arguments obtained by its caller using PARSE ARG. The resulting parameters are passed back as entries on the data stack. It would be nice if there was a way to call IKJPARS directly from REXX and let it do some or all of this work... -- Edward E Jaffe Phoenix Software International, Inc 5200 W Century Blvd, Suite 800 Los Angeles, CA 90045 310-338-0400 x318 [email protected] http://www.phoenixsoftware.com/ ---------------------------------------------------------------------- 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

