below code will do my job. thank you all. data one; input d_time_with_bank_crs_i_fmt $50.; datalines; 1-10 ; run; data two; input X_DAY_SA12_crs_i_fmt $50.; datalines; 1-11 ; run; data three; input der_time_cross_x4_crs_i_fmt $50.; datalines; 1-12 ; run; %macro dataset_exists(lib,suffix); proc contents data=&lib.._all_ out=work.datasets(keep=libname memname name where=(upcase(name) contains '&suffix')) noprint; run; Data null_; Set datasets end=end; by memname; if first.memname then do; count+1; output; end; call symputx('dset'||left(count),memname); call symputx('old_var'||left(count),name); call symputx('new_var'||left(count),tranwrd(name,"_CRS_I_FMT",'')); if end then call symput('max',count); Run; %do i = 1 %to &max; /* TITLE Sample records for dataset – &lib..&&dset&i.;*/ proc datasets lib=&lib; modify &&dset&i.; rename &&old_var&i. = &&new_var&i.; run;quit; %end; %mend; %dataset_exists(work,_CRS_I_FMT); %put _user_;
... View more