Search Results test_independent




Overview

FND_VSET is a public PL/SQL package owned by APPS that implements the runtime validation engine for Oracle E-Business Suite Flexfields Value Sets. Value Sets define the permissible values that a flexfield segment, descriptive flexfield segment, or concurrent program parameter may accept. Validation may be performed against independent literal lists, against a predefined set of table-validated values, or against a PL/SQL validation routine. FND_VSET encapsulates the logic required to interpret the properties of a value set — format type, maximum size, numeric mode, range restrictions, long-list behavior, and table validation metadata — and to enumerate, fetch, and test the values that a given value set exposes.

The package is central to the Flexfields architecture that underlies the Accounting Flexfield, key flexfields, descriptive flexfields, and report parameters throughout the E-Business Suite. It also supplies the value-list infrastructure used by the Oracle Forms-based value list of values (LOV) widgets. The ETRM metadata classifies the package as "OTHER," and it is referenced by forty-two other packages, reflecting its role as a shared low-level utility for value set resolution rather than a form-bound API.

Key Procedures and Functions

  • GET_VALUESET — Retrieves the definition of a value set, populating a value set record with its validation type, format attributes, and, where applicable, the associated table validation information.
  • GET_VALUE_INIT — Initializes the internal cursor state used to iterate through the values belonging to a value set; establishes the starting position for enumeration.
  • GET_VALUE — Fetches the next value from the value set during iteration, returning the value identifier, the displayed value, its meaning or description, and its effective date range.
  • GET_VALUE_END — Terminates the value iteration, releasing the resources and state opened by GET_VALUE_INIT.
  • TEST — Validates whether a supplied value is a member of a given value set, applying the validation type, format, size, and range constraints defined for that set.
  • TEST_INDEPENDENT — Performs the same membership test but restricts validation to value sets that do not require table access, such as independent or format-only value sets.
  • TEST_TABLE — Validates a value against a table-validated value set, taking into account the validation table, identifier and value columns, and any additional where clause defined for the set.
  • DEBUG — Controls or emits diagnostic output for the package, supporting troubleshooting of value set resolution and validation behavior.

The package also declares private and public record types, including table_r, valueset_r, valueset_dr, and value_dr, together with a value_c cursor that drives value enumeration.

Tables Accessed

  • FND_FLEX_VALUE_SETS — The definition table for value sets; supplies name, validation type, format type, maximum size, uppercase and numeric flags, minimum and maximum values, and long-list attributes.
  • FND_FLEX_VALUES — The table of individual values that belong to a value set, including value, description, and effective date range; accessed through the FND_FLEX_VALUES_VL view in the documented record definitions.
  • FND_FLEX_VALIDATION_TABLES — The table validation metadata that identifies the application table, identifier column, value column, meaning column, additional where clause, and start and end date columns used by table-validated value sets.
  • DBMS_SQL — The Oracle-supplied dynamic SQL package, used to construct and execute the dynamic query required to validate values against table-validated value sets.

Usage Notes

FND_VSET is an internal utility package. It is not intended to be invoked directly by end users; rather, it is called by the Flexfields runtime, by form LOV handlers, and by other APPS packages that need to enumerate or validate value set content. Custom code that must resolve a value set should generally call the higher-level FND_FLEX_VALUES or FND_FLEX_VALIDATION APIs rather than FND_VSET directly, because those APIs encapsulate additional security and caching behavior.

The ETRM metadata records no parameters for the documented procedures, so integrators should not assume a fixed signature. Where direct invocation is unavoidable, the caller must supply the value set definition and, for table validation, must ensure that the referenced validation table is accessible to the APPS schema and that the additional where clause is valid against that table. Because TEST_TABLE executes dynamically constructed SQL through DBMS_SQL, performance is sensitive to the presence of indexes on the identifier and value columns of the underlying validation table. Multi-org and date-effective considerations are the responsibility of the calling layer.