There is a REXX function for parsing;it's either XPARSE or XPROC.

Yes, REXX isn't as well integrated with the TSO stack as XLIST is.

What happens if you do CHAROUT with no terminating LF or NL?


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3

________________________________________
From: IBM Mainframe Discussion List [[email protected]] on behalf of Bob 
Bridges [[email protected]]
Sent: Monday, March 27, 2023 5:59 PM
To: [email protected]
Subject: CLIST but not REXX

Three things:

1) As Phil says, more-or-less automatic parsing of keyword and positional
arguments.  I get around that in REXX by using a standard opening paragraph
that for most purposes works just fine with a minimum of customization.  But
mostly I prefer to use one-word arguments without any particular order and
let REXX figure out what each one means, which simplifies the logic.  For
example, if it's got a period in it it's probably a DSN; if it's numeric and
less than 20 it's one argument, if numeric and greater than 100 it's
another, if it's "ACC" it's a keyword and so on.  Sometimes I have to work
harder, but not more often than every few years.

2) The ability to interact live with subsystems.  In CLIST I can start an
FTP session and interact with it, grabbing FTP's responses and deciding on
the fly what command to issue next.  In REXX I have to queue up an entire
session, then call FTP and decide afterward how it went, just like a batch
job.  I've never found a way around this.

3) The WRITENR command, enabling CLIST to issue a prompt and pull the
operator's response on the same line.  REXX's SAY command types out a line
and then goes to the next line for the response.  This isn't hard to get
around:  I just wrote a CLIST named WRITENR which receives the prompt from a
calling program and uses WRITENR to display it - then a SAYNR exec in REXX
that receives the prompt from a calling program and calls WRITENR.  So in my
REXX execs, if I want to do this (not often), I can call SAYNR as an
external procedure.

If you write your REXXes for execution in OMVS, I guess there are other
features that are easier, CHAROUT maybe?

---
Bob Bridges, [email protected], cell 336 382-7313

/* I willingly believe that the damned are, in one sense, successful, rebels
to the end -- that the doors of hell are locked on the inside.  I do not
mean that the ghosts may not ~wish~ to come out of hell, in the vague
fashion wherein an envious man "wishes" to be happy; but they certainly do
not will even the first preliminary stages of that self-abandonment through
which alone the soul can reach any good.  They enjoy forever that horrible
freedom they have demanded, and are therefore self-enslaved -- just as the
blessed, forever submitting to obedience, become through all eternity more
and more free.  -CS Lewis, "The Problem of Pain" */

-----Original Message-----
From: IBM Mainframe Discussion List <[email protected]> On Behalf Of
Phil Smith III
Sent: Monday, March 27, 2023 17:32

Perhaps easily parsing a typical TSO command:
verb arg1(value1) arg2(value2a,value2b)
? You can certainly do it in Rexx, but (and I've never written a CLIST in my
life) ISTR that CLIST makes it much easier.

--- Steve Thompson wrote, in part:
>Oh, I haven't had to deal with it for a while, but as I recall there is
>a function that CLIST can do that REXX couldn't (well back in the
>1990s). I wonder if that is still true.

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to