$WakeUp: Difference between revisions
m (Minor clarification of the wake_time parameter.) |
m (→Syntax terms) |
||
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)