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.
Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.
Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.
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.