![](/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/259.jpg)
TRANSACCIONES DE BASE DE DATOS
El Lock Management es un gestor de bloqueos que evita que los registros de datos de nuestro SAP no puedan ser accedidos y cambiados por más de un usuario a la vez.
Cada paso de dialogo forma una unidad lógica y física -> la transacción de la DB
El sistema de DB donde esta nuestro sistema SAP coordina este tipo de tx de DB
TRANSACCIONES SAP
Las TX de SAP se forman por una secuencia lógica de pasos de trabajo relacionados que son consitentes en temino de negocio. Estos proceos se forman de varios pasos de dialogo.
EL sistema SAP gestiona su bloqueo -> usando el work process de enqueue.
SISTEMA DE BLOQUEO EN SAP
El bloqueo de sap se basa en el hecho de que los programas SAP crean registos en la tabla de bloqueo (lock table). -> solo se generan nuevas entradas si en esta tabla no hay otras para el objeto que intenta bloquearse.
ENQUEUE WORK PROCESS
El enqueue work process gestiona los bloqueos lógicos de la tx de sap en la tabla de bloqueo.
Esta tabla esta en la memoria principal de la instancia donde está el proceso.
En esta foto vemos un escenario con dos instancia y la IC es la que tiene el enqueu work process coerriendo.
Un work process de diaolog que se ejecuta en la misma instancia que el enqueue work process puede acceder directamente a la tabla de bloqueo en la memoria principal para generar un nuevo bloqueo.
Si el bloqueo se puede crear-> el work process de dialogo crea la entrada en la tabla de bloqueos y le da una key al usuario que se guarda en la memoria de conexto de usuario.
Pero si el WP e dialogo y el ENQ WP corren en distintas instancias-> se comunican a través del MESSAGE SERVER. -> la solicitud de bloqueo se reenvia desde el WP de dialogo al enque work process a través de sus dispatchers y el MS.
Ahora el Enqueue work process -> revisa si se puede crear el bloqueo en la tabla.
Si es posible -> se bloquea y la key generada se envía por el dispatcher y el MS
MODOS DE BLOQUEOS
Los desarrolladores deciden el modo de bloqueo para la aplicación:
-Exclusive write lock -> E-> los datos bloqueados solo son editados por un usuario.
Rechaza cualquier otro tipo de bloqueo por otra tx.
Solo pueden acumular otros bloqueos E por el mismo usuario.
-Shared lock mode ->S-> Acepta solicitued adicionales de lectura.
La solicitud de escritura se rechaza.
-Exclusive noncumulative write lock ->X-> Solo se solicita una vez-> las demás se rechazan.
-Optimistic lock->O->Al principio son bloquos de lectura y luego se pueden transformar en bloqueo de escritura
Permite bloqueos adidionales del mismo tipo sobre un objeto.
Si se pasa al modo de modificación en un tx-> el bloqueo pasa a ser E
Si bloqueos de tipo O existen sobre el objeto-> se eliminan de la tabla.
La tx sm12 –muestra los bloqueos actuales.
-
Se pueden liberar los bloqueos desde esta tx
Ejemplo de tx SM12
 
 
 
Sobre el autor
Publicación académica de Xavier Elias Rodriguez, en su ámbito de estudios para la Carrera Consultor Basis NetWeaver.
Xavier Elias Rodriguez
Profesión: Tecnico Junior Sap - España - Legajo: FJ23L
✒️Autor de: 96 Publicaciones Académicas
🎓Egresado de los módulos:
Certificación Académica de Xavier Elias