SAP has an independent locking processover and above the database that it runs on, a LUW on SAP is may have different meaning and execution to what it is on Oracle or DB2.
Lock Transaction SM12:
The SAP system is equipped with a special lock mechanism the purpose of the lock mechanism is to prevent two transactions from changing the same data on the database simultaneously.
Locks are defined generically as “lock objects” in the Data Dictionary. Lock entries are usually set and deleted automatically when user programs access a data object and release it again.
The SAP lock mechanism is closely related to the Update Mechanism .
The documentation is divided into the following sections:
SAP Lock Concept: describes how the SAP lock works. You have to understand the concepts described here in order to use the SAP locks when you are programming applications. You can use different types of locks. The lock mode describes what type of lock it is.
S (shared Lock): Several users can access locked data at the same time in display mode. Requests from further shared locks are accepted, even if they are from different users. An exclusive lock set on an object that already has a shared lock will be rejected.
E(Exclusive): An exclusive lock protects the locked object against all types of locks from other transactions. Only the same lock owner can reset the lock .
Important Profile Parameters: A list of the profile parameters relevant for the lock concept.
enque/table_size: Size of the lock table managed by the enqueue server in the main memory. The lock table contains information on which locks are currently held by whom.
In this case, you should check whether the update server is functioning correctly, since the lock table can grow very fast if the update function stops. If no update problems exist, you can use this parameter to increase the size of the lock table.
The Computing Center Management System (CCMS) monitors the status of the lock table constantly and outputs warnings if the space available is not adequate.
Default value: 4096kb
rdisp/wp_no_enq: Number of enqueue work processes that are to run on this instance.
rdisp/enqname: Name of the application server that provides the enqueue service.
Managing Lock Entries: It describes lock management , which you use to display, check, and delete lock entries. This may be necessary if the SAP dispatcher, the operating system, or the network connection fails, and the dispatcher cannot delete lock entries. In this case, invalid lock entries remain effective and block access to the locked data when the system is restarted.
How to monitor a Lock entry:In SM12 check any lock entry older than 2 days, if any outdated entry check the corresponding User and check the user online or offline in AL08 and contact that User (you can get the User info from su01) and inform about the lock else if the user is offline release the table from lock by deleting the lock.