Pause user until specified time
Note: Many $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 .
[%time =] $WakeUp(wake_time, rqtm_flag, [option])
|%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 (|
- 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.
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)