Produktinstanz: Bereichsbezogen, Global

  • Freigeben Version: Zurich
  • Aktualisiert 31. Juli 2025
  • 4 Minuten Lesedauer
  • Die Produktinstanz Die API bietet Methoden zum Generieren eines Produktinstanzbezeichners (PID), zum Abrufen von PID-Konfigurationsdaten und zum Bestimmen, ob eine Modellkategorie eine Produktinstanz ist.

    Diese API wird in ausgeführt sn_cmdb Namespace und erfordert die Rolle category_Manager oder snc_internal. Zugriff wird auch Anwendern mit Zugriffssteuerungslisten (ACLs) für die Tabelle „Modellkategorie“ [cmdb_model_category] gewährt. Sie können die ACLs in der Tabelle [sys_DB_object] anzeigen.

    Eine PID ist ein eindeutiger Bezeichner für eine Produktinstanz und verknüpft ein Asset, ein Configuration Item (CI) und ein Installationsbasiselement (IBI), um Aktualisierungen zwischen allgemeinen Produktdarstellungen zu synchronisieren. Eine Produktinstanz ist Assets einer bestimmten Modellkategorie zugeordnet.

    Der Zugriff auf Installationsbasiselemente erfordert das Plugin „Kundenservice-Installationsbasismanagement“ (com.snc.install_base).

    ProductInstance – generatePID(String className, ZeichenfolgenmodellCategorySysId, Object jsonKeyValues)

    Generiert den Hash-Wert der Produktinstanz und gibt ihn zurück.

    Diese Methode kann mehrmals aufgerufen werden, ohne die Leistung der aufrufenden Anwendung zu beeinträchtigen. Diese Methode ändert keine Daten in der Datenbank und speichert die Daten, die zur Berechnung der PID erforderlich sind.

    Ein Produktinstanzbezeichner (PID) ist ein eindeutiger Bezeichner für eine Produktinstanz und verknüpft Assets, CIs und Installationsbasiselemente (IBI).

    Eine PID wird basierend auf den folgenden Elementen generiert, die in der Tabelle „Produktinstanz-Bezeichner-Konfigurationen“ [Product_instance_Identifier_Configuration] definiert sind:
    • PID-Konfigurationen (schreibgeschützt)
    • Auftrag, der jeder Konfiguration zugewiesen ist
    Siehe auch Product Instance feature in Hardware Asset Management.
    Tabelle : 1. Parameter
    Name Typ Beschreibung
    className Zeichenfolge Tabellenname für die zu generierende PID.
    ModellCategorySysId Zeichenfolge Die sys_ID der Modellkategorie in der Tabelle „Modellkategorien“ [cmdb_model_category]. Informationen hierzu finden Sie unter Model categories.
    JsonKeyValues Objekt JSON-Schlüssel-Wert-Paar von PID-Parametern, die in der Tabelle „Produktinstanz-Bezeichner-Konfigurationen“ [Product_instance_Identifier_Configuration] konfiguriert sind.

    Die Schlüssel-Wert-Paare enthalten Attributnamen mit den entsprechenden Werten. Diese Werte variieren je nach den für die PID definierten Konfigurationseigenschaften.

    Tabelle : 2. Rückgaben
    Typ Beschreibung
    Objekt Informationen, die zum Generieren der PID verwendet werden.
    Das Objekt wird mit einem leeren Eigenschaftswert „Product_instance_ID“ unter den folgenden Bedingungen zurückgegeben:
    • In der PID fehlen die erforderlichen PID-Konfigurationsattribute. Die PID-Konfiguration befindet sich in der Tabelle „Produktinstanz-Bezeichner-Konfigurationen“ [Product_instance_Identifier_Configuration].
    • Der angegebenen Klasse ist keine Produktinstanz zugeordnet.
    {
      "model_category_sysId": "String",
      "parameters": [Array],
      "product_instance_id": "String"
    }
    <Object>.Model_category_sysId Die sys_ID der Produktkategorie in der Tabelle „Modellkategorien“ [cmdb_model_category].

    Dieser Wert kann sich vom Eingabewert unterscheiden, wenn die Modellkategoriehierarchie zum Generieren der PID verwendet wurde.

    Datentyp: Zeichenfolge

    <Object>.Parameter Liste der Parameter, die zum Generieren der PID verwendet und in der Tabelle „Produktinstanzbezeichner-Konfigurationen“ [Product_instance_Identifier_Configuration] definiert wurden.

    Datentyp: Array von Zeichenfolgen

    <Object>.Product_instance_ID PID im Feld „Product_instance_ID“ eines Assets, CI oder Installationsbasiselements.
    Der Hash-Wert der PID kann für diese Eigenschaft festgelegt werden, um allgemeine Werte in Objekten einer der folgenden Tabellen zu synchronisieren:
    • Assets [alm_Asset]
    • Configuration Items [cmdb_ci]
    • Installationsbasiselemente [sn_install_Base_item]
    Installationsbasiselemente erfordern das Plugin Customer Service Install Base Management (com.snc.install_base).

    Datentyp: Zeichenfolge

    Das folgende Beispiel zeigt, wie eine PID für ein Asset in der Tabelle „medizinische Assets“ [sn_ent_Medical_Asset] erstellt wird. Diese Tabelle ist im Plugin „Installationsbasismanagement für Kundenservice“ (com.snc.install_base) enthalten.

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

    Ausgabe:

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

    ProductInstance – getPIDConfig(Zeichenfolge className, Zeichenfolge modelCategorySysId)

    Ruft die der Modellkategorie zugeordnete PID-Konfiguration basierend auf der Hierarchie und dem Klassennamen ab.

    Diese Methode scannt alle Hierarchien nach der Modellkategorie und gibt die PID-Konfiguration(en) für die erste gefundene Modellkategorie zurück.

    Tabelle : 3. Parameter
    Name Typ Beschreibung
    className Zeichenfolge Tabellenname für die zu generierende PID.
    ModellCategorySysId Zeichenfolge Die sys_ID der Modellkategorie in der Tabelle „Modellkategorien“ [cmdb_model_category]. Informationen hierzu finden Sie unter Model categories.
    Tabelle : 4. Ausgabe
    Typ Beschreibung
    Objekt JSON-Objekt, das die PID-Konfigurationen enthält, die dem angegebenen Klassennamen und der Modellkategorie zugeordnet sind.
    {
      "model_category_sysId": "String",
      "configs": [Array]
    }
    <Object>.Model_category_sysId Die sys_ID der Produktkategorie in der Tabelle „Modellkategorien“ [cmdb_model_category].

    Dieser Wert kann sich vom Eingabewert unterscheiden, wenn die Modellkategoriehierarchie zum Generieren der PID verwendet wurde.

    Datentyp: Zeichenfolge

    <Object>.Konfigurationen Liste der einzelnen Konfigurationen, die der angegebenen Modellkategorie zugeordnet sind.
    
    "configs": [
     {
      "configuration_order": Number,
      "parameters": [Array]
     }
    ]

    Datentyp: Array

    <Object>.Congs.Configuration_order Gibt die Reihenfolge der Konfiguration zurück, die in der Tabelle „Produktinstanzbezeichner-Parameter“ [Product_instance_Identifier_Parameters] definiert ist.

    Datentyp: Zahl

    <Object>.Congs.Parameters Liste aller Parameter, die der Konfiguration zugeordnet sind, und ihrer Reihenfolge.
    "parameters": [
      {
       "parameter_class_attribute_name": "String",
       "parameter_class_name": "String",
       "parameter_name": "String",
       "parameter_order": Number
      }
    ]

    Datentyp: Array von Objekten

    <Object>.Congs.Parameters.Parameter_class_Attribute_Name Parametername, der der Eigenschaft „Parameter_class_Name“ zugeordnet ist. Diese Zeichenfolge stellt den Namen der Spalte dar, die dieser Klasse entspricht.

    Datentyp: Zeichenfolge

    <Object>.Congs.Parameters.Parameter_class_Name Klassenname, der dem Parameter zugeordnet ist, der in der Tabelle „Produktinstanzbezeichner-Parameter“ [Product_instance_Identifier_Parameters] definiert ist.

    Datentyp: Zeichenfolge

    <Object>.Congs.Parameters.Parameter_Name Parametername, der in der Tabelle „Produktinstanzbezeichner-Parameter“ [Product_instance_Identifier_Parameters] definiert ist.

    Datentyp: Zeichenfolge

    <Object>.Congs.Parameters.Parameter_order Reihenfolge des Parameters, der in der Tabelle „Produktinstanzbezeichner-Parameter“ [Product_instance_Identifier_Parameters] definiert ist.

    Datentyp: Zahl

    Das folgende Beispiel zeigt, wie Konfigurationsdetails für eine Modellkategorie abgerufen werden, die in der Tabelle „medizinische Assets“ [sn_ent_Medical_Asset] genannt wird. Diese Tabelle ist im Plugin „Installationsbasismanagement für Kundenservice“ (com.snc.install_base) enthalten.

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

    Ausgabe:

    {
      "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(Zeichenfolge modelCategorySysId)

    Überprüft, ob eine bestimmte Modellkategorie eine Produktinstanz ist.

    Wenn beide der folgenden Bedingungen erfüllt sind, qualifiziert sich die Modellkategorie als Produktinstanz:
    • Der Wert der Kennzeichnung „is_model_category“ der Modellkategorie ist „wahr“.
    • Für die Modellkategorie ist eine gültige Konfiguration in der Tabelle „Produktinstanz-Bezeichner-Konfigurationen“ [Product_instance_Identifier_Configuration] definiert.

    Diese Methode kann in Business-Regeln verwendet werden, bevor Sie aufrufen GeneratePID() Methode.

    Tabelle : 5. Parameter
    Name Typ Beschreibung
    ModellCategorySysId Zeichenfolge Die sys_ID der Modellkategorie in der Tabelle „Modellkategorien“ [cmdb_model_category]. Informationen hierzu finden Sie unter Model categories.
    Tabelle : 6. Ausgabe
    Typ Beschreibung
    Boolean Kennzeichnung, die angibt, ob die angegebene Modellkategorie eine Produktinstanz ist.
    Gültige Werte:
    • Wahr: Die angegebene Modellkategorie ist eine Produktinstanz.
    • Falsch: Die angegebene Modellkategorie ist keine Produktinstanz.

    Das folgende Beispiel zeigt, wie bestimmt wird, ob die angegebene Modellkategorie eine Produktinstanz ist.

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

    Ausgabe:

    true