‎2010 Jan 08 7:56 AM
hi
i have a problem about lock table now .
i have a program(A) to LOCK TABLE ZSTUDENT.
NOW program(A) have locked TABLE ZSTUDENT ,before TABLE ZSTUDENT was unlocked, i open anther program(B) to lock TABLE ZSTUDENT,now sy-subrc mustn't be 0, now i hope the program(B) could wait until program(A) unlock TABLE ZSTUDENT ,how should i do?
if program(A) lock the TABLE ZSTUDENT for 20mins,i hope program(B) could wait for 20mins.
thanks.
‎2010 Jan 08 8:12 AM
Hello,
Use the below function module. Then sy-subrc will not be 0 when called from program B.
CALL FUNCTION 'ENQUEUE_E_TABLES'
EXPORTING
mode_rstable = 'E'
tabname = <table name>
EXCEPTIONS
foreign_lock = 1
system_failure = 2
OTHERS = 3.
In program B, you can call this in Do - EndDo and exit when sy-subrc is 0
Regards,
Janani
Edited by: janani chakrapani on Jan 8, 2010 1:42 PM
‎2010 Jan 08 8:13 AM
In program B check if table is unlocked each minute. If so proceed the processing
"program B
do.
"check if table unlocked
if sy-subrc = 0.
exit. "exit to proceed furhter
else.
wait up to 60 seconds.
endif.
enddo.
....
Regards
Marcin