Hi
I would like to produce a macro variable containing the start date and time a program was run. This will be used to add to the final report produced by the program
I am currently using:
/* create report start datetime macro variable */
data _null_;
call symput('repstdttm',put(datetime(),datetime14.));
put "SAS program started: &repstdttm. ";
run;
this gives me
16DEC11:09:30 but I would like to get:
Friday 16DEC2011:09:30
Is this possible using a format?
I know there is the &sysday automatic variable but this is when the SAS session was started I believe. The way above should give me the time the datastep was executed
Thanks in advance
Steve
You could always just roll your own. e.g.:
/* create report start datetime macro variable */
data _null_;
want=catx(" ",put(today(),downame.),put(datetime(),datetime.));
call symput('repstdttm',want);
run;
%put SAS program started: &repstdttm.;
You could always just roll your own. e.g.:
/* create report start datetime macro variable */
data _null_;
want=catx(" ",put(today(),downame.),put(datetime(),datetime.));
call symput('repstdttm',want);
run;
%put SAS program started: &repstdttm.;
proc format;
picture dowdt other='%A %0d%b%Y:%0H:%0M (datatype=datetime);
quit;
%let repstddttm=%sysfunc(datetime(),dowdt.);
Thanks Guys!!!!
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.