Discussion:
REXX Trace in Session Manager
(too old to reply)
Michael Bradley
2007-08-20 12:39:08 UTC
Permalink
This note is cross-posted to IBM-MAIN & TSO-REXX

Does anyone find the TSO Session Manager of use when tracing execs executed
in ISPF? (Or anything else?)

I test almost all my code in TSOBATCH using trace, and I feel productive
doing this; I can scroll backwards and forwards. But I have an associate
who develops a lot of dialogs, and is always viewing the output in a
non-scrollable uni-directional manner. Session Manager has always appealed
to me as a solution for this kind of behavior, but I haven't seen it for
maybe 25 years. It used to be a chargeable product, but I don't know what
its status is today. I see mention of it in IBM pubs as considerations in
certain situations, or how to test for its availability, etc.

I'd be interested in learning of anyone using Session Manager in this way,
or any tips on viewing Trace output when the exec is inovked interactively.

Michael

---------------------------------
Moody friends. Drama queens. Your life? Nope! - their life, your story.
Play Sims Stories at Yahoo! Games.

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX
Bob Bridges
2007-08-26 17:43:11 UTC
Permalink
I don't pay much attention to the session manager at any site I'm on,
Michael -- mostly it's just another step to log on, since mostly on the
mainframe I live in TSO -- so I can't comment on that part of it. I have
seen IBM's session manager more recently than 25 years ago, but not (I
think) as recently as 3 years ago.

About following a trace interactively, though: I often do just what
associate does, turn on tracing and follow it in line mode. I have become
aware of the advantages of doing it in batch, though, and recently I
started doing the same thing in the foreground by using a routine many of
us have written.

My version is called DISP; others here use a different name, but they all
do essentially the same thing, ie use OUTTRAP to trap the output from a TSO
command and display it in a scrollable form. In my version instead of
saying, for example, TSO HELP XMIT, I say TSO DISP HELP XMIT, and voilà! I
get the Help file in a View session so I can do a FIND on the part of the
file I want but can't remember. I do the same thing for the ACF2 CLASMAP,
the RACF SETROPTS and pretty much anything else I take it into my head to
use it for. Recently it's becoming more clear to me that instead of
working my way through a long TRACE in line mode I can use it on my own
commands-in-development -- so instead of typing TSO X I just type TSO DISP
X and the trace comes out in View. That's assuming I know the TRACE is
going to come to an end, of course, but if in the middle of a long loop the
routine has been bombing with a complaint that a Boolean flag isn't 0 or 1
and I can't immediately see why not, I can use this to trace the problem,
jump to the bottom of the listing and work my way back up to get to the
source of the problem.

Not, it should be understood, that any of these problems are due to
mistakes of my own. No, someone must have changed the code while I wasn’t
looking.

I imagine you either have such a routine yourself already or can see how it
would be written, but just in case, here's the salient portion of my
version:

vx=sysvar('SYSWTERM') /* use the terminal width */
ddn=tempdd('DISP') /* get a temporary DD name */
'ALLOCATE DDN('ddn') NEW REUSE LRECL('vx')'
'EXECIO * DISKW 'ddn' (STEM OP. FINIS'
'ISPEXEC LMINIT DATAID(OP) DDNAME('ddn')'
'ISPEXEC VIEW DATAID('op')'
'FREE DDN('ddn')'

This displays the date in a temporary DS; that way I don't have to worry
about making up a DSN each time.

---
Bob Bridges, ***@attglobal.net, cell 336 382-7313
***@westfieldgrp.com, 330 791-6576

/* It is often stated that of all the theories proposed in this century,
the silliest is quantum theory. In fact, some say that the only thing that
quantum theory has going for it is that it is unquestionably correct.
-from "Hyperspace" by Michio Kaku */

-----Original Message-----
From: Michael Bradley
Sent: Monday, August 20, 2007 08:39

This note is cross-posted to IBM-MAIN & TSO-REXX

Does anyone find the TSO Session Manager of use when tracing execs executed
in ISPF? (Or anything else?)

I test almost all my code in TSOBATCH using trace, and I feel productive
doing this; I can scroll backwards and forwards. But I have an associate
who develops a lot of dialogs, and is always viewing the output in a
non-scrollable uni-directional manner. Session Manager has always appealed
to me as a solution for this kind of behavior, but I haven't seen it for
maybe 25 years. It used to be a chargeable product, but I don't know what
its status is today. I see mention of it in IBM pubs as considerations in
certain situations, or how to test for its availability, etc.

