The CreatorCon Call for Content is officially open! Get started here.

How can we Hide choices for a reference field in service Catalog in Service Portal

SuchitaSuJ
Tera Contributor

I have service Catalog called application Request in which i have location field which is reference to cmn_location table

so we are populating choices based on the location in service Catalog the problem here is its working well inside the Instance level but in Service Portal it is not working specially i have written a client script if the field is empty then populate  choices

 

Can Anyone help me out i have tried DOM manipulation , and also tried changing the script by using window.object it not supporting

 

here is the code , its an onchange client script.
 if (newValue == '116463291bc77c102b947599cc4bcbdd') // United Kingdow Location 
    {
 
        g_form.clearOptions('app_name');
        g_form.addOption('app_name', '', '-- None --');
        g_form.removeOption('app_name', 'windchill', 'Windchill');
        g_form.removeOption('app_name', 'logfire', 'Logfire');
        g_form.removeOption('app_name', 'AS400', 'AS/400');
        g_form.removeOption('app_name', 'oracle', 'Oracle');
        g_form.removeOption('app_name', 'cognos', 'Cognos');
        g_form.removeOption('app_name', 'cognos_planning', 'Cognos Planning');
        g_form.removeOption('app_name', 'historian', 'Historian');
        g_form.removeOption('app_name', 'web', 'Web');
        g_form.removeOption('app_name', 'other', 'Other');
        g_form.removeOption('app_name', 'business_intelligence', 'Business Intelligence');
        g_form.removeOption('app_name', 'integrations', 'Integrations');
        g_form.removeOption('app_name', 'ukg', 'UKG');
        g_form.removeOption('app_name', 'asp_net', 'ASP.NET');
        g_form.addOption('app_name', 'infor', 'INFOR');
g_form.removeOption('app_name', 'anaplan', 'Anaplan');
        g_form.removeOption('app_name', 'carixa', 'Carixa');
        g_form.removeOption('app_name', 'infor_ln', 'Infor LN');
        g_form.removeOption('app_name', 'ln_reports', 'LN Reports');
        g_form.removeOption('app_name', 'power_bi', 'PowerBI');
        g_form.removeOption('app_name', 'simple_connect', 'SimpleConnect (IoT App)');
        g_form.removeOption('app_name', 'salesforce', 'Salesforce');
        g_form.removeOption('app_name', 'shipment_confirmation', 'Shipment Confirmation');
        g_form.removeOption('app_name', 'shopify', 'Shopify');
        g_form.removeOption('app_name', 'flex_plm', 'FlexPLM');
        g_form.removeOption('app_name', 'windchill_pdm', 'WindchillPDMLink');
        g_form.removeOption('app_name', 'jde_reports', 'JDE Reports');
 
 
    } else if ((newValue === '') || (newValue === '34acd7611bc77c102b947599cc4bcb7c')) //St-french
    {
 
        g_form.clearOptions('app_name');
        g_form.addOption('app_name', '', '-- None --');
        g_form.addOption('app_name', 'logfire', 'Logfire');
        g_form.addOption('app_name', 'asp_net', 'ASP.NET');
        g_form.addOption('app_name', 'infor', 'INFOR');
        g_form.addOption('app_name', 'windchill', 'Windchill');
        g_form.addOption('app_name', 'cognos', 'Cognos');
        g_form.addOption('app_name', 'cognos_planning', 'Cognos Planning');
        g_form.addOption('app_name', 'historian', 'Historian');
        g_form.addOption('app_name', 'other', 'Other');
        g_form.addOption('app_name', 'business_intelligence', 'Business Intelligence');
        g_form.removeOption('app_name', 'integrations', 'Integrations');
        g_form.addOption('app_name', 'ukg', 'UKG');
        g_form.addOption('app_name', 'cognos', 'Cognos');
        g_form.removeOption('app_name', 'emun1', 'EMUN1');
        g_form.removeOption('app_name', 'jde', 'JDE');
        g_form.removeOption('app_name', 'pkms', 'PKMS');
        g_form.removeOption('app_name', 'salsify', 'Salsify');
        g_form.removeOption('app_name', 'snapPay', 'SnapPay');
        g_form.removeOption('app_name', 'tableau', 'Tableau');
g_form.removeOption('app_name', 'anaplan', 'Anaplan');
        g_form.removeOption('app_name', 'carixa', 'Carixa');
        g_form.removeOption('app_name', 'infor_ln', 'Infor LN');
        g_form.removeOption('app_name', 'ln_reports', 'LN Reports');
        g_form.removeOption('app_name', 'power_bi', 'PowerBI');
        g_form.removeOption('app_name', 'simple_connect', 'SimpleConnect (IoT App)');
        g_form.removeOption('app_name', 'salesforce', 'Salesforce');
        g_form.removeOption('app_name', 'shipment_confirmation', 'Shipment Confirmation');
        g_form.removeOption('app_name', 'shopify', 'Shopify');
        g_form.removeOption('app_name', 'flex_plm', 'FlexPLM');
        g_form.removeOption('app_name', 'windchill_pdm', 'WindchillPDMLink');
        g_form.removeOption('app_name', 'jde_reports', 'JDE Reports');
 
 
 
 
    } else if (newValue === '8c9b97ad1b877c102b947599cc4bcb26') //Hunter fan Tennessee
    {
 
        g_form.clearOptions('app_name');
        g_form.addOption('app_name', '', '-- None --');
g_form.addOption('app_name', 'infor_ln', 'Infor LN');
g_form.addOption('app_name', 'jde', 'JDE');
        g_form.addOption('app_name', 'pkms', 'PKMS');
g_form.addOption('app_name', 'anaplan', 'Anaplan');
        g_form.addOption('app_name', 'cognos', 'Cognos');
g_form.addOption('app_name', 'carixa', 'Carixa');
        g_form.addOption('app_name', 'emun1', 'EMUN1');
g_form.addOption('app_name','edi','EDI');
g_form.addOption('app_name', 'flex_plm', 'FlexPLM');
g_form.addOption('app_name', 'jde_reports', 'JDE Reports');
g_form.addOption('app_name', 'ln_reports', 'LN Reports');
g_form.addOption('app_name', 'power_bi', 'PowerBI');
        g_form.addOption('app_name', 'salsify', 'Salsify');
        g_form.addOption('app_name', 'snapPay', 'SnapPay');
        g_form.addOption('app_name', 'simple_connect', 'SimpleConnect (IoT App)');
        g_form.addOption('app_name', 'salesforce', 'Salesforce');
        g_form.addOption('app_name', 'shipment_confirmation', 'Shipment Confirmation');
        g_form.addOption('app_name', 'shopify', 'Shopify');
g_form.addOption('app_name', 'tableau', 'Tableau');
        g_form.addOption('app_name', 'windchill_pdm', 'WindchillPDMLink');
g_form.addOption('service_name','maintenance','Data Maintenance');
        g_form.removeOption('app_name', 'cognos_planning', 'Cognos Planning');
        g_form.removeOption('app_name', 'historian', 'Historian');
        g_form.removeOption('app_name', 'other', 'Other');
        g_form.removeOption('app_name', 'business_intelligence', 'Business Intelligence');
        g_form.removeOption('app_name', 'integrations', 'Integrations');
        g_form.removeOption('app_name', 'ukg', 'UKG');
        g_form.removeOption('app_name', 'windchill', 'Windchill');
        g_form.removeOption('app_name', 'logfire', 'Logfire');
g_form.removeOption('app_name', 'infor', 'INFOR');
g_form.removeOption('service_name','EDI','EDI');
g_form.removeOption('service_name','Data Correction/Upload','Data Correction/Upload');
g_form.removeOption('app_name', 'asp_net', 'ASP.NET');
 
 
    }
}

 

4 REPLIES 4

Ankur Bawiskar
Tera Patron
Tera Patron

@SuchitaSuJ 

I couldn't see DOM in your script

Did you set UI type = ALL for your client script?

did you add alert and debug?

Regards,
Ankur
✨ Certified Technical Architect  ||  ✨ 9x ServiceNow MVP  ||  ✨ ServiceNow Community Leader

     // var isServicePortal = (typeof window !== 'undefined' && window.location.href.includes('sp'));
 
// var locationValue = g_form.getValue('487b521987be3dd0cf5fca6acebb354f');  //locationsysid
 
// if(isServicePortal){
// locationValue = g_form.setValue('location').value;
// }
 Pardon me this goes near th function, 

Moin Kazi
Kilo Sage
Kilo Sage

Hi @SuchitaSuJ,

 

Ensure that the UI type in your client script is set to "All" if you want the script to also run on the Service Portal.

MoinKazi_1-1729360217225.png

 

Hope this help you.

 

Regards

Moin

 

Yes , UI type is ALL ,