How to Glide Record the model category field in the alm_hardware table

Manasa23
Tera Contributor

HI,

I'm trying to GlideRecord the model category field in the  alm_hardware table, below is the code. Code is not working..
can someone help me with the correct code.

I tried to glide record the  Asset tag, serial number  and other  fields in alm_hardware using the same code, its working fine !!!

var gr1 = new GlideRecord('alm_hardware');
gr1.addEncodedQuery('model_category', category);
gr1.query();
if (!gr1.next()) {
gs.log("modelcategory is " + category);
 return "Model category is not existing in the system";

}

Thanks,
M

1 ACCEPTED SOLUTION

Have you defined category variable in your script:

like below:

var category = 'Computer';
var gr1 = new GlideRecord('alm_hardware');
gr1.addQuery('model_category.name', category); 
gr1.query();
if (!gr1.next()) {
gs.print("model category is not exisit");
}

 

Thanks,
Anil Lande

Please appreciate the efforts of community contributors by marking appropriate response as correct answer and helpful, this may help other community users to follow correct solution in future.
Thanks
Anil Lande

View solution in original post

12 REPLIES 12

Anil Lande
Kilo Patron

Hi,

Model Category field is reference field, you need to provide sys_id of category in gliderecord query.

 

var gr1 = new GlideRecord('alm_hardware');
gr1.addEncodedQuery('model_category', <sys_id of category>);
gr1.query();
if (!gr1.next()) {
gs.log("modelcategory is " + category);
 return "Model category is not existing in the system";

}

 

Thanks,

Anil Lande

Please appreciate the efforts of community contributors by marking appropriate response as correct answer and helpful, this may help other community users to follow correct solution in future.
Thanks
Anil Lande

If you want to use name based query then you can try below:

var gr1 = new GlideRecord('alm_hardware');
gr1.addEncodedQuery('model_category.name', category);  // use dot walking in query
gr1.query();
if (!gr1.next()) {
gs.log("modelcategory is " + category);
 return "Model category is not existing in the system";

}

 

Thanks,

Anil Lande

Please appreciate the efforts of community contributors by marking appropriate response as correct answer and helpful, this may help other community users to follow correct solution in future.
Thanks
Anil Lande

Thanks Anil,

I have tried below code, It is not working .. can you please help??

var gr1 = new GlideRecord('alm_hardware');
gr1.addEncodedQuery('model_category.name', category);
gr1.query();
if (!gr1.next()) {
gs.log("modelcategory is " + category);
return "Model category is not existing in the system";

find_real_file.png

Hi,

Please check below, this worked fine for me:

var gr1 = new GlideRecord('alm_hardware');
gr1.addQuery('model_category.name', 'Computer');
gr1.query();
if (gr1.next()) {
gs.info("modelcategory is " + gr1.model_category.getDisplayValue());
}else{
gs.info( "Model category is not existing in the system");
}

 

Use addQuery instead of addEncodedQuery.

 

Thanks,

Anil Lande

Please appreciate the efforts of community contributors by marking appropriate response as correct answer and helpful, this may help other community users to follow correct solution in future.
Thanks
Anil Lande