To display only those name of locations which have specific countries on basis of set of choices

rishabh31
Mega Sage

Dear Experts,

I have total 3 variables, 

Variable #1- Name: company; Type: Multiple Choice(None included), Choices (Value): ABC Org, PQR Org, XYZ Org (Order 100, 200, 300 respectively)

 

Variable #2- Name: job_type; Type: Select Box(None Included), Choices (Value): Dependent, InDependent, Misc (Order 100, 200, 300 respectively)

 

Variable#3- Name: location_name; Type: Lookup Select Box(None Included; Lookup from table: cmn_location; Lookup value field: Name; No reference qualifier set and No value attributes set).

 

Requirement is:

If company-ABC Org and job_type-'InDependent' is selected, then display only those 'location_name' (Name) which having Country-'Canada' and 'USA'

 

If company-XYZ Org and job_type-'InDependent' is selected, then display only those 'location_name' (Name) which having Country-'Italy'

 

If any/either of 3 provided comapny (ABC Org or PQR Org or XYZ Org) and job_type-'Dependent' is selected, then display only those 'location_name' (Name) which having Country-'Australia'

 

 

If any/either of 3 provided comapny (ABC Org or PQR Org or XYZ Org) and job_type-'Misc' is selected, then display only those 'location_name' (Name) which having Country-'Australia', 'Brasil' & 'Japan'

 

Requesting help on how it can be achieved as I referenced some links just to initiate atleast but unable to get this done. Kindly advise the steps on how this can be achieved .

 

Thank you in advance. Will mark your response helpful and accepted solution if response helped me on learning.

 

 

 

 

2 ACCEPTED SOLUTIONS

@rishabh31 , please try to do it via script include

Adv Ref Qual:

javascript: new AdvRefQuery().getQuery(current.variables.company,current.variables.job_type);

 

Script Include:

var AdvRefQuery = Class.create();
AdvRefQuery.prototype = Object.extendsObject(AbstractAjaxProcessor, {

    getQuery: function(company, jobType) {

        if (company == 'ABC Org' && jobType == 'InDependent') {
            return 'country=Canada^ORcountry=USA';
        } else if (company == 'XYZ Org' && jobType == 'InDependent') {
            return 'country=Italy';
        } else if ((company == 'XYZ Org' || company == 'PQR Org' || company == 'ABC Org') && jobType == 'Dependent') {
            return 'country=Australia';
        } else if ((company == 'XYZ Org' || company == 'PQR Org' || company == 'ABC Org') && jobType == 'Misc') {
            return 'country=Australia^ORcountry=Brasil^ORcountry=Japan';
        }
    },
    type: 'AdvRefQuery'
});

 

Hope this helps!

Thanks!

View solution in original post

@rishabh31 , in the variable attributes add this line, it'll work

 

 

 ref_qual_elements=company;job_type

 

 

 

 

View solution in original post

13 REPLIES 13

@rishabh31 , please try to do it via script include

Adv Ref Qual:

javascript: new AdvRefQuery().getQuery(current.variables.company,current.variables.job_type);

 

Script Include:

var AdvRefQuery = Class.create();
AdvRefQuery.prototype = Object.extendsObject(AbstractAjaxProcessor, {

    getQuery: function(company, jobType) {

        if (company == 'ABC Org' && jobType == 'InDependent') {
            return 'country=Canada^ORcountry=USA';
        } else if (company == 'XYZ Org' && jobType == 'InDependent') {
            return 'country=Italy';
        } else if ((company == 'XYZ Org' || company == 'PQR Org' || company == 'ABC Org') && jobType == 'Dependent') {
            return 'country=Australia';
        } else if ((company == 'XYZ Org' || company == 'PQR Org' || company == 'ABC Org') && jobType == 'Misc') {
            return 'country=Australia^ORcountry=Brasil^ORcountry=Japan';
        }
    },
    type: 'AdvRefQuery'
});

 

Hope this helps!

Thanks!

Hi @Karan Chhabra6 ,

 

Tried and tested, then again did some modifications to check if there was anything I am missing but not found anything, Now even I am wondering why this is not working 😞.

 

As advised by you I did exactly the same but again it's not worked.

Below is the Ref Qualifier on variable-location_name (lookup reference from cmn_location)

rishabh31_0-1682773182440.png

Script include (same code which you provided pasted here, I checked to make it both Client Callable True/false, but not working)

rishabh31_1-1682773437840.png

 

@rishabh31 , in the variable attributes add this line, it'll work

 

 

 ref_qual_elements=company;job_type

 

 

 

 

Thank you @Karan Chhabra6 for all the responses. This is working amazingly fine🙂 tested in each condition.

Just made a small change in the provided 'variable attributes' 

 

ref_qual_elements=company;job_type

 

provided comma replaced by a semicolon (referred from URL: https://www.servicenow.com/community/now-platform-forum/variable-attributes-ref-qual-elements/m-p/11...)

 

So now this variable (location_name) looks like this per the below screenshot.

rishabh31_0-1682782494139.png

Script Include looks like-

rishabh31_1-1682782586983.png

Hearty thanks for helping me learn and understand this, Marking your 2 responses as helpful and as accepted solutions.

 

Just a last thing why we used 'Variable attributes' here, I observe after its addition we get desired results.

 

Kind Regards

Rishabh