I am trying to have SAS compute execution time for a stored process which simply includes a SAS program file. I was able to do this with very simple program but when the program was more complex (includes macros, sql junk, etc) I have problems. SAS for some reason does not create a data file? Also, do stored processes have a macro variable defined for execution time that I can access?
Code registered as stored process in metadata follows:
%global startdatetime;
%global executeSAStime;
%let startdatetime= %sysfunc(datetime());
%put &startdatetime;
%STPBEGIN;
%include "C:\code\goes\here.sas";
%put &startdatetime;
%let executeSAStime= %sysfunc(round(%sysevalf(%sysfunc(datetime())-&startdatetime),0.01));
%put &executeSAStime;
%let rc=0;
%include "D:\SAS\users\jchapman1\test\append.sas";
%STPEND;
;
quit;
The append program creates a dataset and appends it to a sql database. However, the datastep used does not seem to be making the dataset for the complex program while it does for the simple one. Very confusing.
400 +%put &_METAUSER;
thisisme@safdasdf
401 +%put &_username;
Test User
402 +%put &_program;
/Shared Data/StoredProcName
403 +%put &startdatetime;
1726172330.329
404 +%put &executeSAStime;
176.38
405 +%put &rc;
0
406 +
407 +*create dataset;
408 +data newtempfile;
409 +length client username $16. Program $30. datetime exectime rc 8. ;
410 +client="&_METAUSER.";
411 +username="&_username.";
412 +program="&_program.";
413 +datetime=&startdatetime.;
414 +exectime=&executeSAStime.;
415 +rc=&rc.;
416 +run;
NOTE: The data set WORK.NEWTEMPFILE has 0 observations and 6 variables.
NOTE: DATA statement used (Total process time):
real time 0.00 seconds
cpu time 0.01 seconds
Please help!
what you are trying to do is standard part of ARM.
The log4j is a well known interface. APM and Eventmananager are build on top of this. When activated ill you are trying to build is already there.
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.