On Thu, 16 Jul 2015 17:34:50 -0500, Walt Farrell wrote:
>On Thu, 16 Jul 2015 21:02:31 +0000, Hardee, Chuck wrote:
>
>>The NORECALL, if it is a literal, needs to be in quotes.
>> If it is a variable, then the value of the variable needs to be either null
>> (''), or the value needs to have quotes, NORECALL = "'NORECAL'"
>> or NORECALL = '"NORECALL"'.
>
>It should work fine without the quotes, assuming that NORECALL is not a
>variable with some other value. If there is no assigned variable named
>NORECALL, then using NORECALL without quotes will simply give you the string
>NORECALL, as the value of any unassigned variable in REXX is simply its name,
>in upper-case.
>
>But it is cleaner, and safer, to quote it.
>
Yup.
It's astonishing how many programmers fail to understand the difference
between Rexx lexical conventions and TSO lexical conventions. (Of course,
the Rexx Ref. Man. does its best to aggravate the confusion.)
And how many post suggestions here without testing them. Perhaps
debugging the suggestion is left as an exercise for the student. A test:
4 *-* say LISTDSI( ''''SYS1.MACLIB'''' NORECALL )
>>> "0"
0
6 *-* NORECALL = "'NORECALL'"
>>> "'NORECALL'"
(BTW, NORECALL has two "L"s.)
7 *-* say LISTDSI( ''''SYS1.MACLIB'''' NORECALL )
IKJ56712I INVALID KEYWORD, 'NORECALL'
>>> "16"
16
9 *-* NORECALL = '"NORECALL"'
>>> ""NORECALL""
10 *-* say LISTDSI( ''''SYS1.MACLIB'''' NORECALL )
IKJ56712I INVALID KEYWORD, "NORECALL"
>>> "16"
16
-- gil
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN