Configurer un schéma pour un Job "Before Saving/Deleting"
Les noms des Processus Before Saving/Before Deleting sont donnés selon une convention de nommage. Ils ne passent pas par le mécanisme habituel déclencheur > Processus. Un Job appelé via un Processus Before Saving ou Before Deleting reçoit un document différent de ceux appelés par un déclencheur. De plus, ils doivent retourner un rapport de statut et un message d'erreur (seulement pour le Processus Before Saving), que l'Interface Web peut utiliser pour effectuer ou annuler l'action.
Input
Le document d'entrée comprend le rapport de mise à jour (update report) ainsi que l'enregistrement à sauvegarder ou à supprimer :
<exchange>
<report>
... update report ...
</report>
<item>
... record ...
</item>
</exchange>
Dans le Job, vous pouvez définir des conditions similaires à celles des déclencheurs. Par exemple, vous pouvez utiliser exchange/report/Update/OperationType pour implémenter différentes conditions sur CREATE et UPDATE.
Sortie
Le Job est requis pour retourner un document conforme à l'un des formats suivants, en fonction du type de message que vous voulez afficher :
-
<report><message type="error">message</message></report>
-
<report><message type="warning">message</message></report>
(seulement pour le Processus Before Saving)
-
<report><message type="info">message</message></report>
Les principes de travail pour les Processus Before Saving et Before Deleting peuvent être résumés comme décrit dans les trois cas ci-dessous.
Après l'achèvement du Processus Before Saving ou Before Deleting, le serveur MDM cherche une variable appelée output_report dans le pipeline du Processus.
Premier cas :
-
Si <report><message type="info">message</message></report> : le Processus de validation de l'enregistrement de données a été effectué avec succès et un message va s'afficher. L'enregistrement de données sera sauvegardé avec succès avec le Processus Before Saving, ou supprimé avec succès avec le Processus Before Deleting.
-
Si <report><message type="info">message</message></report> (seulement pour le Processus Before Saving) : le Processus de validation de l'enregistrement de données a été effectué avec succès et un message va s'afficher. Vous pouvez cliquer soit sur OK pour poursuivre le Processus et sauvegarder l'enregistrement, soit sur Cancel pour abandonner le Processus.
-
Si <report><message type="error">message</message></report> : le Processus de validation de l'enregistrement de données échoue et un message s'affiche. L'enregistrement de données ne sera pas sauvegardé avec le Processus Before Saving et ne sera pas supprimé avec le Processus Before Deleting.
Deuxième cas :
Le serveur MDM n'a pas trouvé la variable output_report ou le fragment <error>. Le Processus de validation de l'enregistrement de données a échoué et un message d'erreur va s'afficher pour le confirmer. L'enregistrement de données ne sera pas sauvegardé avec le Processus Before Saving et ne sera pas supprimé avec le Processus Before Deleting.
Troisième cas :
Le Processus présente une exception (l'une des étapes du Processus mène à une erreur technique : mauvaise configuration, erreur de syntaxe XSLT, Job introuvable ou impossible à appeler, etc.) Un message d'erreur technique va s'afficher et l'enregistrement de données ne sera pas sauvegardé avec le Processus Before Saving et ne sera pas supprimé avec le Processus Before Deleting.