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
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.
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.
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
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.
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. .
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.
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
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.
Ready to level-up your skills? Choose your own adventure.