Desktop productivity for business analysts and programmers

Email to be triggered when every 100 iterations are done

Accepted Solution Solved
Reply
Occasional Contributor
Posts: 11
Accepted Solution

Email to be triggered when every 100 iterations are done

Hi Everyone,

 

It would be great If somene helps me out in this.


When a macro is running, I would like an email to be sent to me after each 100 iterations have completed.
So for the example below I would receive 10 emails…one for each time it completes another 100. It has to be dynamic so that, it emails after each 100 iterations regardless of how many have run till then.


I think can we use the mod function? If so , what is the logic. How can I insert it into the below macro.

 

%macro macrhlp();
%do i=1 %to 1000;

/*when 100 have run then do following*/
filename mymail email "myemail@email.com" subject="100 have run";
data _null_;file mymail;put '100 have run';run;
/*when 200 have run then do following*/
filename mymail email "myemail@email.com" subject="200 have run";
data _null_;file mymail;put '200 have run';run;

 

%end;
%mend;

 

 

macrhlp;

 

Thanks,

Thanu.

 


Accepted Solutions
Solution
‎07-28-2017 04:13 AM
Super User
Posts: 7,868

Re: Email to be triggered when every 100 iterations are done

[ Edited ]
%macro macrhlp();
%do i=1 %to 1000;

  %if %sysfunc(mod(&i,100)) = 0 %then %do;
    filename mymail email "myemail@email.com" subject="&i have run";
    data _null_;file mymail;put "&i have run";run;
  %end;
 

%end;
%mend;
---------------------------------------------------------------------------------------------
Maxims of Maximally Efficient SAS Programmers

View solution in original post


All Replies
Solution
‎07-28-2017 04:13 AM
Super User
Posts: 7,868

Re: Email to be triggered when every 100 iterations are done

[ Edited ]
%macro macrhlp();
%do i=1 %to 1000;

  %if %sysfunc(mod(&i,100)) = 0 %then %do;
    filename mymail email "myemail@email.com" subject="&i have run";
    data _null_;file mymail;put "&i have run";run;
  %end;
 

%end;
%mend;
---------------------------------------------------------------------------------------------
Maxims of Maximally Efficient SAS Programmers
Occasional Contributor
Posts: 11

Re: Email to be triggered when every 100 iterations are done

Posted in reply to KurtBremser
Hello, thankyou for this solution. Could you please edit your answer : %sysfunc instead of syfunc.
Smiley Happy

TIA
Thanu
Super User
Posts: 7,868

Re: Email to be triggered when every 100 iterations are done


Thanu wrote:
Could you please edit your answer : %sysfunc instead of syfunc.


Done.

---------------------------------------------------------------------------------------------
Maxims of Maximally Efficient SAS Programmers
☑ This topic is solved.

Need further help from the community? Please ask a new question.

Discussion stats
  • 3 replies
  • 199 views
  • 1 like
  • 2 in conversation