Date: Mon, 2 Mar 1998 16:26:04 -0500
Reply-To: "Dorfman, Paul" <pdorfma@UCS.ATT.COM>
Sender: "SAS(r) Discussion" <SAS-L@UGA.CC.UGA.EDU>
From: "Dorfman, Paul" <pdorfma@UCS.ATT.COM>
Subject: (MVS) Re: Non-SAS question; TSO time-outs
Content-Type: text/plain; charset="iso-8859-1"
Replying to Mary Esther Colwell Michael A. Raithel, in particular,
wrote:
> Mary, your best bet is to hit <ENTER> after 24 minutes and
> 59 seconds:-) But, seriously, you will have to talk to one
> of your friendly Systems Programmers about the TSO time-out
> limit. In most organizations that run OS/390 (MVS) the
> Systems Programmers set a time-out limit on TSO sessions.
> The usual reasoning is that if a person has not hit <ENTER>
> after xx minutes, then the person is probably not engaged
> in work that needs to have a TSO session active. Since TSO
> sessions, like batch jobs and started tasks, use MVS
> processing resources, it is desirable to only have the
> active users... well, active on the system.
>
> Your Systems Programmers seem to be particularly generous.
> In most organizations that I have worked in, the limit was
> 15 minutes.
>
> The bad news is that the TSO time-out time is set for all
> users. (Unless this has changed since I used to set it).
> So, to make a change for you, the Systems Programmers would
> have to relax the time limit for all TSO users. Would they
> really do that? If you have a very active, very heavily
> utilized system, then I doubt it...
Michael,
If one is limited to a dumb terminal there are two choices: 1) to take
both of your advices; 2) to use a little mechanical device attached to
the right lower corner of the keyboard that would hit the <Enter> key
periodically (I have seen one of these ingenious machines in GTE years
ago when dumb terminals were still outnumbering PCs like 3:1) - the
method is a sort of high-tech variant of your advice # 1.
If, however, one is blessed with some kind of PC - to - big iron
interface, in particular, the EXTRA, there is a light at the end of the
tunnel. The interface is written in VB, and an EXTRA macro can be
created which may be launched and stopped by either depressing a group
of keys or clicking on toolbar buttons. When started, the macro would
send an <Enter> keystroke with the frequency programmed into the
modified VB module. When, upon returning from the meeting (and/or
bathroom, break room, etc.), one stops the macro, it would cease the
<Enter>-hitting activity.
Here is how:
Once you have got an EXTRA session active, choose "Macro..." under
"Tools". Select a macro name, say, "WAIT", and click on "Record...". Hit
<Enter>, and stop recording. Under "Tools", choose "Macro..." again,
choose the macro "WAIT" (remember, you have just recorded it), and
choose "Edit". What you will see is the default VB code that EXTRA makes
available for you plus a couple of lines accounting for the actual event
of your having hit <Enter>. You will get something like the following:
'-----------------------------------------------------------------------
---------
' This macro was created by the Macro Recorder.
' Session Document: "b. ucs mvs data center.edp"
' Date: Monday, March 02, 1998 13:43:27
' User: pdorfma
'-----------------------------------------------------------------------
---------
' Global variable declarations
Global g_HostSettleTime%
Sub Main()
'-----------------------------------------------------------------------
---------
' Get the main system object
Dim Sessions As Object
Dim System As Object
Set System = CreateObject("EXTRA.System") ' Gets the
system object
If (System is Nothing) Then
Msgbox "Could not create the EXTRA System object.
Stopping macro playback."
STOP
End If
Set Sessions = System.Sessions
If (Sessions is Nothing) Then
Msgbox "Could not create the Sessions collection object.
Stopping macro playback."
STOP
End If
'-----------------------------------------------------------------------
---------
' Set the default wait timeout value
g_HostSettleTime = 3000 ' milliseconds
OldSystemTimeout& = System.TimeoutValue
If (g_HostSettleTime > OldSystemTimeout) Then
System.TimeoutValue = g_HostSettleTime
End If
' Get the necessary Session Object
Dim Sess0 As Object
Set Sess0 = System.ActiveSession
If (Sess0 is Nothing) Then
Msgbox "Could not create the Session object. Stopping
macro playback."
STOP
End If
If Not Sess0.Visible Then Sess0.Visible = TRUE
Sess0.Screen.WaitHostQuiet(g_HostSettleTime)
' This section of code contains the recorded events
Sess0.Screen.Sendkeys("<Enter>")
Sess0.Screen.WaitHostQuiet(g_HostSettleTime)
System.TimeoutValue = OldSystemTimeout
End Sub
Now, modify this sub. Set the variable g_HostSettleTime to the number
of milliseconds representing the time period desired to elapse between
consecutive hits of <Enter> . To make it execute until the macro is
stopped, enclose these two statements
Sess0.Screen.Sendkeys("<Enter>")
Sess0.Screen.WaitHostQuiet(g_HostSettleTime)
in a loop as follows:
Do
Sess0.Screen.Sendkeys("<Enter>")
Sess0.Screen.WaitHostQuiet(g_HostSettleTime)
Loop
Without quitting the editor, compile the macro by choosing "Compile"
under "Run", and close the editor. Now, assign the macro to either some
combo of keys or the toolbar. How to do it, may vary from one EXTRA
version to another: in the latest 6.2, one has to use the keyboard
mapper; in the previous one (that used to be vastly superior in every
respect), it could be done directly through the EXTRA macro facility.
I have not tried it with RUMBA, but my friend elsewhere has, and he has
related to me that principally, the way of setting the thing up was the
same.
Sorry if I have overwhelmed you with an issue entirely foreign to SAS; I
hope, however, that it might save some frustration everybody having to
type those darn user ID and password all over again.
Most cordially,
Paul.
++++++++++++++++++++++++++++
Paul M. Dorfman
AT&T UCS Decision Support Systems
Jacksonville, Fl
++++++++++++++++++++++++++++