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-white.png

Missed SAS Innovate in Orlando?

Catch the best of SAS Innovate 2025 — anytime, anywhere. Stream powerful keynotes, real-world demos, and game-changing insights from the world’s leading data and AI minds.

 

Register now

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