Tuesday 30 April 2013

What is an SAP lock ?


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.






No comments:

Post a Comment