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!
... View more