On Tue, 9 Sep 2014 10:54:34 -0400, Shmuel Metz (Seymour J.) wrote:
>on 09/08/2014
> at 02:23 PM, Paul Gilmartin said:
>
>>Remember that a host command argument is always a single string.
> ]
>Don't confuse a REXX expression with its value.
>
I know that well. It appears that the authors of the TSO/E Rexx
reference know it less well and are trying to share their bewilderment
with their readers. They repeatedly state as local rules what should
be instances of global principles. I suspect their minds have been
rotted by excessive exposure to CLIST.
>>I suspect the TMP parser might be uncomfortable with:
>> address TSO 'EXECIO 1 DISKW' FileID '(string ))) ((( )))'
>
>The TMP passes the operand to the command processor as is. The only
>code changes needed would be in EXECIO itself.
>
I stand corrected. Empirically errors are reported by EXECIO, not by the TMP.
>>EXECIO is among very few command environments that uses the Direct
>>rather than Symbolic interface to Rexx variables.
>
>First, such environments as TSO don't have any interface to REXX
>
True. But utilities invoked under such environments are free to use
the interfaces provided by Rexx. Does ISPEXEC count as "such ...
as TSO"?
>variables. Second, the only interface to REXX variables is symbolic.
>
No. Long ago the CMS Rexx reference explained the difference between
the Direct interface and the symbolic. Now I can find merely a vestige:
http://pic.dhe.ibm.com/infocenter/zos/v2r1/topic/com.ibm.zos.v2r1.ikja300/shvblk.htm
The shared variable (request) block - SHVBLOCK
z/OS TSO/E REXX Reference
SA32-0972-00
* Function Codes (Placed in SHVCODE):
*
* (Note that the symbolic name codes are lowercase)
SHVFETCH EQU C'F' Copy value of variable to buffer
SHVSTORE EQU C'S' Set variable from given value
SHVDROPV EQU C'D' Drop variable
SHVSYSET EQU C's' Symbolic name Set variable
SHVSYFET EQU C'f' Symbolic name Fetch variable
SHVSYDRO EQU C'd' Symbolic name Drop variable
SHVNEXTV EQU C'N' Fetch "next" variable
SHVPRIV EQU C'P' Fetch private information
Formerly the (uppercase) non-symbolic name codes were identified
as "direct". The documentation has largely evaporated; the function
remains. Documentation of which functions use the respective
interfaces is sorely largely lacking. Empiricism reigns.
>In the statement
>
> address TSO 'EXECIO 1 DISKW' FileID
>
>the TSO environment does not see the name "FileID"; it sees the value
>of the expression
>
> 'EXECIO 1 DISKW' FileID
>
Agreed. The TSO/E reference instead makes local statments to
the effect that quotes must be used here, but not there, failing
to rely on the distinction between names and values.
-- gil
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN