Configurable Filtered LOV in Service

With 25D, Oracle Fusion Service now supports the new Filtered LOV Fragment in Visual Builder Studio. This fragment enables system implementors to provide dynamic, multi-level dropdown filtering for both standard and custom fields—without writing code. Filtering can be based on static rules, user roles, or other field values, and is configured using easy, low-code field templates and datasets.

This enhancement allows administrators to quickly create more intuitive and relevant DCL in Service layouts. Users only see meaningful options, improving data quality and speeding up service workflows. The flexibility to filter by roles or related fields supports more complex, context-aware business processes.

Steps to Enable

Leverage the Visual Builder Studio to expose your applications. To learn more about extending your application using Visual Builder, visit Oracle Help Center > your apps service area of interest > Books > Configuration and Extension.

Visual Builder Studio

Overall Steps

  1. Select a Layout Object and add a virtual field
  2. Create a Field Template
  3. Search for CX Service Filtered Lov Fragment
  4. Add the Fragment to your Template
  5. Set the Properties based on your use case.

How to Configure the Filtered LOV Fragment in Oracle Visual Builder Studio

  1. Initial Setup in Visual Builder Studio
  2. Open your target layout and associated Rule Set.
  3. Duplicate the layout to safely make changes without affecting the original.
  4. Create a Virtual Field:
    • Set Label (e.g., "FilteredLOV").
    • Set Type to Object (Virtual Field).
  5. Add Fields:
    • Add the field you want to filter.
    • If using dependent-field filtering, also add the dependent fields here.
  6. Return to the Rule Set and select your newly created virtual field.
  7. Create or select a field template.
  8. From the component palette, search for and add "CX Service Filtered Lov" to your template.
  9. Create a Service Connection if needed (mandatory for custom fields & custom LOVs) to fetch the list of values.


Configure Common Fragment Properties
These properties must be entered, regardless of which filtering use case you are implementing:

  • extensionId: e.g., oracle_cx_serviceUI
  • fieldName: Field to filter, e.g., SeverityCd
  • lookupType: Lookup type, e.g., ORA_SVC_SR_SEVERITY_CD
  • label: Field label for end users
  • isCustomLov: true or false
  • valueField: Field to be updated, e.g., $value.SeverityCd
  • readOnly: Set to true or false as needed
  • required: Set to true or false as needed


Use Cases & Specific Configuration
Static Filtering
Purpose: Statically show or hide dropdown options.

  • filterList: Array of codes to include or exclude (e.g., ["ORA_SVC_SEV1", "ORA_SVC_SEV2"])
  • filterMode: 'include' (show only these) or 'exclude' (hide these)
  • serviceConnectionName:
    • For standard fields: standardLookupsLOV_openapi3/getall_standardLookupsLOV
    • For custom fields: Use the name of your custom service connection.
  • dependantFields: Set to $value (unless using dependencies).

Steps:

  1. Set all required properties in the field template.
  2. Create and assign the service connection (if using custom LOV).


Role Based Filtering
Purpose: Dynamically change LOV options based on user role.

  • filterList: Set via variable (e.g., $variables.FilterList) based on user’s role.
  • filterMode: Set via variable (e.g., $variables.FilterMode).
  • serviceConnectionName and dependantFields: As in static filtering.

Steps:

  1. Define layout variables for FilterList and FilterMode.
  2. In page logic/action chains, assign variable values according to user role.
  3. Reference those variables in the fragment’s properties.


Filtering Based on Dependent Field
Purpose: Filter LOV options based on the value(s) in other fields.

  • filterList: Use a variable like $variables.FilterList that updates when the dependent field changes.
  • filterMode: Use a variable like $variables.FilterMode.
  • dependantFields: Specify the field(s) that this LOV depends on. Add an event listener for dependantFieldsUpdated.
  • serviceConnectionName: As in previous use cases.

Steps:

  1. In your virtual field, add both the main field to filter and its dependent field(s).
  2. Define variables (FilterList and FilterMode) in your layout.
  3. Listen for the dependantFieldsUpdated event and update these variables based on the new values.
  4. Reference updated variables as properties in the fragment.

Tips And Considerations

n/a

Key Resources

Access Requirements

  • Oracle Visual Builder Studio for Fusion Application Extension