BookmarkSubscribeRSS Feed
Luke
Calcite | Level 5
Hi,
If a Do loop in IML procedure never reaches its stopping criterion, it will keep running. Anyone knows how to stop the IML procedure automatically after a specified time and jump to next procedure?
Thanks in advance.

Luke
1 REPLY 1
Hutch_sas
SAS Employee
You can program a time limit in the loop itself:

proc iml;
t0 = time(); /* units of the time() function are seconds */
time_limit = 5;
do while( (time()-t0)< time_limit);
x = 1; /* do your loop */
end;
print time_limit "elapsed time " (time() - t0);

sas-innovate-2026-white.png



April 27 – 30 | Gaylord Texan | Grapevine, Texas

Registration is open

Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!

Register now

Discussion stats
  • 1 reply
  • 1207 views
  • 0 likes
  • 2 in conversation