Well in theory, the QUERY or SHOW options of the LOCK statement should allow you to check if a table has been locked by some other process.
Actually there is a bug, and those options might not work as expected:
http://support.sas.com/kb/2/859.html
But, if the log is the only problem, try the following macro:
%macro lock_try(DATA);
filename tempfile temp;
proc printto log=tempfile; run;
lock &DATA;
proc printto; run;
%mend lock_try;
%lock_try(LIB007.TAB00130);
It will attempt to lock the provided table, and redirect the log to a temporary file.
No message will be displayed in the log.
To see if the lock was successful, just check the value of the SYSLCKRC automatic macro variable.
More about redirecting output/log to a file:
http://support.sas.com/documentation/cdl/en/basess/58133/HTML/default/a001330273.htm
Cheers from Portugal.
Daniel Santos @ www.cgd.pt.
... View more