---
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


---

# Écriture de scripts côté serveur

# Écriture de scripts côté serveur {#ariaid-title1}

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

Les scripts serveur s'exécutent sur le serveur ou la base de données. Elles peuvent changer l'apparence ou le comportement de ServiceNow ou s'exécuter en tant que règles métier lorsque des enregistrements et des tables sont consultés ou modifiés.

Les API (interfaces de programmation d'application) Glide côté serveur fournissent des classes et des méthodes que vous pouvez utiliser dans des scripts pour effectuer des tâches côté serveur.

## Expressions de fonction immédiatement invoquées {#c_ServerScripting__section_qqw_jcd_vhb}

Le système utilise des expressions de fonction immédiatement invoquées lorsqu'un script s'exécute dans un contexte unique, par exemple dans une [carte de transformation](https://www.servicenow.com/docs/access?context=t_CreateATransformMap&version=xanadu&pubname=xanadu-integrate-applications&ft:locale=en-US). Les fonctions qui s'exécutent à partir de plusieurs contextes sont utilisées [Includes de script](https://servicenow-prod.fluidtopics.net/qDjWQH0TxlE89Qumy06mqg#c_ScriptIncludes "Les includes de script sont utilisés pour stocker le code JavaScript qui s’exécute sur le serveur.") à la place.  
En enfermant un script dans une expression de fonction immédiatement invoquée, vous pouvez :

* Assurez-vous que le script n'a pas d'impact sur d'autres zones du produit, par exemple en écrasant des variables globales.
* Transmettez des variables ou des objets utiles en tant que paramètres.
* Identifiez les noms de fonctions dans les traces de pile.
* Éliminez le fait d'avoir à effectuer des appels de fonction séparés.
{#c_ServerScripting__ul_ghj_mfv_lx}

Une expression de fonction immédiatement invoquée suit le format suivant :

    (function functionName(parameter){
     
      //The script you want to run
     
    })('value');//Note the parenthesis indicating this function should run.

Vous pouvez déclarer des fonctions à l'intérieur de l'expression de fonction immédiatement invoquée. Ces fonctions internes ne sont accessibles qu'à partir de l'expression de la fonction immédiatement invoquée.

    (function functionName(parameter){
     
      function helperFunction(parameter){//return some value}
     
      var value = helperFunction(parameter);//Valid function call.
     
      //perform any other script actions
     
    })('value');
     
    var value2 = helperFunction(parameter);//Invalid. This function is not accessible from outside the self-executing function.

* **[API du serveur Glide](https://servicenow-prod.fluidtopics.net/VPFM7rKMmvkG7R6eDSeRwQ#p_GlideServerAPIs)**   
  ServiceNow fournit des API pour le serveur Glide.
* **[Règles métier classiques](https://servicenow-prod.fluidtopics.net/FFE9YIg1dMjgUHYsEgBFzQ#c_BusinessRules)**   
  Une règle métier est un script de serveur qui s'exécute lorsqu'un enregistrement est affiché, inséré, mis à jour ou supprimé, ou lorsqu'une table est interrogée.
* **[Includes de script](https://servicenow-prod.fluidtopics.net/qDjWQH0TxlE89Qumy06mqg#c_ScriptIncludes)**   
  Les includes de script sont utilisés pour stocker le code JavaScript qui s'exécute sur le serveur.
* **[Processeurs](https://servicenow-prod.fluidtopics.net/lP9uvn4did6QtHdupHwoOQ)**   
  Les processeurs fournissent un point de terminaison d'URL personnalisable qui peut exécuter du code JavaScript arbitraire côté serveur et produire une sortie telle que TEXT ou JSON. La création de processeurs personnalisés est déconseillée.
* **[Scripts : module d'arrière-plan](https://servicenow-prod.fluidtopics.net/VE9iPAJdt8APVq_B221Etg)**   
  Les administrateurs peuvent utiliser le module Scripts - Arrière-plan pour exécuter du code JavaScript arbitraire à partir du serveur.
* **[Paramètres d'installation](https://servicenow-prod.fluidtopics.net/AU2H6hBgz1YzNFAxOmhFtg)**   
  Les paramètres d'installation sont des règles métier globales avec des noms calculés. Les paramètres d'installation sont calculés juste avant l'affichage d'un enregistrement et facilitent la détermination dynamique des accès et des rôles. Les paramètres d'installation permettent la détermination programmatique d'un réglage.
* **[Utilisation de DurationCalculator pour calculer une date d'échéance](https://servicenow-prod.fluidtopics.net/0PJ9au7KRD6slEhC~iHVRw#c_DrtnClDueDate)**   
  À l'aide de l'include de script DurationCalculator, vous pouvez calculer une date d'échéance à l'aide d'une durée simple ou d'une durée relative basée sur des calendriers.
* **[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.
* **[Exécuter automatiquement les guides de commande](https://servicenow-prod.fluidtopics.net/w0vh52J7FWQeFLwCIVrOXA#c_RunningOrderGuidesAutomatically)**   
  Les guides de commande de Service Catalog permettent aux clients d'effectuer une seule demande de catalogue de services pouvant générer plusieurs éléments commandés. Les administrateurs peuvent configurer des guides de commande pour qu'ils s'exécutent automatiquement, à partir d'un workflow ou d'un script, afin de générer un ensemble d'éléments commandés sans soumettre manuellement une demande de catalogue de services. Les administrateurs peuvent également examiner et traiter à nouveau les échecs de guide de commande.
* **[Affectation scriptable des plans d'exécution](https://servicenow-prod.fluidtopics.net/ATC_XDr0zEZQxMY5tNU~xA#c_ScptblAsmtExctnPlns)**   
  Chaque élément de catalogue est associé à un plan d'exécution, utilisé chaque fois qu'un élément de ce type est commandé. Si aucun plan n'est spécifié, le plan par défaut est utilisé. Cette valeur par défaut est en vigueur pour la plupart des organisations, mais votre plan d'exécution peut devoir varier en fonction de critères supplémentaires.
* **[Utilisation d'expressions régulières dans des scripts côté serveur](https://servicenow-prod.fluidtopics.net/0wPQ40jPUPmU92zE3TUa3w)**   
  Les expressions régulières JavaScript utilisent automatiquement un moteur regex amélioré, qui fournit des performances améliorées et prend en charge tous les comportements des expressions régulières standard tels que définis par Mozilla JavaScript. Le moteur regex amélioré prend en charge l'utilisation de la syntaxe Java dans les expressions régulières.
* **[Variables du catalogue de services pouvant contenir des scripts](https://servicenow-prod.fluidtopics.net/MTueJjO6UJDBCa3TPYfWEw)**   
  Vous pouvez utiliser un scripting pour référencer n'importe quelle variable d'élément de demande à partir d'une table dans un environnement inclus dans le champ d'application et hors du champ d'application.
* **[Définir une variable GlideRecord sur nulle](https://servicenow-prod.fluidtopics.net/3IxPJpwLuRX02~etUMmB5g)**   
  Les variables GlideRecord (y compris les variables actuelles) sont initialement nulles dans la base de données. Redéfinir ces valeurs sur une chaîne vide, un espace ou la valeur JavaScript null n'entraînera pas un retour à cet état initial.
* **[Pages de calendrier](https://servicenow-prod.fluidtopics.net/rXfZ6kJLoA12ALBkhzMKgA#c_SchedulePages)**   
  Une page de calendrier est un enregistrement qui contient une collection de scripts qui permettent de personnaliser l'affichage d'un calendrier ou d'une chronologie.
* **[Objet de script XMLDocument](https://servicenow-prod.fluidtopics.net/aKU8fAvylvuW6DMrrsqmtg)**   
  Couche d'objet JavaScript pour l'analyse et l'extraction de données XML à partir d'un document XML (chaîne).
* **[Moteur JavaScript sur la plateforme](https://servicenow-prod.fluidtopics.net/lssaewhSuRLPKiUtuVrQPQ)**   
  Le moteur JavaScript qui évalue les scripts côté serveur prend en charge la norme ECMAScript 2021 (ES12).
* **[API JavaScript Aide contextuelle](https://servicenow-prod.fluidtopics.net/p24YSyBBbk6LHqcV~gxhqA)**   
  L'éditeur de syntaxe peut afficher des informations contextuelles sur les API.

