DATA Step, Macro, Functions and more

PROC DATASET WARNING: No output destinations active

Reply
Frequent Contributor
Posts: 95

PROC DATASET WARNING: No output destinations active

Hi SAS Team,

 

I am getting  "WARNING: No output destinations active" for PROC DATASET DELETE.

 

I tried nowarn   &    nolist   options but still getting the error. 

 

proc datasets nowarn; 
delete output_process;
run;

 

Any help would be appreciated.

 

Thanks,

Ana

Super User
Super User
Posts: 7,060

Re: PROC DATASET WARNING: No output destinations active

Not sure how to prevent the warning in general.  But if you are just deleting dataset then use PROC DELETE.  They tried to hide it for awhile but it is back now with added functionality.

 

proc delete data=output_process;
run;

 

 

Super User
Posts: 11,343

Re: PROC DATASET WARNING: No output destinations active

You likely ran some code with either:

ODS _all_ close;

or

ODS HTML Close; with no other ODS destinations active.

Try

 

ODS HTML;

add a PATH="operating system path" to control where your html output goes.

Super User
Posts: 5,513

Re: PROC DATASET WARNING: No output destinations active

PROC DATASETS will require that you supply the location of the data set.  This could be done in your program by adding to the PROC statement:

 

library=work

 

If you were to switch methods, as Tom suggested, you would then be supplying a data set name using DATA=.  In that case, single level data set names are assumed to be in the work folder.

Frequent Contributor
Posts: 95

Re: PROC DATASET WARNING: No output destinations active

Posted in reply to Astounding

Hi,

 

One thing i want to mention is -  Output_process  dataset is being used in different SAS program's macro  & referenced it as Global variable , as this program goes in loop. I am clearing out the older data by proc dataset delete .

 

 

Toms suggestion of PROC DELETE did not work for me.

 

Thanks,

Ana

 

Super User
Posts: 5,513

Re: PROC DATASET WARNING: No output destinations active

%GLOBAL operates within the context of a single program.  There is no way to make a macro variable available across programs. 

 

That being said, there is a process that applies to interacting platforms, %SYSLPUT but it is not applicable to the majority of cases where multiple programs run.

Ask a Question
Discussion stats
  • 5 replies
  • 394 views
  • 0 likes
  • 4 in conversation