Hi:
Are you really running a SAS Stored Process in the context of the SAS Enterprise Intelligence Platform or are you calling your .SAS program a Stored Process??? There's a HUGE difference.
Before you call Tech Support, but there are some underlying facts that will impact what you tell them:
1) ODS HTML creates an HTML file -- no matter what file extension you give the file, it is still HTML. A file extension of .XLS only serves to fool the Windows registry into launching Excel when you double click on the output in a SAS Results Windows. Tech Support needs to know whether you are running your stored process from within the SAS Add-in for Microsoft Office, SAS Enterprise Guide or the SAS Information Delivery Portal. The code that you show is not the correct way to code a SAS Enterprise Intelligence Stored Process.
2) A stored process can only send results back to a client application as:
-- streaming (following an HTTP protocol using a special FILEREF known as _WEBOUT
-- transient package (written to a temporary cache file as a zip-like archive)
-- permanent package (written to a webDAV location) OR, if configured correctly, can be written to a local file system. The method you're using
[pre]
ods html file="e:\My.xls";
[/pre]
...is NOT the correct method for coding a stored process and designating results. For one thing, unless there is an "E" drive attached to the Stored Process Server or the Workspace Server, the stored process cannot write directly to this location. If the "E" drive is attached to YOUR personal machine, neither the Stored Process Server or the Workspace server have any visibility of your personal machine. For another thing, when you register your stored process in the Metadata you tell the Metadata server what type of result type your stored process will return. (see below)
3) A stored process can ONLY return one type of output. Generally, the client application (Word, Excel, EG, Web Report Studio, Portal) has a specific way to deal with output and accept or receive and render stored process results. When you talk to Tech Support, you will have to tell them WHAT client application you are using to receive the stored process results. For example:
Word: receives ONLY HTML, SASReport XML and RTF
Excel: receives ONLY: HTML, SASReport XML and CSV
PPT: receives ONLY: SASReport XML
WRS: receives ONLY: SASReport XML
Information Delivery Portal: Can receive ANY type: HTML, SASReport XML, RTF, PDF, .XLS (from ODS TAGSETS.EXCELXP) -- however, you need to use the STPSRV_HEADER function with these stored processes to set the correct "content-type" header for the Portal
EG: receives ONLY: SASReport XML, HTML, RTF, PDF
4) Your code does not use _WEBOUT -- which is one possibility for coding an SP for use on the Portal; for other client applications your code does not have %STPBEGIN/%STPEND or *ProcessBody; -- as required by the servers on the Enterprise Intelligence Platform.
5) Finally, I don't understand what you mean when you say you "wanted to provide a preview of the data on the script so I just did a PROC PRINT like I do normally". A stored process program is different from a batch SAS job. For example, in Batch SAS, you could do this:
[pre]
** step 1;
ods html file='e:\send_to_browser.html' style=sasweb;
...Proc Print code;
ods html close;
** step 2;
ods html file='e:\open_with_Excel.xls';
.... other code;
ods html close;
[/pre]
and create two PHYSICAL files from within 1 program. However, you cannot just convert a program like this to 1 stored process unless you are using packages as the output type -- which you have not coded.
You still need to work with Tech Support, but they will need to know the following:
-- Are you really talking about a SAS Stored Process which runs on the SAS Enterprise Intelligence Platform? And if so, then these answers as well:
-- How did you create your stored process
-- How did you register your stored process
-- What is the execution information for your stored process (including the result type that you specified -- streaming, transient, or permanent package output
-- where is your stored process executing -- stored process server or workspace server?
-- what client application(s) will you use to execute your stored process
-- what is your FULL stored process code??
cynthia