@Tom @E_Berger Hier noch als Macro %macro custom_ds_to_csv(path=,libref=,dsname=);
proc sql;
create table metainfo as
select memname, name, type, varnum from sashelp.vcolumn
where upcase(libname)="%upcase(&libref.)" and upcase(memname)="%upcase(&dsname.)"
order by varnum
;
quit;
data outvars(keep=memname outvars);
set metainfo end=lastrec;
length outvars out $1024;
retain outvars;
by varnum;
if _n_=1 then do;
outvars="";
end;
if upcase(type)="CHAR" then out=compbl(cat(upcase(name)," ~ "));
else out=upcase(name);
outvars=catx(" ",outvars,out);
if lastrec;
call symput('outvars',outvars);
run;
filename outhead "&path./&dsname._header.csv" lrecl=1024;
filename out "&path./&dsname._data.csv" lrecl=1024;
proc export data=&libref..&dsname.(obs=0) file=outhead dbms=csv replace;
delimiter=",";
run;
data _null_;
file out dsd dlm="," ;
set &libref..&dsname.;
put &outvars.;
run;
filename out clear;
filename outhead clear;
%sysexec cat &path./&dsname._header.csv &path./&dsname._data.csv > &path./&dsname..csv;
%mend custom_ds_to_csv;
... View more