I'd be interested in learning of anyone using Session Manager in this way,
or any tips on viewing Trace output when the exec is inovked interactively.

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX
Paul Gilmartin
2007-08-26 22:22:06 UTC
Permalink
In a recent note, Bob Bridges said:

> Date: Sun, 26 Aug 2007 13:42:10 -0400
>
> My version is called DISP; others here use a different name, but they all
> do essentially the same thing, ie use OUTTRAP to trap the output from a TSO
> command and display it in a scrollable form. In my version instead of
> saying, for example, TSO HELP XMIT, I say TSO DISP HELP XMIT, and voilà! I
> get the Help file in a View session so I can do a FIND on the part of the
> file I want but can't remember.
>
I do a lot of the same sort of stuff with z/OS UNIX:

o Nowadays the tools are generally better.

o I don't need to do nearly so much RYO.

o I am somewhat freed from learning two sets of tools, one for UNIX and
another for TSO. So my equivalent that I often use is:

rexx "address TSO 'help XMIT'" | less

(Yes, "rexx" is RYO. It works likewise in TSO and UNIX. The entirety of
the RYO code is 35 characters:

/* REXX Useful! */ interpret arg(1)

.. )

> I imagine you either have such a routine yourself already or can see how it
> would be written, but just in case, here's the salient portion of my
> version:
>
> vx=sysvar('SYSWTERM') /* use the terminal width */
> ddn=tempdd('DISP') /* get a temporary DD name */
> 'ALLOCATE DDN('ddn') NEW REUSE LRECL('vx')'
>
I get:

1 *-* SAY TEMPDD('DISP')
1 +++ SAY TEMPDD('DISP')
1 +++ /* REXX Useful! */ interpret arg(1)
IRX0043I Error running REXX, line 1: Routine not found
***

What's "tempdd()"? YA RYO? In what way are the previous three
instructions preferable to merely:

vx=strip( sysvar('SYSWTERM') ) /* use the terminal width */
RC = BPXWDYN( 'alloc rtddn(ddn) new reuse lrecl('vx') msg(WTP)' )

> 'EXECIO * DISKW 'ddn' (STEM OP. FINIS'
> 'ISPEXEC LMINIT DATAID(OP) DDNAME('ddn')'
> 'ISPEXEC VIEW DATAID('op')'
> 'FREE DDN('ddn')'
>
> This displays the date in a temporary DS; that way I don't have to worry
> about making up a DSN each time.

-- gil
--
StorageTek
INFORMATION made POWERFUL

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX
Bob Bridges
2007-08-31 04:20:13 UTC
Permalink
Woop, sorry about that. TEMPDD is a function of my own; I get tired of
trying to make up DD names that I can be sure won't already be used by some
other routine I'm currently running, so I use TEMPDD to get a DD name
guaranteed to be currently unused. Just make up a DD and use that.

I can't respond to your alternate code; I don't use USS (if that's what it
is) and don't know anything about BPXWDYN or rtddn.

What's that /* REXX Useful! */ thingy? Looks like I'm not the only one
with idiosyncratic code.

---
Bob Bridges, ***@attglobal.net, cell 336 382-7313
***@westfieldgrp.com, 330 791-6576

/* A good scare is worth more than good advice. -Horace */

-----Original Message-----
From: Paul Gilmartin
Sent: Sunday, August 26, 2007 18:21

> --- In a recent note, Bob Bridges said:
> My version is called DISP; others here use a different name, but they all
> do essentially the same thing, ie use OUTTRAP to trap the output from a
> TSO command and display it in a scrollable form. In my version instead
> of saying, for example, TSO HELP XMIT, I say TSO DISP HELP XMIT, and
> voilà! I get the Help file in a View session so I can do a FIND on the
> part of the file I want but can't remember.
>
> I imagine you either have such a routine yourself already or can see how
> it would be written, but just in case, here's the salient portion of my
> version:
>
> vx=sysvar('SYSWTERM') /* use the terminal width */
> ddn=tempdd('DISP') /* get a temporary DD name */
> 'ALLOCATE DDN('ddn') NEW REUSE LRECL('vx')'

I get:

1 *-* SAY TEMPDD('DISP')
1 +++ SAY TEMPDD('DISP')
1 +++ /* REXX Useful! */ interpret arg(1)
IRX0043I Error running REXX, line 1: Routine not found
***

What's "tempdd()"? YA RYO? In what way are the previous three
instructions preferable to merely:

vx=strip( sysvar('SYSWTERM') ) /* use the terminal width */
RC = BPXWDYN( 'alloc rtddn(ddn) new reuse lrecl('vx') msg(WTP)' )

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX
Paul Gilmartin
2007-08-31 15:18:07 UTC
Permalink
In a recent note, Bob Bridges said:

