Search Results dff_flx_type




Overview

APPS.PAY_IP_UTILITY is a PL/SQL utility package body within the Oracle E-Business Suite Payroll (PAY) application. Its principal business function is to support the installation, configuration, and ongoing maintenance of the Incentive Payroll and related HR/Payroll legislative installations, while also providing reusable helper routines for Flexfield definition, Descriptive Flexfield compilation, balance lookup maintenance, and concatenated Flexfield (KFF/DFF) metadata management. The package is declared in the source header as payiputil.pkb, with a revision identifier referencing the 12.2 release line. Its global variables and private subtype declarations (DFF_FLX_TYPE, KFF_FLX_TYPE, KFF_STR_TYPE) indicate that it caches and manipulates Flexfield and Key Flexfield structure definitions obtained from the FND Flexfield dictionary tables.

The package is classified as an OTHER API, meaning it is not a public user-facing API in the same sense as a business flow API, but rather an internal utility library used by the Payroll application, by its own dependent packages, and by modular installation and upgrade routines. It is referenced by seven other packages, confirming its role as shared infrastructure.

Key Procedures and Functions

The documented API exposes twenty-one procedures and functions. The most directly relevant to the user's search term insert_ownership is INSERT_ALL_OWNERSHIPS, which is responsible for populating ownership records used by the Incentive Payroll configuration and its Flexfield-based ownership model. In the same family of data-loading routines, INSERT_FND_LOOKUP_VAL and INSERT_BAL_LOOKUP_VAL insert lookup values into the standard FND lookup and Payroll balance lookup structures respectively, while INSERT_PATCH_STATUS records patch application state and CHECK_PATCH_EXISTS verifies whether a given patch has already been applied.

Flexfield management is handled by CREATE_ELE_INFO_DFF_CTXT (creating an Element Information Descriptive Flexfield context), UPDATE_FLEX_COL_USAGES_TL (translating column usage descriptions), COMPILE_FLEX_FIELD and COMPILE_FORMULAS (compiling Flexfield and formula definitions), and CREATE_FND_MENU_ENTRY (registering a menu entry). Organization information type support is provided by CREATE_ORG_INFO_TYPE, CREATE_ORG_INFO_TYPE_BY_CLASS, DELETE_ORG_INFO_TYPE, and DELETE_ORG_INFO_TYPE_BY_CLASS.

Utility and diagnostic functions include GET_IP_INSTALLATION (overloaded to accept either a Business Group ID or a legislation code and return installation status), APPLICATION_ID, GET_BALANCE_NAME, CREATE_PQP_REP_DIM, IS_RELEASE_122_PLUS, GET_CHECK_NUMBER, and CHECK_RUN_BALANCE_ENABLED.

Tables Accessed

The package reads from and writes to a well-defined set of FND and Payroll tables through APPS synonyms. Legislative and installation state is derived from HR_LEGISLATION_INSTALLATIONS and PER_BUSINESS_GROUPS. Flexfield metadata is drawn from FND_DESCRIPTIVE_FLEXS, FND_DESCR_FLEX_CONTEXTS, FND_DESCR_FLEX_CONTEXTS_TL, FND_DESCR_FLEX_COLUMN_USAGES, FND_DESCR_FLEX_COL_USAGE_TL, FND_ID_FLEXS, and their compiled counterparts FND_COMPILED_DESCRIPTIVE_FLEXS, FND_COMPILED_ID_FLEXS, and FND_COMPILED_ID_FLEX_STRUCTS. Lookup and value set data are handled via FND_FLEX_VALUE_SETS and the FND lookup tables. Concurrent processing is interrogated through FND_CONCURRENT_PROGRAMS and FND_CONCURRENT_REQUESTS. Payroll-specific context is obtained from PAY_PAYROLL_ACTIONS, FF_ROUTES, and FND_APPLICATION.

Usage Notes

PAY_IP_UTILITY is typically invoked from Payroll setup forms, from concurrent programs that configure Incentive Payroll and Flexfield metadata, and from PL/SQL installation or upgrade scripts. Because it is referenced by multiple dependent packages, it should not be modified without impact analysis. Direct calls to internal routines such as INSERT_ALL_OWNERSHIPS are generally made by installation logic rather than by end users or custom reports. Custom code should invoke documented procedures only, supply valid FND Flexfield and legislation context, and commit explicitly, since the package itself does not manage transaction boundaries. In 12.1.1 and 12.2.2 the package remains largely consistent, with the 12.2 revision reflecting Flexfield table changes introduced by the online patching and AD/TXK architecture.