TableUtils - Global
On this page
TableUtils- Global
The TableUtils script include provides shortcuts for accessing table related information.
This class is available to server-side scripts.
Parent Topic:Server API reference
TableUtils - TableUtils(String tableName)
Creates an instance of a TableUtils class.
Name Type Description tableName String The table namevar tu = new TableUtils("incident");
TableUtils - drop(String tableName)
Drops a database table.
Note: Use with extreme caution. Dropping a table permanently deletes the table and all its data. If the table is extended, use dropTableAndExtensions.
Name Type Description tableName String Name of the table to drop Type Description voidvar 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.
Note: Use with extreme caution. Dropping a database table permanently deletes the table and all its data. If the table is extended, use dropTableAndExtensions.
Name Type Description tableName String Name of the table to drop Type Description voidvar 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.
Note: Use with extreme caution. Dropping a database table permanently deletes the table and all of its data.
Name Type Description tableName String The table to drop Type Description voidvar 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.
Note: For any table under the cmdb_ci hierarchy, this method returns cmdb_ci and not cmdb, which is the actual base table.
Name Type Description None Type Description String Base table namevar 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.
Name Type Description None 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.
Name Type Description None 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.
Name Type Description None 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.
Name Type Description None 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.
Name Type Description None 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.
Name Type Description None<table id=“table_l5p_w1w_4t” class=“returns”><thead><tr><th>
Type
</th><th>
Description
</th></tr></thead><tbody><tr><td>
Boolean
</td><td>
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.
</td></tr></tbody> </table>“‘ 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. |Name|Type|Description| |----|----|-----------| |None| | | |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. |Name|Type|Description| |----|----|-----------| |None| | | |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
Keep exploring.
Find another answer, or bring this documentation into your own tools.