Previous Page | Next Page

SAS Statements under Windows

WAITFOR Statement: Windows

Suspends execution of the current SAS session until the specified tasks finish executing.
Valid in: anywhere in a SAS program
Windows specifics: all

See Also


WAITFOR<_ANY_ | _ALL_> taskname <taskname...><TIMEOUT=seconds>;


specifies the name of the task(s) that you want to wait for. See SYSTASK Statement: Windows for information about task names. The task name(s) that you specify must match exactly the task names assigned through the SYSTASK COMMAND statement. You cannot use wildcards to specify task names.

_ANY_ | _ALL_

suspends execution of the current SAS session until either one or all of the specified tasks finishes executing. The default setting is _ANY_, which means that as soon as one of the specified task(s) completes executing, the WAITFOR statement will finish executing.


specifies the maximum number of seconds that WAITFOR should suspend the current SAS session. If you do not specify the TIMEOUT option, WAITFOR will suspend execution of the SAS session indefinitely.


The WAITFOR statement suspends execution of the current SAS session until the specified task(s) finish executing or until the TIMEOUT interval (if specified) has elapsed. If the specified task was started with the XWAIT option, then the WAITFOR statement ignores that task.

For example, the following statements start three different SAS jobs and suspend the execution of the current SAS session until those three jobs have finished executing:

systask command "sas" taskname=sas1;
systask command "sas" taskname=sas2;
systask command "sas" taskname=sas3;
waitfor _all_ sas1 sas2 sas3;

The SYSRC macro variable contains the return code for the WAITFOR statement. If a WAITFOR statement cannot execute successfully, the SYSRC macro variable will contain a non-zero value. For example, the WAITFOR statement can contain syntax errors. If the number of seconds specified with the TIMEOUT option elapses, then the WAITFOR statement finishes executing, and SYSRC is set to a non-zero value if

Any task whose status variable is still NULL after the WAITFOR statement has executed did not complete execution.

See Also

Previous Page | Next Page | Top of Page