PROCESO DE BLOQUEO
El sistema SAP necesita administrar su propio concepto de bloqueo, esto se logra utilizando el work process de enqueue, esto también asegura la independencia de la plataforma utilizada para el sistema. Para asegurar la consistencia de datos dentro de nuestro sistema SAP, debemos verificar que los datos no puedan ser ingresados ni cambiados por varios usuarios al mismo tiempo, para esto SAP tiene su concepto de bloqueo (Lock Management).
1.- Transacciones de Bases de Datos: Cada paso de Dialogo forma una unidad física y lógica, Desde la perspectiva de base de datos, cada paso de base de dialogoforma una unidad fisicay lógica: la transaccion de BD. El sistema de BD sobre el que corre sistema SAP puede coordinar este tipo de transacciones de BD.
2.- Transacciones SAP: Desde el punto de vista de SAP esto no es suficiente para asegurar la consistencia, el sistema SAP necesita administrar su propio sistema de bloqueo, esto se logra utilizando el work process de Enqueue (Encolado).
3.- Sistema de Bloqueo SAP: Funciona sobre el principio de que 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 otras ya para el objeto que intenta bloquearse.
4.- Enqueue Work Process: Maneja los bloqueos lógicos de las transacciones de SAP en la tabla de bloqueos, esta tabla se sitúa en la memoria principal de la instancia donde el proceso corre.
5.- Modos de Bloqueo: El sistema verifica si el bloqueo generará un conflicto con alguna de las entradas que ya existan en la tabla, los desarrolladores son los que deciden el modo de bloqueo para la aplicación.
Tipos de Bloqueos:
Exclusive Write Lock (Bloqueo de Escritura Exclusivo): Denominado con la letra “E” en la tabla de bloqueo, los datos bloqueados solo pueden ser editados por un usuario.
Share Lock Mode (Bloqueo de Lectura compartido): se identifican con la letra “S” en la tabla de bloqueo, se aceptan solicitudes de lectura, las de escritura son rechazadas.
Exclusive Noncumulative Write Lock (Bloqueo de Escritura Mejorado): Identificado con la letra “X” solo puede ser solicitado una vez, todas las demás solicitudes serán rechazadas.
Optmistic Lock (Bloqueo Optimistico): Denominados con la letra “O” en principio se establecen como bloqueos de lectura y luego pueden pasar a transformarse en bloqueo de escritura, permite bloqueos adicionales del mismo tipo sobre un objeto.