If you were to do this in SAS to create an empty SAS dataset:

data mytable;
run;

It would actually create a dataset with one row. The data step cycles through once, hits the end (run), outputs a row, then comes back and finds it has no more rows to process so it stops. To stop this one row from being output, try this instead:

data mytable;
  stop;
run;