Search Results g_inter_mode_low




Overview

APPS.PAY_ITERATE is an internal Oracle Payroll PL/SQL package whose body encapsulates the iterative and interpolation logic used by Oracle Payroll when resolving payroll values that cannot be determined from a single element entry, run type, or assignment action. The package is classified under ETRM as "OTHER" rather than as a public API, which indicates that it is an internal support package invoked by other payroll engine components rather than directly by customers or integrators. Its central purpose is to manage a working list of payroll values and, where a definitive value is absent, to derive an interpolated or guessed value through a bounded iteration process.

The package body declares a private record type, entry_rec, which holds parallel indexed tables for entry identifiers, high values, low values, high and low value results, a guess value, a target value, and an interpolation mode, together with a size counter (sz) that tracks the number of populated rows. The global g_entry_list instance of this record, along with g_asg_id and g_asg_act_id, carries assignment and assignment action context across calls. The interpolation mode constants G_INTER_MODE_INIT, G_INTER_MODE_HIGH, G_INTER_MODE_LOW, and G_INTER_MODE_NORM govern how the iterator converges on a value.

Key Procedures and Functions

ETRM documents seventeen procedures and functions in this package. Those addressing entry and amount state include INITIALISE and INITIALISE_AMOUNT, which seed the working structures; IS_AMOUNT_SET and IS_FIRST_SETTING, which test whether a value has already been established; and TRANSLATE_ROW, which maps a row of source data into the internal representation. GET_ENTRY_POSITION, visible in the source excerpt, searches for an existing entry in the table and returns its position, or the next free position if the entry is not present.

Value resolution is handled by GET_HIGH_VALUE, GET_LOW_VALUE, GET_TARGET_VALUE, and GET_HIGH_GROSS_FACTOR, which retrieve the corresponding fields for an entry. Where a direct value is unavailable, GET_BINARY_GUESS and GET_INTERPOLATION_GUESS compute an estimate by bisection or by interpolation respectively, while ORDER_CUMULATIVE reshapes cumulative results into the required ordering. Several routines support configuration and usage metadata rather than arithmetic: UP_RUN_TYPE, UP_RUN_TYPE_USAGE, UP_RUN_TYPE_ORG_METHOD, and UP_ELEMENT_TYPE_USAGE maintain run type and element type usage relationships.

Tables Accessed

The package reads and writes a defined set of Payroll and HR tables through APPS synonyms. Assignment context is resolved from PAY_ASSIGNMENT_ACTIONS. Element configuration is drawn from PAY_ELEMENT_TYPES_F, PAY_ELEMENT_ENTRIES_F, and PAY_ELEMENT_TYPE_USAGES_F. Run type definition and its translated text come from PAY_RUN_TYPES_F and PAY_RUN_TYPES_F_TL, with usage and organization method relationships in PAY_RUN_TYPE_USAGES_F and PAY_RUN_TYPE_ORG_METHODS_F, and organizational payment methods in PAY_ORG_PAYMENT_METHODS_F. Legislative behaviour is sourced from PAY_LEGISLATION_RULES.

Ownership and language metadata are resolved through HR_APPLICATION_OWNERSHIPS, HR_OWNER_DEFINITIONS, and FND_LANGUAGES, while PLITBLM provides the PL/SQL table intermediary used for bulk data handling in Oracle Forms-based payroll processing.

Usage Notes

PAY_ITERATE is referenced by five other packages and is therefore exercised indirectly through the payroll run process rather than through a user-facing form or concurrent program. It is not intended for direct invocation from custom code; the absence of a public API classification signals that its interface may change between releases. Customizations requiring interpolation behaviour should use the supported public payroll APIs instead. The constants and types are package-private, so consumers cannot rely on them.