CIRelatedList – Global

  • Freigeben Version: Washingtondc
  • Aktualisiert 1. Februar 2024
  • 4 Minuten Lesedauer
  • Die CIRelatedList- API ist eine Dienstprogrammklasse für die Arbeit mit CI-zugehörigen Listen.

    Jede Instanz dieser Klasse enthält die Details einer einzelnen Liste, die sich auf ein bestimmtes CI bezieht. Die Details dieser Liste und der Inhalt der Liste sind enthalten.

    Kann mit jedem serverseitigen Discovery-Skript verwendet werden.

    CIRelatedList – addRec(Object record)

    Fügt den angegebenen Datensatz der zugehörigen Liste hinzu.

    Tabelle : 1. Parameter
    Name Typ Beschreibung
    record Objekt Jedes Mitglied im Objekt ist ein Spaltenname in der zugehörigen Tabelle. Wenn Sie beispielsweise auf die Tabelle „cmdb_serial_number“ verweisen, kann dieser Wert Folgendes enthalten:

    {"serial_number_type":"BIOS","serial_number":"1BC5E4z89246","valid":"wahr"}

    Tabelle : 2. Ergebnisse
    Typ Beschreibung
    void

    Dieses Beispiel zeigt, wie Sie einen Datensatz zu einer zugehörigen CI-Liste hinzufügen.

    var ciDataObj = new CIData(); // Instantiate a new CIData class object
    
    // sys_id of the CI to which the related list is attached.
    var rl = new CIRelatedList('cmdb_serial_number', 'cmdb_ci','0c43b0f5c6112275019abd2bb3dcd78f','true');
    
    // Create an object and add the serial numbers
    var sr = {"serial_number_type":"bios","serial_number":"1BC5E4z89246","valid":"true"};
    rl.addRec(sr); // Add the related list. Sets the given records to the related list.
    ciDataObj.addRelatedList(rl); // Adding the related list to the cidata
    gs.info(JSON.stringify(rl, null, 4)); // Display the added related list

    Ausgabe:

    {
      "GlideRecordUtil": {},
      "ignoreFields": {
        "sys_created_by": true,
        "sys_updated_by": true,
        "sys_mod_count": true
      },
      "records": [
        {
          "serial_number_type": "bios",
          "serial_number": "1BC5E4z89246",
          "valid": "true"
        }
      ],
      "m2m_records": [],
      "table_name": "cmdb_serial_number",
      "field_name": "cmdb_ci",
      "cmdb_ci": "0c43b0f5c6112275019abd2bb3dcd78f",
      "debug_flag": "true",
      "isM2M": false,
      "target_table_name": null,
      "target_ref_field_name": null
    }

    CIRelatedList – addRecs(Array records)

    Setzt die angegebenen Datensätze auf die zugehörige Liste

    Tabelle : 3. Parameter
    Name Typ Beschreibung
    Datensätze Array von Objekten Jedes Objekt stellt einen Datensatz in der zugehörigen Tabelle dar. Jedes Mitglied im Objekt ist ein Spaltenname in dieser Tabelle. Wenn Sie beispielsweise auf die Tabelle „cmdb_serial_number“ verweisen, kann dieser Wert Folgendes enthalten:

    [{"serial_number_type":"BIOS","serial_number":"1BC5E4z89246","valid":"wahr"},{"serial_number_type":"Baseboard","serial_number":"w4z89246","valid":"wahr „}]

    Tabelle : 4. Ergebnisse
    Typ Beschreibung
    void

    Dieses Beispiel zeigt, wie Sie einer zugehörigen CI-Liste mehrere Datensätze hinzufügen.

    var ciDataObj = new CIData(); // Instantiate a new CIData class object
    
    // sys_id of the CI to which the related list is attached.
    var rl = new CIRelatedList('cmdb_serial_number', 'cmdb_ci','0c43b0f5c6112275019abd2bb3dcd78f','true');
    
    // Create an object and add the serial numbers
    var sr = [{"serial_number_type":"bios","serial_number":"1BC5E4z89246","valid":"true"},{"serial_number_type":"baseboard","serial_number":"w4z89246","valid":"true"}];
    
    rl.addRecs(sr); // Add the related list. Sets the given records to the related list.
    
    ciDataObj.addRelatedList(rl); // Adding the related list to the cidata
    gs.info(JSON.stringify(rl, null, 4)); // Display the added related list

    Ausgabe:

    {
      "GlideRecordUtil": {},
      "ignoreFields": {
        "sys_created_by": true,
        "sys_updated_by": true,
        "sys_mod_count": true
      },
      "records": [
        {
          "serial_number_type": "bios",
          "serial_number": "1BC5E4z89246",
          "valid": "true"
        },
        {
          "serial_number_type": "baseboard",
          "serial_number": "w4z89246",
          "valid": "true"
        }
      ],
      "m2m_records": [],
      "table_name": "cmdb_serial_number",
      "field_name": "cmdb_ci",
      "cmdb_ci": "0c43b0f5c6112275019abd2bb3dcd78f",
      "debug_flag": "true",
      "isM2M": false,
      "target_table_name": null,
      "target_ref_field_name": null
    }

    CIRelatedList – appendXMLChildFld(String parent, String name, String datum)

    Hängt ein untergeordnetes XML-Element an ein Feld an.

    Tabelle : 5. Parameter
    Name Typ Beschreibung
    parent Zeichenfolge Das übergeordnete Element
    Name Zeichenfolge Der Elementname
    datum Zeichenfolge Die anzuhängenden Daten
    Tabelle : 6. Ergebnisse
    Typ Beschreibung
    void

    CIRelatedList – appendXMLChildRecord(String parent, String name, String record)

    Hängt ein untergeordnetes XML-Element an einen Datensatz an.

    Tabelle : 7. Parameter
    Name Typ Beschreibung
    parent Zeichenfolge Das übergeordnete Element
    Name Zeichenfolge Der Elementname
    record Zeichenfolge Der Datensatz
    Tabelle : 8. Ergebnisse
    Typ Beschreibung
    void

    CIRelatedList – checkSysCollection()

    Überprüft, ob dies eine SysCollection-Tabelle ist. Wenn ja, wird der Name der Zieltabelle und der Name des Referenzfeldes festgelegt.

    Tabelle : 9. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 10. Ergebnisse
    Typ Beschreibung
    CIRelatedList Eine Instanz von CIRelatedList für die angegebene Liste.

    CIRelatedList – checkSysM2M()

    Überprüft, ob es sich um eine Sys-Many-to-many-Tabelle handelt. Wenn ja, wird der Name der Zieltabelle und der Name des Referenzfeldes festgelegt.

    Tabelle : 11. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 12. Ergebnisse
    Typ Beschreibung
    Boolean „True“, wenn es sich um eine Sys-Many-to-many-Tabelle handelt; ansonsten „false“.

    CIRelatedList – CIRelatedList(String table, String refField, String cmdb_ci, String debugFlag)

    Erstellt eine Instanz der CIRelatedList-Klasse. Konstruiert ohne Argumente einfach eine leere Instanz.

    Tabelle : 13. Parameter
    Name Typ Beschreibung
    table Zeichenfolge Die Tabelle, die die zugehörige Liste enthält. Wenn Many-to-Many, die Many-to-Many-Tabelle.
    refField Zeichenfolge Das Referenzfeld in der Tabelle für diese zugehörige Liste
    cmdb_ci Zeichenfolge Die sys_id des CI, auf das sich diese Liste bezieht.
    debugFlag Zeichenfolge Wenn „true“, ist die Debug-Protokollierung aktiviert.

    CIRelatedList – fromXML(String element)

    Initialisiert diese Instanz aus dem angegebenen XML-Element.

    Tabelle : 14. Parameter
    Name Typ Beschreibung
    element Zeichenfolge XML-Elemente
    Tabelle : 15. Ergebnisse
    Typ Beschreibung
    void

    CIRelatedList – populate()

    Füllt das Feld this.records dieser Instanz aus.

    Tabelle : 16. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 17. Ergebnisse
    Typ Beschreibung
    void

    CIRelatedList – toString(Array result)

    Erzeugt eine Zeichenfolgendarstellung dieser Instanz und schiebt jede Zeile an das Ende des angegebenen Ergebnis-Arrays.

    Diese Methode wird von CIData.toString() aufgerufen und nimmt an, dass in Bezug stehende Listenzeilen um zwei Leerzeichen eingerückt werden sollen.

    Tabelle : 18. Parameter
    Name Typ Beschreibung
    result Array Das Ergebnis, das konvertiert werden soll
    Tabelle : 19. Ergebnisse
    Typ Beschreibung
    void

    CIRelatedList – toXML(String document, String element)

    Serialisiert diese Instanz im angegebenen Dokument und im <rl>-Element nach XML.

    Tabelle : 20. Parameter
    Name Typ Beschreibung
    document Zeichenfolge Das Dokument
    element Zeichenfolge Das rl-Element
    Tabelle : 21. Ergebnisse
    Typ Beschreibung
    void

    CIRelatedList – remove()

    Entfernt alle zugehörigen Listenelemente.

    Tabelle : 22. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 23. Ergebnisse
    Typ Beschreibung
    void

    In diesem Codebeispiel werden die zugehörigen Datensätze gelöscht, die den CI-Elementen mit dem Namen = *JEMPLOYEE-IBM zugeordnet sind. Dieses Beispiel bezieht sich auf eine Nicht-M2M-Tabelle.

    //Get a configuration item record which has a related list. Example:  CI items with the name = *JEMPLOYEE-IBM.
    var ciRecord = new GlideRecord("cmdb_ci_computer");
    ciRecord.addQuery("name", "*JEMPLOYEE-IBM");
    ciRecord.query();
    if (ciRecord.next()) {
    
        var relRecordTable = 'cmdb_ci_network_adapter'; // The table containing the related list (if many-to-many, the many-to-many table)
        var relRecordField = 'cmdb_ci'; // The reference field in the table for this related list
        var cmdb_ciHasRelRecord = ciRecord.sys_id; // The sys_id of the CI this list is related to.
        var debugFlag = 'true'; // True if debug logging is enabled.
    
        // Get the related record List
        var CIRelatedList = new CIRelatedList(relRecordTable, relRecordField, cmdb_ciHasRelRecord, debugFlag);
        CIRelatedList.remove(); // Delete all related records
    }

    CIRelatedList – xmlToRecord(String records, String element)

    Konvertiert eine zugehörige Liste aus XML in ein Datensatzformat.

    Tabelle : 24. Parameter
    Name Typ Beschreibung
    records Zeichenfolge Der Datensatz, der erstellt werden soll
    element Zeichenfolge Das XML-Element
    Tabelle : 25. Ergebnisse
    Typ Beschreibung
    void