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

Rexx: Can rexx get screen size of session


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

New User


Joined: 26 Mar 2009
Posts: 5
Location: Brisbane

PostPosted: Wed Jul 04, 2012 2:21 pm
Reply with quote

Greetings,

Details:
I use IBM Communications, Personal Communications, Session Manager Version 5.5 for Windows.
I have 2 sessions set up, one for 43/80 and 24/80. I prefer 43/80, but most people at my work use 24/80.

Bad news:
ISPF Dialog Error - Panel definition too large, greater than screen size.

Good news:
I know the panel has too many lines. My panels are made for a 43 line screen. Other people get the above error. And I get the error as well when I jump out and into my 24/80 session, I can reduce the lines in the panel to 24 and it works no problem.

I would like to design 2 panels, one for 43line users like myself, and one for 24line users.

Bad news:
- I figured I could use some command to get screen size. I couldn't figure this one out.
- I figured I could display the 43line screen, then just trap/catch the error and display the 24line version. I couldn't figure this one out.

I can't figure out the fix. And fresh out of ideas.
My preference would be to get screen size, determine which i should display. Back up would be to trap the error after attempting to display the 43 line panel.

Would anyone have any ideas please?


My Rexx to display the panel

Code:
   CURLOC = 'ZCMD'                                                     
   CPANEL = 'TEST43'                                                   

   DO UNTIL PFRC > 0                                                   
     "DISPLAY PANEL("CPANEL") CURSOR("CURLOC")"                         
     PFRC = RC                                                         
                                                                       
     IF RC = 0 THEN DO                                                 
                                                                       
            CURLOC = 'ZCMD'                                             
            ZEDSMSG =  'DONE. PF3 EXIT'                                 
            ZEDLMSG =  'MEMBERS HAVE BEEN PROCESSED. PF3 TO EXIT.'     
            "SETMSG MSG(ISRZ000)"                                       
     END /* IF RC = 0 */                                               
                                                                       
   END /* DO UNTIL */                                                   


Thank you
Back to top
View user's profile Send private message
Akatsukami

Global Moderator


Joined: 03 Oct 2009
Posts: 1788
Location: Bloomington, IL

PostPosted: Wed Jul 04, 2012 6:37 pm
Reply with quote

I believe that the ZSCRMAXD (screen depth -- i.e., number of lines) and ZSCRMAXW (screen width in characters) variables are what you're looking for.
Back to top
View user's profile Send private message
dbzTHEdinosauer

Global Moderator


Joined: 20 Oct 2006
Posts: 6966
Location: porcelain throne

PostPosted: Wed Jul 04, 2012 7:15 pm
Reply with quote

bookmark/favorite these two urls:

ispf variables

system variables
Back to top
View user's profile Send private message
Marso

REXX Moderator


Joined: 13 Mar 2006
Posts: 1353
Location: Israel

PostPosted: Wed Jul 04, 2012 7:23 pm
Reply with quote

Check also the "Scrollable Areas" in this excellent document: ISPF Panels Beyond the Basics

ISPF Panels Beyond the Basics wrote:
Why use scrollable areas?
Applications with large panels can run on small screens
Back to top
View user's profile Send private message
James Emerson

New User


Joined: 26 Mar 2009
Posts: 5
Location: Brisbane

PostPosted: Thu Jul 05, 2012 2:36 pm
Reply with quote

Greetings,

Thank you very much peoples. It worked and I can now proceed with this little panel I am writing.

Also, very nice links, thank you.

For the next person that comes along, you can copy and paste this code to test it. =)

Code:
ADDRESS ISPEXEC       
                     
"VGET (ZSCRMAXD)"     
"VGET (ZSCRMAXW)"     
SAY 'ZSCRMAXD' ZSCRMAXD
SAY 'ZSCRMAXW' ZSCRMAXW

EXIT 




Thank you
Back to top
View user's profile Send private message
Stefan

Active User


Joined: 12 Jan 2006
Posts: 110
Location: Germany

PostPosted: Fri Jul 06, 2012 1:24 pm
Reply with quote

Marso wrote:
Check also the "Scrollable Areas" in this excellent document: ISPF Panels Beyond the Basics


Please use instead my new web page.
I stopped maintaining the site mentioned by Marso a long time ago. My contract with the provider has finished. So the site might become unavailable.
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 Compile Several JCL JOB Through one r... CLIST & REXX 4
No new posts Running REXX through JOB CLIST & REXX 13
No new posts Error to read log with rexx CLIST & REXX 11
No new posts isfline didnt work in rexx at z/OS ve... CLIST & REXX 7
No new posts run rexx code with jcl CLIST & REXX 15
Search our Forums:

Back to Top