2.7. - Los objetos de bloqueo en SAP
En una transacción de dialogo, reporte o cualquier tipo de programa 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. Por ello, se utilizan los bloqueos de SAP.
Los bloqueos constituyen un conveniente método para coordinar los accesos de cada usuario a los recursos.
Para generar un objeto de bloqueo, se utiliza la transacción de diccionario de datos, SE11. Dentro de la transacción, se selecciona la opción “Bloqueo de objeto” y se indica el nombre del mismo.
Una vez creado el objeto de bloqueo, en la pestaña “Atributos” se deberá asignar una descripción al objeto. En la pestaña “Tablas”, habrá que indicar la tabla a la que se le creará el objeto de bloqueo y el tipo de bloqueo, en el campo “Modo de bloqueo”.
En la pestaña “Parámetros de bloqueo”, se verán los campos por los que se realizará el bloqueo en la tabla indicada. Habrá que guardar y activar el objeto de bloqueo.
Una vez activado, para ver los módulos de bloqueo creados, habrá que pulsar en la opción “Ir a%uF0E0Módulos de bloqueo”, para ver los módulos de bloqueo y desbloqueo generados para la tabla en cuestión.
Para utilizar los módulos de bloqueo y desbloqueo, habrá que crear un programa donde se deberá hacer una llamada tanto al módulo de bloqueo como de desbloqueo. Para llamar a los códigos de bloqueo (ENQUEUE) y desbloqueo (DEQUEUE), se utiliza la llamada a una función, botón “Pattern”.
Para bloquear un campo en particular, se deberán poner los dos valores que componen una clave. Para desbloquear los valores, habrá que indicar los valores particulares a desbloquear.
A través de la transacción SM12, se podrá ver un listado de todas las tablas bloqueadas en el sistema.