Name

global.ChangeReferenceUtils

Description

No description available

Script

var ChangeReferenceUtils = Class.create();
ChangeReferenceUtils.prototype = {
  initialize: function() {
  	this._log = new GSLog("com.snc.change_management.log", this.type);
  },

  getTablesReferencing: function(tableName) {
  	var tableInfo = [];
  	if (!tableName)
  		return tableInfo;
  	
  	var table = new GlideRecord(tableName);
  	if (!table.isValid())
  		return tableInfo;
  	
  	var tables = GlideSysForm.getRelatedTables(tableName);
  	for (var i = 0; i < tables.size(); i++) {
  		var nameField = (tables.get(i).getValue()+"").split(".");
  		if (!this._canReadTable(nameField[0])) continue;
  		var gr = new GlideRecord(nameField[0]);
  		gr.initialize();
  		if (!gr.canRead() || !gr.getElement(nameField[1]).canRead()) continue;
  		tableInfo.push({
  			"table_name": nameField[0]+"",
  			"field_name": nameField[1]+""
  		});
  	}
  	
  	return tableInfo;
  },

  _canReadTable: function(tableName) {
  	if (!tableName)
  		return false;
  	return GlideTableDescriptor.get(tableName).canRead();
  },

  type: 'ChangeReferenceUtils'
};

Sys ID

bf7f3b0b67020300b410afa00585efbc

Offical Documentation

Official Docs: