Hello all, I'm having trouble setting the sasautos option. When I include this line in ~/.sasv9.cfg it doesn't work (but it used to with SAS 9.1):
-sasautos ("$HOME/futs/macros" "/mnt/data/PROGRAM_ARCHIVE" "$HOME/maclib" "/export/opt/SAS9.3Home/SASFoundation/9.3/sasautos")
I get this message in the log file:
10 %let formlevel=13A;
11 %let lformlevel=%lowcase(&formlevel);
WARNING: Apparent invocation of macro LOWCASE not resolved.
SYMBOLGEN: Macro variable FORMLEVEL resolves to 13A
But when I include these lines in my program it works:
filename AUTODIR '/export/opt/SAS9.3Home/SASFoundation/9.3/sasautos';
filename SASAUTOS "$HOME/futs/macros";
options sasautos=(AUTODIR, SASAUTOS) MPRINT;
and I get these lines in the log file:
10 %let formlevel=13A;
11 %let lformlevel=%lowcase(&formlevel);
MLOGIC: Beginning compilation of LOWCASE using the autocall file
/export/opt/SAS9.3Home/SASFoundation/9.3/sasautos/lowcase.sas.
MLOGIC: Ending compilation of LOWCASE.
MLOGIC(LOWCASE): Beginning execution.
MLOGIC(LOWCASE): This macro was compiled from the autocall file
/export/opt/SAS9.3Home/SASFoundation/9.3/sasautos/lowcase.sas
SYMBOLGEN: Macro variable FORMLEVEL resolves to 13A
MLOGIC(LOWCASE): Parameter STRING has value 13A
SYMBOLGEN: Macro variable STRING resolves to 13A
MLOGIC(LOWCASE): Ending execution.
I don't want to have to include those lines in every program. It should work if I include that directory in .sasv9.cfg. Can anyone tell me why it doesn't?
TIA
proc options pointed me in the right direction to solve this. It turns out that for some forgotten reason, I had set the SASV9_OPTIONS environment variable in my ~/.bashrc file. The environment variable is sourced after the ~/.sasv9.cfg file so even if I changes the config file, the environment variable took precedence. The the options statement in the program is given the highest precedence. I just got rid of the environment variable and now things are fine.
Run PROC OPTIONS to confirm if SASAUTOS is being set correctly via your CONFIG file.
proc options pointed me in the right direction to solve this. It turns out that for some forgotten reason, I had set the SASV9_OPTIONS environment variable in my ~/.bashrc file. The environment variable is sourced after the ~/.sasv9.cfg file so even if I changes the config file, the environment variable took precedence. The the options statement in the program is given the highest precedence. I just got rid of the environment variable and now things are fine.
may be you can try
options sasautos=(AUTODIR, SASAUTOS) MPRINT NOMLOGIC NOSYMBOLGEN;
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.