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

Panel not found error


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

New User


Joined: 27 May 2008
Posts: 13
Location: Philippines

PostPosted: Wed Sep 17, 2008 2:19 pm
Reply with quote

Hello.

I created a REXX program that opens a dataset for browsing. This REXX program is called by the panel I created called S2SC000.

However when I am done browsing the dataset and presses the PF3 key, I'm getting the below error:

Code:
*********************************************************************
* ISPP100                                                           
*                                                                   
* Panel 'S2SC000' error                                             
* Panel not found.                                                   
*                                                                   
*                                                                   
*                                                                   
*                                                                   
*                                                                   
*                                                                   
* Panel line where error was detected:                               
* ZSEL = PANEL(S2SC000)                                             
*                                                                   
* Enter HELP command for further information regarding this error.   
* Press ENTER key to terminate the dialog.                           
*                                                                   
*                                                                   


How do I get back to the S2SC000 panel?

Below is the REXX code:
Code:

/*REXX*/                                                           
TRACE O                                                             
USER = SYSVAR(SYSUID)                                               
DROPBUF                                                             
"ISPEXEC VGET B"                                                   
IF B='1' THEN A='PX61057.IPO.EMFPARM.C749(T01I749)'                 
IF B='2' THEN A='PX61057.IPO.EMFPARM.C749(T02I749)'                 
IF B='3' THEN A='PX61057.IPO.EMFPARM.C749(T03I749)'                 
IF B='4' THEN A='PX61057.IPO.EMFPARM.C749(T04I749)'                 
                                                               
IF PFKEY0='PF03' THEN EXIT                                         
                                                                   
/* OPEN DATASET CORRESPONDING DATASET CORRESPONDING TO CHOICE */   
"ISPEXEC BROWSE DATASET ('"A"')"
Back to top
View user's profile Send private message
expat

Global Moderator


Joined: 14 Mar 2007
Posts: 8797
Location: Welsh Wales

PostPosted: Wed Sep 17, 2008 3:01 pm
Reply with quote

Is the library containing the panel source concatenated into ISPPLIB

If not, take a look at LIBDEF to make the concatenation valid for your session.
Back to top
View user's profile Send private message
Leah Dela Cruz

New User


Joined: 27 May 2008
Posts: 13
Location: Philippines

PostPosted: Wed Sep 17, 2008 3:12 pm
Reply with quote

Hi, sorry, I don't exactly know what you mean.
How would I know if the library containing the panel source is concatenated into ISPPLIB?
thanks.
Back to top
View user's profile Send private message
expat

Global Moderator


Joined: 14 Mar 2007
Posts: 8797
Location: Welsh Wales

PostPosted: Wed Sep 17, 2008 3:19 pm
Reply with quote

You know where the source of the panel is.

On the command line type TSO ISRDDN and find ISPPLIB under the heading DDName. Look at the datasets allocated and see if your one is there. If not, use LIBDEF to add your dataset to the concatenation.
Back to top
View user's profile Send private message
Aaru

Senior Member


Joined: 03 Jul 2007
Posts: 1287
Location: Chennai, India

PostPosted: Wed Sep 17, 2008 3:24 pm
Reply with quote

Expat,

Quote:
Is the library containing the panel source concatenated into ISPPLIB


Leah wrote:
Quote:
However when I am done browsing the dataset and presses the PF3 key, I'm getting the below error:


My understanding from OP first post

- Panel is displayed and input is got
- Based on the input, dataset is browsed
- when PF3 pressed, error occurs

I think the panel was displayed without any problem.

Leah,

Am I correct?

Sorry If I am wrong.
Back to top
View user's profile Send private message
Leah Dela Cruz

New User


Joined: 27 May 2008
Posts: 13
Location: Philippines

PostPosted: Wed Sep 17, 2008 3:30 pm
Reply with quote

Hi Aaru. You're correct.
Back to top
View user's profile Send private message
expat

Global Moderator


Joined: 14 Mar 2007
Posts: 8797
Location: Welsh Wales

PostPosted: Wed Sep 17, 2008 3:39 pm
Reply with quote

But where is the panel called by name, and where in the code is the call to display the panel. Hence my question. From the REXX code above the panel used will be the system default ISPF panel.

More information needed.

What is the start of the procedure, how do you invoke the panel to then invoke the REXX ?
Back to top
View user's profile Send private message
Leah Dela Cruz

New User


Joined: 27 May 2008
Posts: 13
Location: Philippines

PostPosted: Wed Sep 17, 2008 3:42 pm
Reply with quote

it is called by another panel.

