- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Hello, new to SAS, I'm not actually trying to learn it but running code provided by another company that we use in some of our data processing.
First I'd like to note that I've (a) reviewed a number of threads with similar errors and none seem to apply, and (b) I found a workaround to the specific error I'm facing. I'm trying to understand what the cause is so I can resolve it rather than just working around it.
I've also tried specifying SASINITIALFOLDER and granting this account admin rights on this machine. Note that [filename] matches the specific driver .SAS file being called by our exe. (The final output of the SAS program has a related but distinct name and is not an lst)
Scenario:
1) Running on Windows 7
2) happens only for the service account our application is running under
3) happens only on a more recently provisioned machine - on an older one, the script works fine (it's possible there's additional configuration meant to be carried out on the new machine, but since I'm not very familiar with SAS, I'm not sure what that might be--we don't really have the setup documented)
4) If I run the application calling sas under the service account in visual studio debug mode, there's no problem
5) paths being passed to the SAS program are all absolute, although I don't know if that's the case for all internal paths
6) other than in the error message, there's not a direct reference to the .lst file.
The successful workaround I've found is issuing this command anywhere in SAS program files:
ODS LISTING CLOSE;
It appears that C:\Windows\System32 is the default SAS will use when relative paths, but I can't fathom why this would be an issue. No paths passed into the program are relative. Based on another thread I verified that the working directory is reported as folders in Users\Temp, not System32 (when running SAS under the service account or my own).
Does SAS have a user-specific setting that might be controlling where listing output is dumped? I'm still trying to understand the SAS program better and have looked through the results of "proc options;" but was hoping an expert or experienced user might have a clearer idea of what's going on based on the information presented here.
Thanks.
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Hi Reeza, no, it only produces a tab-separated text file enumerating the results of its calculations (it's a risk scoring application).
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Some statistical procedures might try to generate graphics files. Try turning it off.
ods graphics off;
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
LST used to be the default output.
I wonder if this account is set up with that as the default output still or requesting LST somewhere? No ODS statements or ODS ALL?
@schulb wrote:
Hi Reeza, no, it only produces a tab-separated text file enumerating the results of its calculations (it's a risk scoring application).
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
I suspect you are running your SAS program in batch mode. If this is the case do you specify -OUTPUT "MyOutputFile.lst" option when invoking? Your symptoms suggest that maybe you are not and SAS is producing some accidental output.
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
There are a tankerload of methods to create output in SAS. E.g.
proc sql;
select count(*) into :nobs from have;
quit;
which should only create a macro variable by design, will also write the value to the output destination, because the programmer forgot to use the noprint option in the proc sql statement.
So we can't tell you what causes your problem without seeing all the code.
BTW
"I'm not actually trying to learn it but running code"
I wouldn't want be on the street when you're driving, if that is your way to go about life 😉
If you need to use a tool, learn how to use it. No way around that, if you want to keep all your fingers.