各位大侠:请教以下程序的详细解释,谢谢!
%macro printall(libname,worklib=work);
%local num i;
proc datasets library=&libname memtype=data nodetails;
contents out=&worklib.. temp1(keep=memname) data=_all_ noprint;
run;
data _null_;
set &worklib.. temp1 end=final;
by memname notsorted;
if last.memname;
n+1;
call symput('ds'||left(put(n,8.)),trim(memname));
if final then call symput('num',put(n,8.));
run;
%do i=1 %to #
proc print data=&libname..&&ds&i noobs;
title "Data Set &libname..&&ds&i";
run;
%end;
%mend printall;
options nodate pageno=1 linesize=70 pagesize=60;
%printall(printlib)