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

Reply via email to