DATA Step, Macro, Functions and more

PROC LASR is trying to write a .lst file - account doesn't have permission.

Accepted Solution Solved
Reply
Contributor
Posts: 21
Accepted Solution

PROC LASR is trying to write a .lst file - account doesn't have permission.

[ Edited ]

Hi there

 

Around a week or so ago, a macro I use to load data into LASR started exhibiting the behaviour as per the post title. It's trying to put out one of those ".lst" files you'd normally get as part of a PROC SQL that doesn't have the NOPRINT option in place. I don't want the file, and the account that's running doesn't have permission to write under the AppServer directory which is where it's pointing to. Because it doesn't have permission, the whole thing ERRORs out.

 

So, I've spoken to SAS who have offered an option to completely disable the output:

%macro disablelisting; 
   /* Disable listing file output */ 
   filename nulpath dummy; 
   proc printto print = nulpath; 
   run; 
%mend; 
%disablelisting; 

But I don't want to do this just in case someone across the wider business actually needs some sort of output as part of their own procedures.

 

So, does PROC LASR have its own explicit option to turn off output routing? Why is it even trying to write this file when there's a good enough log being written to?

 

 Log output for context:

MPRINT(MACRONAME):   proc lasr port = xxxxx data = HDFSLIB.DATASETNAME add noclass SIGNER = 
"https:// ... SASLASRAuthorization" ;
MPRINT(MACRONAME):   performance host=
MPRINT(MACRONAME):   " ... " ;
MPRINT(MACRONAME):   run;

NOTE: The LASR procedure is executing in the distributed computing environment with xx worker nodes.

ERROR: Insufficient authorization to access /opt/sas/config/Lev1/xxx/JOBNAME.lst.
NOTE: The SAS System stopped processing this step because of errors.

Thanks in advance for any help

 

Dan


Accepted Solutions
Solution
‎01-22-2018 03:15 AM
Super User
Posts: 3,870

Re: PROC LASR is trying to write a .lst file - account doesn't have permission.

I suggest you try adding these statements to your macro:

 

ods listing close;

proc lasr......;
.......
run;

ods listing;

You can test that LIST output is switched back on by trying say a PROC PRINT afterwards.

View solution in original post


All Replies
Solution
‎01-22-2018 03:15 AM
Super User
Posts: 3,870

Re: PROC LASR is trying to write a .lst file - account doesn't have permission.

I suggest you try adding these statements to your macro:

 

ods listing close;

proc lasr......;
.......
run;

ods listing;

You can test that LIST output is switched back on by trying say a PROC PRINT afterwards.

Respected Advisor
Posts: 4,698

Re: PROC LASR is trying to write a .lst file - account doesn't have permission.

@_Dan_

SAS installation default is for a SAS session to point to the folder location where SAS got started from - which is the app server context folder. It's a good thing that at your site security is set up in a way which doesn't allow your jobs to write random files to this folder.

 

Besides of changing the output location or suppressing output in your code, you could also change the default location to somewhere more suitable like a temporary location which gets cleaned out regularly.

 

A SAS admin could amend the SAS startup scripts to issue a CD command in Unix as part of SAS invocation and I believe for Windows system option SASINITIALFOLDER can be used for this. Doing it on this level would resolve your current and any similar future problems once and for all.

Contributor
Posts: 21

Re: PROC LASR is trying to write a .lst file - account doesn't have permission.

Thanks both.

 

For now I'll try the ODS LISTING CLOSE route as the easiest to test. I am still troubled as to why the PROC LASR procedure that has run flawlessly for months has suddenly decided to start writing out .lst files.

 

 

Cheers

 

Dan

Respected Advisor
Posts: 4,698

Re: PROC LASR is trying to write a .lst file - account doesn't have permission.

@_Dan_

"...why the PROC LASR procedure that has run flawlessly for months has suddenly decided to start writing out .lst files"

 

Something must have changed in the environment whether you are aware of it or not.

Contributor
Posts: 21

Re: PROC LASR is trying to write a .lst file - account doesn't have permission.

You're not wrong @Patrick. Unfortunately the infrastructure is not under my remit, just everything else.
☑ This topic is solved.

Need further help from the community? Please ask a new question.

Discussion stats
  • 5 replies
  • 126 views
  • 0 likes
  • 3 in conversation