Get a first look at what's coming. The Developer Passport Australia Release Preview kicks off March 12. Dive in! 

How to split comma separated string into array and query correctly

MrBun256
Tera Contributor

I created an array (allQueues) which lists some companies from the core_company table. From there, I am obtaining each companies’ sub-queues (u_phone_queue) string field which is listed in a comma separated list. Afterwards, the sub-queues should be split up and populated into an array, where they are queried on another table to obtain stats like ‘Total Calls Daily’ for each queue.

Example:

allQueues u_phone_queue (COUNT) (Total Calls Daily)
Company A SubQueue 1,SubQueue 2

SubQueue 1 (5)

SubQueue 2 (8)

13
Company B SubQueue 3,SubQueue 4, SubQueue 5

SubQueue 3 (4)

SubQueue 4 (10)

SubQueue 5 (2)

16
Company C SubQueue 6,SubQueue 7,SubQueue 8,SubQueue 9

SubQueue 6 (5)

SubQueue 7 (10)

SubQueue 8 (12)

SubQueue 9 (7)

34
Company D SubQueue 10,SubQueue 11

SubQueue 10 (1)

SubQueue 11 (7)

8
var allQueues = ['Company A', 'Company B', 'Company C', 'Company D'];
var subStr;
var outputSplit;

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

    // Obtain sub-queues
    var queueAgg = new GlideRecord('core_company');
        queueAgg.addQuery('name', allQueues[i]);
        queueAgg.query();

        while (queueAgg.next()) {
            subStr = queueAgg.getValue('u_phone_queues');
            outputSplit = subStr.split(' ');
        }

        // How to add outputSplit to subArr array?
        var subArr = [];
	
	// Total Calls Daily
    var totalCallsDaily = 0;
    var countDaily = new GlideAggregate('u_connect_contact_trace_records');
    countDaily.addQuery('u_queue_name', subArr[i]);
    countDaily.addQuery('sys_created_onONToday@javascript:gs.beginningOfToday()@javascript:gs.endOfToday()');
    countDaily.addQuery('u_agent_usernameISNOTEMPTY');
    countDaily.addAggregate('COUNT');
    countDaily.query();
    
    if (countDaily.next()) {
        totalCallsDaily = countDaily.getAggregate('COUNT');
    }
}​

 

1 REPLY 1

Tony Chatfield1
Kilo Patron

Hi, you should be able to assign subStr directly to your array using split
try something like

var subStr = '1 2 3 4 5 6';
var subArray = subStr.split(' ');
gs.info(subArray[2]);