What
is an SAP lock ?
Different types of SAP locks ?Difference between Write lock(E)
and Enhanced write lock(X) ?
How to monitor SAP locks ?How to delete SAP locks ?
SAP lock is set by the executing workprocess when a user/job
wants a change access to data.
Whenever a lock to be set the respective workprocess checks in
the locktable whether a respective lock conflicts the existing entries in
the locktable. If so, a lock is refused. If there is no
conflict, then a lock is set.
There are different types of locks :
Write locks (E) : This is also known as exclusive
lock mode as the lock data can be edited by only one user. Any other requests
from
workprocesses to set another write lock or read lock are
rejected. A cumulate lock can be applied on the lock data by the same lock
owner again.
Read locks (S) : This is also known as shared lock
mode as several users can have read access to the locked data at the same time.
Additional read lock requests are entertained even if they are
from different users. However a write lock is rejected.
Enhanced write locks (X) : This is also known as exclusive
non-cumulative lock mode. An enhanced write lock can be requested only
once even if it is by the same transaction.
Difference between write locks(E) and Enhanced write lock(X) is
write locks can be set and released by the same transaction
several times but X type locks can also be set once even by the
same transaction.
Optimistic locks (O) : These locks are set up when the
users displays the data in change mode. Several optimistic locks can be setup
on the same data. Optimistic locks are read locks(S) at first
and converted to write lock (E) when the users wants to save the data. If
an optimistic locks on a data is changed to write lock(E), all
other optimistic locks on that data will be deleted.
Locks that are set by an application program are released by the
program itself or they are released by the update program once the
database has been changed.
Transaction code SM12 can be used to monitor SAP locks.
Here you have option of selecting locks based on following
parameters
tablename
lock argument
client
username
In case, as part of monitoring, if you encounter some old sap
locks and after thorough analysis, you would like to delete these, it can be
done in the following ways :
Select the locks and delete the lock from SM12
Identify the user who has set the respective lock and end the
user session using SM04 transaction code.