Query 2 different tables script include

DB1
Tera Contributor

hello all,

 

I need to query 2 different tables and return the answers. How to do it from script include?

 

var loggedIn = gs.getUserID();

		var grgetUser = new GlideRecord('u_m2m_sys_user_cmdb_ci');
		grgetUser.addQuery('sys_user',loggedIn);
		grgetUser.addQuery('sys_user.active','true');	
		grgetUser.query();
		if(grgetUser.next()){
			return true;
		}			

		else{
			return false;
		}
		
		//
		var grgetUser1 = new GlideRecord('cmdb_ci_service');
		grgetUser1.addQuery('u_psme',loggedIn);
		grgetUser1.addQuery('u_psme.active','true');		
		grgetUser1.query();
		if(grgetUser1.next()){
			return true;
		}			

		else{
			return false;
		}

 

 

how to combine the results. What this script include was doing with one table is 

var loggedIn = gs.getUserID();
 
var grgetUser = new GlideRecord('u_m2m_sys_user_cmdb_ci');
grgetUser.addQuery('sys_user',loggedIn);
grgetUser.addQuery('sys_user.active','true');
grgetUser.query();
if(grgetUser.next()){
return true;
}
 
else{
return false;
}
If it returns true then it will show the menu option on Portal
 
DB1_0-1709810899466.png

now I need to have additional query from a completely different table.

basically if the answer is yes on table1 it has to show the menu OR if answer is true from table2 it has to show the menu.
How to achieve the same?

@Dr Atul G- LNG @Mark Manders @James Chun @Ankur Bawiskar @Harish KM 

1 ACCEPTED SOLUTION

swathisarang98
Giga Sage
Giga Sage

HI @DB1 ,

 

May be you can try something like this, store the true false values in a variable and compare those 2 and return true /false based on that,

 

 

 

varloggedIn =gs.getUserID();
vargrgetUser=new GlideRecord('u_m2m_sys_user_cmdb_ci');
grgetUser.addQuery('sys_user',loggedIn);
grgetUser.addQuery('sys_user.active','true');
grgetUser.query();
if(grgetUser.next())
{
var m2mUser = 'true';
}
else
{
var m2mUser = 'false';
}

var grgetUser1=new GlideRecord('cmdb_ci_service');
grgetUser1.addQuery('u_psme',loggedIn);
grgetUser1.addQuery('u_psme.active','true');
grgetUser1.query();
if(grgetUser1.next())
{
var cmdbUser = 'true';
}
else
{
var cmdbUser ='false';
}

if(m2mUser == 'true' || cmdbUser == 'true'){
return true;
}
else {
return false;
}

 

 

 

Let me know if you get any error 

 

Please mark this comment as Correct Answer/Helpful if it helped you.

Regards,

Swathi Sarang

 

View solution in original post

5 REPLIES 5

swathisarang98
Giga Sage
Giga Sage

HI @DB1 ,

 

May be you can try something like this, store the true false values in a variable and compare those 2 and return true /false based on that,

 

 

 

varloggedIn =gs.getUserID();
vargrgetUser=new GlideRecord('u_m2m_sys_user_cmdb_ci');
grgetUser.addQuery('sys_user',loggedIn);
grgetUser.addQuery('sys_user.active','true');
grgetUser.query();
if(grgetUser.next())
{
var m2mUser = 'true';
}
else
{
var m2mUser = 'false';
}

var grgetUser1=new GlideRecord('cmdb_ci_service');
grgetUser1.addQuery('u_psme',loggedIn);
grgetUser1.addQuery('u_psme.active','true');
grgetUser1.query();
if(grgetUser1.next())
{
var cmdbUser = 'true';
}
else
{
var cmdbUser ='false';
}

if(m2mUser == 'true' || cmdbUser == 'true'){
return true;
}
else {
return false;
}

 

 

 

Let me know if you get any error 

 

Please mark this comment as Correct Answer/Helpful if it helped you.

Regards,

Swathi Sarang