BookmarkSubscribeRSS Feed
Babloo
Rhodochrosite | Level 12

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.

4 REPLIES 4
RW9
Diamond | Level 26 RW9
Diamond | Level 26

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";

PaigeMiller
Diamond | Level 26

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.

--
Paige Miller
Tom
Super User Tom
Super User

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" ...


Quentin
Super User

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.

hackathon24-white-horiz.png

The 2025 SAS Hackathon has begun!

It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.

Latest Updates

How to Concatenate Values

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.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 4 replies
  • 1608 views
  • 0 likes
  • 5 in conversation