Join the #BuildWithBuildAgent Challenge! Get recognized, earn exclusive swag, and inspire the ServiceNow Community with what you can build using Build Agent.  Join the Challenge.

How to set up Service and Service Offering reference fields relationship so it is bi-directional?

bbf35621
Kilo Sage

I am creating a catalog item and I am adding two reference fields for service and service offering. The service offering table depends on the service table. The client requirements for these two,

- When you select a Service, related Service Offerings should be available.
- If Service is blank, Service Offerings should show all.
- When you select a Service Offering, related Service should auto-populate.
- Fields should clear if no relationship is found.

I created 2 onChange catalog client scripts for Service and Service Offering. For some reason, I made the service offering reference field work but not the service field. Does anyone have scripts that do the same as this?

Here is the catalog script I use,

onChange target field - service

function onChange(control, oldValue, newValue, isLoading) {
    if (newValue == '') {
        return;
    } else {
        var serOff = g_form.getReference('service_offering', doTheThing);
    }


    function doTheThing(serOff) {

        if (newValue != serOff.parent) {
            alert("doesn't match");
            
            g_form.setValue('service_offering', '');
			//need to update this line of code after clear the value by adding new options.
			
        } else {
            alert("match");
            return;
        }
    }

}

onChange target field - service offering

function onChange(control, oldValue, newValue, isLoading) {
     if (newValue === '') {		
        g_form.clearValue('service');
		return;
    } else {
        g_form.getReference('service_offering', returnTheServiceParent);

    }

    function returnTheServiceParent(bahOffering) {
        g_form.setValue('service', bahOffering.parent);
    }   
}

 

0 REPLIES 0