Application de workflow RAISEEXCEPTION

Aperçu

L'application de workflow RAISEEXCEPTION déclenche les exceptions d'annulation sur les actions spécifiées, contrôlées par l'exception de workflow d'annulation d'action dans le panneau de définition des conditions. Cette application de workflow peut ainsi être appelée par une action pour annuler une ou plusieurs autres actions dans une requête en cours. L'application est convertie en assembly de workflow pour simplifier la configuration et améliorer les performances.

Note : Vous pouvez supprimer l’application dans la console IIS ainsi que le dossier physique sur le serveur (\wfgen\WfApps\WebServices\RaiseException). Par ailleurs, les paramètres d’authentification dans la déclaration de l’application de workflow ne sont pas nécessaires.

Ce dispositif est utile quand une ou plusieurs actions doivent être annulées après qu'un certain point dans le workflow ait été atteint, quoique ces actions aient été déjà activées. Comme exemple, si trois actions parallèles sont actives, mais une des actions parallèles est conclue avant les autres et vos règles de workflow déterminent que les deux autres actions ne sont plus exigées, vous pourriez activer le RAISEEXCEPTION pour annuler les deux autres actions et pour permettre le déroulement du workflow.

De plus, vous pouvez :

  • Utiliser les paramètres par défaut pour annuler toutes les actions d’une demande identifiée.

  • Utiliser les paramètres facultatifs pour annuler une liste d’actions instanciées dans une liste de demandes ou pour effectuer une annulation à la place d’un utilisateur défini.

  • Utiliser les paramètres supplémentaires pour définir plusieurs couples de références d’actions.

Utilisation des paramètres par défaut

Les paramètres REQUEST_ID et ACTIVITY_NAME doivent être utilisés ensemble.

Identifiant de la demande

Ce paramètre définit l’ID de la demande dans laquelle l’action sera annulée.

Nom : REQUEST_ID Type de donnée : NUMERIC Direction : IN

Nom de l’action

Ce paramètre définit le nom de l’action qui sera annulée.

Nom : ACTIVITY_NAME Type de donnée : TEXT Direction : IN

Exemple

Dans cet exemple, l’application va annuler tous les instances de l’action PENDING_ACTION dans la demande 455 :

REQUEST_ID = 455  
ACTIVITY_NAME = "PENDING_ACTION"

Utilisation des paramètres facultatifs

Les paramètres REQUEST_ID_LIST et ACTIVITY_NAME_LIST doivent être utilisés ensemble.

Liste des identifiants de demande

Ce paramètre définit une liste d’ID de demandes dans lesquelles l’action sera annulée.

Nom : REQUEST_ID_LIST Type de donnée : TEXT Direction : IN

Liste des noms des actions

Ce paramètre définit une liste d’ID de demandes dans lesquelles l’action sera annulée.

Nom : ACTIVITY_NAME_LIST Type de donnée : TEXT Direction : IN

Nom d’utilisateur

Ce paramètre est utilisé pour définir le nom d’utilisateur (username) utilisé pour annuler l’action. Le nom d’utilisateur utilisé doit faire partie d’un participant du processus.

Nom : USERNAME Type de donnée : TEXT Direction : IN

Note : Si ce paramètre n’est pas défini le compte utilisé est le compte défini dans le paramètre <add key="EngineServiceImpersonificationUsername" value=""/> dans le fichier web.config de l’application.

Mot de passe

Ce paramètre est utilisé pour définir le mot de passe associé au nom d’utilisateur utilisé pour annuler l’action.

Nom : PASSWORD Type de donnée : TEXT Direction : IN

EXCEPTION_NAME

Les valeurs possibles pour ce paramètre sont :

  • CANCEL

  • ERROR

  • TIMEOUT

  • ASSIGNMENT_ERROR

L’exception correspondante sera déclenchée sur l’action.

EXCEPTION_MESSAGE

Ce paramètre est utilisé avec le nom de l’exception ERROR pour fournir plus de détails sur l'erreur dans la mesure de suivi.

Exemples

Dans cet exemple l’application va annuler toutes les instances des actions PENDING_ACTION1 et PENDING_ACTION2 dans les demandes 445, 446 et 447 :

REQUEST_ID_LIST = "455, 456, 457"  
ACTIVITY_NAME_LIST = "PENDING_ACTION1, PENDING_ACTION2"

Dans cet exemple l’application va annuler toutes les instances des actions nommées PENDING_ACTION dans la demande 445 à la place de Jean Dupont (jdupont):

REQUEST_ID = "455"  
ACTIVITY_NAME = "PENDING_ACTION"  
USERNAME = "jdupont"  
PASSWORD = "1234"

Utilisation des paramètres supplémentaires

Identifiant de la demande

Ce paramètre définit l’ID de la demande dans laquelle l’action sera annulée pour le couple spécifié par le ? (point d’interrogation).

Nom : EX?_REQUEST_ID Type de donnée : NUMERIC Direction : IN

Nom de l’action

Ce paramètre définit le nom de l’action qui sera annulée pour le couple spécifié par le ? (point d’interrogation).

Nom : EX?_ACTIVITY_NAME Type de donnée : TEXT Direction : IN

Non prise en compte de l’erreur Nothing to do

Par défaut, RAISEEXCEPTION renvoie une erreur si vous essayez d’annuler une action qui ne possède aucune instance ouverte. Si vous définissez ce paramètre sur Y, l’application ignorera ce type d’erreur.

Nom : IGNORE_NOTHINGTODO_ERROR Type de donnée : TEXT Direction : IN

Exemple

Dans cet exemple l’application va annuler toutes les instances de l’action PENDING_ACTION1 dans la demande 455 et toutes les instances de l’action PENDING_ACTION2 dans la demande 456. Si les actions 455 et 456 n’ont pas d’instance ouverte aucune erreur n’est remontée.

EX1_REQUEST_ID = 455  
EX1_ACTIVITY_NAME = "PENDING_ACTION1"  
EX2_REQUEST_ID = 456  
EX2_ACTIVITY_NAME = "PENDING_ACTION2"  
IGNORE_NOTHINGTODO_ERROR = "Y"

Erreurs d’exécution possibles

Les erreurs suivantes peuvent se produire lors de l’exécution de l’application :

Dernière mise à jour