---
sourceDocument: Xanadu API リファレンス
sourceDocumentLink: https://www.servicenow.com/docs/r/ja-JP/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - ja-JP

ft:publication_title :

    - Xanadu API リファレンス

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# CIData - グローバル

# CIData - グローバル {#ariaid-title1}

* リリースバージョン: Xanadu
* 
* 更新日 2024年08月01日
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 所要時間：13分

CIData スクリプトインクルードは、JavaScript で構成アイテム (CI) データ構造を操作するためのメソッドを提供するユーティリティクラスです。

このスクリプトインクルードには、 ディスカバリー (com.snc.discovery.core) プラグインが必要です。これは、任意のサーバー側 ディスカバリー スクリプトで使用できます。

このクラスのインスタンスは、CI (基本レコードと関連リストの両方) を表し、提供されたメソッドは、基本レコードと関連リストの両方からの読み込みまたはこれらを格納することを許可します。  
このクラスは、プロパティ名と値のペアのマップとして機能する単純なクラスのコンテナとして機能します。このクラスには、このような3種類のマップが含まれています。

* ベースCIテーブルエントリを表す単一のマップ(cmdb_ci_linux_serverとそのスーパークラスなど)。このマップは、 [CIData - getData()](https://www.servicenow.com/docs/ExHa14kr35dw1n_0RZnG9w#r_CIData-getData "ベース CI レコードのデータマップを取得します。") メソッドを使用して取得できます。
* 関連するリストのインスタンスを表すマップのアレイ。各アレイは単一の関連リストとその関連リストの単一の行を表すそのようなアレイの各要素を表します。これらの配列は、 [CIData - getRelatedList(Stringテーブル、String refField)](https://www.servicenow.com/docs/ExHa14kr35dw1n_0RZnG9w#r_CIData-getRelatedList_S_S "指定された関連リスト(この CI への)のデータのマップのアレイを取得します。") メソッドで取得できます。
* 多対多表のインスタンスを表すマップのアレイ。各アレイは単一の多対多表を表し、そのようなアレイの各要素はその多対多表の単一行を表します。これらの配列は、 [CIData - getM2MTable(文字列 table, 文字列 refField)](https://www.servicenow.com/docs/ExHa14kr35dw1n_0RZnG9w#r_CIData-getM2MTable_S_S "指定された多対多リスト内のデータマップのアレイを (この CI に) 返します。") メソッドで取得できます。
{#c_CIDataAPI__ul_hhm_3n1_rt}

## CIData - CIData(文字列 debugFlag) {#ariaid-title2}

CIData クラスのインスタンスを作成します。
{#r_CIData-CIData_S__table_sjx_wn1_rt__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| debugFlag | 文字列 | デバッグログを有効にするかどうかを示すフラグです。 有効な値： * True：デバッグログは有効になります。 * False：デバッグログは有効になりません。 {#r_CIData-CIData_S__ul_z5w_m4p_ppb} |
[表 : 1. パラメーター]

{#r_CIData-CIData_S__table_sjx_wn1_rt}  
この例は、関連リストを作成して 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(アレイ relatedList) {#ariaid-title3}

指定された関連リストをこのインスタンスに追加します。
{#r_CIData-addRelatedList_A__table_zkf_mp1_rt__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| relatedList | アレイ | 追加する関連リストです。 |
[表 : 2. パラメーター]

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

| タイプ | 説明 |
|-|-|
| なし |   |
[表 : 3. 返される内容]

{#r_CIData-addRelatedList_A__table_alf_mp1_rt}  
この例は、関連リストを作成して 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(String sensor、String tableName、String refField、String keyName) {#ariaid-title4}

指定された関連リストを、指定されたセンサーの関連リストに変換します。
{#r_CIData-convertRelList_S_S_S_S__table_ldt_by1_rt__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| センサー | 文字列 | センサー |
| tableName | 文字列 | テーブル名 |
| refField | 文字列 | 参照フィールド |
| keyName | 文字列 | キー名 |
[表 : 4. パラメーター]

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

| タイプ | 説明 |
|-|-|
| なし |   |
[表 : 5. 返される内容]

{#r_CIData-convertRelList_S_S_S_S__table_mdt_by1_rt}

## CIData - fromXML(文字列 xml) {#ariaid-title5}

指定された XML 文字列から現在の CIData インスタンスを初期化します。
{#r_CIData-fromXML_S__table_mtf_hx1_rt__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| xml | 文字列 | XML 文字列です。 |
[表 : 6. パラメーター]

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

| タイプ | 説明 |
|-|-|
| なし |   |
[表 : 7. 返される内容]

{#r_CIData-fromXML_S__table_ntf_hx1_rt}  
次の例は、検出中に収集された XML 形式のテスト CI データを取得する方法を示しています。

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

出力:

    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}

ベース CI レコードのデータマップを取得します。
{#r_CIData-getData__table_c3h_cp1_rt__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| なし |   |   |
[表 : 8. パラメーター]

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

| タイプ | 説明 |
|-|-|
| オブジェクト | データマップ |
[表 : 9. 返される内容]

{#r_CIData-getData__table_d3h_cp1_rt}

## CIData - getM2MTable(文字列 table, 文字列 refField) {#ariaid-title7}

指定された多対多リスト内のデータマップのアレイを (この CI に) 返します。
{#r_CIData-getM2MTable_S_S__table_qzb_hv1_rt__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| table | 文字列 | 関連リストを含むテーブルの名前。多対多リストの場合、これはターゲット テーブルではなく、多対多テーブルの名前になります。 |
| refField | 文字列 | このCIを参照する関連リスト内のフィールドの名前。多対多リストの場合、ターゲット テーブルではなく、他タイ他テーブルの参照フィールドの名前になります。 |
[表 : 10. パラメーター]

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

| タイプ | 説明 |
|-|-|
| アレイ | 指定された多対多リスト内のデータマップのリストです。リストは順不同になります。 多対多リストでない場合、空のアレイを返します。 |
[表 : 11. 返される内容]

{#r_CIData-getM2MTable_S_S__table_rzb_hv1_rt}  
この例は、cmdb_software_instance テーブルの installed_on フィールドの多対多の関係を取得する方法を示しています。

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

    })();

出力：

    [
      {
        "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(Stringテーブル、String refField) {#ariaid-title8}

指定された関連リスト(この CI への)のデータのマップのアレイを取得します。
このアレイは特定の順番ではありません。多対多リストの場合、これは多対多テーブルではなく、ターゲット テーブルのインスタンスのアレイになります。例えば、 'cmdb_software_instance'と 'installed_on'(多対多テーブルと CI を参照するフィールド)を指定すると、このメソッドは cmdb_ci_spkg(ターゲット テーブル)インスタンスを表すマップのアレイを返します。
{#r_CIData-getRelatedList_S_S__table_rgy_451_rt__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| table | 文字列 | 関連リストを含むテーブルの名前。多対多リストの場合、これはターゲット テーブルではなく、多対多テーブルの名前になります。 |
| refField | 文字列 | このCIを参照する関連リスト内のフィールドの名前。多対多リストの場合、ターゲット テーブルではなく、他タイ他テーブルの参照フィールドの名前になります。 |
[表 : 12. パラメーター]

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

| タイプ | 説明 |
|-|-|
| アレイ | 指定された関連リスト内のデータのマップのアレイ |
[表 : 13. 返される内容]

{#r_CIData-getRelatedList_S_S__table_sgy_451_rt}

## CIData getRelatedListInstance(String table、String refField) {#ariaid-title9}

指定されたリストの CIRelatedList のインスタンスを返します。
{#r_CIData-getRelatedListInst_S_S__table_aff_yv1_rt__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| table | 文字列 | 関連リストを含むテーブルの名前。多対多リストの場合、これはターゲット テーブルではなく、多対多テーブルの名前になります。 |
| refField | 文字列 | このCIを参照する関連リスト内のフィールドの名前。多対多リストの場合、ターゲット テーブルではなく、他タイ他テーブルの参照フィールドの名前になります。 |
[表 : 14. パラメーター]

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

| タイプ | 説明 |
|-|-|
| オブジェクト | 指定されたリストの `CIRelatedList` のインスタンスです。 |
[表 : 15. 返される内容]

{#r_CIData-getRelatedListInst_S_S__table_bff_yv1_rt}  
次のコード例は、getRelatedListInstance() メソッドを使用して、削除する関連リストの関係を検索します。

    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}

新しい CI を読み込む準備としてこのインスタンスを初期化します。
{#r_CIData-init__table_zc2_v41_rt__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| なし |   |   |
[表 : 16. パラメーター]

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

| タイプ | 説明 |
|-|-|
| なし |   |
[表 : 17. 返される内容]

{#r_CIData-init__table_ad2_v41_rt}  

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

## CIData - loadFromCI(文字列 cmdb_ci) {#ariaid-title11}

指定された sys_id から現在のデータをロードします。
{#r_CIData-loadFromCI_S__table_yst_mw1_rt__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| cmdb_ci | 文字列 | CI の sys_id |
[表 : 18. パラメーター]

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

| タイプ | 説明 |
|-|-|
| オブジェクト | 指定された CI からの現在のデータ |
[表 : 19. 返される内容]

{#r_CIData-loadFromCI_S__table_zst_mw1_rt}  

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

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

この CIData インスタンスの名前を文字列に変換します。
{#r_CIData-toString__table_t31_px1_rt__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| なし |   |   |
[表 : 20. パラメーター]

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

| タイプ | 説明 |
|-|-|
| 文字列 | インスタンスの名前 |
[表 : 21. 返される内容]

{#r_CIData-toString__table_u31_px1_rt}  
この例は、現在の CI から CIData をロードし、この新しい CIData インスタンスを文字列形式に変換します。

    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

出力：

    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}

このインスタンスのシリアル化されたバージョン(関連リストを含む)を含む XML 文字列を返します。
{#r_CIData-toXML__table_trp_xw1_rt__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| なし |   |   |
[表 : 22. パラメーター]

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

| タイプ | 説明 |
|-|-|
| 文字列 | このインスタンスと関連するリストのシリアル化されたバージョンを含む XML 文字列 |
[表 : 23. 返される内容]

{#r_CIData-toXML__table_urp_xw1_rt}  

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


