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

scrolling horizontally


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

Active Member


Joined: 06 Jul 2010
Posts: 765
Location: Whitby, ON, Canada

PostPosted: Thu Sep 08, 2022 9:13 pm
Reply with quote

A little OT, but still on the subject of screen geometry, I grew tired of trying to design my panels to fit on a 24 line screen so I always code them as a (vertical) scrollable area, even when not really needed. ISPF makes this trivial to do using the )AREA statement.

This has freed me to create deeper panels without losing any functionality for the stick-in-the-mud traditionalists who insist on using an obsolete screen size. Let them scroll.
Back to top
View user's profile Send private message
Willy Jensen

Active Member


Joined: 01 Sep 2015
Posts: 734
Location: Denmark

PostPosted: Thu Sep 08, 2022 10:04 pm
Reply with quote

Yup, I do that too.
Back to top
View user's profile Send private message
don.leahy

Active Member


Joined: 06 Jul 2010
Posts: 765
Location: Whitby, ON, Canada

PostPosted: Fri Sep 09, 2022 1:41 am
Reply with quote

The worst were the 24x80 diehards who also had PFSHOW turned on.
Back to top
View user's profile Send private message
Lynne

Active User


Joined: 15 Jan 2015
Posts: 107
Location: USA

PostPosted: Fri Sep 09, 2022 5:01 am
Reply with quote

I tried some model variable lines based on the above posts - but I kept getting errors. probably adapting it incorrectly.

so, i decided to start really simple. just 1 variable, and see if I could anything displayed at all.

so, I'm uploading some snaps. snap 1 is what I originally did with creating a display with multiple rows - but I set the panel width to ZSCRMAXW. You can see in snap 2 that it shows a wider screen, but with col 81 on blank because I only define cols 1-80.


snaps 3 and 4 is where I define 1 variable - &big - in the initialization section. I put that one variable in the model line. No scrolling - I just wanted to see if I could get the variable model line to display at all.

and I get the error in screen 4.
Back to top
View user's profile Send private message
Pedro

Global Moderator


Joined: 01 Sep 2006
Posts: 2594
Location: Silicon Valley

PostPosted: Fri Sep 09, 2022 6:51 am
Reply with quote

You are violating rule #5.
Quote:
5. All model line variables must be initialized before the table display service is called with a nonblank panel name. Changes to the variables that occur within the panel or the dialog function are not honored until table display is called again with a nonblank panel name.


You are calling TBDISPL service which then tries to set it in the )INIT section, but it is already too late, per the rule.

See the explanation for message ISPP316:
www.ibm.com/docs/en/zos/2.4.0?topic=isp-ispp316

(google for "ISPP316 site:ibm.com")
Back to top
View user's profile Send private message
Pedro

Global Moderator


Joined: 01 Sep 2006
Posts: 2594
Location: Silicon Valley

PostPosted: Fri Sep 09, 2022 7:03 am
Reply with quote

fyi. in s3.png, you have defined EXPAND(//) but later use \\ characters instead. Also, the number of 'z's specified is different that the number of zvars named.
Back to top
View user's profile Send private message
Lynne

Active User


Joined: 15 Jan 2015
Posts: 107
Location: USA

PostPosted: Fri Sep 09, 2022 7:03 am
Reply with quote

I read the IBM 1 sentence explanation. and I didn't understand it.

do they mean I need to initialize the variable in the rexx exec before I display the panel? not in the Init section?

"Dear IBM - it would have been so much simpler to designate a continuation char to continue a model line to describe the rest of a display line on the next physical record line"

If I have 132 chars, I won't need to scroll right. which I don't even want to think about anymore. i just want to be able to display the 132 chars / row
Back to top
View user's profile Send private message
Pedro

Global Moderator


Joined: 01 Sep 2006
Posts: 2594
Location: Silicon Valley

PostPosted: Fri Sep 09, 2022 8:35 am
Reply with quote

Quote:
do they mean I need to initialize the variable in the rexx exec before I display the panel?

Yes.
Back to top
View user's profile Send private message
Lynne

Active User


Joined: 15 Jan 2015
Posts: 107
Location: USA

PostPosted: Fri Sep 09, 2022 9:21 am
Reply with quote

ok. I thought that was what the )INIT did - set up values before the initial display of the panel, but I guess the variable model lne must need something more.

I will go ahead and try that.
Back to top
View user's profile Send private message
Pedro

Global Moderator


Joined: 01 Sep 2006
Posts: 2594
Location: Silicon Valley

PostPosted: Fri Sep 09, 2022 10:27 am
Reply with quote

Quote:
I read the IBM 1 sentence explanation. and I didn't understand it


I agree that the explanation is very spartan. While the explanation is not very verbose, it is correct. But the Programmer Response section is wrong. I sent feedback email to IBM:

Quote:

to: ibmdocs@us.ibm.com
subject: ISPF Messages and Codes, SC19-3622, message ISPP316

The Programmer Response section is incorrect! This message refers to the model line variable and not to the model line itself. You have to set the value of the variable outside of the panel, prior to displaying the panel.

My suggestion:

"ISPP316 Model line not defined - The variable model line has not been initialized before the display.

Explanation
All model line variables must be initialized before the table display service, TBDISPL, is called with a nonblank panel name.

Programmer Response
Assign a value to the model line variable in a program or in a different panel. Execute this assignment prior to calling the TBDISPL service.

Assigning a value in the )INIT section of the panel that is the target of TBDISPL is not sufficient."



The programmer response is currently incorrect:
Quote:
Define a model line in the panel.
Back to top
View user's profile Send private message
Lynne

Active User


Joined: 15 Jan 2015
Posts: 107
Location: USA

PostPosted: Wed Sep 14, 2022 4:16 am
Reply with quote

Pedro, I hope they take your suggestion. Your message is much clearer and specific.

I did change the function to create the model line variable in the Rexx and that worked great. I was able to create a much nicer display with the 132 chars.

but I was thinking about this, and to use a 132 record length panel library to begin with is much more straightforward. You can create the model line in the Panel because there the rec length of the panel is the same as the displayed record length.

I thought I would ask the people in charge of the "finished" version of panels if they would consider adding a 132 rec length panel library. Leave the existing panels as is, but add a wider panel pds to ISPPLIB.

so, i set it up.. but when I LIBDEF with STACK specifying DATASETS with 2 panel PDSs of different record lengths - ISPF does NOT like it. Keeps telling me I can't do that. ok. maybe I will try doing LIBDEF with the library option.

but has anyone else set this up? an application with panel libraries with 2 different record lengths? How did you attach your libraries before selecting your application?
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 Goto page Previous  1, 2

 


Similar Topics
Topic Forum Replies
No new posts Trouble Scrolling TBDISPL in my Panel TSO/ISPF 6
No new posts Regarding SCROLLING LOGIC IN CICS CICS 3
No new posts Merge 2 files horizontally based on key DFSORT/ICETOOL 3
No new posts Scrolling logic in CICS CICS 8
No new posts Sort required to format file Horizont... DFSORT/ICETOOL 9
Search our Forums:

Back to Top