Unless you actual macro is much more complicated than your example you do NOT need to use PARMBUFF option for this macro. Just use something other than a comma in your list of dataset names. The natural thing to use as a delimiter in SAS code is a space.
%macro printz(dslist);
%local i ds ;
%do i=1 %to %sysfunc(countw(&dslist,%str( )));
%let ds=%scan(&dslist,&i,%str( ));
....
%end;
%mend printz;
%printz(class cars);
... View more