Find your people. Pick a challenge. Ship something real. The CreatorCon Hackathon is coming to the Community Pavilion for one epic night. Every skill level, every role welcome. Join us on May 5th and learn more here.

Getting undefined values when I am triggering for event ?

venugopal s
Tera Contributor

Hi Everyone,
when user goes on legal hold, then user is not eligible for purchase, then I need to trigger  a email. But I am getting undefined values and not able to trigger email,  when I am trying to using Info messages.

Script:

 

(function executeRule(current, previous /*null when async*/ ) {
    var usercecid = current.user_name;
    var device;
    var grhard = new GlideRecord('alm_hardware');
    grhard.addEncodedQuery('model_category=451c87f6db41e2407be67bec0f96193a^u_function=primary^substatus=refresh_accepted_intent_to_purchase^assigned_to=' + current.sys_id);
    gs.info('hardware name' + grhard.u_model_number);
    grhard.query();
    if (grhard.next()) {
        var purchanceDevice = new AssetManagementUtils1();
        device = purchanceDevice.getPurchaseDate(grhard);
        gs.info('hardware device purchase');
        var puractions = 'false';
        var block = 'false';
        var gr_memblock = new GlideRecord('sys_user_grmember');
        gr_memblock.addQuery('group', '5447ce7847a44e54fa181945d36d4351');
        gr_memblock.addEncodedQuery('user.user_name=' + usercecid);
        gs.info('hardware device  group' + gr_memblock.usercecid);
        gr_memblock.query();
        if (gr_memblock.next()) {
            block = 'true';
        }

        if (block == 'false') {
            if (grhard.request_line.variables.operating_system != 'linux' && grhard.ci.u_operating_system.toString() != 'linux') {
                var gr_user = new GlideRecord('sys_user');
                gr_user.addEncodedQuery('u_cisco_active=true^u_employee_type=R^u_termination_dateISEMPTY^user_name=' + usercecid);
                gs.info('hardware device user ' + gr_user.user_name);
                gr_user.query();
                if (gr_user.next()) {
                    var gr_model = new GlideRecord('u_model_country');
                    gr_model.addEncodedQuery('u_active_employee_purchase_program=true^u_model=' + grhard.model + '^u_country.u_code=' + gr_user.u_hr_country_iso_code);
                    gs.info('hardware device model' + gr_model.u_name);
                    gr_model.query();
                    if (gr_model.next()) {
                        if (gr_model.u_enable_pilot_program == true) {
                            var gr_mem = new GlideRecord('sys_user_grmember');
                            gr_mem.addQuery('group', gr_model.u_pilot_program_group);
                            gr_mem.addEncodedQuery('user.user_name=' + usercecid);
                            gs.info('hardware device model group' + gr_model.u_pilot_program_group);
                            gr_mem.query();
                            if (gr_mem.next()) {
                                puractions = 'true';
                            }
                        } else {
                            puractions = 'true';
                        }
                    }
                }
            }
        }
        if (device == 'true' && puractions == 'true') {
            gs.eventQueue('user.legal.hold', grhard.assigned_to);
            gs.info('hardware device event');
        }
    }


})(current, previous);
 
 
 
Thanks
4 REPLIES 4

dgarad
Tera Sage

Hi @venugopal s 

just try the below change.

gs.eventQueue('user.legal.hold', grhard,grhard.assigned_to);

 

If my answer finds you well, helpful, and related to the question asked. Please mark it as correct and helpful.

Thanks
dgarad

Not working, Thanks

Not applicable

Hi @venugopal s 

 

Can you try this-

 

gs.eventQueue('user.legal.hold', current, usercecid);

 

Regards,

Amit

its not working, Notification on User table @Community Alums 

(function executeRule(current, previous /*null when async*/ ) {
    var usercecid = current.user_name;
    var device;
    var grhard = new GlideRecord('alm_hardware');
    grhard.addEncodedQuery('model_category=451c87f6db41e2407be67bec0f96193a^u_function=primary^assigned_to=' + current.sys_id);
    // grhard.addQuery('sys_id', '5c1165e7db762450812fa62dca9619a4');
    grhard.query();
    if (grhard.next()) {
        var purchanceDevice = new AssetManagementUtils1();
        device = purchanceDevice.getPurchaseDate(grhard);
        var currentDate = new GlideDateTime();
        if (currentDate >= purchaseDate) {
            device = 'true';
        }
        var puractions = 'false';
        var block = 'false';
        var gr_memblock = new GlideRecord('sys_user_grmember');
        gr_memblock.addQuery('group', '5447ce7847a44e54fa181945d36d4351');
        gr_memblock.addEncodedQuery('user.user_name=' + usercecid);
        gr_memblock.query();
        if (gr_memblock.next()) {
            block = 'true';
        }

        if (block == 'false') {
            if (grhard.request_line.variables.operating_system != 'linux' && grhard.ci.u_operating_system.toString() != 'linux') {
                gs.info('hardware device  group2');
                var gr_user = new GlideRecord('sys_user');
                gr_user.addEncodedQuery('u_cisco_active=true^u_employee_type=R^u_termination_dateISEMPTY^user_name=' + usercecid);
                gr_user.query();
                if (gr_user.next()) {
                    var gr_model = new GlideRecord('u_model_country');
                    gr_model.addEncodedQuery('u_active_employee_purchase_program=true^u_model=' + grhard.model + '^u_country.u_code=' + gr_user.u_hr_country_iso_code);
                    gr_model.query();
                    if (gr_model.next()) {
                        if (gr_model.u_enable_pilot_program == true) {
                            var gr_mem = new GlideRecord('sys_user_grmember');
                            gr_mem.addQuery('group', gr_model.u_pilot_program_group);
                            gr_mem.addEncodedQuery('user.user_name=' + curr);
                            gs.info('hardware device model group' + gr_model.u_pilot_program_group);
                            gr_mem.query();
                            if (gr_mem.next()) {
                                puractions = 'true';
                            }
                        } else {
                            puractions = 'true';
                        }
                    }
                }
            }
        }
        if (device == 'true' && puractions == 'true') {
            gs.eventQueue('user.legal.hold', current, current.email);
        }
    }


})(current, previous);