Wednesday, November 4, 2015

SAS design pattern - decoratorPattern3

/*The decorator pattern provides a way to add code either
before or after this sumGapSec.*/

/*dynamic reference of data by var name of a dataset */
libname sdata "E:\ChenyxFiles\2014.Study.TrainingCertificate\SAS.Victoria\SAS.DS2\SASUniversityEdition\myfolders\sData";


%macro sumGapSec(mGapSec);
proc sql;
select sum(&mGapSec) as sumGapSec from sData.smBill;
quit;
%mend sumGapSec;


%macro decoratorBefore(parameters);
%put Before;

%sumGapSec&parameters.;
%mend decoratorBefore;

%macro decoratorBeforeAndAfter(parameters);
%put Before;

%sumGapSec&parameters.;
%put After;
%mend decoratorBeforeAndAfter;

%macro decoratorAfter(parameters);
%sumGapSec&parameters.;
%put After;
%mend decoratorAfter;

%decoratorBeforeAndAfter(parameters=(gapSec));
%decoratorBefore(parameters=(gapSec));
%decoratorAfter(parameters=(gapSec));

No comments:

Post a Comment