I would look into the sleep() function. It delays execution by the time specified.
Here is SAS's documentation on the function:
http://support.sas.com/documentation/cdl/en/lefunctionsref/69762/HTML/default/viewer.htm#p0a6vn2td7b...
I quickly wrote up a crude macro that could be used for this. Perhaps there's a more creative method, but this works.
/*******************************************************************
Macro to delay processing:
Number: Amount of time to wait
Units: Unit of time to wait ("seconds", "minutes", "hours", "days")
********************************************************************/
%macro waiting(number, units);
data wait;
if &units. = "seconds" then unit = 1; *Base unit in sleep function;
else if &units.="minutes" then unit=60; *60 seconds in a minute;
else if &units.="hours" then unit=3600; *3,600 seconds in an hours (60 seconds per minute * 60 minutes per hour);
else if &units.="days" then unit=86400; *86,400 seconds in a day (60 seconds per minute * 60 minutes per hour * 24 hours per day);
wait_time = sleep(&number., unit);
run;
%mend;
%waiting(number=10, units="minutes");