10-20-2016 09:53 AM
I am running Base SAS 9.4 on Windows. Opening a new session, I submit the following code:
/*ods listing close;*/ filename grafout "C:\output\sastest.png"; goptions reset=goptions device=png gsfname=grafout; proc gchart data=sashelp.class; where sex="F"; vbar age / sumvar=weight type=mean subgroup=age nolegend discrete; run; quit;
sastest.png is exported to the
C:\output folder. However, if I place an
ods listing close;statement at the top of the code, the graph is no longer exported.
Apparently, the listing destination is more than "an ODS destination that produces traditional SAS output (monospace format)."
It is even more confusing because listing is turned off by default:
Beginning with SAS 9.3, by default, in the Windowing environment with the Windows and UNIX operating systems, the LISTING destination is closed and the HTML destination is open.
Why would the
ods listing close; statement prevent the graph from exporting?
10-20-2016 01:53 PM - edited 10-20-2016 01:56 PM
Hi, not many folks are using gsfname= option anymore. Some destination has to be open in order for GCHART to create output. The same thing is true of other SAS procedures too. IF ALL destinations are closed, then there are some procedures that will not produce output, even if you're asking for an image or a dataset.
But, even if, for example, LISTING is closed -- you can get a PNG image created automatically if you were creating HTML output. Then a PNG file would be created automatically. For example,see the following example without GSFNAME just using ODS HTML.