> Date: Thu, 30 Aug 2007 22:49:27 -0400
>
> Woop, sorry about that. TEMPDD is a function of my own; I get tired of
> trying to make up DD names that I can be sure won't already be used by some
> other routine I'm currently running, so I use TEMPDD to get a DD name
> guaranteed to be currently unused. Just make up a DD and use that.
>
Or, let BPXWDYN do it.

> I can't respond to your alternate code; I don't use USS (if that's what it
> is) and don't know anything about BPXWDYN or rtddn.
>
While BPXWDYN happens for historical or political reasons to be documented
here:

URL: http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/BPXZB661/CCONTENTS?SHELF=EZ2ZO10G&DN=SA22-7806-09&DT=20050926202723

Title: z/OS V1R7.0 Using REXX and z/OS UNIX System Services
Document Number: SA22-7806-09

.. it works equally well in all Rexx environments: UNIX, TSO, IRXJCL, and
API, and even with TSO CALL or Assembler LINK, etc. The rtddn keyword
(available only in calls from Rexx) causes the unique DNAME generated by
DYNALLOC to be returned as the value of the Rexx variable mentioned as its
argument.

Don't judge a book by its cover, and don't re-invent the wheel.

> What's that /* REXX Useful! */ thingy? Looks like I'm not the only one
> with idiosyncratic code.
>
One line? in Rexx? Which I posted complete? How large is TEMPDD?
What language? etc.

> -----Original Message-----
> From: Paul Gilmartin
> Sent: Sunday, August 26, 2007 18:21
>
> 1 +++ /* REXX Useful! */ interpret arg(1)

-- gil
--
StorageTek
INFORMATION made POWERFUL

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX
Bob Bridges
2007-09-01 07:15:25 UTC
Permalink
Oh, I meant "idiosyncratic" in its literal sense, not "outlandish". I just
didn't understand what I was seeing. If you're serious about TEMPDD,
though, it's written as a REXX function and has 14 lines of code. It also
calls a further function, one that determines whether a string is a DSN
and/or a DD name. It's not efficient, it's just handy.

---
Bob Bridges, ***@attglobal.net, cell 336 382-7313
***@westfieldgrp.com, 330 791-6576

/* The genius of you Americans is that you never make clear-cut stupid
moves, only complicated stupid moves which make us wonder at the
possibility that there may be something to them which we are missing.
-Gamal Abdel Nasser, president of Egypt 1956-70 */

-----Original Message-----
From: Paul Gilmartin
Sent: Friday, August 31, 2007 11:17

One line? in Rexx? Which I posted complete? How large is TEMPDD?
What language? etc.

--- In a recent note, Bob Bridges said:
> Woop, sorry about that. TEMPDD is a function of my own; I get tired of
> trying to make up DD names that I can be sure won't already be used by
> some other routine I'm currently running, so I use TEMPDD to get a DD
> name guaranteed to be currently unused. Just make up a DD and use that.
>
> What's that /* REXX Useful! */ thingy? Looks like I'm not the only one
> with idiosyncratic code.
>
> -----Original Message-----
> From: Paul Gilmartin
> Sent: Sunday, August 26, 2007 18:21
>
> 1 +++ /* REXX Useful! */ interpret arg(1)

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX
Robert Zenuk
2007-08-26 22:33:35 UTC
Permalink
Bob's approach is much cleaner and used by several of us. Personally, I
review the output in BROWSE by default rather than VIEW and switch to VIEW only
if I need to use EXCLUDE and FIND commands to work through a really long
trace (I usually go to batch for those anyway and use SDSF SE on the SYSTSPRT
SYSOUT).

TSO Session Manager had some interesting features, but overall, the impact
on ISPF dialogs is somewhat painful. I thought the coolest was the side by
side display of TSO output streams (line mode). I was using it in the mid-80's
for a while and finally gave up. You had to alter the TSO LOGON PROC and
use a different initial PGM other than IKJEFT01. You get some new behaviors
that you have to code around (like coding many extra CONTROL DISPLAY REFRESH
commands) and not all application are written to be tolerant of Session
Manager. Today, with the approach Bob described and 3270 emulators under Windows
you can scroll forwards and backwards through your traces and run 2 emulator
sessions side by side to see 2 versions of code or traces or whatever.

Rob



In a message dated 8/26/2007 10:43:11 AM US Mountain Standard Time,
***@ATTGLOBAL.NET writes:

