11-08-2014 02:29 PM
I am using SAS on Demand for Academics and can not get the SAS to recognize my autocall library.
I created a library for AutoCall members, saved a macro program (PlotChart) , then submitted the following code.
filename AutoCall '/home/rebsd1005/AutoCall';
options mautosource sasautos=(AutoCall , sasautos);
1 OPTIONS NONOTES NOSTIMER NOSOURCE NOSYNTAXCHECK;
58 filename AutoCall '/home/rebsd1005/AutoCall';
59 options mautosource sasautos=(AutoCall , sasautos);
WARNING: Apparent invocation of macro PLOTCHART not resolved.
ERROR 180-322: Statement is not valid or it is used out of proper order.
SAS is not seeing this library.
Help if you will.
11-08-2014 02:45 PM
Use only lowercase in the filenames of your macro source. The folder name is not sensitive to up/and lowercase but all sas coding is.
Within SAS the statements are case insensitive. You can differentiate using up and lower case it will work.
At Unix filenames are sensitive to up and lowercase letters they are really different names and can not vary in those without getting into problems.
Do not use Hungarian notation at Unix.
Now you can guess what is happening, SAS is tranlating the found names in the SAS language (macro statements) ion lower case and using those as the physical names.
SAS(R) 9.4 Macro Language: Reference, Third Edition It is a hidden sentence. "Note: In UNIX, the member name that contains the autocall macro must be all lowercase letters."
Check the filename definition Also Using windows 7 VMware I can use all of it with the myfolders connected to a windows folder by the VM machine.
libname test "/folders/myfolders/test";
filename test "/folders/myfolders/test";
filename macro "/folders/myfolders/macro";
filename work "%sysfunc(pathname(work))";
filename tmp "/tmp" ;