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

Reply via email to