> Details, please?
In z/OS 2.5 TSO/E REXX Reference, SA32-0972-50, SUBCOM, P. 230, the text
"You can use the SUBCOM command in REXX execs that run in any address
space, TSO/E or non-TSO/E.
That is, SUBCOM is available from the TSO and MVS host command
environments."
Is unclear. Depending on the interpretation of the first senetnce, the second
sentence is incorrect, although removing "that is" would make it correct.
More concretely, it is unclear which of these is valid:
ADDRESS ATTACH foo
ADDRESS ATTACHMVS foo
ADDRESS ATTACHPGM foo
ADDRESS CONSOLE foo
ADDRESS CPICOMM foo
ADDRESS ISPEXEC foo
ADDRESS ISREDIT foo
ADDRESS LINK foo
ADDRESS LINKMVS foo
ADDRESS LINKPGM foo
ADDRESS LU62 foo
ADDRESS MVS foo
ADDRESS SH foo
ADDRESS SYSCALL foo
> I'm uneasy that ADDRESS TSO SUBCOM et al. contravene the
> specification of ADDRESS in the Rexx Ref.:
Not at all. Assu7ming that IEFBR14 either has the value IEFBR14 or is
uninitialized, ADDRRESS LINKMVS IEFBR14 interpretsd the string "IEFBR14" in
the host environment LINKMVS. In that environment, REXX parses the value into a
program name and a parameter, then does a LINK to that program with the parsed
parameter. The LINK and LINKPGM environments do the same, except for the
details of parsing the value and construction the plist.
ADDRESS SH follows the same pattern: parse the value and do something with it.
In this case, the something is to invoke the shell with the specified parameter.
The mechanism is quite general, and IMHO is well designed; certainly more so
than, e.g., SIGNAL.
--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3
________________________________________
From: IBM Mainframe Discussion List [[email protected]] on behalf of
Paul Gilmartin [[email protected]]
Sent: Sunday, May 8, 2022 2:02 PM
To: [email protected]
Subject: Re: What is SUBCOM?
On Sun, 8 May 2022 15:33:46 +0000, Seymour J Metz \ wrote:
>I've submitted an RCF.
>
Details, please?
I'm uneasy that ADDRESS TSO SUBCOM et al. contravene the
specification of ADDRESS in the Rexx Ref.:
ADDRESS temporarily or permanently changes the
destination of commands. Commands are strings
sent to an external environment. ...
That's only mostly true. In contrast,
ADDRRESS LINKMVS IEFBR14
expands as macro LINK EP=IEFBR14
ADDRESS SH ':'
expands as "sh -c ':'"
etc.
It's a misdesign; chaotic, that Rexx induces a restriction on
the name space of an "external environment", particularly
given that ADDRESS MVS, which is peculiar to Rexx, not
an external environment, exists and serves the need.
Also, the section "Reserved command names" should appear
not only in the Rexx Ref., but also, or even stead, in "z⧸OS
TSO⧸E Programming Guide" since it is a caution to authors
of TSO/E Command Processors, not Rexx execs.
(Yes, I'm also uneasy that lately initiators treat PGM=IEFBR14
as an exception. It should have been done by introducing a
new keyword.)
--
gil
----------------------------------------------------------------------
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