✒️SAP BASIS El proceso de bloqueo
SAP BASIS El proceso de bloqueo
Las transacciones de base de datos
Desde la perspectiva de la base de datos, vimos en la lección anterior que cada paso de diálogo forma una unidad física y lógica: la 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.
Las transacciones SAP
Desde el punto de vista de SAP, de todas formas, esto no es suficiente para asegurar la consistencia porque las transacciones SAP, las cuales se forman 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 diálogo.
El sistema SAP necesita administrar su propio concepto de bloqueo. Esto se logra utilizando el work process de enqueue (encolado). Esto también asegura la independencia de plataforma utilizada para el sistema.
El 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.
El 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 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 principal para chequear si un nuevo bloqueo puede generarse, esto es, si no ocurrirá un conflicto con un bloqueo ya establecido.
Si el bloqueo puede crearse, entonces el work process de diálogo crea la entrada 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 enqueue work process es quien se encarga de chequear si puede crearse un bloqueo en la tabla. Si esto es posible, el bloqueo se realiza y la key generada se envía a través del dispatcher y el message server.
Los 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. La aplicación informa al usuario que la operación solicitada no puede realizarse en este momento.
Transacción SM12
La transacción estándar SM12 se utiliza para la revisión de los bloqueos, si bien es un hecho que se pueden liberar desde esta transacción, se debe utilizar con mucha cautela pues 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 Luis Edgar Lacombe Alarcon, en su ámbito de estudios para la Carrera Consultor Basis NetWeaver.
Luis Edgar Lacombe Alarcon
Mexico - Legajo: SD42E
✒️Autor de: 98 Publicaciones Académicas
🎓Cursando Actualmente: Master S/4HANA FINANCE Accounting
🎓Egresado de los módulos:
- Máster Controlling en SAP S/4HANA FINANCE
- Máster Accounting en SAP S/4HANA FINANCE
- Carrera Consultor en SAP CO Nivel Inicial
- Carrera Consultor en SAP FI Nivel Inicial
- Carrera Consultor Basis NetWeaver Nivel Inicial