---
sourceDocument: オーストラリア API リファレンス
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ja-JP/api-reference

 Release :

    - australia

ft:locale :

    - ja-JP

ft:publication_title :

    - オーストラリア API リファレンス

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# ProductInstance:スコープ対象、グローバル

# ProductInstance:スコープ対象、グローバル {#ariaid-title1}

* リリースバージョン: Australia
* 
* 更新日 2026年03月12日
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 所要時間：11分

ProductInstance API は、製品インスタンス識別子 (PID) を生成し、PID 構成データを取得し、モデルカテゴリが製品インスタンスであるかどうかを判断するためのメソッドを提供します。

この API は `sn_cmdb` 名前空間で実行され、category_manager または snc_internal ロールが必要です。モデルカテゴリ \[cmdb_model_category\] テーブルのアクセス制御リスト (ACL) を持つユーザーにもアクセス権が付与されます。ACL はテーブル \[sys_db_object\] テーブルで表示できます。

PID は製品インスタンスの一意の識別子であり、資産、構成アイテム (CI)、およびインストールベースアイテム (IBI) をリンクして、一般的な製品表現間で更新を同期します。製品インスタンスは、特定のモデルカテゴリの資産に関連付けられています。

インストールベースアイテムにアクセスするには、カスタマーサービスインストールベース管理 (com.snc.install_base) プラグインが必要です。  
関連項目：

