Your SAS programs, embedded in web apps and elsewhere

How to specify an ODS event in Stored Process

Reply
Contributor
Posts: 33

How to specify an ODS event in Stored Process

Hi SAS Experts,

I want to use the HTMLPANL tagset in Stored Process. To manually customize the report layout I need to specify ODS events. SAS BASE code example:

ods tagsets.htmlpanel file="manualpanel.html";

ods tagsets.htmlpanel event=row_panel(start);
ods tagsets.htmlpanel event=column_panel(start);

proc print data=sashelp.class;run;
proc print data=sashelp.class;run;

ods tagsets.htmlpanel event=column_panel(finish);

proc gchart data=sashelp.class;
hbar age / sumvar=height;
run;

ods tagsets.htmlpanel event=row_panel(finish);

ods tagsets.htmlpanel close;


How can I specify the ODS events in the SAS Stored Process ? Thanks a lot.

Regards,
Sarunas
SAS Super FREQ
Posts: 8,868

Re: How to specify an ODS event in Stored Process

Hi:
Before you go too far down this road, can you explain what client applications you want to use to execute the stored process?? SAS Add-in for Microsoft Office, EG, Web Report Studio, the Information Delivery Portal???

The ODS HTMLPANEL tagset is generating HTML output. This type of output might not work in all the client applications. For example, Web Report Studio and PowerPoint will NOT accept or render HTML results from a stored process -- those 2 client applications only use SAS Report XML output.

If you use ODS HTMLPANEL to create an HTML file in Base SAS (without the platform being involved) and then open the HTML file in a browser, all will be good and rendered as you expect (so this means that the stored process you create will probably work OK in the Information Delivery Portal and EG once the code was turned into a stored process).

However, if you open your ODS HTMLPANEL output (from BASE SAS -- not as an SP) in either Word or Excel (not using AMO), you will see that neither product "panels" or renders the output in the same way as the browser does. This may argue against trying to use the HTMLPANEL destination.

cynthia
Contributor
Posts: 33

Re: How to specify an ODS event in Stored Process

Posted in reply to Cynthia_sas
Hi Cynthia,

sorry for the lack of information provided. I am going to use the SSP to create a html report delivered through SAS Portal. All I want is manually dispplay mixture of tables and graphs side by side. If HTMLPANL doesn't work , is there another way, ut using SSP and SAS Portal ? Thanks.
SAS Super FREQ
Posts: 8,868

Re: How to specify an ODS event in Stored Process

Hi:
ODS HTMLPANEL should work IF your SP will be run in the Info Delivery Portal. No guarantee for other client apps.

This means that you will be using a SP that is extremely limited in where it can be run. If you are using the %STPBEGIN method, you could specify your ancillary statements this way:
[pre]
*ProcessBody;
%let _ODSDEST=TAGSETS.HTMLPANEL;
%stpbegin;
ods &_ODSDEST event=row_panel(start);
ods &_ODSDEST event=column_panel(start);

*...code;
*...code;
ods &_ODSDEST event=column_panel(finish);
*...code;
*.... end all code;
%stpend;
[/pre]

You may actually want to work with Tech Support on this question, because the HTMLPANEL tagset would normally code an <IMG> tag with a location on the local machine. The issue with the Platform and the Info Delivery Portal, is that you may have to return package results to get the images streamed correctly.

cynthia
Ask a Question
Discussion stats
  • 3 replies
  • 427 views
  • 0 likes
  • 2 in conversation