See: Using Flexfield Information in Your Report Parameters
Warning: You should never change or delete a predefined value set that Oracle Applications supply. Such changes may unpredictably affect the behavior of your application features such as reporting.
You use the Special Validation Routines window of the Value Set form to define special user exit validation for a Special value set. You also use that region to define validation routines for a Pair value set.
When you define a special validation value set, you specify two things: an event and a function. The event is the time when your function occurs, and your function is your call to a key flexfield user exit. For example, the Validate event occurs once a user enters a value, and your function would validate that value.
You can use a special validation value set to let your users enter an entire key flexfield combination within a single segment of a descriptive flexfield or report parameter. For example, you may want to pass concatenated key flexfield segments as a parameter to a report. With this type of value set, a user can enter the descriptive flexfield segment or report parameter and then see the "normal" behavior of a key flexfield, such as the key flexfield pop-up window and segment Lists of Values associated with that key flexfield. You can use Oracle Application Object Library flexfield routines to perform flexfield data entry and validation functions on segment values or report parameters.
Warning: You should take special care to avoid a situation where you have a value set that contains a flexfield which in turn contains a flexfield (as a value set of one of its segments). There are two situations where this could cause a problem. The first situation (recursion) is where a flexfield calls itself as one of its segments, leading to an infinite chain of pop-up windows. Such a loop may also be indirect. The second potential problem may lead to data truncation and data corruption problems: since a flexfield is often passed as its concatenated flexfield values, the length of these concatenated flexfields can quickly exceed the maximum size of the value set and the underlying segment column in the flexfield table. This is less likely to cause a problem for key flexfields than for descriptive flexfields or range flexfields, because key flexfields are usually passed as a single code combination ID number instead of as concatenated segment values and therefore take less space. Though the Define Value Set form and the Define Segments forms do not prevent you from defining flexfield loops or multiple flexfields within flexfields, you can cause serious truncation problems and possible data corruption problems in your application by allowing this to occur. Plan and define your value sets carefully to avoid these value sets within value sets.
Value Set Windows
Key Flexfield Segments
Descriptive Flexfield Segments