The SAS Output Delivery System and reporting techniques

Why does ODS LISTING CLOSE prevent graph export?

Regular Learner
Posts: 1

Why does ODS LISTING CLOSE prevent graph export?

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;


The file 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?


Posts: 9,368

Re: Why does ODS LISTING CLOSE prevent graph export?

[ Edited ]
Posted in reply to LoremIpsum

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.


Ask a Question
Discussion stats
  • 1 reply
  • 2 in conversation