Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Scrolling when building a table via REXX

19 views
Skip to first unread message

Gilbert Cardenas

unread,
Nov 14, 2008, 11:59:14 AM11/14/08
to
I have created a rexx that produces an output dataset and I am
placing the user in a browse mode of that dataset at the end of the
script. I am not happy with the presentation of the output because there
are no logical breaks. For example, this is what the user might see when
placed in a browse mode:

**************************************
* START OF NEW SCHEDULING DEFINITION *
**************************************
TABLE: GMASTERL
JOB NAME: CNAR654D
------------------
12 2008 SUN MON TUE WED THU FRI SAT
01 02 03 04 05 06
* *
07 08 09 10 11 12 13
* *
14 15 16 17 18 19 20
* *
21 22 23 24 25 26 27
* *
28 29 30 31
* *

**************************************
* START OF NEW SCHEDULING DEFINITION *

What I would like to do is that everytime the routine runs across
a new scheduling definition, place that at the top of a new screen. I
thought I could do that by building a table and presenting the data in
table format to the user.
However, I still don't know how I would cause the data to skip to
the top of the screen whenever a new definition appears. Do I buffer the
screen with blank lines? Do I manipulate the scroll amount? I just don't
know if this is doable or what the choices are.
Hopefully someone can give me some alternatives.


Thanks,
Gil.

This e-mail (and any attachments) may contain information that is
confidential and/or protected by law. Any review, use, distribution or
disclosure to anyone other than the
intended recipient(s) is strictly prohibited. If you are not the intended
recipient, please contact the sender by reply email and delete all copies
of this message.

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to LIST...@VM.MARIST.EDU with the message: INFO TSO-REXX

Dave Salt

unread,
Nov 14, 2008, 1:30:54 PM11/14/08
to
I don't understand what you're asking. If you are producing a data set, you can produce it in any format you want. You can put breaks (blank lines?) wherever you want them. You can put columns wherever you want them. You can put data at the top, in the middle, wherever you want it. In other words, you have complete control over how the data appears.

If instead of displaying a data set you display a table, you have less control over the appearance. Each row of the table must be similar in appearance (meaning there are no headers in the table, columns must all line up under each other, and so on). However, you still have full control over whethere data appears at the top or bottom of the table.

The only other thing I can think that you might be asking is that you want to autorefresh the data? For example, every few seconds the data on the screen might be refreshed without the user having to press any keys? If that's the case I'd strongly recommend against it. But before going any further, could you provide more details as to what you're trying to accomplish?

Dave Salt

SimpList(tm) - try it; you'll get it!
http://www.mackinney.com/products/SIM/simplist.htm

> Date: Fri, 14 Nov 2008 10:57:57 -0600
> From: Gilbert...@GROCERYBIZ.COM
> Subject: Scrolling when building a table via REXX
> To: TSO-...@VM.MARIST.EDU

_________________________________________________________________

Ulrich Krueger

unread,
Nov 14, 2008, 2:10:01 PM11/14/08
to
How about defining an ISPF - screen that displays your calendar in
appropriate fields taken from your ISPF - table. Scrolling forward by PF-key
brings up the "next page" (next month / next job / etc., whatever your break
criteria are, i.e., the next row in your table).


Regards,
Ulrich Krueger

Gilbert Cardenas

unread,
Nov 14, 2008, 2:13:56 PM11/14/08
to
Hi Dave, I'll try to clarify what I'm asking.

When a user is browsing the output file, the number of lines may
vary per "scheduling definition details." A scheduling definition may
have 8 lines or it may be 30 lines etc.
What I would like to do is to try to normalize the data being
viewed so that the "START OF NEW SCHEDULING DEFINITION" always appears at
the top of the screen when a user is paging through the dataset.
I guess a lot of this would depend on whether the user has a split
screen and what the split values are. I just wondered if there was a way
to do this using a table that could control some of these factors.
I hope this make more sense.

Gil.


Dave Salt <ds...@HOTMAIL.COM>
Sent by: TSO REXX Discussion List <TSO-...@VM.MARIST.EDU>
11/14/2008 12:30 PM
Please respond to
TSO REXX Discussion List <TSO-...@VM.MARIST.EDU>


To
TSO-...@VM.MARIST.EDU
cc

Subject
Re: [TSO-REXX] Scrolling when building a table via REXX

Gilbert Cardenas

unread,
Nov 14, 2008, 2:31:57 PM11/14/08
to
Yes, that is what I am wanting to do. It would be kind of like a
carriage control but for ISPF. Whereas the box that contains the value of

