---
sourceDocument: Référence de l’API Xanadu
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/fr-FR/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - fr-FR

ft:publication_title :

    - Référence de l’API Xanadu

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# Débogage des règles métier

# Débogage des règles métier {#ariaid-title1}

* Rversion finale: Xanadu
* 
* Mis à jour 1 août 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 2 minutes de lecture

Le débogage des règles métier peut être réalisé avec les ressources disponibles dans le ServiceNow produit.

## 1. Outils

La première étape du processus consiste à identifier les outils qui vous aideront à comprendre ce qui ne va pas.
{#r_DebuggingBusinessRules__table_ipc_pwl_jp__entry__2}

| Outil de débogage | Description |
|-|-|
| Dictionnaire système | Accédez à la Définition du systèmeDictionnaire. Le dictionnaire fournit une liste de toutes les tables au sein de votre instance et peut s'avérer précieux lorsque vous essayez de localiser des informations. |
| Journal système | Accédez à la Journaux SystèmeJournal système. Vous pouvez placer des déclarations d'alerte dans votre règle métier qui peuvent écrire des informations dans le journal. |
| Déboguer une règle métier (détails) | Accédez à la Diagnostics du systèmeDébogage de sessionDéboguer une règle métier (détails). Ce module de débogage affiche les résultats des règles métier. Utilisez ce module pour voir si les conditions sont remplies et si les valeurs sont définies comme prévu. |
| Messages d'alerte | Il existe plusieurs fonctions système qui vous permettent d'imprimer des messages sur la page, le champ ou le fichier journal. Consultez [Alertes, informations et messages d'erreur de scripting](https://servicenow-prod.fluidtopics.net/V_I7y12_36UbhaXcfy6MoA "Vous pouvez envoyer des messages aux clients sous forme d’alertes, de messages d’information ou de messages d’erreur."). |
| Exemples de règles métier | Parfois, vous pouvez trouver ce que vous cherchez dans les scripts que d'autres ont écrits, y compris les messages d'erreur de règle métier ou en créant une requête OR. |
| Informations GlideRecord | Il s'agit de la syntaxe de base utilisée pour interroger la base de données à la recherche d'informations. Consultez [Interrogation des tables dans le script](https://servicenow-prod.fluidtopics.net/6iURyC0fU4q_DqfYMmSxOg#c_UsingGlideRecordToQueryTables "À l’aide des méthodes de l’API GlideRecord, vous pouvez renvoyer tous les enregistrements d’une table, renvoyer des enregistrements d’une table qui satisfont à des conditions spécifiques ou renvoyer des enregistrements qui incluent une chaîne à partir d’une seule table ou de plusieurs tables dans un groupe d’index de texte."). GlideRecord inclut également la prise en charge de l'agrégation. |
[Tableau 1. Outils de débogage]

{#r_DebuggingBusinessRules__table_ipc_pwl_jp}

## 2. Les variables

L'étape suivante consiste à mieux comprendre le comportement de votre règle métier. Pour chaque action, à l'exception d'une insertion, vous utiliserez probablement une requête pour obtenir votre ou vos enregistrements.

    var rec = new GlideRecord('incident');
    rec.addQuery('active',true); 
    rec.query();
    while (rec.next()) {
     gs.print(rec.number + ' exists');
     }

Pour vérifier si votre requête renvoie réellement des enregistrements, vous pouvez utiliser <var class="keyword varname">gs.addInfoMessage</var> pour afficher des informations en haut de l'écran.

    var rec = new GlideRecord('incident');
    rec.addQuery('active',true); 
    rec.query();
    gs.addInfoMessage("This is rec.next: " + rec.next());
    while (rec.next()) {
     gs.print(rec.number + ' exists');
     }

Si votre requête ne renvoie aucun enregistrement, les éléments suivants s'affichent :

    This is rec.next: false

Utilisez cette technique pour vérifier que chaque variable de votre règle métier contient des valeurs attendues.  
Conseil :  
Si nécessaire, décomposez votre script en morceaux individuels et vérifiez que chaque morceau fonctionne séparément de l'ensemble, puis remettez-les tous ensemble une étape à la fois.

## 3. Localisation de l'information

La dernière étape consiste à vous assurer que vous savez où trouver les informations recherchées par votre règle.

Dans l'application ServiceNow , une table peut en étendre une autre. Cela signifie que lorsque vous recherchez des informations, vous devrez peut-être interroger la table parente pour obtenir le sys_id de la table étendue afin de trouver ce que vous recherchez.

Un bon exemple est la table sc_task, qui étend la table de tâches. Le script ci-dessous interroge la table étendue (sc_task) pour le sys_id actuel, puis interroge la table parente (tâche) pour les enregistrements avec le sys_id correspondant, puis imprime le champ Notes de travail.

    var kids = new GlideRecord('sc_task');
    kids.query();
     
    gs.addInfoMessage("This is requested item number: " + current.number);
    gs.print("This is the requested item number: " + current.number);
     
    while (kids.next()) { 
     var parents = new GlideRecord('task');
     parents.addQuery('sys_id', '=', kids.sys_id);
     parents.query();
     
     while(parents.next()) {
      gs.addInfoMessage("This is task number: " + parents.number);
      gs.print("This is task number: " + parents.number);
      gs.addInfoMessage("These are the work notes: " + parents.work_notes);
      gs.print("These are the work notes: " + parents.work_notes);
      }
     
     }


