1) In your code you wrote: call symput('read'||left(count),file_name); call symput('dset'||left(count),substr(file_name,118,7)); it means that your macro variables will be: &read1 , &read2 , ... &dset1 , &dset2 , ... Yout wrote: %put &read; %put &dset but there are no macro variables &read &dset but &read1 &dset1 etc. 2) there is no error in: proc import datafile="&&read&i" I do see error in: out=%scan(&dset,&i) dbms=dlm replace; I suppose you meant to write: out=%scan(&&dset.&i) dbms=dlm replace;
... View more