On 2023-01-19 14:45, Walt Farrell wrote:
On Thu, 19 Jan 2023 15:02:06 +0000, Robert Prins <[email protected]>
wrote:
And then you realise that the question should have been, "How do I get at
it (control-block chasing-wise) in REXX?".
At what time in the user's logon, and where is the REXX exec running?
The REXX exec is running from the parm-field logon procedure
And why are you trying to do this from REXX? What problem are you really
trying to solve?
Having the command field present causes problems for dynamic ISPF.
Anyway, I found an email from 2016 that I had moved off-line that gives the
answer, it might be useful for others:
This is some code from the "ISP" exec that's used to sort-of implement another
way of dynamic ISPF on "that" system (aka FanDeZhi):
Here's the partial code:
/*-------------------------------------------------------------------+
Find out if the user has specified a command on the command field
of the LOGON panel - if they have this will be executed before any
pushed commands. If the user specified command starts ISPF, any
command pushed here will only be executed after ISPF is terminated.
In this case, i.e. when a user-defined command is detected, we may
assume that we are dealing with a smart user, one who can start
ISPF all by themselves, and just exit this exec.
--------------------------------------------------------------------*/
parse source v1 v2 v3 v4 v5 v6 v7 v8 v9
if v5 \= '?' then
do
numeric digits 20
psaold = storage(224, 4)
ascbasxb = storage(d2x(c2d(psaold) + 108), 4)
asxblwa = storage(d2x(c2d(ascbasxb) + 20), 4)
lwalgcmd = storage(d2x(c2d(asxblwa) + 186), 80)
if lwalgcmd \= '' then
return 0
/*----------------------------------------------------------------
Allow user to do some private pre-ISPF processing - if this
fails it's their problem and they will end up at the READY
prompt and will have to start ISPF manually.
The user is allowed to use either a REXX exec or a CLIST to do
the pre-ISPF processing.
----------------------------------------------------------------*/
uexit = userid()'.exec(#logon)'
rc = sysdsn("'"uexit"'")
if rc \= 'OK' then
do
uexit = userid()'.clist(#logon)'
rc = sysdsn("'"uexit"'")
end
if rc = 'OK' then
push "ex '"uexit"'"
end
Robert
--
Robert AH Prins
robert.ah.prins(a)gmail.com
The hitchhiking grandfather - https://prino.neocities.org/
Some REXX code for use on z/OS - https://prino.neocities.org/zOS/zOS-Tools.html
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN