%let fname=&dataroot&psep.st_26.csv;
%macro TABLES;
%if %sysfunc(fexist(&fname)) %then
%do;
filename st_spec &fname;
data st_26;
infile st_spec dsd firstobs=2 truncover dlm=',';
input date:mmddyy10.;
run;
%end;
%else %do;
%put No schedule table exists;
%end;
%mend
In a call to the FEXIST routine, the fileref /home/rwn/ksde/data/ftp/st_26.csv exceeds 8 characters, and will be truncated.
Because of this, it is returned the wrong result.
how do I fix it?
Hi,
Try this...Hope it helps..
%let fname=&dataroot&psep.st_26.csv;
%macro TABLES;
filename st_spec "&fname";
%if %sysfunc(fexist(&fname)) %then
%do;
data st_26;
infile st_spec dsd firstobs=2 truncover dlm=',';
input date:mmddyy10.;
run;
%end;
%else %do;
%put No schedule table exists;
%end;
%mend;
%tables;
Thanks,
Shiva
Use fileexist() to replace fexist().
Ksharp
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
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.