IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

How to create the Keylist as 'Shared'


IBM Mainframe Forums -> TSO/ISPF
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
daveporcelan

Active Member


Joined: 01 Dec 2006
Posts: 792
Location: Pennsylvania

PostPosted: Thu Sep 27, 2007 2:03 am
Reply with quote

I am going to go into alot of detail here so that my question is clear. I also want to show what I have already done so that those recomendations can be skipped.

I have developed an ISPF Panel to be used by many users in our shop.

I have done many panels in the past.

For this Panel I want to use custom pfkeys.

I tried with limited success to set the values for ZPFxx and VPUT them into the Profile pool. This worked however, those values are then assigned for all panels that use the ISPF default keys. To remedy this, I would have to first do a VGET, save the values, and restore them later before I exit my Rexx program. This is possible, but a bit of a pain, and if the user timed out on my panel, they would be hosed.

So I thought I would try to use a KEYLIST. I used the KEYLIST Utility to create one. I then used the KEYLIST command in the )PANEL section. This worked for me.

Now the problem (finally!). Other users do not have access to my Keylist since it is flagged as a 'Private' Keylist by the utility.

I do not know how to create the Keylist as 'Shared' and also how to determine what APLID to use to access them.

I tried to use the DTL Compiler, but it is not very user friendly.

I also thought if there was a way to create a private keylist for each user in my program on their behalf, that would work as well. I just don't know how.

Any help is appreciated.
Back to top
View user's profile Send private message
enrico-sorichetti

Superior Member


Joined: 14 Mar 2007
Posts: 10873
Location: italy

PostPosted: Mon Oct 08, 2007 1:39 pm
Reply with quote

Quote:

I do not know how to create the Keylist as 'Shared' and also how to determine what APLID to use to access them.


The applid is the standard way for ISPF to define ...things...
whenever You invoke a dialog/application with the "NEWAPPL" token
all the relevant info will saved into the profile dataset
in members starting with the three character chosen

as far as shared keylist, just give a try copying the keylist from Your profile
to a pds dataset concatenated to the ISPTLIB dataset
Back to top
View user's profile Send private message
Marso

REXX Moderator


Joined: 13 Mar 2006
Posts: 1353
Location: Israel

PostPosted: Mon Oct 08, 2007 6:53 pm
Reply with quote

Hi Enrico,

I've had the same problem (defining keys on my panels) and I haven't found yet the ultimate answer...
A my site, everybody used the VPUT/VGET method but I wanted to try the famous keylist option.
Here are my findings:
I read in the ISPF Dialog Developer's Guide about Keylists "...This creates an xxxxKEYS table that is placed in the ISPTLIB concatenation."
We know that the R/W table is defined as ISPTABL.
So what I did was:
  • After I've decided in which ISPTLIB dataset I want to place my keylist, I changed my logon procedure so it is also assigned to ISPTABL.
  • Logoff/logon to activate the change (no doubt there is a faster way to do that).
  • Then I've use DTL to create my keylist, which got stored in the correct dataset.
  • Then change back and logoff/logon.
It worked nicely, I didn't touch the keylist since I built it so I haven't looked for a better way.
Back to top
View user's profile Send private message
Marso

REXX Moderator


Joined: 13 Mar 2006
Posts: 1353
Location: Israel

PostPosted: Mon Oct 08, 2007 7:05 pm
Reply with quote

Here is the DTL file I built:
Code:
  <!doctype dm system>                           
                                                 
  <KEYL NAME=KEYPLEX APPLID=TRB ACTION=UPDATE>   
    <KEYI KEY=F1  CMD=HELP     FKA=yes>Help     
    <KEYI KEY=F2  CMD=SPLIT    FKA=yes>Split     
    <KEYI KEY=F3  CMD=END      FKA=yes>End       
    <KEYI KEY=F4  CMD=RETURN   FKA=yes>Return   
    <KEYI KEY=F7  CMD=BACKWARD  FKA=no>Backward 
    <KEYI KEY=F8  CMD=FORWARD   FKA=no>Forward   
    <KEYI KEY=F9  CMD=SWAP     FKA=yes>Swap     
    <KEYI KEY=F11 CMD=F11       FKA=no>F11       
    <KEYI KEY=F12 CMD=F12       FKA=no>F12       
    <KEYI KEY=F13 CMD=HELP     FKA=yes>Help     
    <KEYI KEY=F14 CMD=SPLIT    FKA=yes>Split     
    <KEYI KEY=F15 CMD=END      FKA=yes>End       
    <KEYI KEY=F16 CMD=RETURN   FKA=yes>Return   
    <KEYI KEY=F19 CMD=BACKWARD  FKA=no>Backward 
    <KEYI KEY=F20 CMD=F20       FKA=no>F20       
    <KEYI KEY=F21 CMD=SWAP     FKA=yes>Swap     
    <KEYI KEY=F24 CMD=F24       FKA=no>F24
  </KEYL>
The only thing important is that the CMD is unknown to ISPF so it passed back to the program and not processed internally.
I used the DTL compiler too, no really friendly as you said...
The APPLID is kinda dummy, my rexx displaying the panel is working with another applid.

The panel statement is, as you know:
Code:
)PANEL KEYLIST(KEYPLEX,TRB) 

That's about it, I hope it will help you.
Back to top
View user's profile Send private message
Marso

REXX Moderator


Joined: 13 Mar 2006
Posts: 1353
Location: Israel

PostPosted: Mon Oct 08, 2007 7:17 pm
Reply with quote

Oh, one more thing:
I found that many (if not most) users work with KEYLIST OFF...
That's certainly where the APPLID comes handy, according to the manual:
Quote:
ZKLUSE Y or N, this variable indicates whether the keylists are being used for an application ID or not.
For example, if KEYLIST OFF has been issued, &ZKLUSE is N. This variable is stored in the application
profile. The VPUT service can be used by your application to set this value. Putting a value of N in
&ZKLUSE to the profile pool is equivalent to issuing the KEYLIST OFF command. Putting a value of Y
in &ZKLUSE to the profile pool is equivalent to issuing the KEYLIST ON command.

Now, instead of working like a pro, I'm doing VGET/VPUT on this variable icon_confused.gif
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> TSO/ISPF

 


Similar Topics
Topic Forum Replies
No new posts How to create a list of SAR jobs with... CA Products 3
No new posts create rexx edit Macro that edits the... CLIST & REXX 3
No new posts COBOL - create and write to output fi... COBOL Programming 0
No new posts Best way to create an automated line ... TSO/ISPF 3
No new posts FD Section to Create FB or Vb File Dy... COBOL Programming 1
Search our Forums:

Back to Top