I did have this part of the question wrong.

The *KEYS table is the source of the keylist, but not where it is used at 
runtime. The keys in the keylist are stored in the application profile -- look 
for KEYnDEF, KEYnLAB, KEYnATR.

But there's something odd. Normally you can only have one of each variable 
name, but there are multiple KEY1DEF, etc.

An ISPF profile is actually an ISPF table, composed solely of extension 
variables. But ISPF is known to cheat. For example, it stores more than the 
limit of extension variables.

So, either...

1. The keylist keys are data stored in one extension variable, i.e. it is a 
structure in a variable.

2. ISPF is cheating and the data is some entirely different binary form, not 
accessible by ISPF table commands.


To see what it is, would need to open a profile as a table, iterate through the 
rows, and dump out all the extension variables.


-----Original Message-----
From: IBM Mainframe Discussion List <[email protected]> On Behalf Of 
Schmitt, Michael
Sent: Thursday, September 25, 2025 8:17 PM
To: [email protected]
Subject: Re: Programmatic API to ISPF PF keys?

I may be missing something. Users can modify keylists, right? How does ISPF 
handle that?

From: IBM Mainframe Discussion List <[email protected]> on behalf of 
Charles Mills <[email protected]>
Reply-To: IBM Mainframe Discussion List <[email protected]>
Date: Thursday, September 25, 2025 at 6:35 PM
To: "[email protected]" <[email protected]>
Subject: Re: Programmatic API to ISPF PF keys?

On Thu, 25 Sep 2025 21:09:00 +0000, Schmitt, Michael 
<[email protected]<mailto:[email protected]>> wrote:

To answer your second question:

I don't think there's a programmatic API to write and write old-style PFKeys 
either. The way I've seen it done was by changing the key's profile variables 
in the shared pool.

Since the keylist is a table, it isn't in profile variables.

Since ISRKEYS is open SHARE NOWRITE, you should be able open it again as SHARE 
NOWRITE and modify it. To make a permanent change you'd need to write it out to 
a different location.

The devil's in the details, however. I haven't tried this.

Perfect! This is a real start. Thanks.

Charles

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



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



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

Reply via email to