$WakeUp

From m204wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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 .

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