The CreatorCon Call for Content is officially open! Get started here.

Populate Multiple Values

APV Babu
Tera Contributor
I am trying to populate multiple values in string field, I am getting only one value which is last selected one
Please find below script.
 
 
 
 
(function executeRule(current, previous /*null when async*/ ) {
   
var plan = current.getValue('plan_s').split(',');

    for (var i = 0; i < plan.length; i++) {
        gs.info(plan[i] + 'Result');
        var client = new GlideRecord("u_table");
        client.addQuery('sys_id', plan[i]);
        client.query();

        while (client.next()) {

            current.client_name = client.u_client_name.u_name;
            gs.info(client.u_client_name.u_name + 'clientname');
            current.client_number = client.u_client_name.u_client_number;
            gs.info(client.u_client_name.u_client_number + 'cliennumber');

        }
    }

})(current, previous);
 
 
Regards,
APV Babu
1 ACCEPTED SOLUTION

Aniket Chavan
Tera Sage
Tera Sage

Hello @APV Babu ,

 

Please give a try to the code below and let me know how it works for you.

(function executeRule(current, previous /*null when async*/ ) {
    var plan = current.getValue('plan_s').split(',');
    var clientNames = [];
    var clientNumbers = [];

    for (var i = 0; i < plan.length; i++) {
        gs.info(plan[i] + ' Result');
        var client = new GlideRecord("u_table");
        client.addQuery('sys_id', plan[i]);
        client.query();

        while (client.next()) {
            clientNames.push(client.u_client_name.u_name);
            gs.info(client.u_client_name.u_name + ' clientname');
            clientNumbers.push(client.u_client_name.u_client_number);
            gs.info(client.u_client_name.u_client_number + ' cliennumber');
        }
    }

    current.client_name = clientNames.join(', ');
    current.client_number = clientNumbers.join(', ');

})(current, previous);

 

Let me know your views on this and Mark Correct if this solves your query and also mark 👍Helpful if you find my response worthy based on the impact.

 

Thanks,

Aniket

View solution in original post

11 REPLIES 11

Danish Bhairag2
Tera Sage

Hi @APV Babu ,

 

Please try the below updated code

 

(function executeRule(current, previous /*null when async*/ ) {
   
var plan = current.getValue('plan_s').split(',');

    for (var i = 0; i < plan.length; i++) {
        gs.info(plan[i] + 'Result');
        var client = new GlideRecord("u_table");
        client.addQuery('sys_id', plan[i]);
        client.query();

        while (client.next()) {

            current.client_name += client.u_client_name.u_name + ' ';
            gs.info(client.u_client_name.u_name + 'clientname');
            current.client_number += client.u_client_name.u_client_number + ' ';
            gs.info(client.u_client_name.u_client_number + 'cliennumber');

        }
    }

})(current, previous);

 

Thanks,

Danish

 

Thanks for the response the script was not working

Hi @APV Babu ,

 

Can u log the plan variable n check whether u getting the sys id's or not?

   
var plan = current.getValue('plan_s').split(',');
gs.info('Plan Values :-'+ plan);

 

Thanks,

Danish

 

Hey I am not getting the any values from plan