LOV (List of Values) Template

Last Updated 02-Feb-2004

General Description

The LOV (List of Values) template allows users to select from a large list of values to help populate a field on a page or field in a table. The contents of this guideline are as follows:

Portions of this guideline are not yet implemented by UIX technology stack (LOV as choice list). The OA framework has implemented the LOV choice list, but not with personalization capabilities yet.

Guideline Attributes

Spec Version # - 3.1
Spec Contributors - Betsy Beier, Mervyn Dennehy, Craig Louis, Lisa Serface, Ivy Leung
UI Models - all models
Example Products - all products
Related Guidelines - Search Templates, Introduction to BLAF Page Templates, Locator Element: Next/Back, Tables

Interaction and Usage Specifications

General Principles

Schematics of Access Points to the LOV Template
Schematics of Access Points to the LOV Template

Schematics of the LOV Template
Schematics of the LOV Template

LOV Text Field Population Methods and Field-Level Validation

The following sections show example scenarios and flows for Populating the LOV Field. In each of these scenarios, the user is looking for "San Francisco"

Populating the LOV Field: Pre-Search with Exact String Match

(Or Partial String with One Match)
  1. The user enters "San Francisco" and exits the field:
    Full String Entered in LOV Field
  2. Validation occurs (the wait cursor is shown to the user.)
  3. Validation concurs this is an exact match.
    Reformatting may occur if necessary or possible given context.
  4. Focus moves to Search icon. User continues to next element on page.

Populating the LOV Field: Pre-Search with Partial String - Exact Match

  1. The user enters "San Fran" and exits the field:
    Partial String Entered in LOV Field
  2. Validation occurs (the wait cursor is shown to the user.)
    There are no other elements in the database that contain all these letters except for "San Francisco."
  3. One match is found; the field is automatically filled.
    Match for Partial String Completes Field Entry
  4. Focus moves to Search icon. User continues to next element on page.

Populating the LOV Field: Pre-Search with Partial String - Multiple Matches

  1. The user enters "San" and exits the field:
    Partial String Entered in LOV Field
  2. Validation occurs (the wait cursor is shown to the user.)
  3. Multiple matches are found; the LOV window appears with multiple matches to select from, according to the partial string "San".
    LOV Window Appears With Multiple Matches
    Note: Search field on LOV window is pre-populated with criteria entered from the primary page (i.e., "San").
  4. User selects the radio button for the "San Francisco" row, and then the "Select" button. The LOV window is dismissed and the full string is returned to primary window.
    Field is Populated with Selection
  5. Cursor is set in the LOV text field. User exits the field.
  6. Focus moves to the Search icon. User continues to next element on page.

Populating the LOV Field: Pre-Search with Partial String - No Matches

  1. The user enters "San Forsico" and exits the field:
    No-Match String Entered in Field
  2. Validation occurs (the wait cursor is shown to the user.)
  3. No matches are found; the LOV window pops up with no matches found.
    No Matches in LOV Window
    Note: Search field on LOV window is prepopulated with criteria entered from primary page (i.e., "San Forsico").
  4. User may either search in LOV window (or dismiss and search from primary page) to find item (see above flows for possible options.)
  5. When the user finds the item, they select the radio button for the "San Francisco" row, and then the "Select" button. The LOV window is dismissed and the full string is returned to primary window.
    Field Populated with Selected String
  6. Cursor is set in the LOV text field. User exits the field.
  7. Focus moves to the Search icon. User continues to next element on page.

Populating the LOV Field: No Pre-Search (No String Entered)

  1. The user does not enter anything in field on primary page, but just selects the LOV Search icon:
    Empty LOV Text Field
  2. NO Validation occurs (nothing is entered in field.). Client side script on the LOV icon should check whether the field is blank before validation on server occurs.
  3. LOV window opens with 1st record set of all values retrieved. (This is the recommended behavior. Due to performance issues, this may not always be possible.)
    Note: Since blind query is not supported in OA 11.5.10, the LOV window will display an empty table with the message "No Search Conducted" instead. User must enter a value in the search field of the LOV window or in the LOV text field on the originating page in order to display any results in the LOV window.
    Lov Window Opens with 1St Record Set Of All Values Retrieved
    Note: Search field on LOV window is prepopulated with criteria entered from primary page (i.e., blank field).
  4. User may either search in LOV window (or dismiss and search from primary page) to find item; find item in displayed set; or use table record set navigation to find the item.
  5. When the user finds the item, they select the radio button for the "San Francisco" row, and then the "Select" button. The LOV window is dismissed and the full string is returned to primary window.
    Field Populated with Selected String
  6. Cursor is set in the LOV text. User exits the field.
  7. Focus moves to the Search icon. User continues to next element on page.

