Hi,
I am using the SASAUTOS option to recall macros, without having to use the %INCLUDE statements and this working perfectly, but when I decide to change the SASAUTOS option mid-session it does not change.
Now, this causes an issue because imagine there were two macro locations, call them M_LIB1 and M_LIB2, which both contain the macro MYMACRO. When I open SAS and define the SASAUTOS to look at the MYMACRO in M_LIB1, it works as expected. Then I decide to change the SASAUTOS location to M_LIB2, during my current session, (i.e., I do not close SAS), the SASAUTOS does not seem to change and when I call MYMACRO expecting to be recalled from M_LIB2, it is actually being recalled from M_LIB1.
Below is some basic an example code, where I define the SASAUTOS location, call the macro then print the SASAUTOS locations to the log, then change the SASAUTOS location and repeat:
options mrecall mautosource
set = sasautos("!sasroot\core\sasmacro"
"C:\m_lib1");
%mymacro;
filename sasautos list;
options mrecall mautosource
set = sasautos("!sasroot\core\sasmacro"
"C:\m_lib2");
%mymacro;
filename sasautos list;
The issue is that the FILENAME code with the LIST option displays the same results for both which implies SASAUTOS is not changing, I was expecting the second statement to show the M_LIB2 path but it shows the M_LIB1 path. Can anyone help?
... View more