Portal | Manuals | References | Downloads | Info | Programs | JCLs | Master the Mainframes
IBM Mainframe Computers Forums Index
 
Register
 
IBM Mainframe Computers Forums Index Mainframe: Search IBM Mainframe Forum: FAQ Memberlist Usergroups Profile Log in to check your private messages Log in
 

 

How to create the Keylist as 'Shared'

 
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> TSO/ISPF
View previous topic :: :: View next topic  
Author Message
daveporcelan

Active Member


Joined: 01 Dec 2006
Posts: 660
Location: Pennsylvania

PostPosted: Thu Sep 27, 2007 2:03 am    Post subject: How to create the Keylist as 'Shared'
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

Global Moderator


Joined: 14 Mar 2007
Posts: 10231
Location: italy

PostPosted: Mon Oct 08, 2007 1:39 pm    Post subject: Reply to: How to create the Keylist as 'Shared'
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: 1226
Location: Israel

PostPosted: Mon Oct 08, 2007 6:53 pm    Post subject:
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: 1226
Location: Israel

PostPosted: Mon Oct 08, 2007 7:05 pm    Post subject:
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: 1226
Location: Israel

PostPosted: Mon Oct 08, 2007 7:17 pm    Post subject:
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    IBMMAINFRAMES.com Support Forums -> TSO/ISPF All times are GMT + 6 Hours
Page 1 of 1

 

Search our Forum:

Similar Topics
Topic Author Forum Replies Posted
This topic is locked: you cannot edit posts or make replies. Rexx to create GDG by scanning JJ result krish.deepu CLIST & REXX 5 Tue Oct 25, 2016 5:32 pm
No new posts How can we create a flat file in JAVA... rakesh.v18 Java & MQSeries 7 Fri Sep 23, 2016 10:46 pm
No new posts CICS SOCKET shared between two transa... akont CICS 3 Mon Jun 27, 2016 1:27 pm
No new posts Need to create file with Dynamic Name... kapil27 JCL & VSAM 4 Wed May 25, 2016 9:45 am
No new posts How to create/edit/update a new GDG V... karthikbalakumar8 JCL & VSAM 2 Fri Feb 05, 2016 6:35 pm


Facebook
Back to Top
 
Mainframe Wiki | Forum Rules | Bookmarks | Subscriptions | FAQ | Tutorials | Contact Us