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!!!!
It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.
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.
Ready to level-up your skills? Choose your own adventure.