I am getting a note in the log
when I run the below macro
%cr_root_sub_dir(maindir='~/practice_exer/Mth_Rep',subdir='APR2016');
The macro code is :
%macro cr_root_sub_dir(maindir,subdir);
%put _local_;
%if &maindir = %then
%do;
%put 'Root directory is blank';
%goto exit;
%end;
%else
%do;
%if %sysfunc(fexist(&maindir)) %then
%put 'Directory &maindir Already Exists';
%else
%do;
%let newdir = %sysfunc(dcreate(&maindir,'~'));
%let newsubdir = %sysfunc(dcreate(&subdir,&maindir));
%end;
%end;
%exit:;
%mend cr_root_sub_dir;
@pambardar I hope this worked for you. In any case please let me know and please consider accepting my solution.
- Jan.
fexist() takes a fileref as argument. What you provieded was a filename. Assign a fileref using filename statement or use filexist() instead of fexist().
Regards,
- Jan.
I meant FILEEXiST() of course. Two e's.
@pambardar I hope this worked for you. In any case please let me know and please consider accepting my solution.
- Jan.
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.