Curse you, OCO!

I suspect that validating a potential ENVB address requires running a tree 
rather than just a list.


--
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, April 9, 2023 3:11 PM
To: [email protected]
Subject: Specifhing the ENVBLOCK (was: Just PDSE)

(Subject: changed: this has drifted far from"PDSE")

On Sun, 9 Apr 2023 09:50:44 +0000, Seymour J Metz wrote:

>Chapter 12. TSO/E REXX programming services
>
Thanks.  Eek!  TMI.  Where I see:
    Entry specifications
    For the IRXEXCOM routine, the contents of the registers on entry are:
        Register 0  Address of an environment block (optional)
        ....
It should clarify that with "see Parameter 5 (below)"
Where it says:
    ... However, IRXEXCOM does not check whether the address is valid.
Ouch!
And the concern raised earlier that many languages don't allow control
of R0 is serious.  REXX should provide standard CALL interfaces.

The Services book mentions IKJCT441 as an alternative.  However:
IKJCT441 uses the REXX direct interface (rather than the symbolic
interface).  Why this serious restriction?  Compatibility with CLIST
limitations?

Is there a callable service that returns a *valid* EXECBLOCK address?

>"f you do not specify an address in the environment block address parameter, 
>the TSO/E REXX routine
>checks register 0 for the address of an environment block. If register 0 
>contains the address of a
>valid environment block, the routine runs in the environment represented by 
>that environment block.
>If the address is not valid, the routine locates the current non-reentrant 
>environment and runs in that
>
There is much mention of environment chains.  How are those chains rooted?
It may not matter if it has no supported user interface.

How does it check for validity?  Merely verifying the identifier "ENVBLOCK"?
Or does it verify that block exists in a chain.

>environment. If register 0 contains a 0, the routine immediately searches for 
>the last non-reentrant
>environment created, thereby eliminating the processing required to check 
>whether register 0 contains a
>valid environment block address."

So it's quicker to search a list than validate a passed address!?

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

Reply via email to