Produktinstanz: Bereichsbezogen, global
Die ProductInstance- API bietet Methoden zum Generieren eines Produktinstanzbezeichners (Product Instance Identifier, PID), zum Abrufen von PID-Konfigurationsdaten und zum Bestimmen, ob eine Modellkategorie eine Produktinstanz ist.
Diese API wird im Namespace sn_cmdb ausgeführt und erfordert die Rolle category_manager oder snc_internal. Der Zugriff wird auch Benutzern mit Zugriffssteuerungslisten (ACLs) für die Tabelle „Modellkategorie“ [cmdb_model_category] gewährt. Sie können die ACLs in der Tabelle 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 gängigen Produktdarstellungen zu synchronisieren. Eine Produktinstanz ist Assets einer bestimmten Modellkategorie zugeordnet.
Der Zugriff auf Installationsbasiselemente erfordert das Plugin „Installationsbasismanagement für Kundenservice“ (com.snc.install_base).
ProductInstance –generatePID(String className, Zeichenfolge modelCategorySysId, Objekt jsonKeyValues)
Generiert den Hash-Wert der Produktinstanz und gibt ihn zurück.
Diese Methode kann viele Male 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, im Cache.
Ein Produktinstanzbezeichner (PID) ist ein eindeutiger Bezeichner für eine Produktinstanz und verknüpft Assets, CIs und Installationsbasiselemente (IBI).
- PID-Konfigurationen (schreibgeschützt)
- Reihenfolge, die jeder Konfiguration zugewiesen ist
| Name | Typ | Beschreibung |
|---|---|---|
| className | Zeichenfolge | Tabellenname für die zu generierende PID. |
| modelCategorySysId | 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 „Produktinstanzbezeichnerkonfigurationen“ [product_instance_identifier_configuration] konfiguriert sind. Die Schlüsselwertpaare enthalten Attributnamen mit ihren entsprechenden Werten. Diese Werte variieren je nach den für die PID definierten Konfigurationseigenschaften. |
| Typ | Beschreibung |
|---|---|
| Objekt | Informationen, die zum Generieren der PID verwendet werden. Das Objekt gibt mit einem leeren Eigenschaftswert product_instance_id unter den folgenden Bedingungen zurück:
|
| <Object>.model_category_sysId | Die sys_id der Produktkategorie in der Tabelle „Modellkategorie“ [cmdb_model_category]. Dieser Wert kann vom Eingabewert abweichen, wenn die Modellkategoriehierarchie zum Generieren der PID verwendet wurde. Datentyp: Zeichenfolge |
| <Object>.Parameter | Liste der Parameter, die zum Generieren der PID verwendet werden und in der Tabelle „Produktinstanzbezeichnerkonfigurationen“ [product_instance_identifier_configuration] definiert sind. Datentyp: Array von Zeichenfolgen |
| <Object>.product_instance_id | PID im Feld „product_instance_id“ eines Assets, CI oder Installationsbasiselements. Der Hashwert der PID kann für diese Eigenschaft festgelegt werden, um allgemeine Werte in Objekten in einer der folgenden Tabellen zu synchronisieren:
Datentyp: Zeichenfolge |
Das folgende Beispiel zeigt, wie Sie eine PID für ein Asset in der Tabelle „Medizinische Assets“ [sn_ent_metrical_asset] erstellen. Diese Tabelle ist im Plugin „Installationsbasisverwaltung 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(String className, Zeichenfolge modelCategorySysId)
Ruft die PID-Konfiguration ab, die der Modellkategorie zugeordnet ist, basierend auf der Hierarchie und dem Klassennamen.
Diese Methode durchsucht alle Hierarchien nach der Modellkategorie und gibt die PID-Konfiguration(en) für die erste gefundene Modellkategorie zurück.
| Name | Typ | Beschreibung |
|---|---|---|
| className | Zeichenfolge | Tabellenname für die zu generierende PID. |
| modelCategorySysId | Zeichenfolge | Die sys_id der Modellkategorie in der Tabelle „Modellkategorien“ [cmdb_model_category]. Informationen hierzu finden Sie unter Model categories. |
| Typ | Beschreibung |
|---|---|
| Objekt | JSON-Objekt, das die PID-Konfigurationen enthält, die dem angegebenen Klassennamen und der Modellkategorie zugeordnet sind. |
| <Object>.model_category_sysId | Die sys_id der Produktkategorie in der Tabelle „Modellkategorie“ [cmdb_model_category]. Dieser Wert kann vom Eingabewert abweichen, wenn die Modellkategoriehierarchie zum Generieren der PID verwendet wurde. Datentyp: Zeichenfolge |
| <Object>.configs | Liste aller Konfigurationen, die der angegebenen Modellkategorie zugeordnet sind.Datentyp: Array |
| <Object>.configs.configuration_order | Gibt die Reihenfolge der Konfiguration zurück, die in der Tabelle „Produktinstanzbezeichnerparameter“ [product_instance_identifier_parameters] definiert ist. Datentyp: Zahl |
| <Object>.configs.parameter | Liste aller Parameter, die der Konfiguration zugeordnet sind, und ihre Reihenfolge.Datentyp: Array von Objekten |
| <Object>.configs.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>.configs.parameter.parameter_class_name | Klassenname, der dem in der Tabelle „Produktinstanzbezeichnerparameter“ [product_instance_identifier_parameters] definierten Parameter zugeordnet ist. Datentyp: Zeichenfolge |
| <Object>.configs.parameter.parametername | Parametername, der in der Tabelle „Produktinstanzbezeichnerparameter“ [product_instance_identifier_parameters] definiert ist. Datentyp: Zeichenfolge |
| <Object>.configs.parameter.parameter_order | Reihenfolge des Parameters, der in der Tabelle „Produktinstanzbezeichnerparameter“ [product_instance_identifier_parameters] definiert ist. Datentyp: Zahl |
Das folgende Beispiel zeigt, wie Konfigurationsdetails für eine Modellkategorie mit dem Namen in der Tabelle „Medizinische Assets“ [sn_ent_metrical_asset] abgerufen werden. Diese Tabelle ist im Plugin „Installationsbasisverwaltung 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(String modelCategorySysId)
Überprüft, ob eine bestimmte Modellkategorie eine Produktinstanz ist.
- Der Wert der Kennzeichnung „is_model_category“ der Modellkategorie ist „true“.
- Für die Modellkategorie ist in der Tabelle „Konfigurationen der Produktinstanzbezeichner“ [product_instance_identifier_configuration] eine gültige Konfiguration definiert.
Diese Methode kann in Geschäftsregeln vor dem Aufrufen der Methode „generatePID()“ verwendet werden.
| Name | Typ | Beschreibung |
|---|---|---|
| modelCategorySysId | Zeichenfolge | Die sys_id der Modellkategorie in der Tabelle „Modellkategorien“ [cmdb_model_category]. Informationen hierzu finden Sie unter Model categories. |
| Typ | Beschreibung |
|---|---|
| Boolean | Kennzeichnung, die angibt, ob die angegebene Modellkategorie eine Produktinstanz ist. Gültige Werte:
|
Das folgende Beispiel zeigt, wie ermittelt wird, ob die angegebene Modellkategorie eine Produktinstanz ist.
var isProductInstance = sn_cmdb.ProductInstance.isProductInstance('4b8aa89a77710110dd5fca22fe5a9984');
gs.info(isProductInstance);
Ausgabe:
true