✒️SAP BASIS El proceso de bloqueo
SAP BASIS El proceso de bloqueo
Procesos de Bloqueo
Para Asegurar la consistencia de datos dentro de nuestro sistema SAP, hay que asegurarse que los registro de datos no puedan ser accedidos y cambiados por más de un usuario al mismo tiempo.. para ello el sistema SAP tiene su concepto de Administración de Bloqueos(Lock Management)
Transacciones de Base de Datos
Cada paso de diálogo forma una unidad física y lógica llamada transacción de BD. el sistema de BD sobre el que correo nuestro sistema SAP coordina las transacciones de BD.
TRansacciones SAP
El Sistema Sap administra su concepto de Bloqueo. utilizando el work process de Enqueue. para asegurar la independencia de plataforma utilizada para el sistema
Sistema de Bloqueo en SAP
El concepto de bloqueo en SAP funciona sobre el principio de que los programas SAP realizan entradas de registro en la tabla de Bloqueo (lock table). solo puede generarse nuevas entradas en esta tabla si no existen otras ya para el objeto que intenta bloquearse.
Enqueue Work Process
maneja los bloqueos lógicos de las transacciones de SAP en la Tabla de Bloqueos. Esta se sitúa en la memoria principal de la instancia donde corre el proceso.
un work process de diálogo 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.
Si el bloqueo puede crearse, el work process de diálogo crea la entrada en la tabla y se le entrega una Key al usuarios la cual se mantiene en la memoria de contexto de usuario.
si el Work process de diálogo y el enqueue work process corren en diferentes instancias se comunican a través del message server.. En este caso la solicitud es enviada desde el Work process de diálogo al enqueue work process a través de los respectivos dispatcher y message server.
el enqueue work process es quien se encarga de chequear si puede crearse un bloqueo en la tabla. si es posible lo realiza y la key se envía por el dispatcher y mesaage server.
Modos de BLoqueos
cuando es solicitado un bloqueo, el sistema verifica si el bloqueo generará un conflicto con alguna de las entradas que ya pudieran existir en la tabla. si es así. La solicitud es rechazada.
los desarrolladores son quienes deciden el modo de bloqueo para la aplicación, existen varios tipos y son:
-
bloqueo de escritura exclusivo (exclusive write lock) se identifica con la letra E en la tabla de bloqueos..en este caso los datos bloqueados solo pueden ser editados por un usuario.. se rechaza cualquier otro tipo de bloqueo por otra transacción. y solo se pueden acumular otros bloqueos E por el mismo usuarios.
Bloqueo de lectura Compartido (Shared Lock Mode) de representan con la letra M en la tabla de Bloqueo. en este caso si se aceptan solicitudes adicionales de lectura, pero una solicitud de escritura es rechazada.
-
Bloqueo de Estrictura Mejorado (Exclusive NonCumulative Write Lock) se identifica con la letra X en la tabla de bloqueos. y solo puede ser solicitado una vez. todas las demás solicitudes son rechazadas.
-
BLoqueo Optimistico (Optimistic Lock) se representa con la letra O en la tabla de Bloqueos. inicialmente son establecidos como bloqueos de lectura pero luego podrán transformarse en bloqueos de escritura.. se permite bloqueos adicionales del mismo tipo sobre el objeto.
cuando un usuario pasa al modo de modificación en una transacción el bloqueo pasa al tipo E. si otros bloqueos de tipo O existen sobre el objeto esos son eliminados de la Tabla.
La Transacción SM12 es la que se encarga de mostrar los bloqueos existentes en el sistema.
Si se actualizan datos en sesiones simultaneas y borra el bloqueo existente, se guarda solo la última modificación… esto no hubiese ocurrido si no hubiésemos borrado el bloqueo…
Nunca debemos eliminar bloqueos de la tabla de bloqueo a menos que estemos seguros de que el usuario que lo generó no está trabajando en el sistema. De otra forma podemos provocar inconsistencias en los datos.
 
 
 
Sobre el autor
Publicación académica de Andrea Maria Elizabeth Aquino Pedrozo, en su ámbito de estudios para la Carrera Consultor Basis NetWeaver.
Andrea Maria Elizabeth Aquino Pedrozo
Paraguay - Legajo: RR32J
✒️Autor de: 25 Publicaciones Académicas
🎓Egresado del módulo:
Disponibilidad Laboral: PartTime
Certificación Académica de Andrea Aquino