need help in business rule

2022_ServiceNow
Tera Expert

Hi, I have a business rule which runs on the task table when the particular task state based on the item is changed to closed complete. There is a field in that task 'current.request_item.configuration_item' which is referenced to computer system table. So when task is closed, need to update the field in that record. This is not getting updated.

 

(function executeRule(current, previous /*null when async*/ ) {

    var comp= current.request_item.configuration_item;
    var cs= new GlideRecord('u_cmdb_ci_computersystem');
    cs.addQuery('name', comp);
    cs.query();
    while (cs.next()) {
        cs.setValue('install_status', 'Return');
        cs.update();
    }
})(current, previous);

 

  @Ankur Bawiskar @Amit Gujarathi 

2 ACCEPTED SOLUTIONS

What's output of comp in the log, if its reference column then it must be sys_id of record from table [ [u_cmdb_ci_computersystem]

 

replaced the cs.addQuery('sys_id', comp);

 

 

 

(function executeRule(current, previous /*null when async*/ ) {

    var comp= current.request_item.configuration_item;
    var cs= new GlideRecord('u_cmdb_ci_computersystem');
    cs.addQuery('sys_id', comp);  // if comp value is sys_id then apply the query on column sys_id instead of name 
    cs.query();
    while (cs.next()) {
        cs.setValue('install_status', 'Return');
        cs.update();
    }
})(current, previous);

 

 

 

 

 

 

 


Please mark this response as correct and helpful if it helps you can mark more that one reply as accepted solution

View solution in original post

So its returning sys_id , perfect ..also going inside the while loop ( as TEST1 printed in log ).

 

are you sure that , install_status which is Integer type select box with choice values, I checked the sys_choice table for this install_status,  all values are numeric. Check the same and use the numeric value instead of 'Return'.  

 

AshishKMishra_0-1698872719551.png

 


Please mark this response as correct and helpful if it helps you can mark more that one reply as accepted solution

View solution in original post

13 REPLIES 13

@AshishKM 

Script:

2022_ServiceNow_0-1698871650192.png

Condition:

2022_ServiceNow_1-1698871687883.png

Logs:

2022_ServiceNow_2-1698871793602.png

 

So its returning sys_id , perfect ..also going inside the while loop ( as TEST1 printed in log ).

 

are you sure that , install_status which is Integer type select box with choice values, I checked the sys_choice table for this install_status,  all values are numeric. Check the same and use the numeric value instead of 'Return'.  

 

AshishKMishra_0-1698872719551.png

 


Please mark this response as correct and helpful if it helps you can mark more that one reply as accepted solution

@AshishKM Thank you so much Sir! It's working!

Finally, it's working for you. happy to help. 😊


Please mark this response as correct and helpful if it helps you can mark more that one reply as accepted solution