Search Results okl_dflex_util_pvt




Overview

OKL_DFLEX_UTIL_PVT is a private PL/SQL package owned by the APPS schema within the Oracle E-Business Suite Lease and Finance Management (OKL) module. Its name derives from "Descriptive Flexfield Utility," and the package provides centralized programmatic services for validating and persisting descriptive flexfield (DFF) data associated with lease and finance contract records. Descriptive flexfields are the standard Oracle EBS extensibility mechanism that allows implementers to attach customer-specific attributes to standard business entities without modifying the underlying data model. OKL_DFLEX_UTIL_PVT encapsulates the logic required to resolve a flexfield definition, evaluate segment values against the applicable value sets and context, and write validated attribute values back into the contract or contract line tables.

The package is classified as PVT, indicating it is an internal implementation package rather than a public application programming interface. It is designed to be called by other packages within the OKL module rather than directly by external integrations. The package header carries a version marker dated 2005, reflecting its origin in the 11i-era codebase that was subsequently carried forward into EBS 12.1.1 and 12.2.2 with minimal structural change.

Key Procedures and Functions

  • validate_desc_flex — Validates a set of descriptive flexfield segment values for a given application and flexfield. It accepts the application short name, the descriptive flexfield name, a partial segment name for targeting a specific segment, and a DFF_Rec_Type record containing the attribute category and up to fifteen attribute values. The procedure returns standard API status outputs (return status, message count, and message data) so that the caller can inspect validation results. This is the procedure most commonly associated with the search term "validate_desc_flex," since it is the entry point for programmatic DFF validation in the leasing module.
  • update_contract_add_info — Persists validated additional information (DFF attributes) at the contract header level. It accepts a contract identifier (CHR_ID) and a DFF_Rec_Type payload, then updates the contract record with the supplied attribute category and attribute values.
  • update_line_add_info — Performs the equivalent operation at the contract line level. It accepts a contract line identifier (CLE_ID) and a DFF_Rec_Type payload, updating the corresponding line-level descriptive flexfield columns.

All three procedures follow the standard Oracle EBS API conventions: an API version parameter for compatibility control, an initialization flag for message stack management, standard OUT parameters for return status and message diagnostics, and the business-key input parameters specific to each operation. A shared record type, DFF_Rec_Type, defines the attribute category and fifteen generic attribute columns used as the common payload structure.

Tables Accessed

The package references several Oracle Application Object Library (FND) metadata tables through APPS synonyms. FND_APPLICATION supplies the application identifier used to resolve the flexfield definition. FND_DESCR_FLEX_COL_USAGE_TL, FND_DESCR_FLEX_CONTEXTS, and FND_DESCR_FLEX_COLUMN_USAGES provide the descriptive flexfield definition metadata, including available contexts, segment assignments, and column mappings used during validation. PLITBLM is an internal AOL table used in conjunction with flexfield processing. The validated values are ultimately written to the OKL contract and contract line tables via the update procedures.

Usage Notes

OKL_DFLEX_UTIL_PVT is referenced by four other packages, confirming its role as a shared internal utility within the leasing module. It is typically invoked in three scenarios: from Oracle Forms when a user enters or modifies descriptive flexfield data on a contract or contract line and validation must be enforced before save; from concurrent programs or batch processes that populate lease data programmatically and require the same validation rules as the online form; and from custom PL/SQL code extending the leasing module. Callers should pass a valid application short name and flexfield name to validate_desc_flex, then pass the same record payload to the appropriate update procedure for contract-level or line-level persistence. Because the package is private, direct custom calls carry upgrade risk, and the return status should always be checked against OKL_API.G_RET_STS_SUCCESS.