@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
