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


---

# CIData - Global

# CIData - Global {#ariaid-title1}

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

Le script include CIData est une classe utilitaire qui fournit des méthodes pour travailler avec des structures de données d'éléments de configuration (CI) en JavaScript.

Cet include de script nécessite le module d'extension Découverte (com.snc.discovery.core). Vous pouvez l'utiliser dans n'importe quel script côté Découverte serveur.

Les instances de cette classe représentent un CI (à la fois son enregistrement de base et toutes les listes connexes), et les méthodes fournies permettent de charger ou de stocker à la fois l'enregistrement de base et les listes connexes.  
Cette classe agit comme un conteneur pour les classes simples agissant comme des cartes de paires nom/valeur de propriété. Cette classe contient trois types de cartes de ce type.

* Une seule carte représentant l'entrée de table CI de base (telle qu'un cmdb_ci_linux_server de ligne et ses superclasses). Vous pouvez récupérer cette carte à l'aide de la [CIData : getData()](https://servicenow-prod.fluidtopics.net/XkmhS3bBFdtiKal~bk8eFA#r_CIData-getData "Obtient la carte de données dans l’enregistrement de CI de base.") méthode.
* Tableaux de cartes représentant les instances de listes associées, chaque tableau représentant une seule liste connexe et chaque élément d'un tel tableau représentant une seule ligne de cette liste connexe. Ces tableaux peuvent être récupérés avec la [CIData : getRelatedList(Table de chaînes, champ de référence de chaîne)](https://servicenow-prod.fluidtopics.net/XkmhS3bBFdtiKal~bk8eFA#r_CIData-getRelatedList_S_S "Obtient un tableau de cartes de données dans la liste connexe donnée (à ce CI).") méthode.
* Tableaux de cartes représentant les instances de tables plusieurs-à-plusieurs, chaque tableau représentant une seule table plusieurs-à-plusieurs et chaque élément d'un tel tableau représentant une seule ligne de cette table plusieurs-à-plusieurs. Ces tableaux peuvent être récupérés avec la [CIData : getM2MTable(Table de chaînes, Champ de référence de chaîne)](https://servicenow-prod.fluidtopics.net/XkmhS3bBFdtiKal~bk8eFA#r_CIData-getM2MTable_S_S "Renvoie un tableau de cartes de données dans la liste plusieurs à plusieurs donnée (à ce CI).") méthode.
{#c_CIDataAPI__ul_hhm_3n1_rt}

## CIData : CIData (chaîne debugFlag) {#ariaid-title2}

Crée une instance de la classe CIData.
{#r_CIData-CIData_S__table_sjx_wn1_rt__entry__3}

| Nom | Type | Description |
|-|-|-|
| debugFlag (en anglais seulement) | Chaîne | Marqueur indiquant s'il faut activer la journalisation du débogage. Valeurs valides : * Vrai : la journalisation de débogage est activée. * Faux : la journalisation de débogage n'est pas activée. {#r_CIData-CIData_S__ul_z5w_m4p_ppb} |
[Tableau 1. Paramètres]

{#r_CIData-CIData_S__table_sjx_wn1_rt}  
Cet exemple crée et ajoute une liste connexe à l'objet CIData.

    var ciDataObj = new CIData();
    var rl = new CIRelatedList('cmdb_serial_number', 'cmdb_ci');
    var sr = {};
    sr['serial_number_type'] = "bios";
    sr['serial_number'] = "1BC5E4z89246";
    sr['valid'] =  "true";
    rl.addRec(sr);
    ciDataObj.addRelatedList(rl);

## CIData : addRelatedList(Array relatedList) {#ariaid-title3}

Ajoute la liste connexe spécifiée à cette instance.
{#r_CIData-addRelatedList_A__table_zkf_mp1_rt__entry__3}

| Nom | Type | Description |
|-|-|-|
| liste connexe | Tableau | Liste connexe à ajouter. |
[Tableau 2. Paramètres]

{#r_CIData-addRelatedList_A__table_zkf_mp1_rt} {#r_CIData-addRelatedList_A__table_alf_mp1_rt__entry__2}

| Type | Description |
|-|-|
| nul |   |
[Tableau 3. Renvoie]

{#r_CIData-addRelatedList_A__table_alf_mp1_rt}  
Cet exemple crée et ajoute une liste connexe à l'objet CIData.

    var ciDataObj = new CIData();
    var rl = new CIRelatedList('cmdb_serial_number', 'cmdb_ci');
    var sr = {};
    sr['serial_number_type'] = "bios";
    sr['serial_number'] = "1BC5E4z89246";
    sr['valid'] =  "true";
    rl.addRec(sr);
    ciDataObj.addRelatedList(rl);

## CIData : convertRelatedList(Capteur de chaîne, String tableName, String refField, String keyName) {#ariaid-title4}

Convertit la liste connexe spécifiée en liste connexe dans un capteur donné.
{#r_CIData-convertRelList_S_S_S_S__table_ldt_by1_rt__entry__3}

| Nom | Type | Description |
|-|-|-|
| capteur | Chaîne | Le capteur |
| tableName | Chaîne | Le nom de table |
| refField | Chaîne | Champ de référence |
| keyName | Chaîne | Nom de la clé |
[Tableau 4. Paramètres]

{#r_CIData-convertRelList_S_S_S_S__table_ldt_by1_rt} {#r_CIData-convertRelList_S_S_S_S__table_mdt_by1_rt__entry__2}

| Type | Description |
|-|-|
| nul |   |
[Tableau 5. Renvoie]

{#r_CIData-convertRelList_S_S_S_S__table_mdt_by1_rt}

## CIData : fromXML(chaîne xml) {#ariaid-title5}

Initialise l'instance CIData actuelle à partir de la chaîne XML spécifiée.
{#r_CIData-fromXML_S__table_mtf_hx1_rt__entry__3}

| Nom | Type | Description |
|-|-|-|
| xml | Chaîne | Une chaîne XML. |
[Tableau 6. Paramètres]

{#r_CIData-fromXML_S__table_mtf_hx1_rt} {#r_CIData-fromXML_S__table_ntf_hx1_rt__entry__2}

| Type | Description |
|-|-|
| nul |   |
[Tableau 7. Renvoie]

{#r_CIData-fromXML_S__table_ntf_hx1_rt}  
L'exemple suivant montre comment obtenir des données CI au format XML de test collectées lors de la détection.

    var xmlCIData = '<CIData><data><fld name="cpu_name">Intel(R) Xeon(R) CPU E5-2686 v4 @ 2.30GHz</fld><fld name="host_name">ip-172-31-19-95</fld><fld name="kernel_release">3.10.0-1160.45.1.el7.x86_64</fld><fld name="os">Linux CentOS</fld></data></CIData>';

    var ciData = new CIData();

    ciData.fromXML(xmlCIData);
    gs.log(ciData);

Sortie :

    CIData instance:
      cpu_name: Intel(R) Xeon(R) CPU E5-2686 v4 @ 2.30GHz
      host_name: ip-172-31-19-95
      kernel_release: 3.10.0-1160.45.1.el7.x86_64
      os: Linux CentOS
    [object Object]

## CIData : getData() {#ariaid-title6}

Obtient la carte de données dans l'enregistrement de CI de base.
{#r_CIData-getData__table_c3h_cp1_rt__entry__3}

| Nom | Type | Description |
|-|-|-|
| Aucun |   |   |
[Tableau 8. Paramètres]

{#r_CIData-getData__table_c3h_cp1_rt} {#r_CIData-getData__table_d3h_cp1_rt__entry__2}

| Type | Description |
|-|-|
| Objet | La carte de données |
[Tableau 9. Renvoie]

{#r_CIData-getData__table_d3h_cp1_rt}

## CIData : getM2MTable(Table de chaînes, Champ de référence de chaîne) {#ariaid-title7}

Renvoie un tableau de cartes de données dans la liste plusieurs à plusieurs donnée (à ce CI).
{#r_CIData-getM2MTable_S_S__table_qzb_hv1_rt__entry__3}

| Nom | Type | Description |
|-|-|-|
| table | Chaîne | Nom de la table contenant la liste connexe. Dans le cas d'une liste plusieurs-à-plusieurs, il s'agit du nom de la table plusieurs-à-plusieurs, et non de la table cible. |
| refField | Chaîne | Nom du champ dans la liste connexe qui fait référence à ce CI. Dans le cas d'une liste plusieurs à plusieurs, il s'agit du nom du champ référent dans la table plusieurs à plusieurs, et non dans la table cible. |
[Tableau 10. Paramètres]

{#r_CIData-getM2MTable_S_S__table_qzb_hv1_rt} {#r_CIData-getM2MTable_S_S__table_rzb_hv1_rt__entry__2}

| Type | Description |
|-|-|
| Tableau | Liste des mappages de données dans la liste plusieurs à plusieurs indiquée. La liste n'est pas dans un ordre particulier. S'il ne s'agit pas d'une liste plusieurs à plusieurs, renvoie un tableau vide. |
[Tableau 11. Renvoie]

{#r_CIData-getM2MTable_S_S__table_rzb_hv1_rt}  
Cet exemple montre comment obtenir les relations plusieurs-à-plusieurs pour le champ installed_on de la table cmdb_software_instance.

    function () {
      //Instantiate a new CIData class object
      var cdta = new CIData();

      //Load the current data from a CI record.
      cdta.loadFromCI('b4fd7c8437201000deeabfc8bcbe5dc1');

      // Returns an Array of Objects (records) of a given M2M related list
      var records = cdta.getM2MTable('cmdb_software_instance', 'installed_on');

      gs.info(JSON.stringify(records, null, 4));

    })();

Sortie :

    [
      {
        "sys_id": "208983661b3330106cdf0f26624bcb4b",
        "software": "46c1ec3ca9fe198100beafe77332be9a",
        "sys_updated_on": "2021-11-16 18:32:35",
        "sys_created_on": "2021-11-16 18:32:35",
        "name": "3D Groove Playback Engine-*ANNIE-IBM",
        "installed_on": "b4fd7c8437201000deeabfc8bcbe5dc1"
      },
      {
        "sys_id": "288983661b3330106cdf0f26624bcb4a",
        "software": "0c43bc5fc61122750182c13269a7a3ef",
        "sys_updated_on": "2021-11-16 18:32:35",
        "sys_created_on": "2021-11-16 18:32:35",
        "name": ".NET SDK 2003-*ANNIE-IBM",
        "installed_on": "b4fd7c8437201000deeabfc8bcbe5dc1"
      }
    ]

## CIData : getRelatedList(Table de chaînes, champ de référence de chaîne) {#ariaid-title8}

Obtient un tableau de cartes de données dans la liste connexe donnée (à ce CI).
Le tableau n'est pas dans un ordre particulier. Dans le cas d'une liste plusieurs-à-plusieurs, il s'agit d'un tableau d'instances de la table cible, et non de la table plusieurs-à-plusieurs. Par exemple, étant donné \<\< cmdb_software_instance \>\> et \<\< installed_on \>\> (une table plusieurs à plusieurs et le champ qui fait référence à un CI), cette méthode renvoie un tableau de cartes représentant cmdb_ci_spkg instances (la table cible).
{#r_CIData-getRelatedList_S_S__table_rgy_451_rt__entry__3}

| Nom | Type | Description |
|-|-|-|
| table | Chaîne | Nom de la table contenant la liste connexe. Dans le cas d'une liste plusieurs-à-plusieurs, il s'agit du nom de la table plusieurs-à-plusieurs, et non de la table cible. |
| refField | Chaîne | Nom du champ dans la liste connexe qui fait référence à ce CI. Dans le cas d'une liste plusieurs à plusieurs, il s'agit du nom du champ référent dans la table plusieurs à plusieurs, et non dans la table cible. |
[Tableau 12. Paramètres]

{#r_CIData-getRelatedList_S_S__table_rgy_451_rt} {#r_CIData-getRelatedList_S_S__table_sgy_451_rt__entry__2}

| Type | Description |
|-|-|
| Tableau | Tableau de cartes de données dans la liste connexe spécifiée. |
[Tableau 13. Renvoie]

{#r_CIData-getRelatedList_S_S__table_sgy_451_rt}

## CIData : getRelatedListInstance(Table de chaînes, champ de référence de chaîne) {#ariaid-title9}

Renvoie l'instance de CIRelatedList pour la liste donnée.
{#r_CIData-getRelatedListInst_S_S__table_aff_yv1_rt__entry__3}

| Nom | Type | Description |
|-|-|-|
| table | Chaîne | Nom de la table contenant la liste connexe. Dans le cas d'une liste plusieurs-à-plusieurs, il s'agit du nom de la table plusieurs-à-plusieurs, et non de la table cible. |
| refField | Chaîne | Nom du champ dans la liste connexe qui fait référence à ce CI. Dans le cas d'une liste plusieurs à plusieurs, il s'agit du nom du champ référent dans la table plusieurs à plusieurs, et non dans la table cible. |
[Tableau 14. Paramètres]

{#r_CIData-getRelatedListInst_S_S__table_aff_yv1_rt} {#r_CIData-getRelatedListInst_S_S__table_bff_yv1_rt__entry__2}

| Type | Description |
|-|-|
| Objet | Instance de `CIRelatedList` pour la liste spécifiée. |
[Tableau 15. Renvoie]

{#r_CIData-getRelatedListInst_S_S__table_bff_yv1_rt}  
L'exemple de code suivant utilise la méthode getRelatedListInstance() pour trouver les relations de liste connexe à supprimer.

    removeAllRelatedList: function(ci_id) {
      var cdta = new CIData('false');
      cdta.init();
      cdta.loadFromCI(ci_id); // Get a Computer CI Instance
      var cirelatedlist = cdta.getRelatedListInstance('cmdb_rel_ci', 'parent'); // Get the CIRelatedList instance holding all relationships of the above CI.
      cirelatedlist.remove(); // Remove all the CI Relationships
    }

## CIData : init() {#ariaid-title10}

Initialise cette instance en vue du chargement d'un nouveau CI.
{#r_CIData-init__table_zc2_v41_rt__entry__3}

| Nom | Type | Description |
|-|-|-|
| Aucun |   |   |
[Tableau 16. Paramètres]

{#r_CIData-init__table_zc2_v41_rt} {#r_CIData-init__table_ad2_v41_rt__entry__2}

| Type | Description |
|-|-|
| nul |   |
[Tableau 17. Renvoie]

{#r_CIData-init__table_ad2_v41_rt}  

    var cdta = CIData('false');
    cdta.init();

## CIData : loadFromCI(String cmdb_ci) {#ariaid-title11}

Charge les données actuelles à partir d'un sys_id spécifié.
{#r_CIData-loadFromCI_S__table_yst_mw1_rt__entry__3}

| Nom | Type | Description |
|-|-|-|
| cmdb_ci | Chaîne | Le sys_id du CI |
[Tableau 18. Paramètres]

{#r_CIData-loadFromCI_S__table_yst_mw1_rt} {#r_CIData-loadFromCI_S__table_zst_mw1_rt__entry__2}

| Type | Description |
|-|-|
| Objet | Données actuelles du CI spécifié. |
[Tableau 19. Renvoie]

{#r_CIData-loadFromCI_S__table_zst_mw1_rt}  

    var cdta = CIData('false');
    cdta.init();
    cdta.loadFromCI('ccaf9c0a8016400b98a06818d57c7');

## CIData : toString() {#ariaid-title12}

Convertit le nom de cette instance CIData en chaîne de caractères.
{#r_CIData-toString__table_t31_px1_rt__entry__3}

| Nom | Type | Description |
|-|-|-|
| Aucun |   |   |
[Tableau 20. Paramètres]

{#r_CIData-toString__table_t31_px1_rt} {#r_CIData-toString__table_u31_px1_rt__entry__2}

| Type | Description |
|-|-|
| Chaîne | Nom de l'instance |
[Tableau 21. Renvoie]

{#r_CIData-toString__table_u31_px1_rt}  
Cet exemple charge la CIData du CI actuel et convertit cette nouvelle instance CIData au format chaîne.

    var cidata = new CIData(); // Instantiate a new CIData class object
    cidata.loadFromCI('0c43b0f5c6112275019abd2bb3dcd78f'); // Load the current data from a CI record. Use sys_id or ci name.
    cidata.toString(); // Convert the name of this CIData instance to a string.
    gs.info(cidata); // Display name value pairs of the current CI

Sortie :

    CIData instance:
      sys_id: 0c43b0f5c6112275019abd2bb3dcd78f
      operational_status: 1
      os_service_pack: Service Pack 1
      cpu_manufacturer: 0c43b088c6112275011a4bd46a4e6cc4
      sys_updated_on: 2022-01-11 07:44:05
      discovery_source: Other Automated
      ram: 503
      cpu_speed: 1993
      sys_domain_path: /
      disk_space: 37.26
      cost_center: d9d07bddc0a80a647cf932056ed24652
      assigned: 2020-08-31 08:00:00
      cd_speed: -1
      can_print: 0
      sys_class_name: cmdb_ci_computer
      manufacturer: add7b97737e3100044e0bfc8bcbe5d96
      cpu_count: 1
      vendor: adb3d8ce37413000158bbfc8bcbe5d15
      assigned_to: 5137153cc611227c000bbd1bd8cd2007
      os_version: 5.1.2600
      cd_rom: 0
      unverified: 0
      asset: aac1ba8837f3100044e0bfc8bcbe5d3b
      skip_sync: 0
      sys_created_on: 2005-05-24 01:14:19
      sys_domain: global
      cpu_type: GenuineIntel
      install_date: 2020-05-19 07:00:00
      asset_tag: P1000143
      install_status: 1
      name: ANDREWDWXP
      subcategory: Computer
      virtual: 0
      sys_class_path: /!!/!2/!(
      company: 31bea3d53790200044e0bfc8bcbe5dec
      department: 221f3db5c6112284009f4becd3039cc9
      cost: 1299.99
      os: Windows XP Professional
      attestation_status: Not Yet Reviewed
      monitor: 0
      ip_address: 195.11.1.1
      cost_cc: USD
      location: db9a923c0a0a0a6501068d6eaec25ee0
      category: Hardware
      fault_count: 0
    [object Object]

## CIData : toXML() {#ariaid-title13}

Renvoie une chaîne XML contenant une version sérialisée de cette instance (y compris les listes connexes).
{#r_CIData-toXML__table_trp_xw1_rt__entry__3}

| Nom | Type | Description |
|-|-|-|
| Aucun |   |   |
[Tableau 22. Paramètres]

{#r_CIData-toXML__table_trp_xw1_rt} {#r_CIData-toXML__table_urp_xw1_rt__entry__2}

| Type | Description |
|-|-|
| Chaîne | Chaîne XML contenant une version sérialisée de cette instance et des listes connexes. |
[Tableau 23. Renvoie]

{#r_CIData-toXML__table_urp_xw1_rt}  

    var cdta = CIData();
    cdta.toXML();