Here's the code:
Code:
)PROC                                       
 &PFKEY0 = .PFKEY                           
 VER(&ZUSER,LIST,PX61057,MSG='RCMS008')     
 IF (&PFKEY0 = 'PF03','PF15','PF12','PF24') 
    &ZSEL = 'EXIT'                           
 IF (&ZUSER = 'PX61057')                     
    &ZSEL = 'PANEL(S2SC000)'                 
)END                                         
Back to top
View user's profile Send private message
Leah Dela Cruz

New User


Joined: 27 May 2008
Posts: 13
Location: Philippines

PostPosted: Wed Sep 17, 2008 3:45 pm
Reply with quote

correction to the above post:

the panel S2SC000 is invoked by another panel. Here's the code:
Code:
)PROC                                       
 &PFKEY0 = .PFKEY                           
 VER(&ZUSER,LIST,PX61057,MSG='RCMS008')     
 IF (&PFKEY0 = 'PF03','PF15','PF12','PF24') 
    &ZSEL = 'EXIT'                           
 IF (&ZUSER = 'PX61057')                     
    &ZSEL = 'PANEL(S2SC000)'                 
)END                                     


and the here's how the REXX program is invoked by the S2SC000 panel:
Code:
)PROC                                 
 &PFKEY0 = .PFKEY                     
 VER(&A,NB,LIST,E,B,MSG='RCMS006')     
 VER(&B,NB,LIST,1,2,3,4,MSG='RCMS006')
 VER(&PFKEY0,LIST,PF03,MSG='RCMS000') 
 IF (&A = 'B')                         
    &ZSEL = 'CMD(TBLB749)'             
 IF (&A = 'E' & &B = '1')             
    &ZSEL = 'CMD(T01E749)'             
 IF (&A = 'E' & &B = '2')             
    &ZSEL = 'CMD(T02E749)'             
 IF (&A = 'E' & &B = '3')             
    &ZSEL = 'CMD(T03E749)'             
 IF (&A = 'E' & &B = '4')             
    &ZSEL = 'CMD(T04E749)'             
 IF (&PFKEY0 = 'PF03')                 
    &ZSEL = 'EXIT'                     
 VPUT B SHARED                         
)END                                   
Back to top
View user's profile Send private message
Aaru

Senior Member


Joined: 03 Jul 2007
Posts: 1287
Location: Chennai, India

PostPosted: Wed Sep 17, 2008 3:46 pm
Reply with quote

Expat,

Quote:
and where in the code is the call to display the panel. Hence my question.


Yep, you are correct. May be he would have missed copying it.

Quote:
What is the start of the procedure, how do you invoke the panel to then invoke the REXX ?


Normally it would go like this

- REXX code would first display the panel
- Get the input and when enter pressed control goes back to the REXX code
- Then if needed panel can be thrown again.

No idea as to how OP is doing it.

Leah,

This is a very basic requirement and i guess you have made it complicated by using panels and all. More information needed.
Back to top
View user's profile Send private message
expat

Global Moderator


Joined: 14 Mar 2007
Posts: 8797
Location: Welsh Wales

PostPosted: Wed Sep 17, 2008 3:56 pm
Reply with quote

Looking at the comments from Aaru I would agree with him, this is far more complicated than it need be.

I would have the control of the flow maintained by the REXX code, same as Aaru
1) Display panel and get options
2) Process options

Maybe something like
Code:

"Ispexec display panel(ABC123)"
If RC = 8 then exit
If E = 'E' then ACT = 'EDIT'
  Else ACT = 'BROWSE'

Logic for assigning dataset name based on B goes here.

"Ispexec "ACT" Dataset('"dataset"')"
Back to top
View user's profile Send private message
Leah Dela Cruz

New User


Joined: 27 May 2008
Posts: 13
Location: Philippines

PostPosted: Wed Sep 17, 2008 4:03 pm
Reply with quote

ok, i guess I'll just follow your suggestions then to make it simpler.

thanks for all the help Expat and Aaru. icon_biggrin.gif
Back to top
View user's profile Send private message
dick scherrer

Moderator Emeritus


Joined: 23 Nov 2006
Posts: 19244
Location: Inside the Matrix

PostPosted: Wed Sep 17, 2008 10:48 pm
Reply with quote

Hello,

Quote:
ok, i guess I'll just follow your suggestions then to make it simpler.
No need to sound disappointed, if you were icon_smile.gif

Making the code simpler will be very much in your favor in the long run. The code will be much easier to work with.
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 Error to read log with rexx CLIST & REXX 11
No new posts How I Found a Bug in a FORTRAN Compiler All Other Mainframe Topics 4
No new posts Error when install DB2 DB2 2
No new posts Execute secondary panel of sdsf with ... CLIST & REXX 1
No new posts CLIST - Virtual storage allocation error CLIST & REXX 5
Search our Forums:

Back to Top