Thank you all.
I think I got it as below.
HHC
%MACRO _BREAK() ;
%DO %WHILE ( %sysevalf(%sysfunc(time())<'16:00:08't,boolean) ) ;
/*------ADDED part that run every hour---------*/
%let now=%sysfunc(time());%let hh=%sysfunc(hour(&now),z2.);%put &now;%put &hh;
%let mm=%sysfunc(minute(&now),z2.);
%put &mm;
%macro run_hourly;
%if &mm=1 %then %do;
%put 'HERE we go';
%end;
%mend;
%run_hourly;
/*My MAIN CODE*/
%*Sleep until 5 seconds after the start of the next minute ;
%put %sysfunc(wakeup("%sysfunc(putn(%eval(%sysfunc(intnx(minute,"%sysfunc( time(), time )"t,1))+5),time.))"t));
%end ;
%mend ;
... View more