I don't pay much attention to the session manager at any site I'm on,
Michael -- mostly it's just another step to log on, since mostly on the
mainframe I live in TSO -- so I can't comment on that part of it. I have
seen IBM's session manager more recently than 25 years ago, but not (I
think) as recently as 3 years ago.

About following a trace interactively, though: I often do just what
associate does, turn on tracing and follow it in line mode. I have become
aware of the advantages of doing it in batch, though, and recently I
started doing the same thing in the foreground by using a routine many of
us have written.

My version is called DISP; others here use a different name, but they all
do essentially the same thing, ie use OUTTRAP to trap the output from a TSO
command and display it in a scrollable form. In my version instead of
saying, for example, TSO HELP XMIT, I say TSO DISP HELP XMIT, and voilà! I
get the Help file in a View session so I can do a FIND on the part of the
file I want but can't remember. I do the same thing for the ACF2 CLASMAP,
the RACF SETROPTS and pretty much anything else I take it into my head to
use it for. Recently it's becoming more clear to me that instead of
working my way through a long TRACE in line mode I can use it on my own
commands-in-development -- so instead of typing TSO X I just type TSO DISP
X and the trace comes out in View. That's assuming I know the TRACE is
going to come to an end, of course, but if in the middle of a long loop the
routine has been bombing with a complaint that a Boolean flag isn't 0 or 1
and I can't immediately see why not, I can use this to trace the problem,
jump to the bottom of the listing and work my way back up to get to the
source of the problem.

Not, it should be understood, that any of these problems are due to
mistakes of my own. No, someone must have changed the code while I wasn’t
looking.

I imagine you either have such a routine yourself already or can see how it
would be written, but just in case, here's the salient portion of my
version:

vx=sysvar('SYSWTERM') /* use the terminal width */
ddn=tempdd('DISP') /* get a temporary DD name */
'ALLOCATE DDN('ddn') NEW REUSE LRECL('vx')'
'EXECIO * DISKW 'ddn' (STEM OP. FINIS'
'ISPEXEC LMINIT DATAID(OP) DDNAME('ddn')'
'ISPEXEC VIEW DATAID('op')'
'FREE DDN('ddn')'

This displays the date in a temporary DS; that way I don't have to worry
about making up a DSN each time.

---
Bob Bridges, ***@attglobal.net, cell 336 382-7313
***@westfieldgrp.com, 330 791-6576

/* It is often stated that of all the theories proposed in this century,
the silliest is quantum theory. In fact, some say that the only thing that
quantum theory has going for it is that it is unquestionably correct.
-from "Hyperspace" by Michio Kaku */

-----Original Message-----
From: Michael Bradley
Sent: Monday, August 20, 2007 08:39

This note is cross-posted to IBM-MAIN & TSO-REXX

Does anyone find the TSO Session Manager of use when tracing execs executed
in ISPF? (Or anything else?)

I test almost all my code in TSOBATCH using trace, and I feel productive
doing this; I can scroll backwards and forwards. But I have an associate
who develops a lot of dialogs, and is always viewing the output in a
non-scrollable uni-directional manner. Session Manager has always appealed
to me as a solution for this kind of behavior, but I haven't seen it for
maybe 25 years. It used to be a chargeable product, but I don't know what
its status is today. I see mention of it in IBM pubs as considerations in
certain situations, or how to test for its availability, etc.

I'd be interested in learning of anyone using Session Manager in this way,
or any tips on viewing Trace output when the exec is inovked interactively.






************************************** Get a sneak peek of the all-new AOL at
http://discover.aol.com/memed/aolcom30tour

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX
Paul Gilmartin
2007-08-26 23:02:10 UTC
Permalink
In a recent note, Robert Zenuk said:

> Date: Sun, 26 Aug 2007 18:32:35 EDT
>
> . Personally, I
> review the output in BROWSE by default rather than VIEW and switch to VIEW only
> if I need to use EXCLUDE and FIND commands to work through a really long
> trace
>
I used to think BROWSE had FIND. Are you telling me otherwise?

Ironic, isn't it, that BROWSE which is less resource-intensive for long
listings by not loading the entire data set in central memory, fails to
provide EXCLUDE which is so valuable for long listings.

-- gil
--
StorageTek
INFORMATION made POWERFUL

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX
Robert Zenuk
2007-08-26 23:06:18 UTC
Permalink
Of course BROWSE has a FIND command. I was implying an EXCLUDE first then a
FIND to filter out the majority of the extraneous data...

Rob



