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

How to know the resolution of in any mainframe session?


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

New User


Joined: 20 Jan 2007
Posts: 29
Location: KOLKATA

PostPosted: Tue Jun 17, 2008 8:31 am
Reply with quote

Hi all,

I am working on a tool and that tool is dependent on the resolution of mainframe screen/session. So is there any command or panel using which I can get this information?

FYIP....

I am working on a VBScript Macro, and to make this macro independent of the sessions that users would be using, I need this information so that I can code my Macro in the manner that it doesn't depend on the resolution like 24*80 or 27*132 or 43*80 that user might use.
Back to top
View user's profile Send private message
UmeySan

Active Member


Joined: 22 Aug 2006
Posts: 771
Location: Germany

PostPosted: Tue Jun 17, 2008 5:06 pm
Reply with quote

Hi Kumar Ashok !

Plse have a look at TSO 0.1.

Is that what you want ???
Back to top
View user's profile Send private message
Aaru

Senior Member


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

PostPosted: Tue Jun 17, 2008 6:49 pm
Reply with quote

Umey,

Quote:
Plse have a look at TSO 0.1.


Could you pls explain a bit more about this command?
Back to top
View user's profile Send private message
Kumar Ashok

New User


Joined: 20 Jan 2007
Posts: 29
Location: KOLKATA

PostPosted: Tue Jun 17, 2008 6:50 pm
Reply with quote

Thanks a lot for your input this is exactly the same that I was looking for. But this is true for the other systems. But unfortunately our system/sessions are configured such that we are not going to the terminal option by 0.1, but somewhere else, so is there any command to view it?

Regards
Back to top
View user's profile Send private message
Kumar Ashok

New User


Joined: 20 Jan 2007
Posts: 29
Location: KOLKATA

PostPosted: Tue Jun 17, 2008 6:54 pm
Reply with quote

Actually this command takes you to the panel that provides you the features of any session terminal, e.g. Resolution etc. It also provides you with the option to change the session characteristics of the terminal.

Please correct me if I am wrong.

Regards,
Back to top
View user's profile Send private message
Pedro

Global Moderator


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

PostPosted: Tue Jun 17, 2008 9:27 pm
Reply with quote

It is not clear what you mean by resolution. The emulator can be resized by the user to many different sizes.

But ISPF still only uses the dimensions of the hardware that is being emulated. Typically, the dimensions are 24 x 80. No matter how the user resizes, the screen dimension seen by ISPF does not change. That is, ISPF is not aware of screen size changes made by the user.

If you want the dimensions of the screen and are in ISPF, use variables ZSCREEND and ZSCREENW.

Become familiar with Appendix D and E of the ISPF Dialog Developer's Guide and Reference. They are your friends.
Back to top
View user's profile Send private message
stodolas

Active Member


Joined: 13 Jun 2007
Posts: 632
Location: Wisconsin

PostPosted: Tue Jun 17, 2008 11:59 pm
Reply with quote

But ISPF can be set with the following:
Code:

Terminal Characteristics                                         
  Screen format   3  1. Data    2. Std     3. Max     4. Part   


Mine is set to Max and my emulator is set to 27x132. Depending on the application being run within ISPF I get different resolutions.
Back to top
View user's profile Send private message
enrico-sorichetti

Superior Member


Joined: 14 Mar 2007
Posts: 10872
Location: italy

PostPosted: Wed Jun 18, 2008 12:14 am
Reply with quote

what You are asking is impossible to obtain...

at any time in a 3270 session ( rough approximation but enough for the explanation )
there are always two modes available,
the basic mode 24x80
the alternate mode 32x80,127x133,43x80

what is being displayed depends from the command being used to display the buffer
write for the basic mode
write alternate for the alternate mode,

and also depends on the ISPF settings for the screen format

Code:
Terminal Characteristics
Screen format   2  1. Data    2. Std     3. Max     4. Part

Code:
Help for Screen Format
More:     +
Enter one of the following values depending on the type of
terminal you are using or the type of terminal your
emulator is emulating:

Choose one of the following formats:

1.  DATA - Format based on data width (only on a 3278
model 5 terminal)
2.  STD  - Always format 24 lines by 80 characters
3.  MAX  - Always format 27 lines by 132 characters
4.  PART - Format using hardware partitions (only on a
3290 terminal)



for example for a model 5 terminal 27x133 You can see what' s going on
by editing a dataset with lrecl 80
or browsing a sdsf output

and You will see that the sceen will swith from 24x80 to 27x133

so there is nothing apart looking at the screen which will tell You what is going on

also even if it could be possible to query the 3270 session definition
You would get only the alternate screen size
not the aspect ratio of what is being displayed on the screen
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 Jun 18, 2008 12:30 am
Reply with quote

Hello Kumar Ashok,

What functionality will your process provide?

If we knew what you want to accomplish (rather than part of the how), we might be able to offer suggestions.
Back to top
View user's profile Send private message
Pedro

Global Moderator


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

PostPosted: Wed Jun 18, 2008 1:16 am
Reply with quote

