![](/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/235.jpg)
Proceso de Bloqueo.
Para asegurar la consistencia de datos dentro de SAP se debe de asegurar que los registros de datos no puedan ser accedidos ni cambiados por mas de un usuario al mismo tiempo, para lograr esto, SAP tiene su propio concepto de administracion de bloqueos (lock managment)
Transacciones de base de datos: El sistema base de datos sobre el que correo SAP puede coordinar transacciones de base de datos.
Transacciones SAP: Estas se forman por una secuencia logica de pasos de trabajo relacionados consistentes en terminos de negocio, los cuales se forman generalmente de varios pasos de dialogo.
Work Process de enqueue: SAP para administrar su propio concepto de bloqueo, este lo logra utilizando el work process enqueue asegurando la independencia de plataforma utilizada para el sistema.
Sistema de bloqueo en SAP: Funciona sobre el principio de que los programas SAP realizan entradas de registros en la tabal de bloqueo, solo pueden generarse nuevas entradas en esta tabla si no existen otras.
Enqueue work process: Maneja los bloqueos logicos de las transacciones 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 lock table en la memoria principal para chequear si un nuevo bloqueo puede generarse, si no ocurrira un conflicto con un bloque ya establecido.
Si el bloqueo puede crearse, entonces el work process de dialogo crea la entrada en la tabla y entrega una llave al usuario lo cual lo mantiene en memoria en contexto al usuario.
Si el work process de dialogo y el enqueue work process corre en diferentes instancias se comunicaran a traves del message server, en este caso la solicitud se reenvia a traves de los respectivos dispatchers y el message server.
El work process es el que se encarga de chequear si puede o no crearse un bloqueo en la tabla, si es posible realiza el bloqueo, crea una llave y se envia a traves del dispatcher y el message server.
Modos de bloqueos
Cuando se solicita el bloqueo, el sistema verifica si el bloqueo genera un conflicto con algunas de las entradas que ya pudiesen existir en la tabla, si esto ocurre, la solicitud es rechazada y el sistema informa al usuario que la solicitud no puede realizarse en este momento.
Los desarrolladores son quieren deciden el modo de bloqueo para la aplicacion:
- Bloqueo de escritura exclusivo (exclusive write lock): denominado con la letra E en la tabla de bloqueos. Los datos bloqueados solo pueden ser editados por un usuario. el modo exclusivo (E) rechaza cualquier otro tipo de bloqueo por otra transaccion. 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, acepta solicitudes adicionales de lectura, todas las demas las rechaza.
- Bloque 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 otimistico (optimistic lock): denominados por la letra O, al comienzo se establecen como bloqueos de lectura y luego pueden transformarse en bloqueos de escritura, este permite bloqueos adicionales del mismo tipo sobre un objeto. Cuando un usuario para al modo de modificacion en una transaccion el bloqueo para a tipo E, si otros bloqueos tipo O existen sobre el objeto estos son eliminados de la tabla.
Para la revision de los bloqueos en el sistema es con la transaccion SM12
con la transaccion SM12 se puede liberar bloqueos pero hay que tener cuidado ya que SAP realiza los bloqueos cuando un dato se encuentra dentro de un evento transaccional pudiendo generar inconsistencia de datos.
 
 
 
Sobre el autor
Publicación académica de Guillermo Andres Reyes Navarro, en su ámbito de estudios para la Carrera Consultor Basis NetWeaver.
Guillermo Andres Reyes Navarro
Profesión: Ingeniero de Sistemas - Colombia - Legajo: LU47E
✒️Autor de: 51 Publicaciones Académicas
🎓Egresado de los módulos:
Disponibilidad Laboral: FullTime