BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
_Dan_
Quartz | Level 8

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

1 ACCEPTED SOLUTION

Accepted Solutions
SASKiwi
PROC Star

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

5 REPLIES 5
SASKiwi
PROC Star

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.

Patrick
Opal | Level 21

@_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.

_Dan_
Quartz | Level 8

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

Patrick
Opal | Level 21

@_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.

_Dan_
Quartz | Level 8
You're not wrong @Patrick. Unfortunately the infrastructure is not under my remit, just everything else.

sas-innovate-2024.png

Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.

Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.

 

Register now!

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

Find more tutorials on the SAS Users YouTube channel.

Click image to register for webinarClick image to register for webinar

Classroom Training Available!

Select SAS Training centers are offering in-person courses. View upcoming courses for:

View all other training opportunities.

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