Gliderecord query for the table alm_asset

Hamza Berouil2
Tera Guru

Hi all,

I am facing a weird issue (or maybe I am wrong).

I am trying to run a simple background script to retrieve field values from the tables Asset and Hardware (lets say for example install_status), but the system always return the value "undefined".

Here is my script :

  var myQuery = 'u_configurationLIKE_MANUEL';

  var gr = new GlideRecord("alm_asset");

  gr.addEncodedQuery(myQuery);

  gr.query();

  gs.print('count :'+ gr.getRowCount());

  if (gr.next()) {

  gs.print("status: "+ gr.install_status);

  }

The first "gs.print" returns 23 (what is expected) but the second returns undefined.

If I replace install_status by sys_id, it works fine !!

If I take any other field I always get "undefined" value.

I thought maybe it's due to an ACL, but when I have a look to the Asset list I can see all the fields which confirms that it's not due to an ACL issue.

If I run a similar query for any other table, it works fine.

Any idea guys ? is it something specific to Asset management ?

Thank you in advance

Best regards,

Hamza

1 ACCEPTED SOLUTION

The solution is very very simple !!!



Simply do not use "gr" as a variable name in a GlideRecord !!



Thank you guys for your help !!



Best regards,


Hamza


View solution in original post

24 REPLIES 24

Chuck Tomasi
Tera Patron

Hi Hamza,



Try this:



var myQuery = 'u_configurationLIKE_MANUEL';  


 


  var gr = new GlideRecord("alm_asset");  


  gr.addEncodedQuery(myQuery);  


  gr.query();  


  gs.print('count :'+ gr.getRowCount());  


  if (gr.next()) {  


  gs.print("status: "+ gr.getValue('install_status'));  


  }  



I tested it and got a "1".


Hi Chuck,



TTxs a lot for your answer.



Unfortunately it returns "null" which is wrong because it should return a valid value


It sounds like there is somethnig which prevents from running backgroung script on Asset table ...


Hi Hamza,



Can you remove the encoded query statement for testing purpose and check what is the output once.