See the log below. Can someone tell me how to call this macro variable in infile statement? Because I could not resolve the macro variable as per the log below.
1 %let filedate=%sysfunc(putn("&sysdate9"d-1,yymmdd10.));
2 %put &filedate;
2015-08-23
ERROR: Physical file does not exist,
/usr/sas/sas_config/Lev1/SASApp/StoredProcessServer/Logs/SASApp_STPServer_"&filedate"_tmptcmsaslva2_*.log.
Note: I copy\paste only the required log and NOT everything.
I can't tell from the code you have given, how the infile statement looks. It should look like:
infile "abc\def\&FILEDATE._tmp.csv";
However, why do you need the macro variable at all?
infile "abc\def\%sysfunc(putn("&sysdate9"d-1,yymmdd10.))_tmp.csv";
Your error message could be interpreted as not a macro variable error, it could mean your macro variable has worked properly and your infile statement points to a file that doesn't exist.
It would help if you showed us the INFILE statement.
Looks like you used single quotes in the INFILE statement, so the macro variable was not expanded. Also I doubt the you want the double quote characters embedded into the filename.
infile "/usr/sas/sas_config/Lev1/SASApp/StoredProcessServer/Logs/SASApp_STPServer_&filedate._tmptcmsaslva2_*.log" ...
Yes, please show your INFILE statement.
If that is really the error message you are getting, I would guess maybe your infile statement looks something like:
infile '/usr/sas/.../SASApp_STPServer_"&filedate"_tmptcmsaslva1_*.log';
The single quotes would keep &filedate from resolving. And you don't want double quotes in the middle of your file name.
Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.
Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.
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.