Las acciones anidadas difieren de las acciones principales en que los enganches de control de acceso de acción y los enganches de notificación no se ejecutan para las acciones anidadas.
El enganche de control de acceso de acción no se ejecuta si un enganche inicia una acción anidada. Como todos los enganches se ejecutan con el privilegio de superusuario, el nivel de privilegio ya se encuentra en el punto superior (superusuario). No hay necesidad de ejecutar el enganche de control de acceso para la acción anidada.
El acceso para una acción anidada también se garantiza cuando no se desencadena ningún enganche de control de acceso.
De forma predeterminada, no se ejecutan enganches de notificación para una acción anidada. Los enganches de notificación se utilizan para enviar un mensaje de correo electrónico. Si cada acción anidada enviara un mensaje de correo electrónico, se enviaría un gran número de mensajes de correo electrónico para lo que el usuario considera una acción. Puede alterar temporalmente este comportamiento y permitir que las acciones anidadas ejecuten enganches de notificación estableciendo la variable de sesión CQHookExecute en un valor de 1.
La variable de sesión CQHookExecute se puede establecer con el código siguiente:
dim session set session = GetSession session.NameValue "CQHookExecute", 1
$session->SetNameValue("CQHookExecute","1");
En un enganche de confirmación, la confirmación a nivel de la base de datos no se efectúa cuando se confirma la acción anidada, sino que se combina con la confirmación de nivel exterior de modo que se incluyan todos los cambios como transacción atómica.
En los otros tipos de enganche, una acción anidada se confirma al nivel de la base de datos, independientemente de la confirmación de nivel exterior. El único modo de combinar los cambios realizados en una acción anidada con los de la acción de nivel superior, como transacción de base de datos única, es que la acción anidada se encuentre en un enganche de confirmación.
Consulte la ayuda en línea del desarrollador de esquemas de Rational ClearQuest para obtener más información sobre el orden de ejecución de los enganches y la confirmación de un registro. Para establecer valores de campo, consulte el método SetFieldValue del objeto Entity.