BookmarkSubscribeRSS Feed
ucvikas
Obsidian | Level 7

Hi ,

I have one macro (filename.sas) and I call this macro for the purpose of creation of SAS grpahs and tables(having proc report,sgplot,gplot etc);There are many instances when this macros is called simultaneously by one SAS program( macro_call.sas) using %include  ; To understand problem better program (macro_call.sas) is executed multiple time which inturn calls macro (filenam.sas) . during execution some intances gets error saying that macro_call.lst file is in use . Reason is that each instance uses the same file macro_call.lst to update the lisitng .Is there any way that .LST file is not created in batch mode of the exection?I do not require it for my purpose I know that I may have to modify SAS configuarion fiile so that it does not create it ; But It would be nice if I get multiple options to choose from and then decide which suits best to me ;

thx

6 REPLIES 6
LinusH
Tourmaline | Level 20

Why do you havea .sas-prgram to make the macro calls? Is there a lot of other logic going on there a part from the macro call?

Haven't had this issue myself, but my guess is that some proc or something else generates listing output, try to spot these. For instance, use the NOLIST option with Proc SQL.


Data never sleeps
Tom
Super User Tom
Super User

Sounds like the macro is hard coded to write to that lst file. Perhaps it has a PROC PRINTTO or some other method to redirect listing output?

You should turn that off.

PaigeMiller
Diamond | Level 26

Also ODS LISTING CLOSE; will shut off listing output, you can put it at the start of your program if you want to turn off listing output globally

--
Paige Miller
DominicDavis
Calcite | Level 5

Thank you for this suggestion.  I had difficulty with batch load of datasets to LASR using cron.  No problem loading to HDFS, but when loading to LASR the program's .lst file was locking processes when multiple jobs needed to run.   ODS LISTING CLOSE; suppressed the file entirely and solved the problem.

ucvikas
Obsidian | Level 7

Thanks every one for your suggestions . I found proc printto to create .lst file with different name and then clear it at the end of process ;so that I dont get locking kind of errors. For the time being it seems to be good as going via config file change route will require more effort as I am not admin. Smiley Happy.


jakarman
Barite | Level 11

sounds like by not using the LASR en HDFS would also solve your problem.

When you need the information by .lst en .log use date/time/pid indicators as common for EIP using server log files.  

---->-- ja karman --<-----

SAS Innovate 2025: Save the Date

 SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!

Save the date!

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.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 6 replies
  • 8479 views
  • 3 likes
  • 6 in conversation