✒️Los objetos de bloqueo en SAP
Los objetos de bloqueo en SAP
Unidad-2-Lección7: Los objetos de bloqueo en SAP
En una transacción de diálogo, reporte o cualquier tipo de programa en donde varios usuarios quieren tener acceso a una misma tabla de base de datos, éstos deben estar sincronizados para garantizar la consistencia de los datos de la tabla.
Para sincronizar estos accesos utilizamos los bloqueos SAP.
Los Bloqueos constituyen un conveniente método para coordinar los accesos de cada usuario a los recursos.
Antes de acceder a los datos críticos, cada usuario realizará un bloqueo de los mismos de modo de que ningún otro usuario pueda hacerlo al mismo tiempo.
Para generar un objeto de bloqueo utilizamos la transacción SE11.
Marcamos Objeto de bloqueo e ingresamos el nombre del objeto de bloqueo (eztabla_usuarios) que generaremos en este caso generaremos un objeto de bloqueo para la tabla ZTABLA_USUARIOS. Luego hacemos click en botón Crear.
Debemos ingresar una descripción para el objeto de bloqueo.
Luego en el tab Tablas vamos a ingresar el Nombre de la tabla (ZTABLA_USUARIOS) a la cual le crearemos el objeto de bloqueo.
En Modo de bloqueo seleccionamos el modo en que se realizará el bloqueo. En este caso elegiremos la opción Bloqueo escritura.
En el tab Parám.bloqueo podemos ver los campos por los cuales se realizará el bloqueo en la tabla ZTABLA_USUARIOS.
Finalmente grabamos y activamos el objeto de bloqueo.
Una vez que generamos el objeto de bloqueo nos vamos al Menú y seleccionamos la opción Pasar a >> Módulo bloqueo y veremos los módulos de función que se han generado para realizar el bloqueo y el desbloqueo de la tabla ZTABLA_USUARIOS.
Para utilizar los dos módulos de función de bloqueo y desbloqueo que acabamos de generar, vamos a crear un nuevo programa ABAP.
Para utilizar la función que bloquea la tabla ZTABLA_USUARIOS simplemente presionamos el botón Modelo (Pattern) y ahí la llamamos seleccionando y dando el nombre de la función CALL FUNCTION = ENQUEUE_EZTABLA_ USUARIOS y generamos la estructura.
Para bloquear un campo en particular deberemos ingresar los dos valores que componen a la clave de la tabla ZTABLA_USUARIOS.
Para desbloquear los valores de la tabla ZTABLA_USUARIOS hacemos el mismo procedimiento utilizando el botón Modelo. En CALL FUNCTION introducimos “DEQUEUE_EZTABLA_USUARIOS” y luego de hacer click en el botón de aceptar nos aparece la estructura. También este caso debemos ingresar los valores particulares del MANDT y DNI que queremos desbloquear.
Luego a través de la transacción SM12 y presionando Lista, podremos ver un listado de todas las tablas bloqueadas actualmente en el sistema.
Nota (Audio tip): En ocasiones nos puede suceder que trabajando con los materiales de SAP pertenecientes al módulo de MM o con cualquier otro objeto del sistema, al querer tratar un material en particular, visualizamos un mensaje que nos informa que “El material X está bloqueado por el usuario Z”, pero este usuario actualmente no se encuentra actualmente en línea conectado a SAP, ni tampoco tiene alguna conexión colgada. Pueden pasar varios días con el material así y por lo tanto seguimos en la misma situación sin poder tratarlo, debido a que SAP no nos deja utilizarlo por el famoso mensaje “el material está bloqueado por otro usuario”. Esta situación puede deberse a múltiples razones. Una de ellas puede ser una caída de tensión en la línea eléctrica en el momento justo donde el usuario Z estaba tratando dicho material, lo cual va a provocar que la entrada correspondiente al material quede bloqueada en la base de datos. Para desbloquearla tenemos que ir a la transacción estándar SM12 y borrar el bloqueo del usuario.
 
 
 
Agradecimiento:
Ha agradecido este aporte: Hector Jorquera
Sobre el autor
Publicación académica de Oscar Perez, en su ámbito de estudios para la Carrera Consultor ABAP.
Oscar Perez
Profesión: Ingeniero de Sistemas. Consultor y Desarrollador en Peoplesoft - Canada - Legajo: FD38F
✒️Autor de: 105 Publicaciones Académicas
🎓Cursando Actualmente: Master en Programación ABAP Orientado a Objetos
🎓Egresado de los módulos:
Certificación Académica de Oscar Perez