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

Reply via email to