✒️SAP BASIS El proceso de bloqueo
SAP BASIS El proceso de bloqueo
PROCESO DE BLOQUEO
IMPORTANTE: Para asegurar la consistencia de los datos dentro del sistema, hay que asegurarse que los registros de datos no puedan ser accedidos y cambiados por mas de un usuario al mismo tiempo. SAP logra esto mediante el concepto de administracion de bloqueos (Lock Management).
TRANSACCIONES DE BASE DE DATOS:
En la optica de base de datos cada paso de dialogo forma una unidad fisica y logica esto se denomina transaccion de base de datos.
TRANSACCIONES SAP:
SAP administra su propio concepto de bloqueo, esto se logra utilizando el work process de enqueue (encolado). Esto tambien asegura la independencia de plataforma utilizada para el sistema.
SISTEMA DE BLOQUEO EN SAP:
Los programas SAP realizan entradas de registros en la tabla de bloqueo (lock table). Solo pueden generarse nuevas entradas en esa tabla si no existen otras ya para el objeto que intenta bloquearse.
ENQUEUE WORK PROCESS:
Maneja los bloqueos logicos 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.
Un Work Process de dialogo 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, esto es si no ocurrira un conflicto con un bloque ya establecido.
Si un bloqueo puede crearse, entonces el work process de dialogo crea la entrada en la tabla y se le entrega una key al usuario que se mantiene en la memoria de contexto de usuario.
Si el Work Process de dialogo y el enqueue work process corren en diferentes instancias se comunicaran a traves del Message Server. Entonces la solicitud de bloqueo se reenvia desde el work process de dialogo al enqueue work process a traves de los respectivos dispatchers y el mesagge server.
Entonces el enqueue work process es quien se encarga de chequear si puede crearse un bloqueo en la tabla. Si es posible, el bloqueo se realiza y la key generada se envia a traves del dispatcher y el message server.
MODOS DE BLOQUEOS:
Los desarrolladores son quienes deciden el modo de bloqueo para la aplicacion:
- Bloqueo de Escritura Exclusivo (Exclusive Write Lock): Se denomina 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): Identificados con la letra S en la tabla de bloqueo. Se aceptan solicitudes adicionales de lectura. Una solicitud de escritura es rechazada.
- Bloqueo de Escritura Mejorado (Exclusive Noncumulative Write Lock): Indentificados con la letra X en la tabla de bloqueo, solo puede ser solicitado una vez, todas las demas solicitudes se rechazan.
- Bloqueo Optimistico (Optimistic Lock): Denominados con la letra O en la tabla de bloqueo. Al comienzo se establecen como bloqueos de lectura y luego pueden transformarse en bloqueos de escritura. Permite bloqueos adicionales del mismo tipo sobre un objeto. Cuando un usuario pasa al modo de modificacion en una transaccion el bloqueo pasa al tipo E. Si otros bloqueos de tipo O existen sobre el objeto estos son eliminados de la tabla.
TRANSACCION SM12: Muestra los bloqueos que actualmente hay en el sistema.
 
 
 
Sobre el autor
Publicación académica de Cruz Javier Gonzalez, en su ámbito de estudios para la Carrera Consultor Basis NetWeaver.
Cruz Javier Gonzalez
Profesión: Informática - Venezuela - Legajo: PP34H
✒️Autor de: 93 Publicaciones Académicas
🎓Egresado de los módulos:
Certificación Académica de Cruz Gonzalez