![](/cvo_files/imgs_sap_abap/logos/logo_cvo_academy_it.png)
✒️SAP BASIS El proceso de bloqueo
SAP BASIS El proceso de bloqueo
![SAP BASIS El proceso de bloqueo SAP BASIS El proceso de bloqueo](https://www.cvosoft.com/cvo_files/imgs_sap_abap/og-images/196.jpg)
Lock Management: es el concepto de administracion de bloqueos que le permite al sistema SAP asegurarse que los registros de datos no puedan ser accedidos y cambiados por mas de un usuario al mismo tiempo.
1. Transacciones de base de datos
Cada paso de dialogo forma una unidad fisica y logica lo que conocemos como transaccion de base de datos.
2. Transacciones SAP
Se forman por una secuencia logica de pasos de trabajo relacionados que son consistentes en terminos de negocio, los cuales se forman generalmente de varios pasos de dialogo.
Para administrar el concepto de bloqueo SAP utiliza el work process de enqueue (encolado), esto asegura la independencia utilizada para el sistema.
3. Sistema de bloqueo en SAP
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 ya para el objeto que intenta bloquearse.
4. Enqueue Work Process
Maneja los bloqueos logicos de las transacciones de SAP en la tabla de bloqueo. Esta tabla se situa en la memoria principal de la instancia donde el proceso corre.
Un work process de dialogo que corre en la misma instancia que el enqueue work process puede acceder directamente a la tabla de bloqueo en la memoria principal para chequear si un nuevo bloqueo puede generarse, esto es, si no ocurriera un conflicto con un bloqueo ya establecido.
Si el bloqueo puede crearse, entonces el work process de dialogo crea en la tabla y se le entrega una key (llave) al usuario, la cual se mantiene en la memoria de contexto de usuario.
Si el work process de dialogo y el enqueue work process corren en diferentes instancias se comunicaran a traves del message server.
Ahora el enqueue work process es quien se encarga de chequear si puede crearse un bloqueo en la tabla, si esto es posible, el bloqueo se realiza y la key generada se envia a traves del dispatcher y el message server.
5. Modos de bloqueos
Cuando se solicita el bloqueo, el sistema verifica si el bloqueo generara un conflicto con alguna de las entradas que ya pudiesen existir en la tabla. Si esto ocure, la solicitud de bloqueo es rechazada. La aplicacion informa al usuario que la operacion solicitada no puede realizarse en este momento.
- Bloqueo de Escritura Exclusivo (Exclusive write lock): denominado con la letra E en la tabla de bloqueos. Los datos de bloqueo solo pueden ser editados por un solo usuario. Solo puede acumular otros bloqueos E por el mismo usuario.
- Bloqueo de Lectura Compartido (Shared Lock Mode): estos bloqueos se identifican con la letra S en la tabla de bloqueo. Se aceptan solicitudes adicionales de lectura. Una solicitud de escritura es rechazada.
- Bloqueo de Escritura Mejorado (Exclusive Noncumulative Write Lock): identificados con la letra X en la tabla, solo puede ser solicitado una vez, todas las demas solicitudes se rechazan.
- Bloqueo Optimistico (Optimistic Lock): denominados con la letra O en la tabla de bloqueo. Al comienzo se establecen como bloqueos de lectura y luego pueden transformarse en bloqueos de escritura. Permite bloqueos adicionales del mismo tipo sobre un objeto.
Cuando un usuario pasa al modo de modificacion en una transaccion el bloqueo pasa al tipo E. Si otros bloqueos de tipo O existen sobre el objeto, estos son eliminados de la tabla.
Transaccion SM12: muestra los bloqueos que actualmente hay en el sistema. Se utiliza para la revision de los bloqueos, incluso se pueden liberar desde esta transaccion. Se debe usar con mucha cautela pues los bloqueos generalmente SAP los realiza cuando un dato se encuentra dentro de un evento transaccional, es decir, que se ejecuta todo o nada y si lo liberamos podriamos generar inconsistencia de datos.
 
 
 
Sobre el autor
Publicación académica de Meyer Macabeo, en su ámbito de estudios para la Carrera Consultor Basis NetWeaver.
Meyer Macabeo
Profesión: Consultor Sap Basis - Mexico - Legajo: BE53Z
✒️Autor de: 65 Publicaciones Académicas
🎓Cursando Actualmente: Consultor en SAP BASIS Nivel Avanzado
🎓Egresado del módulo:
Certificación Académica de Meyer Macabeo