You are currently viewing Basics of Valuesets in Fusion HCM
Basics of Valuesets in Fusion HCM

In this article we will look into the Valueset feature in Fusion HCM.

Want to learn Fusion Technical tools? Checkout this article

Here is the agenda:

  • What is Valueset?
  • Types of Valuesets?
  • How to Valueset
  • Use Cases for Valuesets
  • SQL Queries to pull data from Valuesets

Table of Contents

What is a Valueset?

A value set is a group of valid values that can be used to assign valid values to a flexfield segment or do some validations in Fast Formulas or retrieve some content in HCM Extracts where the data base item is not available.

Task name to be used to Create Valuesets is “Manage Valuesets” under Setup and Maintenance.

Types of Valuesets?

There are five types of Valuesets and they are listed below:

  • Format Only
  • Independent
  • Dependent
  • Subset
  • Table

Format Only Valueset:

The format only validation type enables end users to enter any value, as long as it meets your specified formatting rules. That is, the value must not exceed the maximum length you define for your value set, and it must meet any format requirements for that value set.

valueset1 1024x496 - Basics of Valuesets in Fusion HCM

Independent Valueset:

Independent Valueset is used to validate input against a list that isn’t stored in an application table, and not dependent on a subset of another independent value set.
Ex: Valueset Details:

valueset4 1024x358 - Basics of Valuesets in Fusion HCM


valueset5 1024x316 - Basics of Valuesets in Fusion HCM

Dependent Valueset:

The available values in a dependent list and the meaning of a given value depend on which value was selected for the independently validated segment. For every independent value from parent value set, we can add one/many values in the dependent value set. For example, the valid holidays depend on which country you are in
Ex: Valueset Details:

valueset2 1024x420 - Basics of Valuesets in Fusion HCM


valueset3 1024x462 - Basics of Valuesets in Fusion HCM

Subset Valueset:

Subset Valueset is used to limit the list of values based on a Valueset. However instead of creating a new Valueset, we can re-use the existing independent Valueset for values and choose the values that you want to create for the subset Valueset.
Ex: Valueset Details:

valueset6 1024x267 - Basics of Valuesets in Fusion HCM


valueset7 1024x286 - Basics of Valuesets in Fusion HCM

Table Valueset:

Table Valueset is used when the values you want to use are already maintained in an application table, such as a table of vendor names. Specify the table column that contains the valid value. You can optionally specify the description and ID columns, a WHERE clause to limit the values to use for your set, and an ORDER BY clause.

valueset8 1024x531 - Basics of Valuesets in Fusion HCM

Use Cases for Valuesets:

  • All types of Valuesets can be used to validate the data for the flex field segments (DFF, EFF and KFF),
  • Only Table type Valuesets are used to get data from the application tables and then they can be used in the fast formulas when there are NO database items defined.
  • Only Table type Valuesets are used to get data in HCM Extracts when database items are not defined.

SQL Queries to pull data from Valuesets:

FND_FLEX_VALUE_SETS (holds value set property related details)
FND_FLEX_VALUES (holds actual values)

Independent Valueset Details SQL:

SELECT ffvs.flex_value_set_id
 ,ffvs.description set_description
 ,ffvt.description value_description
FROM fnd_flex_value_sets ffvs
 ,fnd_flex_values ffv
 ,fnd_flex_values_tl ffvt
WHERE ffvs.flex_value_set_id = ffv.flex_value_set_id
 AND ffv.flex_value_id = ffvt.flex_value_id
 AND TRUNC(SYSDATE) BETWEEN NVL(ffv.start_date_active, trunc(SYSDATE))
  AND NVL(ffv.end_date_active, trunc(SYSDATE + 1))
 AND ffvs.flex_value_set_name = 'XX_VALIDATION_VS'

Table Based Valueset Details SQL:

SELECT ffvs.flex_value_set_name
 ,('select ' || ffvt.value_column_name || (CASE
    WHEN ffvt.meaning_column_name IS NOT NULL
     THEN ', ' || ffvt.meaning_column_name
     THEN ', ' || ffvt.ID_COLUMN_NAME
    END) || ' from ' || ffvt.application_table_name
 || ' ' || ffvt.additional_where_clause) SQL_Query
FROM fnd_flex_value_sets ffvs
 ,fnd_flex_validation_tables ffvt
WHERE ffvs.flex_value_set_id = ffvt.flex_value_set_id

Tip: Table based Valuesets are an interesting feature and will be used widely across HR and Payroll Modules. They are used in Flexfields, Payroll Flows, Fast Formulas, HCM Extracts, etc.