Code:
/* rexx */               
Address ISPEXEC           
"VGET (ZSCREENW,ZSCREEND)"
Say    ZSCREENW ZSCREEND 


If ISPF option 0 is set to screen format of 'std', it returns 80 x 24.

For screen format of 'max', it returns 132 x 27.

But I believe the screen format setting is global for all of the TSO session. One application will not see a different dimension than another. When the user changes the setting, all applications will see the change.

If you want to code your application to use the whole screen, use the variables above.
Back to top
View user's profile Send private message
Kumar Ashok

New User


Joined: 20 Jan 2007
Posts: 29
Location: KOLKATA

PostPosted: Wed Jun 18, 2008 8:10 am
Reply with quote

Thank you all for the suggestions and comments. That was really helpful in understanding many things, but the problem is still there.

I will simplify the problem

PROBLEM - In any mainframe session how to decide whether the user is logged on in 24*80 resolution or 32*80 or 27*132 or 43*80 either by issuing any command or though the values that appear in user panels.

I hope I am clear this time.

@Scherrer - It would have been of great help if I could tell you what exactly I am doing but my company policies don't allow me to do that. I am extremely sorry for the little information that I provided icon_sad.gif

Regards
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 Jun 18, 2008 8:18 am
Reply with quote

Hello,

Code:
/* rexx */               
Address ISPEXEC           
"VGET (ZSCREENW,ZSCREEND)"
Say    ZSCREENW ZSCREEND 
Have you tried this? Does this do what you need? If not . . ?

Quote:
my company policies don't allow me to do that.
We understand that you shouldn't post company secrets, but the kind of code you are working is generic (at least at this point).

If you could describe some unrelated, but similar process, we might still be able to help. For example if you are working on something for an insurance company, maybe make a similar example of a bank .

Good luck icon_smile.gif
Back to top
View user's profile Send private message
Kumar Ashok

New User


Joined: 20 Jan 2007
Posts: 29
Location: KOLKATA

PostPosted: Wed Jun 18, 2008 8:30 am
Reply with quote

Thanks Scherrer,

Actually i will keep that as the last option to use the REXX panel and then getting the values. As this might add some additional complexities in my tool. But yes, I admit that I was not aware of this way as I am not much into REXX. Thanks again for the inputs

Regarding the tool that I am developing here is the piece of information that I guess will not harm me icon_wink.gif

Actually this piece of information I need as I am going to automate the DUMPING of spool output in permanent dataset with the use of VBscript MACRO. and I need to know the screen resolution so that before doing a SCROLL how much jobs I have to DUMP.
e.g. in 24*80 in total there are almost 19 jobs present and in 27*132 there are 22. So I want to make this tool generic for all of the sessions. So if through any command or something if I am able to give my MACRO information about the resolution then I can use variables instead of hard coded values to make my toll session independent.

I hope this information will help you to understand what is the root cause of the question.

Regards
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 Jun 18, 2008 8:37 am
Reply with quote

Hello,

Quote:
I am going to automate the DUMPING of spool output in permanent dataset
Where will the permanent dataset reside?

If the "dump"ed data will remain on the mainframe, there are multiple topics on different ways people have dumped data from spooled output to some disk file.

Just a thought. . . icon_wink.gif
Back to top
View user's profile Send private message
Kumar Ashok

New User


Joined: 20 Jan 2007
Posts: 29
Location: KOLKATA

PostPosted: Wed Jun 18, 2008 8:41 am
Reply with quote

Scherrer,

Could you please provide me link of any such topic that deals with the dumping of jobs in bulk let us say more than 100 jobs at a time.

Regards,
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 Jun 18, 2008 9:50 am
Reply with quote

Hello,

One resource you may find useful is this:
http://publib.boulder.ibm.com/cgi-bin/bookmgr/BOOKS/ISF1GR00/CCONTENTS?DT=19970129154852
which is the SDSF Guide and Reference.

Here are a couple of similar topics - there are more
http://ibmmainframes.com/viewtopic.php?t=30014
http://ibmmainframes.com/viewtopic.php?t=30262

This one talks about filtering the output to be visable:
http://ibmmainframes.com/viewtopic.php?t=30159
Back to top
View user's profile Send private message
enrico-sorichetti

Superior Member


Joined: 14 Mar 2007
Posts: 10872
Location: italy

PostPosted: Wed Jun 18, 2008 12:59 pm
Reply with quote

did You check
http://www.redbooks.ibm.com/abstracts/sg247419.html?Open

it has a very good sample on sysout archiving
Back to top
View user's profile Send private message
Kumar Ashok

New User


Joined: 20 Jan 2007
Posts: 29
Location: KOLKATA

PostPosted: Wed Jun 18, 2008 1:25 pm
Reply with quote

Thank you all for your valuble inputs. They were very useful. Looking forward for such helps in future.

After developement of my tool VIRTUAL treat for you all icon_lol.gif

Regards
Back to top
View user's profile Send private message
stodolas

Active Member


Joined: 13 Jun 2007
Posts: 632
Location: Wisconsin

PostPosted: Wed Jun 18, 2008 6:01 pm
Reply with quote

