how to clear the sys_ID

Chaitanya Chowd
Kilo Expert

Hi All,

Consider the below scenario and help me in solving it

I have created a "List" type field in Incident form and it is referenced to "User" table.

find_real_file.png

I added a user to the "List" type field in Incident form. After that. I deleted the same user in "User" table . Now i am able to see a sys_id in the "List" type field in Incident form.

find_real_file.png

So help me like, if i delete the a user in "User" table, it should also delete its value in the referenced fields("List" type field in Incident form) and it should not display any sys_id.  

1 ACCEPTED SOLUTION

Let's see if this helps,



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


var userid = current.sys_id;


var useridlist = [];


var inc = new GlideRecord('incident');


inc.addQuery('u_user_list','CONTAINS',userid);


inc.query();


while(inc.next()){


var userlist = inc.getValue('u_user_list');


var users = userlist.split(",");


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


if(userid.toString() != users[i].toString())


useridlist.push(users[i].toString());


}


inc.u_user_list = useridlist;


inc.update();


}


})(current, previous);


View solution in original post

25 REPLIES 25

Check if this helps,



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


var userid = current.sys_id;


var useridlist = [];


var inc = new GlideRecord('incident');


inc.addQuery('u_user_list','CONTAINS',userid);


inc.query();


while(inc.next()){


var userlist = inc.getValue('u_user_list');


var users = userlist.split(",");


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


if(userid.indexOf(users[i]) > -1)


useridlist.push(users[i]);


}


inc.u_user_list = useridlist;


inc.update();


}


})(current, previous);


Hi Shishir,



I am getting error like



org.mozilla.javascript.NativeArray@721ae2



Thanks & Regards,


Chaitanya


try with ,,


inc.u_user_list = useridlist.toString();


Hi Shishir,



I have in total 3 users in the GlideList. I am deleting the 3rd user in the List.



After this script , I am able to see the sys_id of deleted user only and the remaining two users have been removed



Thanks & Regards,


Chaitanya


Let's see if this helps,



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


var userid = current.sys_id;


var useridlist = [];


var inc = new GlideRecord('incident');


inc.addQuery('u_user_list','CONTAINS',userid);


inc.query();


while(inc.next()){


var userlist = inc.getValue('u_user_list');


var users = userlist.split(",");


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


if(userid.toString() != users[i].toString())


useridlist.push(users[i].toString());


}


inc.u_user_list = useridlist;


inc.update();


}


})(current, previous);