- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎07-11-2022 01:05 AM
I have a doubt that in my sys_db_object table when i go to incident table and see the fields there are around 100 fields for the table.But in sys_dictionary if i search for incident table there are only 25 fields so why do sys_dictionary does not contain all the fields of the particular table ...If not how can i see all fields in sys_dictionary table as we want to use that table to view fields in our ui page slushbucket
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎07-11-2022 05:30 AM
Below is the complete solution
Use reference qualifier as javascript: 'sys_idIN' + new ScriptInclude().returnFields(tableName);
Use the below script include
returnFields : function(tableName){
var fieldArray = [];
var extendsTable = "nothing";
fieldArray.push(getRecords(tableName));
var extendsTable = getParentTable(tableName);
while (extendsTable != "none"){
fieldArray.push(getRecords(extendsTable));
extendsTable = getParentTable(extendsTable );
}
return fieldArray;
},
getRecords: function (tableName){
var dictfields = new GlideRecord('sys_dictionary');
dictfields.addQuery('name',tableName);
dictfields.query();
while(dictfields.next())
{
var obj={};
var wel=dictfields.getDisplayValue('column_name');
var text=dictfields.getDisplayValue('column_label') ;
obj.value = wel;
obj.text=text;
arr_dict_fields.push(obj);
return arr_dict_fields;
},
getParentTable: function(tableName){
var dbObject = new GlideRecord('sys_db_object');
dbObject.addQuery('name',tableName);
dbObject.addEncodedQuery('super_classISNOTEMPTY');
dbObject.query();
if (dbObject.next()){
return dbObject.super_class.name.toString();
}
else{
return "none";
},
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎07-11-2022 05:30 AM
Below is the complete solution
Use reference qualifier as javascript: 'sys_idIN' + new ScriptInclude().returnFields(tableName);
Use the below script include
returnFields : function(tableName){
var fieldArray = [];
var extendsTable = "nothing";
fieldArray.push(getRecords(tableName));
var extendsTable = getParentTable(tableName);
while (extendsTable != "none"){
fieldArray.push(getRecords(extendsTable));
extendsTable = getParentTable(extendsTable );
}
return fieldArray;
},
getRecords: function (tableName){
var dictfields = new GlideRecord('sys_dictionary');
dictfields.addQuery('name',tableName);
dictfields.query();
while(dictfields.next())
{
var obj={};
var wel=dictfields.getDisplayValue('column_name');
var text=dictfields.getDisplayValue('column_label') ;
obj.value = wel;
obj.text=text;
arr_dict_fields.push(obj);
return arr_dict_fields;
},
getParentTable: function(tableName){
var dbObject = new GlideRecord('sys_db_object');
dbObject.addQuery('name',tableName);
dbObject.addEncodedQuery('super_classISNOTEMPTY');
dbObject.query();
if (dbObject.next()){
return dbObject.super_class.name.toString();
}
else{
return "none";
},
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎07-12-2022 01:07 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎07-12-2022 01:18 AM