Para asegurar la consistencia de datos dentro de nuestro sistema SAP, debemos aseguranos que los datos no puedan ser accesados ni cambiados por varios usuarios al mismo tiempo, para esto SAP tiene su concepto de bloqueo, Lock Management.
1) Transacciones de Bases de Datos: Cada paso de Dialogo forma una unidad fisica y logica, la transacción de base de datos.
2) Transacciones SAP: Desde el punto de vista de SAP esto no es suficiente para asegurar la concistencia, el sistema SAP necesita administrar su propio sistema de bloqueo, esto se logra utilizando el workprocesses de Enqueue (encolado).
3) Sistema de Bloqueo SAP: Funciona sobre el principio sobre qeu los programas SAP realizan entradas de registros en la tabla de bloqueo (Lock Table) Solo pueden generarse nuevas entradas en esta tabla si no existen otras ya para el objeto que intenta bloquearse.
4) Enqueue WorkProcces: Maneja los bloqueos logicos de las transacciones de SAP en la tabla de bloqueos, esta tabla se situa en la memoria principal de la instancia donde el proceso corre.
5) Modos de Bloqueo: El sistema Verifica si el bloqueo generará un conflicto con alguna de las entradas qeu ya puedan existir en la tabla, los desarrolladores son los que deciden el modo de bloqueo para la aplicación.
- Bloqueo de Escritura Exclusivo (Exclusive Write Lock) Denominado con la letra E en la tabla de bloqueo, los datos bloqueados solo pueden ser editados por un usuario.
- Bloqueo de Lectura compartido (Share Lock Mode) se indentifican con la letra S en la tabla de bloqueo, se aceptan solicitudes de lectura, las de escritura son rechazadas.
- Bloqueo de Escritura Mejorado (Exclusive Noncumulative Write Lock), Identificado con la letra X, solo puede ser solicitado una vez, todas las demas solicitudes se rechazan.
- Bloqueo Optimistico (Optmistic Lock), Denominados con la letra O, l comienzo establecen como bloqueos de lectura y luego pueden transformarse en bloqueo de escricutra, permite bloqueos adicionales del mismo tipo sobre un objeto.
La transacción SM12 Muestra los bloqueos que actualmente hay en el sistema.