✒️SAP BASIS El proceso de bloqueo
SAP BASIS El proceso de bloqueo
· LECCION 6: Proceso de Bloqueo.
Nota: para asegurar la consistencia de datos dentro de nuestro sistema SAP, debemos asegurarnos que los registros de datos no puedan ser accedidos y cambiados por más de un usuario al mismo tiempo, para lograr esto, el sistema SAP tiene su propio concepto de administración de bloqueos (lock management).
Transacciones de Base 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 dialogo forma una unidad física y lógica; la transaccio de base de datos, el sistema de base de datos sobre el que corre nuestro sistema SAP, puede coordinar este tipo de base de datos.
Transacciones SAP.
Están formadas por una secuencia lógica de pasos de trabajo relacionados que son consistentes en términos de negocio los cuales se forman generalmente de varios pasos de dialogo. El sistema SAP necesita administrar su propio concepto de bloqueo, esto se logra utilizando el proceso de trabajo de encolado; esto nos asegura independencia de la plataforma utilizada para nuestro sistema SAP.
Sistema de bloqueo en SAP.
El bloqueo de SAP funciona de la siguiente manera, 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.
Encolado de procesos de trabajo.
El encolado de procesos de trabajo maneja los bloqueos de las transacciones de SAP en la tabla de bloqueo; esta tabla se sitúa en la memoria principal de la instancia donde el proceso corre.
Un proceso de trabajo de dialogo que corre en la misma instancia que el encolado de proceso de trabajo puede acceder directamente a la tabla de bloqueo en la memoria principal para chequear si un nuevo bloqueo puede generarse, esto es, si no ocurriría un conflicto con un bloqueo ya establecido.
Si el bloqueo puede crearse, entonces el proceso de trabajo de dialogo crea la entrada en la tabla y se le entrega una llave al usuario la cual se mantiene en la memoria de contexto de usuario.
Si el proceso de trabajo de dialogo y el encolado proceso de trabajo corren en diferentes instancias, se comunicarían a través de message server o mensajes del servidor, en este caso la solicitud de bloqueo se reenvía desde el proceso de trabajo de dialogo al encolado proceso de trabajo a través de los respectivos despachadores y el servidor de mensaje.
El encolado proceso de trabajo es el encargado de chequear si puede crearse un bloqueo en la tabla. Si esto es posible, el bloqueo se realiza y la llave generada se envía a través del despachado o dispatcher y el servidor de mensaje.
Modos de bloqueos.
Cuando se solicita el bloqueo, el sistema verifica si el bloqueo genera un conflicto con alguna de las entradas que ya pudiesen existir en la tabla. Si esto ocurre, la solicitud de bloqueo es rechazada. La aplicación informa al usuario que la operación solicitada no puede realizarse en ese momento.
Los desarrolladores son quienes deciden el modo de bloqueo para la aplicación existen diferentes tipos de bloqueos como lo son:
*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 otro tipo de bloqueo por otra transacción. Solo puede acumular otros bloqueos E por el mismo usuario.
*Bloqueo de Lectura Compartido (Shared Lock Mode), estos bloqueos se identifican 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), identificados con la letra X en la tabla, solo puede ser solicitado una vez, todas las demás solicitudes se rechazan.
*Bloqueo Optimistico (Optimistico 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 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.
Nota: La transacción SM12 muestra los bloqueos que actualmente hay en el sistema. La transacción SM12 se utiliza para la revisión de los bloqueos que se pueden liberar desde la transacción, se debe utilizar con mucho cuidado, debido a que los bloqueos generalmente SAP los realiza cuando un dato se encuentra dentro de un evento transaccional, es decir que se ejecuta todo o nada y si lo liberamos podríamos generar inconsistencia de datos.
 
 
 
Sobre el autor
Publicación académica de Jesus David Cantillo Perez, en su ámbito de estudios para la Carrera Consultor Basis NetWeaver.
Jesus David Cantillo Perez
Profesión: Auxiliar de Seguridad Informatica - Colombia - Legajo: BP45F
✒️Autor de: 24 Publicaciones Académicas
🎓Egresado de los módulos:
- Carrera Consultor en SAP MM Nivel Inicial
- Carrera Consultor Basis NetWeaver Nivel Avanzado
- Carrera Consultor Basis NetWeaver Nivel Inicial
Presentación:
Muy buenas tardes, mi nombre es jesus david cantillo soy de soledad-atlantico, colombia y estoy interesado en aprender mucho en esta carrera de sap.
Certificación Académica de Jesus Cantillo