This "NOMSG" solved my problem, i was having erros on trying to lock the table while the table was still locked.
Here it's the full code:
/* Options to help debug the macro */
options mprint mlogic symbolgen;
%macro trylock(member=, timeout=);
%local starttime;
%let starttime = %sysfunc(datetime());
%do %until (&syslckrc = 0
or %sysevalf(%sysfunc(datetime()) > (&starttime + &timeout)));
%put trying to open ...;
%put trying lock ...;
lock &member NOMSG;
%if &syslckrc ne 0 %then %let rc=%sysfunc(sleep(15));
%put syslckrc=&syslckrc;
%end;
%mend trylock;
%trylock(member=&TABLE, timeout=&TIME_TO_CHECK);