Thanks everybody for the valuable help. I've finished this work now and
I've learned a few things along the way.
* CLIST has some OK features but it's a terrible programming language
that should be consigned to the dustbin (arrays using substitution
variables, really?)
* A lot of high value REXX functions are dependent on TSO. I see no
reason why SYSDSN(), LISTDSI(), STORAGE() etc can't be run in non-TSO
environments.
On 2020-03-19 11:25 PM, Seymour J Metz wrote:
In REXX substitution is automatic and literal strings require quoting to avoid being
treated as uninitialized variables; the equivalent of foo &bar baz is 'foo' bar 'baz'.
There in no equivalent to &SYSNSUB, nor is there a need for it, since REXX doesn't use
a substituition sigil like &.
--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3
________________________________________
From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of
David Crayford [dcrayf...@gmail.com]
Sent: Thursday, March 19, 2020 10:45 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Does anybody remember CLIST?
Thanks, I did see that link! I will work it out but looking for a fast
start.
I've got stuff like this!
SRCLINE = &SYSNSUB(2,&SRCLINE)
On 2020-03-19 10:40 PM, John McKown wrote:
On Thu, Mar 19, 2020 at 9:20 AM David Crayford <dcrayf...@gmail.com> wrote:
I'm trying to convert CLIIST to REXX and CLIST has symbolic
substitution. I've used this before in NCL but it's a long time ago.
Can anybody tell me what this does and translate to REXX? I'm guessing I
need to use interpret or value()!
SET VARNX = &&VARN&GLCV
IF (&VARNX = &SYMBOL) THEN DO
SET VARFND = 1
SET VARVX = &&VARV&GLCV
SET SYMBOL = &STR(&VARVX)
END
This might help:
https://www.ibm.com/support/knowledgecenter/SSLTBW_2.2.0/com.ibm.zos.v2r2.ikjb800/ikjb80059.htm
I _think_ the following is correct, but I am not sure.
VARNX=VARN||GLCV /* CREATE NAME OF VARIABLE */
IF (VATNX=SYMBOL) THEN DO; /* IF NAME OF VARIABLE IS THE SYMBOL WE ARE
LOOKING FOR */
VARFND=1 /* WE'VE FOUND THE SYMBOL */
VARVX=VARV||GLCV /* CREATE THE NAME OF THE VARIABLE WHOSE VALUE WE
WANT */
SYMBOL=VALUE(VARVX) /* GET VALUE OF VARIABLE WHOSE NAME IS IN VARVX */
END
The comments are strictly my own.
----------------------------------------------------------------------
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
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN