> Tails are literals

No; tails are symbols, and are substituted.

>  value(isstepinit.userid.) = 0.

There are several issues with that. Safer is

    old = value(isstepinit'.'userid'.', 0)


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


________________________________________
From: IBM Mainframe Discussion List <[email protected]> on behalf of Tom 
Conley <[email protected]>
Sent: Friday, January 29, 2021 10:13 AM
To: [email protected]
Subject: Re: Rexx stem variable question

On 1/28/2021 11:58 PM, Charles Mills wrote:
> I either have a misunderstanding of how stem variables work - or perhaps it
> is just some stupid program bug.
>
> I know this basic drill on stem variables: I can say foo. = "bar" and then
> the value of foo.anything is effectively "bar".
>
> Does that also work at the next level of stem variables?
>
> Consider the following:
>
> Userid = "FTPD"
> IsStepInit.Userid. = "0"
>
> Is IsStepInit.Userid.anything defined? I say
>
> StepName = "STEP1"
> If \ IsStepInit.Userid.Stepname Then ...
>
> And I get a "Logical value not 0 or 1" error on the If.
>

Charles,

Tails are literals and not substituted unless you're using the VALUE
function.  Try value(isstepinit.userid.) = 0.

Regards,
Tom Conley

----------------------------------------------------------------------
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