View previous topic :: View next topic
|
Author |
Message |
Kumar Ashok
New User
Joined: 20 Jan 2007 Posts: 29 Location: KOLKATA
|
|
|
|
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 |
|
|
UmeySan
Active Member
Joined: 22 Aug 2006 Posts: 771 Location: Germany
|
|
|
|
Hi Kumar Ashok !
Plse have a look at TSO 0.1.
Is that what you want ??? |
|
Back to top |
|
|
Aaru
Senior Member
Joined: 03 Jul 2007 Posts: 1287 Location: Chennai, India
|
|
|
|
Umey,
Quote: |
Plse have a look at TSO 0.1.
|
Could you pls explain a bit more about this command? |
|
Back to top |
|
|
Kumar Ashok
New User
Joined: 20 Jan 2007 Posts: 29 Location: KOLKATA
|
|
|
|
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 |
|
|
Kumar Ashok
New User
Joined: 20 Jan 2007 Posts: 29 Location: KOLKATA
|
|
|
|
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 |
|
|
Pedro
Global Moderator
Joined: 01 Sep 2006 Posts: 2594 Location: Silicon Valley
|
|
|
|
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 |
|
|
stodolas
Active Member
Joined: 13 Jun 2007 Posts: 631 Location: Wisconsin
|
|
|
|
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 |
|
|
enrico-sorichetti
Superior Member
Joined: 14 Mar 2007 Posts: 10888 Location: italy
|
|
|
|
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 |
|
|
dick scherrer
Moderator Emeritus
Joined: 23 Nov 2006 Posts: 19243 Location: Inside the Matrix
|
|
|
|
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 |
|
|
Pedro
Global Moderator
Joined: 01 Sep 2006 Posts: 2594 Location: Silicon Valley
|
|
|
|
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 |
|
|
Kumar Ashok
New User
Joined: 20 Jan 2007 Posts: 29 Location: KOLKATA
|
|
|
|
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
Regards |
|
Back to top |
|
|
dick scherrer
Moderator Emeritus
Joined: 23 Nov 2006 Posts: 19243 Location: Inside the Matrix
|
|
|
|
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 |
|
Back to top |
|
|
Kumar Ashok
New User
Joined: 20 Jan 2007 Posts: 29 Location: KOLKATA
|
|
|
|
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
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 |
|
|
dick scherrer
Moderator Emeritus
Joined: 23 Nov 2006 Posts: 19243 Location: Inside the Matrix
|
|
|
|
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. . . |
|
Back to top |
|
|
Kumar Ashok
New User
Joined: 20 Jan 2007 Posts: 29 Location: KOLKATA
|
|
|
|
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 |
|
|
dick scherrer
Moderator Emeritus
Joined: 23 Nov 2006 Posts: 19243 Location: Inside the Matrix
|
|
Back to top |
|
|
enrico-sorichetti
Superior Member
Joined: 14 Mar 2007 Posts: 10888 Location: italy
|
|
Back to top |
|
|
Kumar Ashok
New User
Joined: 20 Jan 2007 Posts: 29 Location: KOLKATA
|
|
|
|
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
Regards |
|
Back to top |
|
|
stodolas
Active Member
Joined: 13 Jun 2007 Posts: 631 Location: Wisconsin
|
|
|
|
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 |
|
|
Kumar Ashok
New User
Joined: 20 Jan 2007 Posts: 29 Location: KOLKATA
|
|
|
|
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 |
|
|
Pedro
Global Moderator
Joined: 01 Sep 2006 Posts: 2594 Location: Silicon Valley
|
|
|
|
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 |
|
|
stodolas
Active Member
Joined: 13 Jun 2007 Posts: 631 Location: Wisconsin
|
|
|
|
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 |
|
|
dick scherrer
Moderator Emeritus
Joined: 23 Nov 2006 Posts: 19243 Location: Inside the Matrix
|
|
|
|
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 |
|
|
Pedro
Global Moderator
Joined: 01 Sep 2006 Posts: 2594 Location: Silicon Valley
|
|
|
|
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 |
|
|
Kumar Ashok
New User
Joined: 20 Jan 2007 Posts: 29 Location: KOLKATA
|
|
|
|
@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 |
|
|
|