AbstractDBObject - Global

  • リリースバージョン: Australia
  • 更新日 2026年03月12日
  • 所要時間:4分
  • The AbstractDBObject script include provides common methods for classes based on records in the database.

    Use this script include as a base class to create your own database object class.

    AbstractDBObject - isValid()

    Determines if the current database record is valid.

    See also IPService - Global.

    表 : 1. Parameters
    Name Type Description
    None
    表 : 2. Returns
    Type Description
    Boolean True if the database record is valid, false otherwise.

    Flag that indicates whether the database record is valid.

    Valid values:
    • true: The database record is valid.
    • false: The database record is invalid.

    The following example shows how to get a list of valid instances using the IPService() class from the IP Services [cmdb_ip_service] table. The IPService class extends the AbstractDBObject() class.

    /**
     * IPService class Encapsulates the notion of an IP Service. Instances in which isValid() returns true have the 
     * following properties initialized: 
     *  sysID:       sys_id of this record
     *  port:        the TCP or UDP port used by the service
     *  protocol:    protocol used by the service ("UDP", "TCP", or "TCP/UDP")
     *  name:        short name or handle
     *  serviceName: long, descriptive English name
     *  creates:     table that this service creates entries in
     *  description: description
     */
    
    var result = [];
    // Array of sys_id's from the IP Service class which we want to get the abstract details
    var list = ['db9840e10ab3015500f5e3fe8f78da42', 'a1505ebc7782330099808d1168106179', 'abc05ebc7782330099808d1168106112'];
    
    // query for the records on the list
    var ipservice = new GlideRecord('cmdb_ip_service');
    ipservice.addQuery('sys_id', 'IN', list.toString());
    ipservice.query();
    while (ipservice.next()) {
        var ip = new IPService(ipservice); // IPService class extends AbstractDBObject class and this class 
        if (ip.isValid())      // check whether the record is valid or not
            result.push(ip);   // if valid get the properties for 
    }
    
    gs.info(JSON.stringify(result, null, 2));

    Output:

    [
      {
        "valid": true,
        "sysID": "a1505ebc7782330099808d1168106179",
        "port": "8882",
        "protocol": "TCP",
        "name": "blkbry-uem-enroll",
        "serviceName": "Blackberry Enrollment Request",
        "creates": null,
        "description": null
      },
      {
        "valid": true,
        "sysID": "db9840e10ab3015500f5e3fe8f78da42",
        "port": "548",
        "protocol": "TCP",
        "name": "afp",
        "serviceName": "Apple File Protocol",
        "creates": null,
        "description": null
      }
    ]