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.
Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!
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.
Ready to level-up your skills? Choose your own adventure.