✒️SAP BASIS El proceso de bloqueo
SAP BASIS El proceso de bloqueo
Proceso de Bloqueo
1. Transacciones de Base de Datos
Cada paso de diálogo forma una unidad física y lógica: la transacción de BDD. El sistema BDD sobre el que corre SAP puede coordinar este tipo de transacciones de BDD.
2. Transacciones SAP
Desde el punto de vista de SAP esto no es suficiente para asegurar la consistencia porque las transacciones SAP, las cuales se forman por una secuencia lógica de paso de trabajo relacionados que son consistentes en términos de negocio, los cuales se forman generalmente de varios pasos de diálogo.
SAP puede administrar su propio concepto de bloqueo, utilizando work process de enqueue (encolado).
3. Sistema de bloqueo SAP
Funciona sobre el principio de los programas SAPque 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.
4. Enqueue Work Process
Maneja bloqueos lógicos de las transacciones de SAP en la tabla de bloqueo, que se encuentra en la memoria principal de la instancia dende el proceso corre.
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 principla. Si se puede crear el bloqueo entonces el work process de dialogo crea la entrada en la tabla y se entrega una key al usuario la cual se manyiene en memoria.
Si el work process de dialogo u el enqueue wor corren en diferentes instalcias se comucnian a traver del message server, Esto a través de los respectivos dispatchers y el message server. Cuando se puede crear un bloqueo este se genera en la tabla y genera un key de usuario que será enviado por el dispatcher.
5. Modo de bloqueos
Cuando se solicita un bloqueo el sistema verifica que no haya conflictos con otros ya generados en la tabla. Si esto ocurre es rechazada y se comunica al usuario que no puede realizarse en ese momento.
Los desarrolladores son quienes deciden el modo de bloqueo de la aplicación:
- Bloqueo de Escritura Exclusivo (exclusive write lock) denominado con la letar 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. Solo puede acumular otros bloqueos por el mismo usuario.
- Bloqueo de Lectura Compartido (Shared Lock Mode) denominado con la letra S en la tabla de bloqueo. Aceptan solicitudes adicionales de lectura. Una solicitude de escritura es rechazada.
- Bloqueo de Escritura Mejorado (Exclusive Noncumulatice Write Lock) identificado con la letra X en la tabla, solo pueden ser solicitado una vez.
- Bloqueo Optimistico (Optimistic Lock), denominado con la letra O en la tabla de bloqueo. En un inicio se establecen bloqueos de lectura y luego pueden llegar a transformarse en bloqueos de escritura. Permite 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 en la tabla.
Transacción SM12.
Siempre debemos estar seguros de que al eliminar los registros de la tabla de bloqueo estos pueden crear inconcistencias si no se lo hace de manera correcta y segura de que el usuario ya no está utilizando ese proceso.
 
 
 
Sobre el autor
Publicación académica de Silvana Judith Garcés Ulloa, en su ámbito de estudios para la Carrera Consultor Basis NetWeaver.
Silvana Judith Garcés Ulloa
Profesión: Ingeniera en Sistemas - Ecuador - Legajo: DO26H
✒️Autor de: 43 Publicaciones Académicas
🎓Egresado del módulo:
Certificación Académica de Silvana Garcés