START OF NEW SCHEDULING DEFINITION would be top of form and then the user
would PF8 through the dataset and all the detail would follow until
another header line was encountered and then a PF8 would present that new
scheduling definition at the top of the screen.
I hope this makes sense. Do you have any examples I could look
at?


Ulrich Krueger <u...@PACBELL.NET>


Sent by: TSO REXX Discussion List <TSO-...@VM.MARIST.EDU>

11/14/2008 01:10 PM


Please respond to
TSO REXX Discussion List <TSO-...@VM.MARIST.EDU>


To
TSO-...@VM.MARIST.EDU
cc

Subject
Re: [TSO-REXX] Scrolling when building a table via REXX

Dave Salt

unread,
Nov 14, 2008, 2:52:32 PM11/14/08
to
Ah, now I understand! In that case, you can do what you want by displaying the data in a dynamic area. The very first time you display the panel, the header would be at the top (just as you want), so you wouldn't need to worry about how the display is formatted. Then, when a user scrolls down, the PROC section of the panel would execute and would use the LVLINE function to determine the Last Visible LINE (i.e. the number of lines that are being displayed). This variable would be passed to your program, which could then determine the number of lines that need to be scrolled to bring the next 'section' into view.

If this seems too complicated, another option would be to display the data on a regular browse panel, and set a function key to "FIND section-header". That way, the user could press the function key to keep finding the next section header.

Hope that helps,

Dave Salt

SimpList(tm) - try it; you'll get it!
http://www.mackinney.com/products/SIM/simplist.htm

> Date: Fri, 14 Nov 2008 13:12:42 -0600
> From: Gilbert...@GROCERYBIZ.COM
> Subject: Re: Scrolling when building a table via REXX
> To: TSO-...@VM.MARIST.EDU
>

> Hi Dave, I'll try to clarify what I'm asking.
>
> When a user is browsing the output file, the number of lines may
> vary per "scheduling definition details." A scheduling definition may
> have 8 lines or it may be 30 lines etc.
> What I would like to do is to try to normalize the data being
> viewed so that the "START OF NEW SCHEDULING DEFINITION" always appears at
> the top of the screen when a user is paging through the dataset.
> I guess a lot of this would depend on whether the user has a split
> screen and what the split values are. I just wondered if there was a way
> to do this using a table that could control some of these factors.
> I hope this make more sense.
>
> Gil.
>
>
>
>
> Dave Salt

> Sent by: TSO REXX Discussion List

> 11/14/2008 12:30 PM
> Please respond to
> TSO REXX Discussion List
>
>

Lindy Mayfield

unread,
Nov 14, 2008, 3:16:27 PM11/14/08
to
Gil,

Have you already seen something like this before in some other application? I'm trying to see what you see but I haven't yet managed it.

Wait. Maybe I spoke too soon. This just hit me. IOF does this when you select all DD names together and scroll through them: The next DD sysout always starts at the very top of the screen as you PF8 or PF7 through it. Maybe that is what you want?

Regards,
Lindy

-----Original Message-----
From: TSO REXX Discussion List [mailto:TSO-...@VM.MARIST.EDU] On Behalf Of Gilbert Cardenas

Sent: 14. marraskuuta 2008 21:13
To: TSO-...@VM.MARIST.EDU
Subject: Re: [TSO-REXX] Scrolling when building a table via REXX

Hi Dave, I'll try to clarify what I'm asking.

When a user is browsing the output file, the number of lines may
vary per "scheduling definition details." A scheduling definition may
have 8 lines or it may be 30 lines etc.
What I would like to do is to try to normalize the data being
viewed so that the "START OF NEW SCHEDULING DEFINITION" always appears at
the top of the screen when a user is paging through the dataset.
I guess a lot of this would depend on whether the user has a split
screen and what the split values are. I just wondered if there was a way
to do this using a table that could control some of these factors.
I hope this make more sense.

Gil.

----------------------------------------------------------------------

Gilbert Cardenas

unread,
Nov 14, 2008, 4:10:58 PM11/14/08
to
Actually, I've never seen this done. The only other person that
works on rexx here didn't have a clue what I was talking about. We don't
use IOF, or perhaps were are just not licensed for it.
The program I am calling to generate the records starts out by
creating a sysout dataset under one ddname but I reformat it for online
viewing by adding additional lines and removing blank lines and headings
etc. So there aren't multiple ddnames but only one. As far as I'm aware,
using IOF is not an option here either because we do not have it installed
or it is not licensed.

Thanks,
Gil.


Lindy Mayfield <lindy.m...@SSF.SAS.COM>
Sent by: TSO REXX Discussion List <TSO-...@VM.MARIST.EDU>
11/14/2008 02:16 PM
Please respond to
TSO REXX Discussion List <TSO-...@VM.MARIST.EDU>


