Hi Roland,

On 2017-01-20 15:10, Roland Schiradin wrote:
Hi Bob,

Please, please, please, don't call me Bob!

I'm also working on Sam system. I would try to rename the ISPCFIGU in the
linklist. Do a /F LLA,REFRESH. New logon and verify again. If it works
contact Sam and ask him.

You may also try my and Norbert Haas logon proc Procedure ===> SPFPROCS. It
invoke the REXX SYS1.LOGON.CLISTS(ISPFZRY).

That seems promising, and I really like the way you add datasets to the concatenation, it's more readable and easier to update than long line-spanning concatenations that I use in 'prino.rahp.exec(prino)'. However, asking Sam to create yet another logon proc invoking yet another exec or clist seems such an overkill, there should be just one, or maybe two with the second just containing the standard ISPF datasets.

The first should invoke just one exec that should allocate a standard set of libraries, but it should contain a defined exit. On "that" system, the standard logon exec has been changed by yours truly to contain the following:

 /*-------------------------------------------------------------------+
   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

In other words, a real power-user can completely break out of the standard logon exec by specifying a command on the TSO/E LOGON screen, others who feel like it, can do some pre-processing via an exec or clist using a standard member in a private exec or clist library, and for everybody else this exec just runs it course - there's obviously scope to combine the SYSDSN() approach with your method to add datasets to the various DDNAMEs, so that 'userid().ispXlib' datasets can automagically be included should that be required.

Good luck Roland

Maybe tomorrow, if my wife lets me, now really time to go to bed.

Robert
--
Robert AH Prins
robert.ah.prins(a)gmail.com

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to