ProductInstance – generatePID(文字列 className, 文字列 modelCategorySysId, オブジェクト jsonKeyValues)
製品インスタンスのハッシュ値を生成して返し、それを返します。
このメソッドは、呼び出し元のアプリケーションのパフォーマンスに影響を与えることなく、何度も呼び出すことができます。このメソッドは、データベース内のデータを変更せず、PID の計算に必要なデータをキャッシュします。
PID は、製品インスタンス識別子構成 [product_instance_identifier_configuration] テーブルで定義されている次のアイテムに基づいて生成されます。
- PID 構成 (読み取り専用)
- 各構成に割り当てられた順番
| 名前 | タイプ | 説明 |
|---|---|---|
| className | 文字列 | 生成される PID のテーブル名。 |
| modelCategorySysID | 文字列 | モデル カテゴリ [cmdb_model_category] テーブルのモデル カテゴリのsys_id。詳細については、「 Model categories 」を参照してください。 |
| jsonKeyValue | オブジェクト | 製品インスタンス識別子構成 [product_instance_identifier_configuration] テーブルで構成された PID パラメーターの JSON キーと値のペア。 キーと値のペアには、属性名とそれに対応する値が含まれています。これらの値は、PID に定義されている構成プロパティによって異なります。 |
| タイプ | 説明 |
|---|---|
| オブジェクト | PID の生成に使用される情報。 オブジェクトは、次の条件で空のproduct_instance_idプロパティ値を返します。
|
| <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 のハッシュ値をこのプロパティに設定して、次のいずれかのテーブルのオブジェクトの共通値を同期できます。
データタイプ:文字列 |
次の例は、医療資産 [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"
]
}