Orden de ejecución de enganches de campo y de acción

Los enganches de campo y de acción se ejecutan en tiempos predeterminados y en un orden establecido previamente.

Al abrir un registro, existen cuatro puntos de ejecución de enganches:

Enganches que se ejecutan al iniciar una acción

Antes de confirmar los cambios en la base de datos, o cuando se requiere una validación desde un cliente ClearQuest Web o RCP, el software Rational ClearQuest valida el registro al ejecutar enganches en el orden siguiente:

  1. El enganche Control de accesos de acción comprueba el acceso de usuario y detiene el proceso de la acción si el usuario no tiene autorización para iniciarlo. En este caso, los enganches restantes no se ejecutan.

    Puede modificar el control de accesos a acciones, incluidas las acciones que se podrían añadir al esquema mediante la aplicación de paquetes. Sin embargo, cualquier restricción de control de accesos que se coloque en acciones de base se aplica a todas las demás acciones. En el caso de acciones anidadas, no se ejecuta un enganche de control de accesos.

  2. El enganche de permiso de campo determina si un campo es obligatorio, opcional o de sólo lectura.
  3. El enganche de inicialización de acción realiza tareas de inicialización como, por ejemplo, establecer valores de campo antes de que se inicie la acción.
  4. El enganche de valor predeterminado de campo establece el valor de cada campo (sólo para acciones de Enviar).
  5. El enganche de validación de campo valida el contenido de cada campo, excepto en las acciones de importación, en las que no se lleva a cabo ninguna validación. Los enganches de validación de campo no pueden validar valores no existentes, como un campo obligatorio en el que no se ha establecido ningún valor.
  6. El enganche de lista de opciones de campo se ejecuta para cada campo que utiliza la opción Recalcular lista de opciones. Si hay campos dependientes y se selecciona Recalcular lista de opciones al crear los campos, se ejecuta el enganche de validación de campo y, a continuación, se ejecuta el enganche de lista de opciones de campo para cada campo, hasta establecer y validar todos los campos que se han modificado.

    Si un enganche de valor de campo modificado llama al método SetFieldValue del objeto Entity, el enganche VALUE_CHANGED correspondiente a dicho campo se ejecuta cuando se realiza la llamada a SetFieldValue.

Acciones anidadas

Algunos enganches no se ejecutan mientras una acción anidada está en curso, lo que incluye también la ejecución de los enganches de control de accesos y todos los enganches de notificación. Para obtener más información, consulte Acciones y control de accesos y Enganches en acciones anidadas en IBM Rational ClearQuest - Consulta de la API.

Enganches que se ejecutan al establecer un valor de campo

Cuando el usuario edita un registro, los enganches se ejecutan en el orden siguiente:

  1. El enganche de valor de campo modificado se ejecuta para cada campo que se modifica.

    Si se establece la opción Limitar a la lista y el usuario entra un valor que no está permitido, el campo se marca como no válido. El enganche siguiente sólo se ejecuta cuando el usuario entra un valor válido.

    Si un enganche de valor de campo modificado llama al método SetFieldValue para cambiar el valor de otro campo, se ejecuta inmediatamente el enganche de valor de campo modificado para el otro campo.

  2. El enganche de validación de campo se ejecuta para cada campo.
  3. El enganche de lista de opciones de campo se ejecuta para cada campo que utiliza la opción Recalcular lista de opciones.

    Si se utilizan campos dependientes con la opción Recalcular lista de opciones, primero se ejecuta el enganche de validación de campo y, a continuación, se ejecuta el enganche de lista de opciones de campo para cada campo, hasta establecer y validar todos los campos que se han modificado.

Los enganches de campo sólo se ejecutan cuando el usuario inicia la acción de Enviar, a menos que se marque que el campo tiene campos dependientes. Consulte el apartado Utilización de enganches para detectar una sesión web.

Enganches que se ejecutan al validar el registro

Antes de confirmar los cambios en la base de datos, el software Rational ClearQuest valida el registro al ejecutar enganches en el orden siguiente:

  1. El enganche de validación de campo se ejecuta para cada campo del registro.
  2. El enganche de validación de acción se ejecuta para la acción que se ha realizado.

Enganches que se ejecutan al confirmar el registro

El enganche de confirmación se ejecuta después de actualizar la base de datos con los cambios del registro actual, pero antes de confirmar la transacción de actualización en la base de datos. Un enganche de confirmación no se puede utilizar para modificar el registro actual (por ejemplo, no se pueden realizar cambios en un campo desde el enganche de confirmación).

El trabajo del enganche de confirmación se completa mientras existen bloqueos en la base de datos, y los bloqueos pueden evitar que otros usuarios ejecuten consultas, creen nuevos registros o modifiquen registros existentes. Por motivos de rendimiento, se aconseja minimizar el trabajo que se realiza en un enganche de confirmación.

Utilice un enganche de Confirmación únicamente para acciones realizadas sobre otros registros que desee que formen parte de la misma transacción de base de datos que la acción principal (por ejemplo, resolver un defecto duplicado cuando se resuelve el defecto padre). Debe asegurarse de colocar las llamadas adecuadas en el contexto correcto. Por ejemplo, no llame a Revert desde un enganche de confirmación, ni tampoco llame a Commit desde una acción que no sea en enganche de confirmación.

Después de validar el registro, los enganches lo confirman en la base de datos en el orden siguiente:

  1. Se ejecuta el enganche de confirmación de acción.
  2. Se confirma la transacción en la base de datos.
  3. Se ejecuta el enganche de notificación de acción. Por ejemplo, se puede enviar una notificación por correo electrónico a varios usuarios.

Para obtener más información, consulte el apartado Edición de un registro existente de la publicación IBM Rational ClearQuest - Consulta de la API.


Comentarios