BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
irisG
Calcite | Level 5

Hi I have this peace of code which i want to use to look up a file created 6 days ago, e.g. 20180816. The file name should be G20180816.txt.

 

%let kurs_datum = %eval(%sysfunc(today())-6);

 

data format_date;

format kurs_datum yymmddn8.;

run;

%let infil="C:\G&kurs_datum..txt";

 

When i run this code i got this error message. It looks like that it is still using SAS's date format.

 

ERROR: Physical file does not exist, C:\G21412.txt.

 

How do I solve this?

1 ACCEPTED SOLUTION

Accepted Solutions
PeterClemmensen
Tourmaline | Level 20

handle date calculations in the data step and use CALL SYMPUT logic to create macro variables.

 

data _null_;
   dt=today()-6;
   path=cats("'C:\G", put(dt, yymmddn8.), ".txt'");
   call symputx('path', path);
run;

%put &path.;

View solution in original post

3 REPLIES 3
PeterClemmensen
Tourmaline | Level 20

handle date calculations in the data step and use CALL SYMPUT logic to create macro variables.

 

data _null_;
   dt=today()-6;
   path=cats("'C:\G", put(dt, yymmddn8.), ".txt'");
   call symputx('path', path);
run;

%put &path.;
irisG
Calcite | Level 5
Works like a charm! Many thanks!

hackathon24-white-horiz.png

2025 SAS Hackathon: There is still time!

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!

Register Now

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
  • 3 replies
  • 1827 views
  • 0 likes
  • 2 in conversation