✒️SAP BASIS El proceso de bloqueo
SAP BASIS El proceso de bloqueo
PROCESOS DE BLOQUEOS
1. Transacciones de Bases de Datos
En la lecciòn anterior vimos que cada paso de dialogo forma una unidad fìsica y logica, la transacciòn de base de datos.
El sistema de base de datos sobre el que corre nuestro sistema SAP puede coordinar este tipo de transacciones de base de datos.
2. Transacciones SAP
No es suficiente para asegurar la consistencia porque las transacciones SAP, las cuales se forman por una secuencia lògica de pasos de trabajo, que son consistentes en terminos de negocio, las cuales se forman generalmente de varios pasos de dialogo.
El sistema SAP necesita administrar su propio concepto de bloqueo. Esto se logra usando el work process de Enqueue (encolado). Esto asegura la independencia de la plataforma utilizada por el sistema.
3. Sistema de Bloqueo en SAP
El concepto de bloqueo en SAP funciona sobre el principio de que los programas SAP realizan entradas de registros en la tabla de bloqueo (Lock Table), se puede generarse nuevas entradas en esta tabla si no existen otras y para el objeto que intenta bloquearse.
4. Enqueue Work Process
El Enqueue work process maneja los bloqueos lògicos 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.
La Instancia central es aquella donde el enqueue work process se encuentra corriendo.
Un work process de dialogo que corre en la misma instancia que el enqueue process puede acceder directamente la tabla de bloqueo en la memoria principal para chequear si un nuevo bloqueo puede generarse. Esto es si no ocurrirà un conflicto con un bloqueo ya establecido.
Si el bloqueo puede crearse, entonces el work process de dialogo crea la entrada en la tabla y se la 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 process corren en diferentes instancias se comunican a travès del messager server a travès de respectivos dispatchers y el 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 travès del dispatcher y el message server.
5. Modos de Bloqueos
Cuando se solicita el bloqueo, el sistema verifica si el bloqueo generarà un conflicto con alguna de las entradas que ya pudiesen existir en la tabla. Si esto ocurre la solicitud de bloqueo es rechazada. La aplicacion informa al usuario que la operaciòn solicitada no puede realizarse en este momento.
Los MODOS DE BLOQUEO SON:
1. Bloqueos de Escritura Exclusiva (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 E Exclusivo rechaza cualquier otro tipo de bloqueo por otra transacciòn. Solo puede acumular otros bloqueos E por el mismo usuario.
2- Bloqueo de lectura Compartido. (Shared Lock Mode): Estos bloqueos se identifican con la letra S en la tabla de bloqueo. Se acpetan solicitudes de lectura y las de esciruta se rechazan.
3. Bloqueo de Escritura Mejorado (Exclusive Nocumulative Write Lock).: identificados con la letra X en la tabla. Solo puede ser solicitado una vez, todas las demàs solicitudes se rechazan.
4. Bloqueo Optimistico (Optimistie Lock): identificado con la letra O en la tabla de bloqueo. Al comienzo se establecen como bloqueos de lectura y pueden transformarse en bloqueos de escritura . Permiten bloqueos adicionales al mismo tipo sobre un objeto.Cuando un usuario pasa al modo de modificaciòn en una transacciòn el bloqueo pasa al tipo E. Si otros bloqueos O existen sobre el objeto estos son eliminados de la tabla.
La Transaccion SM12 muestra los bloqueos actualmente en el sistema.
 
 
 
Sobre el autor
Publicación académica de Edwin Vargas Guzman, en su ámbito de estudios para la Carrera Consultor Basis NetWeaver.
Edwin Vargas Guzman
Profesión: Ingeniero Electronico - Colombia - Legajo: XS14Z
✒️Autor de: 52 Publicaciones Académicas
🎓Egresado del módulo:
Certificación Académica de Edwin Vargas