✒️SAP BASIS El proceso de bloqueo
SAP BASIS El proceso de bloqueo
Procesos de bloqueo
1-Transacciones de base de datos:
Cada paso de diálogo forma una unidad física y lógica: 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:
El sistema SAP necesita administrar su propio concepto de bloqueo. se logra utilizado el work process de enqueue (encolado). Esto también asegura la independencia de plataforma utilizada para el sistema.
3-Sistema de bloqueo en SAP:
El concepto de bloqueo de 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:
El enqueue work process maneja los bloqueos lógicos de las transacciones de SAP en la tabla de bloqueo. Esta tabla se sitúa en la memoria principal de la instancia donde corre el proceso.
Un work process de diálogo 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 no ocurrirá un conflicto con un bloqueo ya establecido.
Si el bloqueo puede crearse, entonces el work process de diálogo crea en la tabla y se le entrega una key(llave) al usuario 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 comunicarán a través del message server. En este caso la solicitud de bloqueo se reenvía desde el work process de diálogo al enqueue work process a través de los respectivos dispatchers y el message server.
Ahora el enqueuework process es quien se encarga de chequear si puede crearse un bloqueo en la tabla.
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, informa al usuario que la operación no puede realizarse.
Los desarrolladores deciden el modo de bloqueo para la aplicación
- Bloqueo de escritura exclusivo (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 exclusivo (E) rechaza cualquier tipo otro tipo de bloqueo por otra transacción. Solo puede acumular otros bloqueos E por el mismo usuario.
- Bloqueo de lectura compartido (Share lock mode), estos bloqueos se identifican con la letra S. Se aceptan solicitudes adicionales de lectura, una solicitud de escritura es rechazada.
- Bloqueo de escritura mejorado (Exclusive noncumulative write lock), identificados con la letra X, solo puede ser solicitado una vez, todas las demás solicitudes se rechazan.
- Bloqueo optimístico (Optimistc lock), denominados con la letra O, al comienzo se establecen como bloqueos de lectura y luego pueden transformarse en bloqueos de escritura. Permiten bloqueos adicionales del 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 de tipo O existen sobre el objeto estos son eliminados de la tabla.
La transacción SM12 muestra los bloqueos que ha en el sistema.
 
 
 
Sobre el autor
Publicación académica de Madelin Peralta, en su ámbito de estudios para la Carrera Consultor Basis NetWeaver.
Madelin Peralta
Republica Dominicana - Legajo: DV19L
✒️Autor de: 48 Publicaciones Académicas
🎓Egresado del módulo:
Certificación Académica de Madelin Peralta