Your SAS programs, embedded in web apps and elsewhere

Using custom style in stored process

Posts: 0

Using custom style in stored process


I want to use custom style (custStyle) that i created using proc template (stored in sashelp.mystore) in my stored process.
Where I should put ods path code like ods PATH (PREPEND) sashelp.mystore; so that custStyle is available when i use _ODSSTYLE reserved macro variable ,(_ODSSTYLE=custStyleSmiley Wink in stored process.

Warm Regards,
Sunil Gandhi
Posts: 8,740

Re: Using custom style in stored process

This is a bigger question than just an ODS PATH question. Remember that the stored process server or workspace server have no visibility of files or libraries on your personal machine. So you need to get the style template written to the server file
system(s). And then, you may have to worry about a bit more than just your ODS PATH statement.

Sometimes, you need more than just a style template in the Enterprise Intelligence Platform -- you may need a style template and also a CSS version of the same template. That way, if your stored process will be returned to a web browser, then you can use the CSS version; if your stored process will be returned to Web Report Studio you'll have to use CSS instead of a SAS style template -- generally WRS ignores a custom style template or any _ODSSTYLE overrides. If you are using EG or the Add-in for Microsoft Office, you may need to make sure that a copy of the CSS file and a copy of the style template is on the right server for stored process execution. Or you may also need to override the _ODSSTYLESHEET option, which many of the client applications set by default and which could collide with your setting for _ODSSTYLE.

One thing that you could do, is write your stored process so that the template is "in-stream" and compiled into a temporary item store on the server every time the stored process is run. The Platform Administration Guide has a description of how to customize styles for WRS and the Portal (

Generally, the ODS PATH statement works like this for creating:
LIBNAME srvlib '//srvname/dir/subdir';
ODS PATH(PREPEND) srvlib.TemplateStore(UPDATE);
** you must have write access to the server location;
proc template code;


But then, that's just going to write the template to the server. You'll also have to make sure that the startup file (the one that starts up a server instance for executing stored processes) ALSO includes a LIBNAME and an ODS PATH statement when the server is started up. Or else you could include the template code in your stored process and create the template in WORK for each user.

For more help figuring our which method applies to your situation and which server is the right server and how to reference the style template and CSS on the server and how to set your LIBNAME statement and ODS PATH statements, your best bet for help is to contact Tech Support.

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