Ordre d'exécution des points d'ancrage de zone et d'action

Les points d'ancrage de zone et les points d'ancrage d'action s'exécutent à des horaires et dans un ordre prédéfinis. Lorsqu'un enregistrement est ouvert, les points d'exécution possibles sont au nombre de quatre :

Points d'ancrage qui s'exécutent lorsqu'une action commence

Lorsqu'un utilisateur lance une action, les points d'ancrage s'exécutent dans l'ordre suivant :

  1. Le point d'ancrage Action Access Control procède aux vérifications des contrôles d'accès et arrête le traitement de l'action si l'utilisateur n'est pas autorisé à la démarrer. Dans ce cas, les autres points d'ancrage ne sont pas exécutés.

    Vous pourriez modifier le contrôle d'accès aux actions, y compris celles pouvant être ajoutées au schéma via l'application de packages. Cependant, si vous intégrez ce type de restrictions dans des actions de base, elles s'appliqueront à toutes les autres actions. Aucun point d'ancrage de contrôle d'accès n'est exécuté pour les actions imbriquées.

  2. Le point d'ancrage Field Permission détermine pour chaque zone si elle est obligatoire, facultative ou en lecture seule.
  3. Le point d'ancrage Action Initialization effectue des tâches d'initialisation, telles que la configuration de valeurs de zone avant que l'action ne commence.
  4. Le point d'ancrage Field Default Value définit la valeur de chaque zone (pour les actions Submit uniquement).
  5. Le point d'ancrage Field Validation valide le contenu de chaque zone, excepté pour les actions d'importation n'impliquant aucune validation. Il ne peut pas valider de valeur inexistante, par exemple une zone obligatoire pour laquelle aucune valeur n'a été définie.
  6. Le point d'ancrage Field Choice List s'exécute pour chaque zone utilisant l'option Recalculate Choice List. S'il existe des zones dépendantes et si vous avez sélectionné l'option Recalculate Choice List au moment de leur création, les points d'ancrage Field Validation puis Field Choice List sont exécutés pour chaque zone, jusqu'à ce qu'elles soient toutes définies et validées.

    Lorsqu'un point d'ancrage Field Value Changed appelle la méthode SetFieldValue de l'objet Entity, le point d'ancrage VALUE_CHANGED correspondant à cette zone s'exécute au moment de l'appel.

Actions imbriquées

Certains points d'ancrage ne sont pas exécutés lorsqu'une action imbriquée est en cours, notamment les points d'ancrage de contrôle d'accès et tous les points d'ancrage de notification. Pour plus d'informations, voir Actions et contrôle d'accès et Points d'ancrage dans des actions imbriquées dans IBM Rational ClearQuest API Reference.

Points d'ancrage qui s'exécutent lorsqu'une valeur de zone est définie

Lorsqu'un utilisateur édite un enregistrement, les points d'ancrage sont exécutés dans l'ordre suivant :

  1. Le point d'ancrage Field Value Changed s'exécute pour chaque zone changée.

    Si l'option Limit to list est sélectionnée et si l'utilisateur entre une valeur non autorisée, la zone est marquée comme non valide. Le point d'ancrage suivant s'exécute uniquement si l'utilisateur entre une valeur valide.

    Lorsqu'un point d'ancrage Field Value Changed appelle la méthode SetFieldValue pour changer la valeur d'une autre zone, le point d'ancrage Field Value Changed de cette autre zone est exécuté immédiatement.

  2. Le point d'ancrage Field Validation s'exécute pour chaque zone.
  3. Le point d'ancrage Field Choice List s'exécute pour chaque zone utilisant l'option Recalculate Choice list.

    S'il existe des zones dépendantes et si vous avez sélectionné l'option Recalculate Choice list, les points d'ancrage Field Validation puis Field Choice List sont exécutés pour chaque zone, jusqu'à ce qu'elles soient toutes définies et validées.

Les points d'ancrage de zone sont exécutés uniquement lorsque l'utilisateur démarre l'action Submit, sauf si la zone est marquée comme possédant des zones dépendantes. Voir Utilisation de points d'ancrage pour la détection d'une session Web.

Points d'ancrage qui s'exécutent lorsque l'enregistrement est validé

Avant de valider des changements dans la base de données, le logiciel Rational ClearQuest contrôle la validité de l'enregistrement en exécutant les points d'ancrage dans l'ordre suivant :

  1. Le point d'ancrage Field Validation est exécuté pour chaque zone de l'enregistrement.
  2. Le point d'ancrage Action Validation est exécuté pour l'action qui a été effectuée.

Points d'ancrage qui s'exécutent lorsque l'enregistrement est validé

Le point d'ancrage Commit est exécuté lorsque la base de données est mise à jour suite aux changements apportés à l'enregistrement en cours, mais avant la validation de la transaction de mise à jour. Vous ne pouvez pas utiliser de point d'ancrage Commit pour modifier l'enregistrement en cours (par exemple pour changer une zone).

Le travail d'un point d'ancrage Commit est exécuté alors que certaines fonctionnalités de la base de données sont verrouillées. Les autres utilisateurs risquent donc de ne pas pouvoir lancer des requêtes ni créer ou modifier des enregistrements. Pour éviter une dégradation trop importante des performances, il est recommandé de réduire au maximum les tâches effectuées par un point d'ancrage Commit.

Utilisation ce type de point d'ancrage uniquement pour les actions portant sur d'autres enregistrements et que vous souhaitez intégrer à la même transaction de base de données que l'action principale (par exemple résolution d'un incident en double lors de la résolution de l'incident parent). Assurez-vous de placer les appels appropriés dans le contexte correct. Par exemple, vous ne devez pas appeler la méthode Revert à partir d'un point d'ancrage Commit, ni la méthode Commit à partir d'une action autre qu'un point d'ancrage Commit.

Une fois que la validité d'un enregistrement a été contrôlé, il est validé dans la base de données par des points d'ancrage qui s'exécutent dans l'ordre suivant :

  1. Le point d'ancrage Action Commit s'exécute.
  2. La transaction est validée dans la base de données.
  3. Le point d'ancrage Action Notification s'exécute. Par exemple, une notification par courrier électronique pourrait être envoyée à divers utilisateurs.

Pour plus d'informations, voir Edition d'un enregistrement existant dans IBM Rational ClearQuest API Reference.



Retour d'informations