Hi:
In addition to all of the other suggestions, I have a different one. When you are using %stpbegin, you do NOT need to repeat your ODS invocation statements:
%let _ODSDEST=TAGSETS.csvall;
%stpbegin;
ods tagsets.csvall options(sheet_name="Report1");
Proc Print data=Report1 noobs width=full style(data)={background=white};
format COL1 COL2 yymmd9.;
var COL1 COL2 COL3 COL4;
run;
ods tagsets.csvall close;
%stpend;
In addition, your invocation statement is unnecessary because there is no "sheet_name" suboption for ODS CSV or ODS CSVALL, so your "extra" statement will have no impact on your output. So, aside from all the other issues, you are doing something that is not possible with the CSV destination.
cynthia