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

How to display a panel using REXX


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

New User


Joined: 19 Mar 2005
Posts: 8
Location: Pune, India

PostPosted: Tue Jun 07, 2005 5:33 pm
Reply with quote

hi guys,

i have just started with l'le bit of panel programming.
i have tried to write one panel and display it using rexx, but i ma not able to do it successfully. Please help me out with this....

my panel is as follows.

)panel
/* panel 1 created */
)body window(50,5)
+ PANEL1 +
+ This is the test panel
+
+ good bye ...
)end

My rexx to display panel is as follows.

/* rexx to display panel1 */
"ispexec libdef ispplib library id(VENJ91.IPVENJ91.PANELS)"
/*show*/
"ispexec addpop"
"ispexec display panel(panel1)"

please suggest.

Thanks in advance.
Back to top
View user's profile Send private message
superk

Global Moderator


Joined: 26 Apr 2004
Posts: 4652
Location: Raleigh, NC, USA

PostPosted: Wed Jun 08, 2005 4:38 am
Reply with quote

Did the panel display OK in an ISPF Dialog Test (option 7)? I'd validate that the panel syntax is OK before going much further. Off-hand, your REXX code looks OK.
Back to top
View user's profile Send private message
amolgijare

New User


Joined: 19 Mar 2005
Posts: 8
Location: Pune, India

PostPosted: Wed Jun 08, 2005 1:01 pm
Reply with quote

i tried using option 7. But i am not able to use it properly i guess.
in option 7 i selected 'display panel' (option2).. but i am not able to give my PDS name where my panel is coded.

so it shows me following
----------------------

ISPP100

Panel 'PANEL1' error
Panel not found.









Enter HELP command for further information regarding this error.
Press ENTER key to terminate the dialog.


-------

can you let me know steps to display panel using option 7 in ISPF.

Thanks.
Back to top
View user's profile Send private message
superk

Global Moderator


Joined: 26 Apr 2004
Posts: 4652
Location: Raleigh, NC, USA

PostPosted: Wed Jun 08, 2005 3:40 pm
Reply with quote

I am away from the office this week, but there should also be an option to execute a command. Here you should execute the LIBDEF command for your ISPPLIB library allocation.
Back to top
View user's profile Send private message
MGIndaco

Active User


Joined: 10 Mar 2005
Posts: 432
Location: Milan, Italy

PostPosted: Wed Jun 08, 2005 6:56 pm
Reply with quote

I think that you can try omitting the command:
Quote:
)Panel

and substitute them with an appropriate:
Code:
)ATTR DEFAULT(%+_)


then change the libdef command from
Quote:
"ispexec libdef ispplib library id(VENJ91.IPVENJ91.PANELS)"

to
Code:
"ispexec libdef ispplib dataset id('VENJ91.IPVENJ91.PANELS')"
Back to top
View user's profile Send private message
amolgijare

New User


Joined: 19 Mar 2005
Posts: 8
Location: Pune, India

PostPosted: Wed Jun 08, 2005 9:07 pm
Reply with quote

Hi MGIndaco

I tried your suggession. Now my panel code is as follows

) attr
( type(text) intens(low) skip(on)
) body window(20,12)
+ PANEL1 +
+ This is the test panel
+
+ good bye ...
)end

Its giving error for ) attr default

and my rexx code is as follows

/* rexx to display panel1 */
"ispexec libdef ispplib dataset id('VENJ91.IPVENJ91.PANELS')"
/*show*/
"ispexec addpop"
"ispexec display panel(panel1)"


I think i am getting the popup window, but rather than showing me the panel its showing me the panel code. I guess i am close but not getting the exact output.

Please suggest.
Back to top
View user's profile Send private message
MGIndaco

Active User


Joined: 10 Mar 2005
Posts: 432
Location: Milan, Italy

PostPosted: Wed Jun 08, 2005 9:56 pm
Reply with quote

Hem... the attribute of panel is not as I said...
If I have correctly understand your panel definition must be:
Code:
)ATTR DEFAULT(%+_)
   _ TYPE(INPUT) INTENS(HIGH)  PAD(_)
   % TYPE(TEXT)  INTENS(LOW)   SKIP(ON)
   + TYPE(TEXT)  INTENS(HIGH)  SKIP(ON)
)BODY
+ PANEL 1
% This is the test panel
)END

and the code of your rexx program must be:
Code:
 /* rexx */                                     
 "Profile Noprefix"                             
 mylib = 'MYLIB.PANELS'   
 "ISPEXEC LIBDEF ISPPLIB DATASET ID('"mylib"')" 
 "ISPEXEC ADDPOP" /* optional -> ROW(nn) COLUMN(nn) */
 "ISPEXEC DISPLAY PANEL(INTRO)"           
 "ISPEXEC REMPOP"   
 EXIT                                           


I tried and it function well, now I wait your doubt..
Back to top
View user's profile Send private message
MGIndaco

Active User


Joined: 10 Mar 2005
Posts: 432
Location: Milan, Italy

PostPosted: Wed Jun 08, 2005 9:59 pm
Reply with quote

