Find your people. Pick a challenge. Ship something real. The CreatorCon Hackathon is coming to the Community Pavilion for one epic night. Every skill level, every role welcome. Join us on May 5th and learn more here.

CMDB classes

Dikshmalik
Tera Contributor

Hi Team

I have a requirement to find out the list of all the available classes in CMDB_CI and other child tables related to it so that we can use the same when using baseline functionality for various CI. We have more than 1 million CI records so its not possible to take the extract of all the records in excel and then sort the data. Can somone please let me know how i can manually get the list of all the CI classes without taking extract of such huge data.

I tried running background script :

var ab= new GlideRecord('cmdb_ci');

ab.query();

var cn=ab.getRowCount();

while(ab.next())

{

gs.print(ab.sys_class_name);

}

But this resulted in few classes even though the CI number was same to the number of CI's in the system but i am unable to get the full list of classes. I also tried the group By option but it only results in records that has CI's and i need empty classes.I tried it in my PDI.

find_real_file.png

Thanks and Regards

Dikshit Malik

Message was edited by: Dikshit Malik Please see the attached image to get a better understanding.

1 ACCEPTED SOLUTION

This will get you an entire list of the cmdb_ci table structure.



var table = new TableUtils("cmdb_ci");


var ciTableList = j2js(table.getAllExtensions());


for (var i = 0; i < ciTableList.length; i++) {


  gs.print(ciTableList[i]);


}


View solution in original post

14 REPLIES 14

Run this in a background script...it'll give you classes and count.



var count = new GlideAggregate('cmdb');


count.addAggregate('COUNT', 'sys_class_name');


count.query();


while (count.next()) {


var taskType = count.sys_class_name;


var taskTypeCount = count.getAggregate('COUNT', 'sys_class_name');


gs.log(taskTypeCount + " in " + taskType);


}


Hi Victor,



The above mentioned script doesnt gives accurate results. When i use the above it gives me only 17 lines but as per my shared screenshot, the application drop down has 100+ class types. Is there any way to include all the available options under class drop down.


Also i tried group by class name but it only provides lines that have associated CI's and not empty classes. Please suggest something as i need all the available classes to auto map my target table during transformation. I am using a transform map   script to map data in target table using Class field.



Thanks and Regards


Diksh Malik


neetusingh


brian_degroot
ServiceNow Employee

Hi Dikshit,



The following wiki article has a graphical map of the cmdb_ci hierarchy:



http://wiki.servicenow.com/index.php?title=CMDB_Data_Model#gsc.tab=0



Alternatively, you can find a list of all extended tables in Service Now here:



http://wiki.servicenow.com/index.php?title=Tables_and_Classes#gsc.tab=0