✒️SAP BASIS El proceso de bloqueo
SAP BASIS El proceso de bloqueo
Administración de Bloqueos: Para asegurar la consistencia de datos dentro del sistema SAP, hay que asegurarse que los registros de datos no puedan ser accedidos y cambiados por un usuario al mismo tiempo. Para lograr esto, SAP utiliza su propio concepto de administración de bloqueos.
Transacciones de BD: Cada paso de diálogo forma una unidad física y lógica: la transacción de BD.
Transacciones SAP: El sistema SAP administrar su propio concepto de bloqueo. Esto se logra utilizando el work process de enqueue (encolado).
Sistema de Bloqueo en SAP:
El sistema de bloqueo funciona sobre el principio de que los programas SAP realizan entradas de registros en la tabla de bloqueo. Solo pueden generarse nuevas entradas en esta tabla si no existen otras para el objeto que intenta bloquearse.
Enqueue Work Process:
El enqueue process maneja los bloqueos lógicos de las transacciones SAP en la tabla de bloqueo. Esta tabla se sitúa en la memoria principal de la instancia donde corre el proceso.
Un proceso de diálogo que corre en la misma instancia que el proceso enqueue puede acceder directamente a la tabla de bloqueo en la memoria principal para chequear si un nuevo bloqueo puede generarse (siempre y cuando ya no existe un bloqueo previo).
Si el bloqueo puede crearse, entonces el proceso de diálogo crea la entrada en la tabla y se le entrega una key al usuario, la cual se mantiene en la memoria del contexto del usuario.
Si el proceso de diálogo y el de enqueue corren en diferentes instancias, se comunicarán a través del message server, y es el procesos de enqueue quien se fijará si puede generar el bloqueo en la tabla de bloqueos.
El procesos de enqueue 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.
Método 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 llega a ocurrir esto, la solicitud de bloqueo es rechazada y 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:
- Bloqueo de escritura exclusivo (E): Los datos bloqueados solo pueden ser editados por un usuario.
- Bloqueo de lectura compartido (S): Se aceptan solicitudes adicionales de lectura, pero las solicitudes de escritura es rechazada.
- Bloqueo de escritura mejorado (X): Solo puede ser solicitado una vez, todas las demás solicitudes se rechazan.
- Bloqueo optimístico (O): Se establecen como bloqueos de lectura y luego pueden transformarse en bloqueos de escritura.
Transacción SM12: Esta transacción se utiliza para ver los bloqueos que hay actualmente en el sistema. Desde acá, se pueden liberarlos, pero hay que tener mucho cuidado porque los bloqueos generalmente se generan cuando un dato se encuentra dentro de un evento transaccional, es decir, que se ejecuta todo o nada. Si lo liberamos, podríamos generar inconsistencias de datos.
 
 
 
Sobre el autor
Publicación académica de Rodrigo Leonardo María García, en su ámbito de estudios para la Carrera Consultor Basis NetWeaver.
Rodrigo Leonardo María García
Profesión: Analista de Administración Sap - Argentina - Legajo: CM14L
✒️Autor de: 96 Publicaciones Académicas
🎓Egresado de los módulos:
Disponibilidad Laboral: FullTime
Presentación:
Me llamo rodrigo, tengo 23 años y vivo en argentina. soy ingeniero en sistemas de información y actualmente trabajo en una empresa nacional como administrador sap.
Certificación Académica de Rodrigo María