08-10-2016 05:07 PM
It looks like your stored process web output destination is defaulting to a SAS installation configuration folder which typically read-only for most SAS users.
Often this destination is defined in a FILENAME statement like: filename _webout "Your webout folder";
Try a FILENAME statement in EG pointing to a server-based folder you have write access to.
08-11-2016 03:50 AM - edited 08-11-2016 03:57 AM
_webout is a fileref that is automatically defined when a stored process is configured for stream output and run within a suitable context (usually via /SASStoredProcess from the web application server)
If you want to assign it a suitable filename when run from SAS code, look here how it is done:
Edit: if you already declared that file reference, you missed the fact that you have to use an "absolute" pathname in UNIX.
Absolute pathnames start from the root directory (therefore they start with a forward slash / ); names that do not start with a slash are considered relative to the current workling directory, which is in the SAS configuration tree for Workspace and Stored Process servers. You must not have write permission there, which is the reason for your ERROR.
If your stored process is run from the STP server, you must write your file to a location where the system's userid sassrv has write permission; if your STP is executed on a Workspace server, using $HOME/filename is sufficient, as the Workspace server runs under your own UID.
01-18-2018 04:13 AM
I recently had an issue as the STP I was testing was writing to a pdf destination. As per this stackoverflow question (credit: DomPazz) I think there is now a solid answer to your conundrum.
Simply test to see if you are in an STP session, and if not, write to the cache!
%if not (%symexist(_metaperson)) %then %do; /* not an STP so redirect _webout */ filename _webout cache; %end;