- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎04-18-2022 07:20 AM
Trying to call a same function until the value is found. But when the value is found its returning undefined.
var user=new GlideRecord("sys_user");
user.get("1328d77f97ea45104c913b6e6253af14");
checkmanageradbusinessunit(user.u_business_unit,user.manager)
function checkadbusinessunit(businessunit, manager)
{
if(businessunit == "")
{
gs.print(checkmanagerbusinessunit(manager));
}
}
function checkmanagerbusinessunit(manager) {
gs.print("check manager")
var user = new GlideRecord("sys_user");
user.get(manager);
if(user.u_business_unit == "")
{
gs.print("if");
checkmanagerbusinessunit(user.manager);
}
else{
var bu=user.u_business_unit;
gs.print(bu);
return bu;
}
}
Solved! Go to Solution.
- Labels:
-
Scripting and Coding
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎04-19-2022 08:07 AM
Hi caffry,
declare the recursive function in a temp variable and check.
var user=new GlideRecord("sys_user");
user.get("1328d77f97ea45104c913b6e6253af14");
checkmanageradbusinessunit(user.u_business_unit,user.manager)
function checkadbusinessunit(businessunit, manager)
{
if(businessunit == "")
{
gs.print(checkmanagerbusinessunit(manager));
}
}
function checkmanagerbusinessunit(manager) {
gs.print("check manager")
var user = new GlideRecord("sys_user");
user.get(manager);
if(user.u_business_unit == "")
{
gs.print("if");
var temp;
temp=checkmanagerbusinessunit(user.manager);
}
else{
var bu=user.u_business_unit;
gs.print(bu);
return bu;
}
}
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎04-19-2022 08:07 AM
Hi caffry,
declare the recursive function in a temp variable and check.
var user=new GlideRecord("sys_user");
user.get("1328d77f97ea45104c913b6e6253af14");
checkmanageradbusinessunit(user.u_business_unit,user.manager)
function checkadbusinessunit(businessunit, manager)
{
if(businessunit == "")
{
gs.print(checkmanagerbusinessunit(manager));
}
}
function checkmanagerbusinessunit(manager) {
gs.print("check manager")
var user = new GlideRecord("sys_user");
user.get(manager);
if(user.u_business_unit == "")
{
gs.print("if");
var temp;
temp=checkmanagerbusinessunit(user.manager);
}
else{
var bu=user.u_business_unit;
gs.print(bu);
return bu;
}
}
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎04-19-2022 09:48 AM
It worked.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎04-19-2022 08:37 AM
I don't see a function named checkmanageradbusinessunit(). Did you mean checkadbusinessunit()? That function doesn't return anything.