* [Model categories](https://www.servicenow.com/docs/access?context=c_ModelCategories&version=australia&pubname=australia-it-asset-management&ft:locale=en-US)
* [Product Instance feature in Hardware Asset Management](https://www.servicenow.com/docs/access?context=product-instance-for-assets&version=australia&pubname=australia-it-asset-management&ft:locale=en-US)
* [Create an install base item](https://www.servicenow.com/docs/access?context=create-install-base-item&version=australia&pubname=australia-customer-service-management&ft:locale=en-US)
{#ProductInstanceBothAPI__ul_d14_5x4_zzb}

## ProductInstance -- generatePID(文字列 className, 文字列 modelCategorySysId, オブジェクト jsonKeyValues) {#ariaid-title2}

製品インスタンスのハッシュ値を生成して返します。
このメソッドは、呼び出し元アプリケーションのパフォーマンスに影響を与えることなく、何度でも呼び出すことができます。このメソッドはデータベース内のデータを変更せず、PID の計算に必要なデータをキャッシュします。

製品インスタンス識別子 (PID) は製品インスタンスの一意の識別子で、資産、CI、およびインストールベースアイテム (IBI) をリンクします。  
PID は、製品インスタンス識別子構成 \[product_instance_identifier_configuration\] テーブルで定義されている次のアイテムに基づいて生成されます。

* PID 構成 (読み取り専用)
* 各構成にアサインされた注文

{#ProductInstance-generatePID_S_S_O__ul_dll_42w_21c}「[Product Instance feature in Hardware Asset Management](https://www.servicenow.com/docs/access?context=product-instance-for-assets&version=australia&pubname=australia-it-asset-management&ft:locale=en-US)」も参照してください。
{#ProductInstance-generatePID_S_S_O__table_mxt_n4d_tzb__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| className | 文字列 | 生成する PID のテーブル名。 |
| モデルカテゴリ SysID | 文字列 | モデルカテゴリ \[cmdb_model_category\] テーブルのモデルカテゴリのsys_id。詳細については、「[Model categories](https://www.servicenow.com/docs/access?context=c_ModelCategories&version=australia&pubname=australia-it-asset-management&ft:locale=en-US)」を参照してください。 |
| jsonKeyValue | オブジェクト | 製品インスタンス識別子構成 \[product_instance_identifier_configuration\] テーブルで構成された PID パラメーターの JSON キーと値のペア。 キーと値のペアには、属性名とそれに対応する値が含まれています。これらの値は、PID に定義された構成プロパティによって異なります。 |
[表 : 1. パラメーター]

{#ProductInstance-generatePID_S_S_O__table_mxt_n4d_tzb} {#ProductInstance-generatePID_S_S_O__table_nxt_n4d_tzb__entry__2}

| タイプ | 説明 |
|-|-|
| オブジェクト | PID の生成に使用される情報。 オブジェクトは、次の条件で空の product_instance_id プロパティ値で返されます。 * PID に必要な PID 構成属性がありません。PID 構成は、製品インスタンス識別子構成 \[product_instance_identifier_configuration\] テーブルにあります。 * 指定されたクラスには製品インスタンスが関連付けられていません。 {#ProductInstance-generatePID_S_S_O__ul_u4s_5fx_21c} { "model_category_sysId": "String", "parameters": [Array], "product_instance_id": "String" } |
| \<Object\>.model_category_sysId | モデルカテゴリ \[cmdb_model_category\] テーブル内の製品カテゴリのsys_id。 モデルカテゴリ階層を使用して PID を生成した場合、この値は入力値と異なる場合があります。 データタイプ：文字列 |
| \<Object\>.parameters | PID の生成に使用され、製品インスタンス識別子構成 \[product_instance_identifier_configuration\] テーブルで定義されているパラメーターのリスト。 データタイプ：文字列のアレイ |
| \<Object\>.product_instance_id | 資産、CI、またはインストールベースアイテムのproduct_instance_idフィールドの PID。 PID のハッシュ値をこのプロパティに設定すると、次のいずれかのテーブルのオブジェクトの共通の値を同期できます。 * 資産 \[alm_asset\] * 構成アイテム \[cmdb_ci\] * インストールベースアイテム \[sn_install_base_item\] {#ProductInstance-generatePID_S_S_O__ul_j4s_5cx_21c}インストールベースアイテムには、カスタマーサービスインストールベース管理 (com.snc.install_base) プラグインが必要です。 データタイプ：文字列 |
[表 : 2. 返される内容]

{#ProductInstance-generatePID_S_S_O__table_nxt_n4d_tzb}  
次の例は、医療資産 \[sn_ent_medical_asset\] テーブルの資産の PID を作成する方法を示しています。このテーブルは、カスタマーサービスインストールベース管理 (com.snc.install_base) プラグインに含まれています。

    var output = sn_cmdb.ProductInstance.generatePID('sn_ent_medical_asset', '4b8aa89a77710110dd5fca22fe5a9984', { "serial_number" : "SN1001"});
    gs.info(JSON.stringify(output,null,'\t'));

出力：

    {
      "model_category_sysId": "4b8aa89a77710110dd5fca22fe5a9984",
      "product_instance_id": "tw8QgznsS4cP3b4U0+rSbnbIWxirYpeVSquk3g81K/8=",
      "parameters": [
        "serial_number"
      ]
    }

## ProductInstance -- getPIDConfig(文字列 className, 文字列 modelCategorySysId) {#ariaid-title3}

階層とクラス名に基づいて、モデルカテゴリに関連付けられた PID 構成を取得します。
このメソッドは、モデルカテゴリのすべての階層をスキャンし、最初に見つかったモデルカテゴリの PID 構成を返します。
{#ProductInstance-getPIDConfig_S_S__table_mxt_n4d_tzb__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| className | 文字列 | 生成する PID のテーブル名。 |
| モデルカテゴリ SysID | 文字列 | モデルカテゴリ \[cmdb_model_category\] テーブルのモデルカテゴリのsys_id。詳細については、「[Model categories](https://www.servicenow.com/docs/access?context=c_ModelCategories&version=australia&pubname=australia-it-asset-management&ft:locale=en-US)」を参照してください。 |
[表 : 3. パラメーター]

{#ProductInstance-getPIDConfig_S_S__table_mxt_n4d_tzb} {#ProductInstance-getPIDConfig_S_S__table_nxt_n4d_tzb__entry__2}

| タイプ | 説明 |
|-|-|
| オブジェクト | 指定されたクラス名とモデルカテゴリに関連付けられた PID 構成を含む JSON オブジェクト。 { "model_category_sysId": "String", "configs": [Array] } |
| \<Object\>.model_category_sysId | モデルカテゴリ \[cmdb_model_category\] テーブル内の製品カテゴリのsys_id。 モデルカテゴリ階層を使用して PID を生成した場合、この値は入力値と異なる場合があります。 データタイプ：文字列 |
| \<Object\>.configs | 指定されたモデルカテゴリに関連付けられた各構成のリスト。 "configs": [ { "configuration_order": Number, "parameters": [Array] } ] データタイプ：アレイ |
| \<Object\>.configs.configuration_order | 製品インスタンス識別子パラメーター \[product_instance_identifier_parameters\] テーブルで定義された構成の順序を返します。 データタイプ：数値 |
| \<Object\>.configs.parameters | 構成とその順序に関連付けられたすべてのパラメーターのリスト。 "parameters": [ { "parameter_class_attribute_name": "String", "parameter_class_name": "String", "parameter_name": "String", "parameter_order": Number } ] データタイプ：オブジェクトのアレイ |
| \<Object\>.configs.parameters.parameter_class_attribute_name | parameter_class_nameプロパティに関連付けられたパラメーター名。この文字列は、そのクラスに対応する列の名前を表します。 データタイプ：文字列 |
| \<Object\>.configs.parameters.parameter_class_name | 製品インスタンス識別子パラメーター \[product_instance_identifier_parameters\] テーブルで定義されているパラメーターに関連付けられているクラス名。 データタイプ：文字列 |
| \<Object\>.configs.parameters.parameter_name | 製品インスタンス識別子パラメーター \[product_instance_identifier_parameters\] テーブルで定義されたパラメーター名。 データタイプ：文字列 |
| \<Object\>.configs.parameters.parameter_order | 製品インスタンス識別子パラメーター \[product_instance_identifier_parameters\] テーブルで定義されたパラメーターの順序。 データタイプ：数値 |
[表 : 4. 返される内容]

{#ProductInstance-getPIDConfig_S_S__table_nxt_n4d_tzb}  
次の例は、医療資産 \[sn_ent_medical_asset\] テーブルで の名前付きモデルカテゴリの構成の詳細を取得する方法を示しています。このテーブルは、カスタマーサービスインストールベース管理 (com.snc.install_base) プラグインに含まれています。

    var config = sn_cmdb.ProductInstance.getPIDConfig('sn_ent_medical_asset', '4b8aa89a77710110dd5fca22fe5a9984');
    gs.info(JSON.stringify(config,null,'\t'));

出力：

    {
      "model_category_sysId": "4b8aa89a77710110dd5fca22fe5a9984",
      "configs": [
        {
          "parameters": [
            {
              "parameter_class_attribute_name": "serial_number",
              "parameter_class_name": "sn_ent_medical_asset",
              "parameter_name": "serial_number",
              "parameter_order": 1
            }
          ],
          "configuration_order": 100
        },
        {
          "parameters": [
            {
              "parameter_class_attribute_name": "parent",
              "parameter_class_name": "sn_ent_medical_asset",
              "parameter_name": "parent_asset",
              "parameter_order": 1
            },
            {
              "parameter_class_attribute_name": "model_component_id",
              "parameter_class_name": "sn_ent_medical_asset",
              "parameter_name": "model_component_id",
              "parameter_order": 2
            }
          ],
          "configuration_order": 200
        }
      ]
    }

## ProductInstance -- isProductInstance(文字列 modelCategorySysId) {#ariaid-title4}

指定されたモデルカテゴリが製品インスタンスかどうかを確認します。
次の両方の条件が満たされている場合、モデルカテゴリは製品インスタンスとして認定されます。

* モデルカテゴリのis_model_categoryフラグの値が true です。
* モデルカテゴリには、製品インスタンス識別子構成 \[product_instance_identifier_configuration\] テーブルで定義された有効な構成があります。
{#ProductInstance-isProductInstance_S__ul_wpz_wtc_f1c}

このメソッドは、 generatePID() メソッドを呼び出す前にビジネスルールで使用できます。
{#ProductInstance-isProductInstance_S__table_mxt_n4d_tzb__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| モデルカテゴリ SysID | 文字列 | モデルカテゴリ \[cmdb_model_category\] テーブルのモデルカテゴリのsys_id。詳細については、「[Model categories](https://www.servicenow.com/docs/access?context=c_ModelCategories&version=australia&pubname=australia-it-asset-management&ft:locale=en-US)」を参照してください。 |
[表 : 5. パラメーター]

{#ProductInstance-isProductInstance_S__table_mxt_n4d_tzb} {#ProductInstance-isProductInstance_S__table_nxt_n4d_tzb__entry__2}

| タイプ | 説明 |
|-|-|
| ブーリアン | 指定されたモデルカテゴリが製品インスタンスであるかどうかを示すフラグ。 有効な値： * true:指定されたモデルカテゴリは製品インスタンスです。 * false:指定されたモデルカテゴリは製品インスタンスではありません。 {#ProductInstance-isProductInstance_S__ul_ybz_qvw_tzb} |
[表 : 6. 返される内容]

{#ProductInstance-isProductInstance_S__table_nxt_n4d_tzb}  
次の例は、指定されたモデルカテゴリが製品インスタンスであるかどうかを判断する方法を示しています。

    var isProductInstance =  sn_cmdb.ProductInstance.isProductInstance('4b8aa89a77710110dd5fca22fe5a9984');
    gs.info(isProductInstance);

出力：

    true