In a message dated 8/26/2007 4:02:13 PM US Mountain Standard Time,
***@UNIX.STORTEK.COM writes:

In a recent note, Robert Zenuk said:

> Date: Sun, 26 Aug 2007 18:32:35 EDT
>
> . Personally, I
> review the output in BROWSE by default rather than VIEW and switch to
VIEW only
> if I need to use EXCLUDE and FIND commands to work through a really long
> trace
>
I used to think BROWSE had FIND. Are you telling me otherwise?

Ironic, isn't it, that BROWSE which is less resource-intensive for long
listings by not loading the entire data set in central memory, fails to
provide EXCLUDE which is so valuable for long listings.

-- gil
--
StorageTek
INFORMATION made POWERFUL

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







************************************** Get a sneak peek of the all-new AOL at
http://discover.aol.com/memed/aolcom30tour

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX
Paul Gilmartin
2007-08-26 23:26:18 UTC
Permalink
In a recent note, Robert Zenuk said:

> Date: Sun, 26 Aug 2007 19:05:51 EDT
>
> Of course BROWSE has a FIND command. I was implying an EXCLUDE first then a
> FIND to filter out the majority of the extraneous data...
>
Amusingly, BROWSE appears to tolerate "FIND <pattern> ALL", but the "ALL"
keyword appears to have no effect. It doesn't highlight all instances of
the pattern.

-- gil
--
StorageTek
INFORMATION made POWERFUL

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX
Robert Zenuk
2007-08-26 23:45:12 UTC
Permalink
While it will not use the edit/view hilite feature, it does give you the
count for the number of hits in the short and long message fields.

Rob



In a message dated 8/26/2007 4:26:13 PM US Mountain Standard Time,
***@UNIX.STORTEK.COM writes:

Amusingly, BROWSE appears to tolerate "FIND <pattern> ALL", but the "ALL"
keyword appears to have no effect. It doesn't highlight all instances of
the pattern.






************************************** Get a sneak peek of the all-new AOL at
http://discover.aol.com/memed/aolcom30tour

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX
Paul Gilmartin
2007-08-27 01:31:17 UTC
Permalink
In a recent note, Robert Zenuk said:

> Date: Sun, 26 Aug 2007 19:44:46 EDT
>
> While it will not use the edit/view hilite feature, it does give you the
> count for the number of hits in the short and long message fields.
>
I stand corrected. I had failed to notice the short message in the
upper right corner. And I notice the long message says respectively:

CHARS 'macro' found 6 times within cols 1 to 72
CHARS 'macro' found 6 times within cols 1 to 80

.. by default or by profile. I had assumed that BROWSE would simply
ignore the keyword. As long as it takes the trouble to find all
instances, it might as well highlight those beyond the first.

-- gil
--
StorageTek
INFORMATION made POWERFUL

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to ***@VM.MARIST.EDU with the message: INFO TSO-REXX
Michael Bradley
2007-08-28 00:28:20 UTC
Permalink
Bob G., Paul G., & Rob Z.;

I wrote a DISP 20-some years ago; I use it for LISTC from DSLIST, and HELP when the cust doesn't have QW, but I never thought to exploit it for this.

I got started on REXX before it was part of VM/SP. Some time later, CMS got this scrollable console window facility (I forget what it's called), and I used to use it just to browse my trace output (it was neater than SP CONS CLO#PEEK nnnn). This is why I thought Session Manager would provide a similar capability.

But I used DISP on a short exec today, and I love it! save;swap;end;disp ex .... So simple!

In "Beautiful Code" (-O'Reilly), in Jon Bently's "The Most Beautiful Code I ever Wrote", there are several aphorisms; one I like is:
Simplicity does not precede complexity, but follows it (Perlis).

Thank you for opening my eyes.

Michael
Paul Gilmartin <***@UNIX.STORTEK.COM> wrote: In a recent note, Robert Zenuk said:

> Date: Sun, 26 Aug 2007 19:44:46 EDT
>
> While it will not use the edit/view hilite feature, it does give you the
> count for the number of hits in the short and long message fields.
>
I stand corrected. I had failed to notice the short message in the
upper right corner. And I notice the long message says respectively:

CHARS 'macro' found 6 times within cols 1 to 72
CHARS 'macro' found 6 times within cols 1 to 80

.. by default or by profile. I had assumed that BROWSE would simply
ignore the keyword. As long as it takes the trouble to find all
instances, it might as well highlight those beyond the first.

-- gil
--
StorageTek
INFORMATION made POWERFUL

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



---------------------------------
Need a vacation? Get great deals to amazing places on Yahoo! Travel.

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