To
TSO-...@VM.MARIST.EDU
cc


Gil,

Regards,
Lindy

Gil.

This e-mail (and any attachments) may contain information that is


confidential and/or protected by law. Any review, use, distribution or
disclosure to anyone other than the
intended recipient(s) is strictly prohibited. If you are not the intended
recipient, please contact the sender by reply email and delete all copies
of this message.

----------------------------------------------------------------------

Gilbert Cardenas

unread,
Nov 14, 2008, 4:16:26 PM11/14/08
to
Thanks Dave, I will look at both options but the LVLINE method
sounds like what I'm looking for. I'll start reviewing that method.

Dave Salt <ds...@HOTMAIL.COM>
Sent by: TSO REXX Discussion List <TSO-...@VM.MARIST.EDU>
11/14/2008 01:52 PM
Please respond to
TSO REXX Discussion List <TSO-...@VM.MARIST.EDU>

Lindy Mayfield

unread,
Nov 14, 2008, 4:22:59 PM11/14/08
to
What I was pondering was if there is a real life application that does what you are looking for.

IOF is another vendor product that replaces SDSF. In SDSF if you S(elect) the entire job you see all the sysout from each DD as you scroll down.

In IOF you can also select (Browse) all of the sysout DD's together. But in IOF I think it does just what you want it to.

If I PF8 to scroll down, the data from the next sysout *always* appears at the top of the screen. Works the same with PF7 to scroll up.

The way it appears to the viewer is like this (pretending a screen is 5 lines deep):

<screen 1>
data1
data2
data3
data4
data5
<screen 2>
data1
blank2
blank3
blank4
blank5
<screen 3>
data1
data2
data3

and so on.

So screen 2 appears to have one line on it and the rest are blank lines so that when I hit PF8 again I am at the top of the next section of data.

Of course, even if this is what you want, it doesn't answer how to do it. Anyway it might be good to know that what you want to do is not anything so strange. (-:

At the moment I cannot either think of any tricks to get ISPF panels or tables to do this, other than what Dave suggested which is to use dynamic areas. That really does give you the best control.

Lindy


-----Original Message-----
From: TSO REXX Discussion List [mailto:TSO-...@VM.MARIST.EDU] On Behalf Of Gilbert Cardenas
Sent: 14. marraskuuta 2008 23:11
To: TSO-...@VM.MARIST.EDU
Subject: Re: [TSO-REXX] Scrolling when building a table via REXX

Actually, I've never seen this done. The only other person that
works on rexx here didn't have a clue what I was talking about. We don't
use IOF, or perhaps were are just not licensed for it.
The program I am calling to generate the records starts out by
creating a sysout dataset under one ddname but I reformat it for online
viewing by adding additional lines and removing blank lines and headings
etc. So there aren't multiple ddnames but only one. As far as I'm aware,
using IOF is not an option here either because we do not have it installed
or it is not licensed.

Thanks,
Gil.

----------------------------------------------------------------------

Gilbert Cardenas

unread,
Nov 14, 2008, 5:28:58 PM11/14/08
to
Thanks Lindy, I'm looking through the ISPF Dialog Developer’s
Guide right now and I've scoured the internet for examples and I found a
few so I think I have enough to get going but I think I'll wait till next
week to tackle this since it is getting too close to beer 30.

Lindy Mayfield <lindy.m...@SSF.SAS.COM>

Sent by: TSO REXX Discussion List <TSO-...@VM.MARIST.EDU>

11/14/2008 03:23 PM


Please respond to
TSO REXX Discussion List <TSO-...@VM.MARIST.EDU>


To
TSO-...@VM.MARIST.EDU
cc

Subject

and so on.

Lindy

Thanks,
Gil.

This e-mail (and any attachments) may contain information that is

Jeff Byrum

unread,
Nov 18, 2008, 7:25:57 AM11/18/08
to
Gil:

If I understand what you are looking for, I think it would be something
like the way SDSF works when you select a job from the Output queue with
the "S" line command. The initial display obviously starts at the top
of the job. You can then use the NEXT (N) and PREV (P) commands to
"scroll" from one file to the next or previous, and the display moves
directly to the top of each file.

I think your biggest issue will be to allow up/down scrolling *within*
each "file" (in your application, a file is a section of your dataset),
since users can do all sorts of things to change the size of the display
area (physical or emulator screen size, FKA, SPLIT, etc.) If you use
the SDSF approach, you don't need to worry about how big the display
area actually is -- just provide UP/DOWN in addition to NEXT/PREV, and
leave it up to the user, if they need to UP/DOWN within a section.

