Re: Contents of "Command" field on standard login screen - where to find it

2023-01-19 Thread Bruce Hewson
Robert, here is my code:-

Report_TSO_Logon_Parameters:Procedure Expose gda_parm. , 
 gda_parm_cnt
 
 Address TSO 
 msg_value = 'MSG'("OFF")
 
 ASXBPTR  = storage(224,4)   
 ASXB = storage(d2x(c2d(ASXBPTR)+108),4) 
 LWA  = storage(d2x(c2d(ASXB)+20),4) 
 lwalrgn  = C2d(Strip(storage(d2x(c2d(LWA)+180),4))) 
 lwalpgn  = C2d(Strip(storage(d2x(c2d(LWA)+184),2))) 
 If lwalpgn = 0 Then lwalpgn = " "   
 lwalgcmd = Strip(storage(d2x(c2d(LWA)+186),80)) 
 lwalacct = Strip(storage(d2x(c2d(LWA)+400),40)) 
 lwalproc = Strip(storage(d2x(c2d(LWA)+440),8))  
 lwaflag1 = C2x(Strip(storage(d2x(c2d(LWA)+448),1))) 
 
 gda_parm_cnt = gda_parm_cnt + 1 
 gda_parm.gda_parm_cnt = "*" 
 gda_parm_cnt = gda_parm_cnt + 1 
 gda_parm.gda_parm_cnt = "* TSO/E LOGON parameters"  
 gda_parm_cnt = gda_parm_cnt + 1 
 gda_parm.gda_parm_cnt = "*" 
 gda_parm_cnt = gda_parm_cnt + 1 
 gda_parm.gda_parm_cnt = "* Procedure ===> " ,   
  || lwalproc
 gda_parm_cnt = gda_parm_cnt + 1 
 gda_parm.gda_parm_cnt = "*" 
 gda_parm_cnt = gda_parm_cnt + 1 
 gda_parm.gda_parm_cnt = "* Acct Nmbr ===> " ,   
  || lwalacct
 gda_parm_cnt = gda_parm_cnt + 1 
 gda_parm.gda_parm_cnt = "*" 
 gda_parm_cnt = gda_parm_cnt + 1 
 gda_parm.gda_parm_cnt = "* Size  ===> " ,   
  || lwalrgn 
 gda_parm_cnt = gda_parm_cnt + 1 
 gda_parm.gda_parm_cnt = "*" 
 gda_parm_cnt = gda_parm_cnt + 1 
 gda_parm.gda_parm_cnt = "* Perform   ===> " ,   
  || lwalpgn 
 gda_parm_cnt = gda_parm_cnt + 1 
 gda_parm.gda_parm_cnt = "*" 
 gda_parm_cnt = gda_parm_cnt + 1 
 gda_parm.gda_parm_cnt = "* Command   ===> " ,   
  || Left(lwalgcmd,61)   
 If Length(lwalgcmd) > 61 Then Do
   gda_parm_cnt = gda_parm_cnt + 1   
   gda_parm.gda_parm_cnt = "*" , 
|| Substr(lwalgcmd,62)   
 End 
 gda_parm_cnt = gda_parm_cnt + 1 
 gda_parm.gda_parm_cnt = "*" 
 
 msg_value = 'MSG'(msg_value)
 Return  
/*---*/  


Regards
Bruce

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Contents of "Command" field on standard login screen - where to find it

2023-01-19 Thread Robert Prins

On 2023-01-19 14:45, Walt Farrell wrote:

On Thu, 19 Jan 2023 15:02:06 +, Robert Prins  
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 lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Contents of "Command" field on standard login screen - where to find it

2023-01-19 Thread Walt Farrell
On Thu, 19 Jan 2023 15:02:06 +, Robert Prins  
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?

And why are you trying to do this from REXX? What problem are you really trying 
to solve?

-- 
Walt

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Contents of "Command" field on standard login screen - where to find it

