this comment is a side note this code can be simplified data _null_; call symput ("library", put(upcase(substr("&input",1,index("&input",'.')-1)), $8.)); call symput ("datset", put(upcase(substr("&input",index("&input",'.')+1,length("&input"))), $32.)); run; to this %* deconstruct data into SAS naming conventions; %let data = %lowcase(&data); %if %index(&data,.) %then %do; %*is.a two-level name libref.data_name; %let libname = %scan(&data,1,.); %let memname = %scan(&data,2,.); %end; %else %do; %*is.a one-level-name; %let libname = work; %let memname = &data; %end;
... View more