I am running sas 9.4 on grid platform. I want to get the value of the path of my sas program automatically in sas. I use the below code but it gives me the sas workspace location and not my user directory where my program is saved. Any ideas?
%put The current program is %sysfunc(getoption(sysin));
/gridwork/userid/SASGSUB-2017-01-12_13.05.07.758_abc/abc.sas
insted of this I want path of my directory where abc.sas is actually saved.
Thanks,
Santosh
This may work:
%sysget(SAS_EXECFILEPATH)
It is the result of a macro function so could be used as:
title "Program name: %sysget(SAS_EXECFILEPATH)";
or
%let File = %sysget(SAS_EXECFILEPATH);
It returns the path and name after a file is saved in base SAS. I don't know if it will work in a grid environment.
@SmithCJGVSU - Why do you think a new SAS server session will somehow know where your SAS programs are stored if you haven't identified any of these programs to SAS first? A brand-new SAS session will only know the location of where it was started from and nothing about what programs you want it to run.
I find it useful to set up a macro variable containing the folder location of the required SAS application in a program controlling that application.
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.