2023-01-19 Thread Seymour J Metz
Did you look at R1 on entry for the TMP?


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3


From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of 
Robert Prins [robert.ah.pr...@gmail.com]
Sent: Thursday, January 19, 2023 9:08 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Contents of "Command" field on standard login screen - where to find it

WARNING - One or more website links in this email have been determined to be 
malicious. Those malicious website links will be blocked from user access.


Userid===>

Password  ===>

Procedure ===>

Acct Nmbr ===>

Size  ===> 1048576

Perform   ===>

Command   ===> ex 'prino.rahp.exec(prino)'   <=== ***This one***

I used to know, and used it on the now defunct FanDeZhi system to allow
advanced users break out of the standard logon exec, but cannot find it any
more. Can anyone help me?

Thanks,

Robert
--
Robert AH Prins
robert(a)prino(d)org
The hitchhiking grandfather 

Some REXX code for use on z/OS


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Contents of "Command" field on standard login screen - where to find it

2023-01-19 Thread Robert Prins
And then you realise that the question should have been, "How do I get at
it (control-block chasing-wise) in REXX?".

Apologies

Robert


On Thu, 19 Jan 2023 at 12:14, John McKown 
wrote:

> If you mean "where is this field stored", is is in the TSO segment in RACF.
> I don't know about other ESMs.
>
> On Thu, Jan 19, 2023, 06:09 Robert Prins 
> wrote:
>
> > Userid===>
> >
> > Password  ===>
> >
> > Procedure ===>
> >
> > Acct Nmbr ===>
> >
> > Size  ===> 1048576
> >
> > Perform   ===>
> >
> > Command   ===> ex 'prino.rahp.exec(prino)'   <=== ***This one***
> >
> > I used to know, and used it on the now defunct FanDeZhi system to allow
> > advanced users break out of the standard logon exec, but cannot find it
> any
> > more. Can anyone help me?
> >
> > Thanks,
> >
> > Robert
> > --
> > Robert AH Prins
> > robert(a)prino(d)org
> > The hitchhiking grandfather 
> > Some REXX code for use on z/OS
> > 
> >
> > --
> > For IBM-MAIN subscribe / signoff / archive access instructions,
> > send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
> >
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>


-- 
Robert AH Prins
robert(a)prino(d)org
The hitchhiking grandfather 
Some REXX code for use on z/OS


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Contents of "Command" field on standard login screen - where to find it

2023-01-19 Thread John McKown
If you mean "where is this field stored", is is in the TSO segment in RACF.
I don't know about other ESMs.

On Thu, Jan 19, 2023, 06:09 Robert Prins  wrote:

> Userid===>
>
> Password  ===>
>
> Procedure ===>
>
> Acct Nmbr ===>
>
> Size  ===> 1048576
>
> Perform   ===>
>
> Command   ===> ex 'prino.rahp.exec(prino)'   <=== ***This one***
>
> I used to know, and used it on the now defunct FanDeZhi system to allow
> advanced users break out of the standard logon exec, but cannot find it any
> more. Can anyone help me?
>
> Thanks,
>
> Robert
> --
> Robert AH Prins
> robert(a)prino(d)org
> The hitchhiking grandfather 
> Some REXX code for use on z/OS
> 
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Contents of "Command" field on standard login screen - where to find it

2023-01-19 Thread Robert Prins
Userid===>

Password  ===>

Procedure ===>

Acct Nmbr ===>

Size  ===> 1048576

Perform   ===>

Command   ===> ex 'prino.rahp.exec(prino)'   <=== ***This one***

I used to know, and used it on the now defunct FanDeZhi system to allow
advanced users break out of the standard logon exec, but cannot find it any
more. Can anyone help me?

Thanks,

Robert
-- 
Robert AH Prins
robert(a)prino(d)org
The hitchhiking grandfather 
Some REXX code for use on z/OS


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN