Mysay - Transform your raw 'say' TSO-Rexx output into a proper scrolling progress display


Pass your mouse over sections of the 'scroller' panel below for help tips.

Scrolling Progress Display.
You do NOT touch the panel source to change this header! Share 1 panel with 20 apps!
765 These lines are what used to be output by your say statements
766 If I knew enough about the event model in Mozilla, these lines
767 would be scrolling upward as you watch.
768 Unfortunately, I can only get the javascript demo to work on IE and Opera.
769 Mozilla javascript experts may wish to chip in and help me.
770 In the meantime, DOWNLOAD and TRY the samples on your mainframe!
771 These lines are what used to be output by your say statements
772 These lines are what used to be output by your say statements
773 These lines are what used to be output by your say statements
774 These lines are what used to be output by your say statements
775 These lines are what used to be output by your say statements
************************************************************************
dynamic2 may be set from time to time during the run
Scrolling Progress Display.

Your browser supports a straight-forward javascript event model and therefore the straight-forward javascript simulation at left should scroll continuously. If it doesn't, see the static approximation here

download the code - it's FREE to the Rexx-ISPF community

The problem:

Or do your panels sit there for long periods while the execs run, because the alternative (hundreds of red 'SAY's) is too horrible to dump on a user?

You COULD:

          It isn't worth it, is it?

BUT WAIT! I have solved the problem for you!

MYSAY is a drop-in replacement for the Rexx 'say' statements in your Mainframe execs.
ALL your long-running Rexx apps can now look as good as the simulation at the top of this page, for practically NO coding effort.
No longer do your panels need to sit there leaving the user to wonder what is going on.
You can download and experiment with worked examples of 'mysay' from a provided menu. I believe you will like what you see!

All this is achieved with (i) no degradation in the readability of your code (ii) EXTERNAL rexx calls - so if you improve on 'mysay', the improvements show up system wide. Thus there is NO maintenance nightmare.

  1. download the code - it's FREE to the Rexx-ISPF community. Unzip/extract the Execs.
    Use FTP or your terminal file transfer facility to load them up on your Mainframe into FB 80 fixed-length partitioned data sets.
  2. Copy the Execs into your EXEC library,the panels into your panel library, the one MSG member into your MSGS library, and (to allow the test example menu panel to work) copy the profile and keylist members to your USER.ISPPROF library.

    Because there are so many execs, you may prefer to create a tsoprefix.MYSAY.EXEC library to keep them apart from your normal EXECS. Then code an ALTLIB in the MYSAYMNU exec activating MYSAY.EXEC, and finally MOVE this exec to your regular exec library.

  3. Type TSO MYSAYMNU for a menu of MYSAY examples. Try them.
  4. Use the supplied USEMYSAY edit macro (after reading warnings in Discussion on usemysay - what to do, pitfalls, and a warning) to convert one of your own execs 'yourrexx'.
    Check the changed lines of code in yourrexx just to be safe.
  5. Type TSO yourrexx and see what it looks like now! It should be scrolling your 'say' outputs like the simulated display above. Well, it will when you fix up your 'mysay0' initialisation call.

What you get:

What you don't get:

Questions? See the Mysay FAQ


download the code - it's FREE to the Rexx-ISPF community