TableUtils - Global

  • リリースバージョン: Australia
  • 更新日 2026年03月12日
  • 所要時間:16分
  • The TableUtils script include provides shortcuts for accessing table related information.

    This class is available to server-side scripts.

    TableUtils - TableUtils(String tableName)

    Creates an instance of a TableUtils class.

    表 : 1. Parameters
    Name Type Description
    tableName String The table name
    var tu = new TableUtils("incident");

    TableUtils - drop(String tableName)

    Drops a database table.

    注:
    Use with extreme caution. Dropping a table permanently deletes the table and all its data. If the table is extended, use dropTableAndExtensions.
    表 : 2. Parameters
    Name Type Description
    tableName String Name of the table to drop
    表 : 3. Returns
    Type Description
    void
    var tu = new TableUtils();
    tu.drop("table_that_will_be_lost_forever");
    Output:
    dropping table table_that_will_be_lost_forever
    Starting cache flush
    Cache flush complete
    TABLE DROP: admin dropped table table_that_will_be_lost_forever

    TableUtils - dropAndClean(String tableName)

    Drops a database table and cleans up references to the table.

    注:
    Use with extreme caution. Dropping a database table permanently deletes the table and all its data. If the table is extended, use dropTableAndExtensions.
    表 : 4. Parameters
    Name Type Description
    tableName String Name of the table to drop
    表 : 5. Returns
    Type Description
    void
    var tu = new TableUtils();
    tu.dropAndClean("table_that_will_be_lost_forever");
    Output:
    dropping table table_that_will_be_lost_forever
    Starting cache flush
    Cache flush complete
    TABLE DROP: admin dropped table table_that_will_be_lost_forever
    *** Script: removing gauges for table_that_will_be_lost_forever
    *** Script: removing forms for table_that_will_be_lost_forever
    *** Script: removing styles for table_that_will_be_lost_forever
    *** Script: removing forms sections for table_that_will_be_lost_forever
    *** Script: removing lists for table_that_will_be_lost_forever
    *** Script: removing related lists for table_that_will_be_lost_forever
    *** Script: removing references to table_that_will_be_lost_forever
    *** Script: removing dictionary entries for table_that_will_be_lost_forever
    Background message, type:info, message: Table deleted

    TableUtils - dropTableAndExtensions(String tableName)

    Drops a database table, all of it's extended tables, and cleans up references to the tables.

    注:
    Use with extreme caution. Dropping a database table permanently deletes the table and all of its data.
    表 : 6. Parameters
    Name Type Description
    tableName String The table to drop
    表 : 7. Returns
    Type Description
    void
    var tu = new TableUtils();
    tu.dropTableAndExtensions("table_that_will_be_lost_forever");
    Output:
    dropping table parent_table_that_will_be_lost_forever
    Starting cache flush
    Cache flush complete
    TABLE DROP: admin dropped table ext_table_that_will_be_lost_forever
    removing gauges for ext_table_that_will_be_lost_forever
    removing forms for ext_table_that_will_be_lost_forever
    removing styles for ext_table_that_will_be_lost_forever
    removing forms sections for ext_table_that_will_be_lost_forever
    removing lists for ext_table_that_will_be_lost_forever
    removing related lists for ext_table_that_will_be_lost_forever
    removing references to ext_table_that_will_be_lost_forever
    removing dictionary entries for ext_table_that_will_be_lost_forever
    Background message, type:info, message: Table deleted
    dropping table parent_table_that_will_be_lost_forever
    Starting cache flush
    Cache flush complete
    TABLE DROP: admin dropped table parent_table_that_will_be_lost_forever
    removing gauges for parent_table_that_will_be_lost_forever
    removing forms for parent_table_that_will_be_lost_forever
    removing styles for parent_table_that_will_be_lost_forever
    removing forms sections for parent_table_that_will_be_lost_forever
    removing lists for parent_table_that_will_be_lost_forever
    removing related lists for parent_table_that_will_be_lost_forever
    removing references to parent_table_that_will_be_lost_forever
    removing dictionary entries for parent_table_that_will_be_lost_forever
    Background message, type:info, message: Table deleted

    TableUtils - getAbsoluteBase()

    Returns the base table name from which the table was extended.

    注:
    For any table under the cmdb_ci hierarchy, this method returns cmdb_ci and not cmdb, which is the actual base table.
    表 : 8. Parameters
    Name Type Description
    None
    表 : 9. Returns
    Type Description
    String Base table name
    var table = new TableUtils("cmdb_ci_server");
    gs.print(table.getAbsoluteBase());

    Output: cmdb_ci

    TableUtils - getAllExtensions()

    Returns the list of tables that extend a table, includes the base table.

    表 : 10. Parameters
    Name Type Description
    None
    表 : 11. Returns
    Type Description
    ArrayList A list of tables that extend the table, includes the base table.
    var table = new TableUtils("task");
    gs.print(table.getAllExtensions());
    Output:
    [task, incident, issue, kb_submission, sysapproval_group, change_request, change_request_imac, sc_task, 
    problem, sc_req_item, ticket, ast_transfer_order, planned_task, change_task, change_phase, sc_request]

    TableUtils - getHierarchy()

    Returns a list of all classes participating in the hierarchy of the specified table.

    表 : 12. Parameters
    Name Type Description
    None
    表 : 13. Returns
    Type Description
    ArrayList A list of all classes in the specified table's hierarchy.
    var table = new TableUtils("cmdb_ci_server");
    gs.print(table.getHierarchy());

    Output: [cmdb_ci_server, cmdb_ci_computer, cmdb_ci_hardware, cmdb_ci, cmdb_ci_mainframe, cmdb_ci_linux_server, cmdb_ci_mainframe_lpar, cmdb_ci_esx_server, cmdb_ci_unix_server, cmdb_ci_solaris_server, cmdb_ci_hpux_server, cmdb_ci_aix_server, cmdb_ci_osx_server, cmdb_ci_netware_server, cmdb_ci_win_server]

    TableUtils - getTables()

    Returns the table hierarchy.

    表 : 14. Parameters
    Name Type Description
    None
    表 : 15. Returns
    Type Description
    ArrayList A list of table names in the parent hierarchy.
    // Get the hierarchy of tables
    var table = new TableUtils("cmdb_ci_computer");
    var tableArrayList = table.getTables();
    
    // Use the j2js method to convert the Java ArrayList to JavaScript
    gs.include("j2js");
    var tableArray = j2js(tableArrayList);
    
    // Write the value of each element in the JavaScript array
    var i = 0;
    while ( i < tableArray.length ) {
    gs.print("Table with index " + i + ": " + tableArray[i]);
    i++;
    }
    
    Output:
    Table with index 0: cmdb_ci_computer
    Table with index 1: cmdb_ci_hardware
    Table with index 2: cmdb_ci
    Table with index 3: cmdb

    TableUtils - getTableExtensions()

    Returns a list of tables that extend a table.

    表 : 16. Parameters
    Name Type Description
    None
    表 : 17. Returns
    Type Description
    ArrayList A list of table names that extend the table.

    This example shows that 58 tables in this instance extend the Computer [cmdb_ci_computer] table. (Output condensed below.)

    // Get the tables that extend the table
    var table = new TableUtils("cmdb_ci_computer");
    var tableArrayList = table.getTableExtensions();
     
    // Use the j2js method to convert the Java ArrayList to JavaScript
    gs.include("j2js");
    var tableArray = j2js(tableArrayList);
     
    // Write the value of each element in the JavaScript array
    var i = 0;
    while ( i < tableArray.length ) {
      gs.print("Table with index " + i + ": " + tableArray[i]);
      i++;
    }
    Output:
    Table with index 0: cmdb_ci_mainframe_hardware
    Table with index 1: cmdb_ci_handheld_computing
    Table with index 2: cmdb_ci_ucs_blade
    Table with index 3: cmdb_ci_storage_switch
    Table with index 4: cmdb_ci_server
    Table with index 5: cmdb_ci_hmc_server
    …
    Table with index 56: cmdb_ci_pc_hardware
    Table with index 57: cmdb_ci_ucs_rack_unit

    TableUtils - hasExtensions()

    Determines if a table has been extended.

    表 : 18. Parameters
    Name Type Description
    None
    表 : 19. Returns
    Type Description
    Boolean True if the table has extensions.
    var table = new TableUtils("cmdb_ci_server");
    gs.print(table.hasExtensions());
    Output:
    true

    TableUtils - isBaseClass()

    Determines if a table is a base class, meaning it has no parents and has extensions.

    For example, Task is a base class since it is not extended from another table and has tables extended from it. Sys_user is not a base class because it has no parents, but does not have extensions.

    表 : 20. Parameters
    Name Type Description
    None
    表 : 21. Returns
    Type Description
    Boolean Flag that indicates whether a table is a base class table meaning it has no parents but has extensions.
    Valid values:
    • true: Table is a base class.
    • false: Table is not a base class.
    var table = new TableUtils("task");
    gs.print("Task is base class: " + table.isBaseClass());
     
    var table = new TableUtils("sys_user");
    gs.print("User is base class: " + table.isBaseClass());
    Output:
     Task is base class: true
    User is base class: false

    TableUtils - isSoloClass()

    Determines if the table has no parents and no extensions.

    表 : 22. Parameters
    Name Type Description
    None
    表 : 23. Returns
    Type Description
    Boolean True if the table has no parent and no table is extended from it.
    var table = new TableUtils("task");
    gs.print("task is solo class: " + table.isSoloClass());
     
    var table = new TableUtils("cmdb_ci_win_server");
    gs.print("cmdb_ci_win_server is solo class: " + table.isSoloClass());
     
    var table = new TableUtils("sys_user");
    gs.print("sys_user is solo class: " + table.isSoloClass());
    Output:
    task is solo class: false
    cmdb_ci_win_server is solo class: false
    sys_user is solo class: true

    TableUtils - tableExists()

    Checks to see if a table exists.

    表 : 24. Parameters
    Name Type Description
    None
    表 : 25. Returns
    Type Description
    Boolean True if the table exists.
    var table = new TableUtils("my_table");
    gs.print("Does 'my_table' exist? " + table.tableExists());

    Output: Does 'my_table' exist? false