Note: If a user tabs into an LOV field, does not enter any information, then tabs out, client-side validation should occur on the field to see if it is blank. If blank, server-side validation should not occur. The field should be ignored.

LOV Choice List

The LOV Choice List is an alternative to an LOV Text Field.

General Heuristics for LOV Choice List

General usage guidelines are as follows:

LOV Choice List Without Personalization

LOV Choice List Flow
LOV Choice List Flow

LOV Choice List With Personalization

LOV Choice List with Personalization Flow
LOV Choice List with Personalization Flow

Dependent Fields and LOVs

An LOV field may have associated dependent fields (or widgets). For instance, a user may select a bank branch location from an LOV field, then the associated address information may be automatically populated based on the selected branch.

Schematic of LOV Flows with Dependent Fields
Schematic of LOV Flows with Dependent Fields

Search Options Available in the LOV Template

There are three options for searching within an LOV template:

Schematic of LOV Search Options
Schematic of LOV Search Options

Multiple Select LOVs - Multi-Select Populating Tables and Single Fields

General Principles to Multi-Select LOVs

Multi-Select (and/or Single Select) LOV Populating a Table

A user may select single or multiple values from an LOV to populate new rows of a table. For instance, a user may need to "Add Competencies" to a table of competencies. These competencies are available through an LOV template.

Multiple or Single Select a Value to Populate a Table Flow

Schematic Flow of Multi-Select LOV Populating New Rows of a Table
Schematic Flow of Multi-Select LOV Populating New Rows of a Table

Multi-Select LOV Populating a Single Field

Flow of Multi-Select LOV to Populate a Single Field

Schematic Flow of Multi-Select LOV Populating a Single Field
Schematic Flow of Multi-Select LOV Populating a Single Field

LOVs with Filters

It may be appropriate to have a filter (as a pulldown choice list) associated with an LOV field. The filter limits the total number of values found in the LOV template, and/or values that can validated if entered in the LOV field.

Schematic of LOV Fields with Filters (Label/Data Format and Tabular Format)
Schematic of LOV Fields with Filters (Label/Data Format and Tabular Format)

If a Value Is Not Available in the LOV

This situation should be avoided whenever possible. In usability studies, when an item was not found in the LOV template, users immediately thought was that they were at fault (i.e., that they misspelled the word, or made a typo) or that the search itself was at fault. This may not be an issue in many cases. Users who have a high frequency of usage of an application, and a high level of familiarity with the data, may know whether or not an item exists. Thus, before even attempting to search for the item in the LOV, they would create the new value in the appropriate location of the application.

LOVs and Performance Issues

If an LOV contains an excessive number of values, and a pre-search (based on a value entered in the field) takes a long time, it may be necessary to forewarn the user of this issue. The following techniques may be used to ensure LOV performance:

  1. Decrease the number of values in an LOV by placing a Filter on the LOV field. This filter should be set to a default, and have a blank or "All" item within the filter list.
  2. Only if absolutely necessary, and a filter option will not work in the context, place a hint under the LOV field. The hint may recommend that the user must enter in a certain number of characters before a pre-search can be performed. If users do not enter the appropriate number of characters, they will get an error (message page or inline message box.)
    Note: This technique should be used sparingly and ONLY WHEN ABSOLUTELY NECESSARY. Over usage of hints and tips on a page becomes ineffective. If the hint is overused, it may be glanced over or not noticed.

In usability studies, long performance times were tested to see user reactions, and to determine if they affected users' ability to complete the task. Some users noted the long performance hit, but they did not perform any functions that prohibited them from completing the task or that caused any errors.

Visual Specifications

LOV/Search Functional Icon Launches LOV Page Template

A LOV/Search Functional Icon is located next to a label and field combination where an LOV can be launched. When selected, the secondary window LOV template appears.

LOV/Search Icon Associated with Labels/Fields on a Page (Including Measurements)
LOV/Search Icon Associated with Labels/Fields on a Page (Including Measurements)

LOV/Search Icon Associated with Fields in a cell of a Table
LOV/Search Icon Associated with Fields in a cell of a Table

Example of the LOV Template: Defaulted with Initial Results Set
Example of the LOV Template: Defaulted with Initial Results Set

Example of the LOV Template: No Items Found
Example of the LOV Template: No Items Found

Open/Closed Issues