---
sourceDocument: 호주 API 참조
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ko-KR/api-reference

 Release :

    - australia

ft:locale :

    - ko-KR

ft:publication_title :

    - 호주 API 참조

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# 제품 인스턴스 - 범위, 전역

# 제품 인스턴스 - 범위, 전역 {#ariaid-title1}

* 릴리스 버전: Australia
* 
* 업데이트 날짜 2026년 03월 12일
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 소요 시간: 10분

ProductInstance API는 PID(제품 인스턴스 식별자)를 생성하고, PID 구성 데이터를 검색하고, 모델 범주가 제품 인스턴스인지 확인하는 메서드를 제공합니다.

이 API는 `sn_cmdb` 네임스페이스에서 실행되며 category_manager 또는 snc_internal 역할이 필요합니다. 모델 범주 \[cmdb_model_category\] 테이블에 대한 ACL(접근 제어 목록)이 있는 사용자에게도 접근 권한이 부여됩니다. 테이블 \[sys_db_object\] 테이블에서 ACL을 볼 수 있습니다.

PID는 제품 인스턴스의 고유 식별자이며 자산, CI(구성 항목) 및 IBI(설치 기반 항목)를 연결하여 공통 제품 표현 간에 업데이트를 동기화합니다. 제품 인스턴스는 특정 모델 범주의 자산과 연결됩니다.

설치 기반 항목에 접근하려면 Customer Service Install Base Management(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(String className, String modelCategorySysId, Object 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의 테이블 이름입니다. |
| modelCategorySysId | 문자열 | 모델 범주 \[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) 문서를 참조하십시오. |
| jsonKeyValues | 객체 | 제품 인스턴스 식별자 구성 \[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\>.매개변수 | 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}설치 기반 항목에는 Customer Service Install Base Management(com.snc.install_base) 플러그인이 필요합니다. 데이터 유형: 문자열 |
[표 2. 반환]

{#ProductInstance-generatePID_S_S_O__table_nxt_n4d_tzb}  
다음 예는 의료 자산 \[sn_ent_medical_asset\] 테이블의 자산에 대한 PID를 생성하는 방법을 보여줍니다. 이 테이블은 Customer Service Install Base Management(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(String className, String modelCategorySysId) {#ariaid-title3}

계층 구조 및 클래스 이름을 기반으로 모델 범주와 연결된 PID 구성을 가져옵니다.
이 메서드는 모델 범주에 대한 모든 계층 구조를 스캔하고 처음 발견된 모델 범주에 대한 PID 구성을 반환합니다.
{#ProductInstance-getPIDConfig_S_S__table_mxt_n4d_tzb__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| className | 문자열 | 생성할 PID의 테이블 이름입니다. |
| modelCategorySysId | 문자열 | 모델 범주 \[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": [ { "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\] 테이블에 이름이 지정된 모델 범주의 구성 상세 정보를 검색하는 방법을 보여줍니다. 이 테이블은 Customer Service Install Base Management(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}

| 이름 | 유형 | 설명 |
|-|-|-|
| modelCategorySysId | 문자열 | 모델 범주 \[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