As to the mechanics, I would think that since (IIRC) you have control
over the format of the dataset being displayed, just format it in such a
way that will allow you to invent some technique to support NEXT/PREV.
For example, if each section has exactly the same number of lines, it
should be fairly straightforward (NEXT just means skip forward "x"
lines, where x is the next highest multiple of the number of lines in
section minus the current top line).

Of course the NEXT/PREV and UP/DOWN commands can be represented by PF
keys, but that probably ought to be up to the user.

Using something like this, an ISPF table might actually work just fine.
The rows in the table would be just the lines in the dataset. UP/DOWN
would then be built-in through the TB functions, and PREV/NEXT would
just be a matter of a little arithmetic and then a TBSKIP (just in case
a user used UP/DOWN past a section boundary and got the display out of
synch).

Good luck!

Jeff

Gilbert Cardenas

unread,
Nov 18, 2008, 8:37:36 AM11/18/08
to
Hello Jeff, although I follow your line of thinking, I think I
probably bit off more than I can chew on this one. I can usually look at
some examples and be able to dissect what the code is doing but in this
particular case, I think I'm SOL.
I started out using a table thinking that I could control the
paging but didn't have much luck. I have been experimenting with the
standard ISPF browse by creating a temporary panel to display the dynamic
area but it is still a work in progress cause I haven't found how to
incorporate the LVLINE function yet. Apparently the rexx has to control
the displaying/paging of the dynamic area and I'm still trying to figure
how to tie the rexx and the display of the panel together.

I appreciate the feedback though,
Gil.


Jeff Byrum <Jeff....@ASG.COM>


Sent by: TSO REXX Discussion List <TSO-...@VM.MARIST.EDU>

11/18/2008 06:25 AM

Jeff Byrum

unread,
Nov 18, 2008, 8:56:50 AM11/18/08
to
Okay, here's another thought: make the dataset a PDS, and make each
"section" a member using a naming convention that would work best with
your code. Then just code a loop where you check for commands NEXT or
PREV and then use ISPF Service VIEW or BROWSE to display the "next" or
"previous" member.

You might want to include an "init" routine that reads the directory of
the PDS and stores it as a compound variable so it's easy to determine
the next or previous member.

Dave Salt

unread,
Nov 18, 2008, 12:07:19 PM11/18/08
to
Using the KISS principle, why not simply give the user a function key they can press to 'FIND next-section-header'?


Dave Salt

SimpList(tm) - try it; you'll get it!
http://www.mackinney.com/products/SIM/simplist.htm


> Date: Tue, 18 Nov 2008 08:55:32 -0500
> From: Jeff....@ASG.COM


> Subject: Re: Scrolling when building a table via REXX

> To: TSO-...@VM.MARIST.EDU

> Sent by: TSO REXX Discussion List

> 11/18/2008 06:25 AM
> Please respond to
> TSO REXX Discussion List
>
>

> Sent by: TSO REXX Discussion List

> 11/14/2008 03:23 PM
> Please respond to
> TSO REXX Discussion List
>
>

> To
> TSO-...@VM.MARIST.EDU
> cc
>
> Subject
> Re: [TSO-REXX] Scrolling when building a table via REXX
>
>
>
>
>
>
> What I was pondering was if there is a real life application that does
> what you are looking for.
>
> IOF is another vendor product that replaces SDSF. In SDSF if you
> S(elect)
> the entire job you see all the sysout from each DD as you scroll down.
>
> In IOF you can also select (Browse) all of the sysout DD's together.
> But
> in IOF I think it does just what you want it to.
>
> If I PF8 to scroll down, the data from the next sysout *always* appears
> at
> the top of the screen. Works the same with PF7 to scroll up.
>
> The way it appears to the viewer is like this (pretending a screen is 5
> lines deep):
>
>

> data1
> data2
> data3
> data4
> data5
>

> data1
> blank2
> blank3
> blank4
> blank5
>

_________________________________________________________________

Gilbert Cardenas

unread,
Nov 18, 2008, 12:33:47 PM11/18/08
to
I agree Dave but I mostly saw this as an opportunity to learn
something new. I had a little bit of a lull in my work schedule so I
thought I would give it a shot plus it would just be another option I
could use in other applications as well.
I still have a little more time before my next project so I
haven't given up yet and I'm still reviewing all the suggestions.

Thanks,
Gil.


Dave Salt <ds...@HOTMAIL.COM>
Sent by: TSO REXX Discussion List <TSO-...@VM.MARIST.EDU>
11/18/2008 11:07 AM
Please respond to
TSO REXX Discussion List <TSO-...@VM.MARIST.EDU>

0 new messages