@Michael, thanks, since my latest post I had gotten halfway there.

It occurred to me after I posted that I could make an "MVS" copy of ISRPROF to 
another member and then display that member with 3.16, without any ISPF ENQ 
conflicts.

I did that this morning and hacked out exactly what you say below. I can see my 
"eyecatcher" PF key string as the value for KEY4DEF in the row with KEYLISTN = 
'ISRSPEC'.

My next step was to write a proof of concept pretty much like your code below.

Charles

On Fri, 3 Oct 2025 16:04:36 +0000, Schmitt, Michael <[email protected]> 
wrote:

>As previously mentioned, the source for the keylist is the KEYS table, but the 
>values are copied and used from the application's profile.
>
>ISPF is using the first row for the profile variables, and then rows 2 and up 
>are one row per keylist. Each row is still just extension variables. Variable 
>KEYLISTN is the keylist name, and the rest are the keylist data.
>
>So what you do is:
>1. TBSKIP starting with row 2 until you find one where KEYLISTN is the desired 
>keylist. You should capture the extension variable names.
>2. When you find what you want, change the KEYnDEF, KEYnLAB, KEYnATR value.
>3. TBPUT profile SAVE(extvars)
>
>
>To prove this is correct, here's code that displays all the keylist variables 
>for the VIEW keylist:
>
>address ISPEXEC
>   "CONTROL ERRORS RETURN"
>   keylist = 'ISRSPEC'
>   table   = 'ISRPROF'
>
>   keylistn = ''
>   "TBTOP  &TABLE"
>   "TBSKIP &TABLE NUMBER(2) SAVENAME(EXTVARS)"
>   do while rc = 0
>      if keylistn = keylist then do
>         call display_keylist
>         leave
>         end
>      keylistn = ''
>      "TBSKIP &TABLE SAVENAME(EXTVARS)"
>      end
>
>   exit
>
>display_keylist:
>   parse var extvars '(' extvars ')'
>   do i = 1 to words(extvars)
>      extvar = word(extvars, i)
>      say extvar '=' value(extvar)
>      end
>   return

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

Reply via email to