Il y a 2 manières de créer des erreurs.
Avec fonction macro-langage
Voici l’enchainement de fonction à utiliser pour créer un entête d’erreur avec son détail et toutes les infos :
L’ajout des clés sur l’entête se fait via la fonction “AJOUTER-INFO-ERREUR” avec “TYPE-INFO= ENTETE” :
-
chaque appel de la fonction permet de pousser une clé et sa valeur
-
le premier appel donne la clé 1, le second la clé 2, et ainsi de suite
-
le EST-DERNIER= OUI indique à Diapason qu’il doit passer au statut “Obsolète” les erreurs déjà existantes qui ont même famille, entité, clés et qui sont plus anciennes.
L’utilisation du “EST-DERNIER= OUI” nécessite que tous les détails de l’erreur aient été créés préalablement.
Plus d’informations sur chaque fonction sur leurs pages dédiées :
CREER-ERREUR : création d'une en-tête d'erreur
CREER-DETAIL-ERREUR : création d'un détail d'erreur
AJOUTER-INFO-ERREUR : ajout informations liées à une entête ou un détail d'erreur
Avec procédure IS_ErBas
La procédure “IS_ErBas” permet de créer une erreur avec un seul détail en une seule fois. Cette procédure gère l’appel aux fonctions standards (cf. paragraphe précédent) pour créer l’entête, le détail et ses différentes infos supplémentaires.
Pour éviter d'écrire trop de texte directement dans les requêtes (avec les problèmes que peuvent poser certains caractères) cette procédure s’appuie sur 2 hypothèses de départ :
-
le libellé du message d’erreur est celui du code erreur
-
Les infos supplémentaires sont déclarées dans le tableur ci-dessous (accessible depuis les familles d’erreurs et les codes erreurs)
Saisir en critère la famille d’erreur pour laquelle on veut entrer les informations supplémentaires :
Le tableur affiche une ligne par couple code erreurs / informations supplémentaires (= champs additionnels déclarés sur la famille d’erreur).
Seule la colonne “Valeur” est saisissable sauf sur les lignes “Libellé” car le libellé du code erreur doit être modifié directement depuis le code erreur.
Sur les infos supplémentaires comme sur le libellé du code erreur il est possible d’insérer des codes &1, &2,…jusqu'à &9 pour insérer du texte dynamique.
En appelant la procédure IS_ErBas, on donnera les valeurs de ces variables et la procédure fera le remplacement.
Voici un exemple d’appel de la procédure :
Les paramètres de la procédure “Date”, “heure” et “utilisateur” ne sont pas valorisés dans l’exemple ci-dessus. Dans ce cas, Diapason prend date, heure et utilisateur courant. Quand ils sont alimentés, ces paramètres permettent de forcer ces valeurs.
Voici le résultat obtenu après exécution :