Welcome to Community Week 2025! Join us to learn, connect, and be recognized as we celebrate the spirit of Community and the power of AI. Get the details  

GlideRecord GetDisplayValue in addquery

anfield
Tera Guru

I am importing some records to the cmdb, and running a onafter script to check if the manufacturer and model exists or doesnt exist and then creating those values (in those tables), then updating those values on the cmdb record.

What I want to ask is can I do a gliderecord query where the getdisplayvalue is part of the addquery? Not part of the query result, part of the query...Because I have two fields that I want to query at the same time in the product model table, manufacturer and the model (the manufacturer and model are supplied in a spreadsheet as part of an import through a transform map).

**Note - selecting "create" on the transform map wont work, because manufacturer and model need to be pushed to product model table so I am using this script.

Portion of the script: 

function productmodel_update(){

var grq = new GlideRecord('cmdb_ci_computer');
grq.addQuery('manufacturer', '=', source.u_manufacturer);

grq.addQuery('name','=', source.u_model)(;

grq.query();

 

Thanks

 

7 REPLIES 7

Harsh Vardhan
Giga Patron

Generally getDisplayValue() used to get the reference field front-end value .

eg: 

 



var gr = new GlideRecord('sys_user');

gr.get(gs.getUserID());

var gr1 = new GlideRecord('incident');

gr1.addQuery('department.name',gr.getDisplayValue('department'));

gr1.query();

gs.print(gr1.getRowCount());

 

If you will add more example then we can guide you in right direction.

Thanks. But how do I add into this line how to search for my source.u_department_name? 

 

I need to do something like below but where I search department name with my source field

gr1.addQuery('department.name',gr.getDisplayValue('department'));

why you need getDisplayValue() generally in source table we have string type field which store string not reference value so i am still confuse why you need getDisplayValue() 

 

can you add some screenshot with detail example of your use case ?

  • Im loading data through spreadhseet and transform map to a target cmdb table
  • Running a script to check if manufacturer and model exist and if not create
  • Then I do a lookup against the cmdb table I am loading into and update those records with the manufacturer and model - the manufacturer field is updating fine on the cmdb record, no issue there
  • As for the model, the manufacturer field on the model record is a reference field, the name field is a string.
  • I want to take the source.u_manufacturer and the source.u_model and use both to do a query against the model table to see if that record exists.
  • So i wanted to use both fields in an addquery each and query the product model table, if I get a result, i will return the sysid and use that to update the cmdb record with that model, the sysid going into the model_id field
  • Does that make sense?
  • Screenshot of product model

find_real_file.png