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
Giga 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

Amit Pandey
Kilo Sage

Hi @venugopal s 

 

Can you try this-

 

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

 

Regards,

Amit

its not working, Notification on User table @Amit Pandey 

(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);