Using Catalog UI Policies to Create Dynamic Choices Based on Variable Selections

Nicholas Frenc1
Tera Contributor

The Background:

I have an FSM customer who wants a record producer for some of their facilities requests. We are trying to build out the form that they want for their Service Portal. All variables default to 'None'. On load, the user can only see the location_type (mandatory); issue_type1, issue_type2, sink_type and which_break_room are hidden.

  • They want their users to be able to select their location type (headquarters, warehouse, store or regional office). We created two variables called issue_type1 (for the stores and regional offices) and issue_type2 (for the Headquarters and Warehouse). They contain different options based upon which location type is selected. The corresponding issue_type becomes mandatory and visible based upon which location_type is selected. Below you will find an example for the Headquarters.

screenshot1.png

 

 

 

 

 

 

 

  • There are four issue types for issue_type1 (regional offices and stores): sink, toilet, water cooler, and water heater. This should only be mandatory and visible when the location_type is store or regional office.
  • There are three issue types for issue_type2 (headquarters and warehouse): ice machine, sink and, toilet. This should only be mandatory and visible when the location_type is headquarters or warehouse.
  • When a user for any location_type selects sink as issue_type1 or issue_type2, then the sink_issue should become mandatory and visible.

screenshot2.png

  • If a user from Heaquarters selects ice machine, then which_break_room becomes mandatory and visible.

 

The Problem:

We created several Catalog UI Policies on the record producer, but the system is not performing as expected. I will outline how the UI Policies are configured below.Please note, we are trying to avoid using scripting at the customer's request.

 

UI Policies

  1. Location Type is 'None'

A. on load = TRUE

B. Reverse if false = FALSE

C. Applies to Catalog Item and Applies to Target Record = TRUE

D. Filter location_type= NONE

E. Actions

1.) Sink_type: mandatory= false, visible= false, read only = leave alone, value action = leave alone, field message type = none and order = 50

2.) issue_type2: mandatory = false, visible= false, read only= leave alone, value action = leave alone, field message type= none, order= 100

3.) which_break_room: mandatory = false, visible= false, read only= leave alone, value action = leave alone, field message type= none, order= 120

4.) issue_type1: mandatory = false, visible= false, read only= leave alone, value action = leave alone, field message type= none, order= 110

2. Sink is selected

A. on load = FALSE

B. Reverse if false = FALSE

C. Applies to Catalog Item = TRUE

D. Applies to Target Record = FALSE

E. Filter issue_type1= sink or issue_type2 = sink

F. Actions

1.) sink_type: mandatory= True, visible= True, read only = leave alone, value action = leave alone, field message type = none and order = 100

3. Location is Headquarters or Warehouse

A. on load = FALSE

B. Reverse if false = FALSE

C. Applies to Catalog Item = TRUE

D. Applies to Target Record = FALSE

E. Filter location_type= Headquarters or ocation_type= Warehouse and location_type != None

F. Actions

1.) issue_type2: mandatory = True, visible= True, read only= leave alone, value action = leave alone, field message type= none, order= 200

2.) issue_type1: mandatory = FALSE, visible= FALSE, read only= leave alone, value action = leave alone, field message type= none, order= 200

4. Location is Store or Regional Office

A. on load = FALSE

B. Reverse if false = FALSE

C. Applies to Catalog Item = TRUE

D. Applies to Target Record = FALSE

E. Filter location_type= Regional Office or location_type = Store and location_type != None

F. Actions

1.) issue_type1: mandatory = True, visible= True, read only= leave alone, value action = leave alone, field message type= none, order= 100

2.) issue_type2: mandatory = False, visible= False, read only= leave alone, value action = leave alone, field message type= none, order= 200

5. Ice Machine Selected

A. on load = True

B. Reverse if false = FALSE

C. Applies to Catalog Item = TRUE

D. Applies to Target Record = FALSE

E. Filter location_type= Headquarters and location_type != None and issue_type2= ice machine

F. Actions

1.) which_break_room: mandatory = True, visible= True, read only= leave alone, value action = leave alone, field message type= none, order= 100

6. Sink is not selected 

A. on load = FALSE

B. Reverse if false = FALSE

C. Applies to Catalog Item = TRUE

D. Applies to Target Record = FALSE

E. Filter issue_type1= None or issue_type2 = None or issue_type1 = Toilet or issue_type2 = Toilet or issue_type1 = Water Cooler or issue_type2 = ice machine or issue_type1 = Water Heater

F. Actions

1.) sink_type: mandatory= leave alone, visible= False, read only = leave alone, value action = leave alone, field message type = none and order = 100

7. Ice Machine is not selected

A. on load = False

B. Reverse if false = True

C. Applies to Catalog Item = TRUE

D. Applies to Target Record = FALSE

E. Filter location_type= Store or location_type = Regional Office and issue_type2 != ice machine

F. Actions

1.) which_break_room: mandatory = True, visible= True, read only= leave alone, value action = leave alone, field message type= none, order= 100

 

I know that this is a lot, but I appreciate any feedback or guidance on how to get these UI Policies to work as expected. Thanks so much

0 REPLIES 0