Ops... Panel(INTRO) in your case is the name of the panel where you have stored de source of your panel.
To be sure of the panel that you are calling, use PANELID to have at the left top the name of the current panel. To exit digit PANELID again.
Back to top
View user's profile Send private message
superk

Global Moderator


Joined: 26 Apr 2004
Posts: 4652
Location: Raleigh, NC, USA

PostPosted: Mon Jun 13, 2005 7:59 pm
Reply with quote

Amol, I've been able to review your panel definition. It should be working. Here is what I tested with:
Code:

)panel                             
/* panel 1 created */               
)body window(50,5)                 
+ PANEL1 +                         
+ This is the test panel           
+                                   
+ good bye ...                     
)end                               

Code:

/* REXX */                                                 
"ISPEXEC LIBDEF ISPPLIB DATASET ID(ISPPLIB)"               
"ISPEXEC ADDPOP"                                           
"ISPEXEC DISPLAY PANEL(PANEL1)"                           
"ISPEXEC REMPOP"                                           
"ISPEXEC LIBDEF ISPPLIB"                                   

Code:

EsssssssssssssssssssssssssssssssssssssssssssssssssssN
e  PANEL1                                           e
e  This is the test panel                           e
e                                                   e
e  good bye ...                                     e
e                                                   e
DsssssssssssssssssssssssssssssssssssssssssssssssssssM
Back to top
View user's profile Send private message
prasadpatil

New User


Joined: 30 Jun 2005
Posts: 2

PostPosted: Thu Jun 30, 2005 4:02 pm
Reply with quote

I was also trying some panel program, with code as follows:

Panel:
Code:
)PANEL                   
/* PANEL 1 CREATED */   
)BODY WINDOW(50,5)       
+ PANEL1 +               
+ THIS IS THE TEST PANEL
+                       
+ GOOD BYE ...           
)END                     


Rexx:
Code:
/* REXX */                                     
"PROFILE NOPREFIX"                             
MYLIB = 'TSA.TSAPP1.REXX'                     
"ISPEXEC LIBDEF ISPPLIB DATASET ID('"MYLIB"')"
"ISPEXEC ADDPOP"                               
"ISPEXEC DISPLAY PANEL(PANEL1)"               
"ISPEXEC REMPOP"                               
"ISPEXEC LIBDEF ISPPLIB"                       



But after executing it is giving error as :
Code:
ISPP130                                                     
                                                             
Panel 'PANEL1' error                                         
A panel section is out of order or has already been defined.

 Panel line where error was detected:     
 )BODY WINDOW(50,5)                       
 


Can you please solve my problem, so that I can go ahead?
Back to top
View user's profile Send private message
MGIndaco

Active User


Joined: 10 Mar 2005
Posts: 432
Location: Milan, Italy

PostPosted: Thu Jun 30, 2005 4:30 pm
Reply with quote

Probably you have copy past the panel from this forum and at the end of each row you have numeration. You must Renum and Unnum from command line your member before retry.
I hope in this help.
Back to top
View user's profile Send private message
prasadpatil

New User


Joined: 30 Jun 2005
Posts: 2

PostPosted: Thu Jun 30, 2005 6:01 pm
Reply with quote

Thank you very much !!
It worked. Actually I am a bit new to mainframes, thats why I did not notice that.

Thanks and regards,
Prasad
Back to top
View user's profile Send private message
MGIndaco

Active User


Joined: 10 Mar 2005
Posts: 432
Location: Milan, Italy

PostPosted: Fri Jul 01, 2005 2:55 pm
Reply with quote

I read the tutorial and I make some test and after so, I can assure you that to execute in Dialog Test a panel or a table you must put your panel or table in the correct library that is one of those that are specified in ISPPLIB that you can see using TSO ISRDDN.
Back to top
View user's profile Send private message
Cartraga

New User


Joined: 13 May 2005
Posts: 4

PostPosted: Fri Jul 01, 2005 5:23 pm
Reply with quote

* Panel 'PANEL1' error *
* Field or area name missing following identifying attribute character * .
* Panel line where error was detected: * .
* + % enter your name please => _ urname + * .





This was the error message i got while executing.
I tried unnum ooption as well.


icon_confused.gif CRT
Back to top
View user's profile Send private message
Cartraga

New User


Joined: 13 May 2005
Posts: 4

PostPosted: Tue Jul 05, 2005 10:21 am
Reply with quote

Sorry for the late response...

This is the code which calls the panel


/*rexx*/
"ispexec libdef ispplib dataset id('MSA5573.Z.REXX')"
/*show*/
"ispexec addpop"
"ispexec display panel(panel1)"
if rc\=0 then do
say 'command cancelled'
exit
end
else
say 'your name is' urname
exit
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 Reroute print output via REXX/SDSF TSO/ISPF 6
No new posts Preserve changes to ISPF Panel Variables TSO/ISPF 1
No new posts Get RECORD LENGTH, allocated space of... CLIST & REXX 7
No new posts SDSF and Rexx TSO/ISPF 4
No new posts Compare 2 alphabets in a REXX and fin... CLIST & REXX 2
Search our Forums:

Back to Top