How to query user name

Sironi
Kilo Sage

Hi,

Some one help me in GlideQuery.

var gr= "David Faroon"

var rp = new GlideRecord('resource_plan');
rp.initialize();
var usergr = new GlideRecord('sys_user');
usergr.addQuery('name', gr);
usergr.query();
if (usergr.next()) {
rp.user_resource = usergr.sys_id;
}
rp.insert();

 

is it right way to compare name with User table, if yes then ResourcePlan not created . any suggestions ?

1 ACCEPTED SOLUTION

okay.

So try it like this.

 

var gr = "David   Faroon";
gr = gr.trim().replace(/\s+/g,' ');
var rp = new GlideRecord('resource_plan');
rp.initialize();
var usergr = new GlideRecord('sys_user');
usergr.addQuery('name',gr);
usergr.query();
  if (usergr.next()) {
    gs.info("Entered into your if condition");
    rp.user_resource = usergr.getValue("sys_id");
  }
rp.setWorkflow(false);
rp.insert();

View solution in original post

32 REPLIES 32

Ah right mate.

yea I missed that + in the 2nd line.

Thanks Willem. thanks for clarification  

Have you tried the scripts I provided?

So combined all my suggestions:

var userName = "David  Faroon";
userName = userName.trim().replace(/\s+/g,' ');

var usergr = new GlideRecord('sys_user');
usergr.addQuery('name', userName);
usergr.query();
if (usergr.next()) {
    var rp = new GlideRecord('resource_plan');
    rp.initialize();
    rp.user_resource = usergr.getUniqueValue();
    rp.setWorkflow(false);
    rp.insert();
}

Are you sure your issue is with getting the user?

Inserting without the mandatory fields is normally prevented. You can add setWorkflow(false):

var userName = "David Faroon"

var usergr = new GlideRecord('sys_user');
usergr.addQuery('name', userName);
usergr.query();
if (usergr.next()) {
    var rp = new GlideRecord('resource_plan');
    rp.initialize();
    rp.user_resource = usergr.getUniqueValue();
    rp.setWorkflow(false);
    rp.insert();
}

i m trying from Scheduled Job.

can we use "Contains" because sometimes there may be some space in value of variable 

is it right format ?

 

var gr= "David Faroon"

var usergr = new GlideRecord('sys_user');
usergr.addQuery('name', 'CONTAINS', gr);
usergr.query();
if (usergr.next()) {
var rp = new GlideRecord('resource_plan');
rp.initialize();
rp.user_resource = usergr.getUniqueValue();
rp.insert();
}