View previous topic :: View next topic
|
Author |
Message |
Ekta Sharma
New User
Joined: 26 Feb 2008 Posts: 35 Location: pune
|
|
|
|
Hi,
I want to add a new option to ISPF Primary Menu ISR@PRIM. For example, option 9 mentioned in the panel below. I want this new option should take me to another ISPF panel that I have created.
Menu Utilities Compilers Options Status Help
------------------------------------------------------------------------------
ISR@PRIM M&T Bank Primary Option Menu
Option ===>
0 Settings Terminal and user parameters
1 View Display source data or listings
2 Edit Create or change source data
3 Utilities Perform utility functions
4 Foreground Interactive language processing
5 Batch Submit job for language processing
6 Command Enter TSO or Workstation commands
7 Dialog Test Perform dialog testing
8 LM Facility Library administrator functions
9 NEW OPTION Goto Panel C
Any pointers on how this can be implemented? |
|
Back to top |
|
|
expat
Global Moderator
Joined: 14 Mar 2007 Posts: 8796 Location: Welsh Wales
|
|
|
|
The primary menu for you and who else ? Just you or every user of that panel ? |
|
Back to top |
|
|
Ekta Sharma
New User
Joined: 26 Feb 2008 Posts: 35 Location: pune
|
|
|
|
Just for my ISPF primary menu. |
|
Back to top |
|
|
Bill Dennis
Active Member
Joined: 17 Aug 2007 Posts: 562 Location: Iowa, USA
|
|
|
|
If you have a personal panel library for development, it must be ahead of ISP. in the ISPPLIB concatenation of your TSO proc.
Copy in ISR@PRIM from ISP. library and modify it. |
|
Back to top |
|
|
Ekta Sharma
New User
Joined: 26 Feb 2008 Posts: 35 Location: pune
|
|
|
|
Bill,
Can you please elaborate on what u have written?
The panel that I have created is in my personal dataset. What do u mean by 'personal panel library for development'? |
|
Back to top |
|
|
ofer71
Global Moderator
Joined: 27 Dec 2005 Posts: 2358 Location: Israel
|
|
|
|
Just concatenate your private panel library in front of other datasets within ISPPLIB.
O. |
|
Back to top |
|
|
Ekta Sharma
New User
Joined: 26 Feb 2008 Posts: 35 Location: pune
|
|
|
|
Do u mean using this statement in my rexx code(used for invoking the panel)?
"libdef ispplib DAtaset id('"userid()".exo.rexx') "
Currently I have used the following statement in my rexx code:
"ISPEXEC LIBDEF ISPPLIB DATASET ID('"MYLIB"')"
Here, 'MYLIB' holds the name of my another personal dataset where the panel code is present. |
|
Back to top |
|
|
Bill Dennis
Active Member
Joined: 17 Aug 2007 Posts: 562 Location: Iowa, USA
|
|
|
|
LIBDEF is a way to temporarily place your dataset ahead of the system libs rather than my suggestion of changing the TSO logon PROC. |
|
Back to top |
|
|
Pedro
Global Moderator
Joined: 01 Sep 2006 Posts: 2596 Location: Silicon Valley
|
|
|
|
I think it is a little more complicated than using LIBDEF. The poster wants to replace the ISPF primary option menu, but doing so requires that it be done before ISPF starts or during the startup. Afterwards it is too late.
I think changing the ISPPLIB concatenation is the best choice. Some sites have CONCAT command. Others trap the response from a LISTA ST command, parse out the datasets currently allocated, then issue an ALLOC command with the new dataset added to the list. |
|
Back to top |
|
|
Bill Dennis
Active Member
Joined: 17 Aug 2007 Posts: 562 Location: Iowa, USA
|
|
|
|
I tested a LIBDEF allocation and the next invocation of ISR@PRIM was my new panel. |
|
Back to top |
|
|
Pedro
Global Moderator
Joined: 01 Sep 2006 Posts: 2596 Location: Silicon Valley
|
|
|
|
My point was that the first invocation was not your customized panel, nor will split screen, nor probably STARTed screens, possible others, where you will get the normal panel.
If you have to issue a command to see the modified panel with the new funciton, then you might as well just start the new function. |
|
Back to top |
|
|
Josh Keller
New User
Joined: 08 Oct 2007 Posts: 36 Location: Columbia, SC
|
|
|
|
Here's how I override the ISR@PRIM panel as I had this desire a while back.
First create a REXX to start ISPF. I called my ISPFF and I exec that after I sign on.
Code: |
/*REXX ISPFF*/
ARG ARGS
"TRX ADD FI(ISPPROF) DA('TSO."USERID()".ISPPROF') SHR"
"TRX ADD FI(ISPPLIB) DA('TSO."USERID()".PDS') SHR"
/* START ISPF BUT EXEC #ISPF FIRST TO SET UP ISPF TABLES ETC.*/
ADDRESS TSO "ISPSTART CMD(#ISPF) NOLOGO NEWAPPL(ISR) PASSLIB" |
In here, allocate your ISPPLIB where your new panel is located, along with any other libriaries you want to allocate. I use TRX in my shop to do this, LIBDEF should work too. Also I had to allocate my ISPPROF DD for this to work, you may not.
The ISPSTART will exec a rexx I created called #ISPF, and that will display your new planel along with any other stuff you want to do each time you issue a START / SPLIT or start ISPF.
To avoid confusion, I named my new panel somthing else
Code: |
/*REXX #ISPF*/
"ISPEXEC CONTROL ERRORS RETURN"
"ISPEXEC SELECT PANEL(MY@PRIM)" |
If all that worked, you'll get your new panel.
Good luck. |
|
Back to top |
|
|
|