What if someone has their command bar at the top instead of the bottom? What if they have it at the bottom, but tab takes them through the menus also? What if they run this Macro while they are in a split screen view? What if they have the KEYLIST displayed?

Even if you know the resolution, you need to know all of these other things to determine their usable screen size for your macro and what affect any keystrokes you plan on sending have. A good design should be resolution independent.

You should write this in some mainframe side tool. The spool lives on the mainframe and you want the datasets to live on the mainframe after processing. SDSF and CA-View have mechanisms to put spool and job output to datasets. Why use something external to that system to do the processing and just to put the data back on that system.

It sounds like you are trying to replicate what CA-View and other products do and do pretty well. In my shop when you run in a certain job class, the job output is put to CA-View which holds the data in a file and has rules about how long to keep it before rolling it out.
Back to top
View user's profile Send private message
Kumar Ashok

New User


Joined: 20 Jan 2007
Posts: 29
Location: KOLKATA

PostPosted: Wed Jun 18, 2008 6:06 pm
Reply with quote

The problem is - We run almost 200-300 jobs per day and we have to retain that for future reference. So to retain them in permanent dataset is till now a manula process in our project which takes almost 1-1.5 hrs per day. Using this tool we will be able to complete this process in mere 5-6 mins.

So actually I am not replicating them but using the facility that thay are providing for my pupose.

Regards
Back to top
View user's profile Send private message
Pedro

Global Moderator


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

PostPosted: Wed Jun 18, 2008 9:20 pm
Reply with quote

Quote:
but the problem is still there.

The problem is in your understanding.

This example:
Code:
/* rexx */               
Address ISPEXEC           
"VGET (ZSCREENW,ZSCREEND)"
Say    ZSCREENW ZSCREEND

is a rexx implementation, but the key point is that ISPF provides variables to determine the screen size. You can use VGET from compiled languages to.

ps. I realize the task is not to determine screen size, but how to save job output.
Back to top
View user's profile Send private message
stodolas

Active Member


Joined: 13 Jun 2007
Posts: 632
Location: Wisconsin

PostPosted: Wed Jun 18, 2008 9:24 pm
Reply with quote

But he is writing this in VB, not REXX, so he can only use the scripting language of his emulator. He would have to run this REXX on the mainframe somehow then capture the output.
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 Jun 18, 2008 11:17 pm
Reply with quote

Hello,

Quote:
He would have to run this REXX on the mainframe somehow then capture the output.
Yes, and i believe this is the new direction being investigated.
Back to top
View user's profile Send private message
Pedro

Global Moderator


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

PostPosted: Thu Jun 19, 2008 12:41 am
Reply with quote

Sorry, I did not read all of the posts. </blush>

But I do not think you need to know the current size of the screen to determine how many jobs there are. The last part of the panel title has the number of jobs in the list.
Code:
   Display  Filter  View  Print  Options  Help                                 
 -------------------------------------------------------------------------------
 SDSF HELD OUTPUT DISPLAY ALL CLASSES LINES  100,879    LINE 1-11 (15)         
 COMMAND INPUT ===>                                            SCROLL ===> CSR 
 NP   JOBNAME  JOBID     CRDATE    C FORM FCB  DEST      RMT NODE   TOT-REC O-GR

In this example, there are 15 jobs.

Your emulator macro should be able to get a screen capture and examine the results.

---or--
If you still want to pursue your current design, just scroll by a fixed amount rather than the variable amount. That is, scroll by 10 instead of by page.
Back to top
View user's profile Send private message
Kumar Ashok

New User


Joined: 20 Jan 2007
Posts: 29
Location: KOLKATA

PostPosted: Thu Jun 19, 2008 8:52 am
Reply with quote

@Pedro - Its true that if we scroll by certain amount the there will be no need of knowing the screen size. But there are two limitations

1) My emulator doesn't provide the information in the way you shown rather its something like..

-------------------------------------------------------- IOF Job List Menu ---------------------------------------( 61 )-----------
COMMAND ===> SCROLL ===> CURSOR
----------------------------------------------------------- Output Jobs -----------------------------------------------------------
-------JOBNAME--JOBID---ACT-STAT-OWNER----DEST/DEVICE-------RECS-HELD-DAY--TIME-PAGES-HELD-ALLOC---RLSE CLASS-SECLABEL-------------


so there is no information on the jobs.

2) I am a mainframe guy with very limited knowledge of scripting language and to learn a complete language in limited time that too for a small tool is overkill I guess.

Yes I was able to capture the info running REXX EXEC so I will ne using that info for my further improvement in this tool

Thanks again thanks for your help


Regards,
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 Mainframe openings in Techmahnidra fo... Mainframe Jobs 0
No new posts Mainframe Programmer with CICS Skill... Mainframe Jobs 0
No new posts How to Reformat a file using File Man... All Other Mainframe Topics 14
No new posts NDM getting stuck - mainframe/JCL All Other Mainframe Topics 13
No new posts REXX to send an email in Mainframe wi... CLIST & REXX 3
Search our Forums:

Back to Top