ProductInstance – generatePID(文字列 className, 文字列 modelCategorySysId, オブジェクト jsonKeyValues)

  • リリースバージョン: Washingtondc
  • 更新日 2024年02月01日
  • 読む4読むのに数分
  • 製品インスタンスのハッシュ値を生成して返し、それを返します。

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

    PID は、製品インスタンス識別子構成 [product_instance_identifier_configuration] テーブルで定義されている次のアイテムに基づいて生成されます。
    • PID 構成 (読み取り専用)
    • 各構成に割り当てられた順番
    Product Instance feature in Hardware Asset Management」も参照してください。
    表 : 1. パラメーター
    名前 タイプ 説明
    className 文字列 生成される PID のテーブル名。
    modelCategorySysID 文字列 モデル カテゴリ [cmdb_model_category] テーブルのモデル カテゴリのsys_id。詳細については、「 Model categories 」を参照してください。
    jsonKeyValue オブジェクト 製品インスタンス識別子構成 [product_instance_identifier_configuration] テーブルで構成された PID パラメーターの JSON キーと値のペア。

    キーと値のペアには、属性名とそれに対応する値が含まれています。これらの値は、PID に定義されている構成プロパティによって異なります。

    表 : 2. 返される内容
    タイプ 説明
    オブジェクト PID の生成に使用される情報。
    オブジェクトは、次の条件で空のproduct_instance_idプロパティ値を返します。
    • PID に必要な PID 構成属性がありません。PID 構成は、製品インスタンス識別子構成 [product_instance_identifier_configuration] テーブルにあります。
    • 指定されたクラスには、関連付けられた製品インスタンスがありません。
    {
      "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]
    インストールベースアイテムには、Customer Service Install Base Management (com.snc.install_base) プラグインが必要です。

    データタイプ:文字列

    次の例は、医療資産 [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"
      ]
    }