$WakeUp: Difference between revisions

From m204wiki
Jump to navigation Jump to search
m (Minor clarification of the wake_time parameter.)
Line 17: Line 17:
<tr><th>wake_time</th>
<tr><th>wake_time</th>
<td>A number indicating the time to wake up, expressed as milliseconds since the Online was brought up.
<td>A number indicating the time to wake up, expressed as milliseconds since the Online was brought up.
<p>Use %TIME = $WakeUp(0) to acquire the time, in milliseconds, since the run came up.  For subsequent $WakeUp calls, %TIME can then be used as the base time for the wake_time parameter.  See the following example.</td></tr>
<p>Use %TIME = $WakeUp(0) to acquire the time, in milliseconds, since the run came up.  For subsequent $WakeUp calls, %TIME can then be used as the base time for the wake_time parameter.  See the following example.</p></td></tr>


<tr><th>rqtm_flag</th>
<tr><th>rqtm_flag</th>

Revision as of 02:30, 31 July 2014

Pause user until specified time

Note: Most Sirius $functions have been deprecated in favor of Object Oriented methods. There is no OO equivalent for the $WakeUp function.

The $WakeUp function accepts three arguments and returns a number that is the number of milliseconds since the Online was brought up. It is a callable $function .

Syntax

[%time =] $WakeUp(wake_time, rqtm_flag, [option])

Syntax terms

%time A positive integer.
wake_time A number indicating the time to wake up, expressed as milliseconds since the Online was brought up.

Use %TIME = $WakeUp(0) to acquire the time, in milliseconds, since the run came up. For subsequent $WakeUp calls, %TIME can then be used as the base time for the wake_time parameter. See the following example.

rqtm_flag A number, which if present and non-zero, indicates that the wait time is not to be included as part of RQTM.
option An optional string (NOURGMSG, case unimportant) that prevents a user paused by $WakeUp from being immediately wakened if a BROADCAST URGENT message is sent.

Usage notes

  • The chief advantages of $WakeUp over the PAUSE statement are
    • You can wake up at a particular time rather than after a particular number of seconds have passed.
    • $WakeUp has millisecond resolution versus the second resolution of the PAUSE statement.
    • $WakeUp allows the wait time to not be counted toward RQTM. This is useful in cases where the pause is simply a standard part of processing rather than a pause to allow some condition to clear.
    • $WakeUp will allow a user to break in with a terminal interrupt on VTAM full screen terminals.

Example

In the following code fragment, three screens are automatically displayed for 2.3 seconds each. The sleep time is not counted toward RQTM.

%TIME = $WakeUp(0) %RC = $FakeEnt READ SCREEN SCREEN1 %TIME = $WakeUp( %TIME + 2300, 1) %RC = $FakeEnt READ SCREEN SCREEN2 %TIME = $WakeUp( %TIME + 2300, 1) %RC = $FakeEnt READ SCREEN SCREEN3 %TIME = $WakeUp( %TIME + 2300, 1)

Products authorizing $WakeUp