Search Results get_binary_guess




Overview

APPS.PAY_ITERATE is an Oracle Payroll iteration utility package, declared AUTHID CURRENT_USER, that supports the iterative evaluation logic used by payroll formulas and payroll run processing. It provides the PL/SQL infrastructure required to drive iterative calculations for payroll elements, most notably gross-up processing where a target net value must be achieved through repeated computation of gross amounts. The package also contains upgrade and loading routines used by the corresponding LCT (loader control) files that populate and migrate payroll run type definitions across legislation environments. Its header notes contributions spanning versions 115.9 through 115.17, indicating an evolving package maintained under standard Oracle EBS version control since the earlier 11i era and shipped forward into the 12.1.1 and 12.2.2 code lines.

Key Procedures and Functions

The package exposes seventeen documented procedures and functions. The iteration engine components include GET_BINARY_GUESS, which performs a binary-search style successive approximation to converge on a value; GET_INTERPOLATION_GUESS, which derives a converging estimate by interpolation using previously evaluated values and their results; and ORDER_CUMULATIVE, used to determine the order in which run types should be downloaded, and invoked from the loader control file pycoiter.lct. Supporting these are the balance accessors GET_HIGH_VALUE, GET_TARGET_VALUE, and GET_LOW_VALUE, plus the initialisation routines INITIALISE and INITIALISE_AMOUNT that set up the iteration state, and IS_AMOUNT_SET and IS_FIRST_SETTING that test whether an amount has been resolved and whether the iteration is at its first pass. The gross-up functions, added for the DEFAULT GROSSUP formula, include GET_HIGH_GROSS_FACTOR and the functions added in version 115.14. A second group performs upgrade and configuration of payroll definitions: UP_RUN_TYPE, UP_RUN_TYPE_USAGE, UP_RUN_TYPE_ORG_METHOD, UP_ELEMENT_TYPE_USAGE, and TRANSLATE_ROW.

Tables Accessed

The package references a range of Payroll and HR tables through APPS synonyms. Run type configuration is read and updated in PAY_RUN_TYPES_F, PAY_RUN_TYPES_F_TL, PAY_RUN_TYPE_USAGES_F, and PAY_RUN_TYPE_ORG_METHODS_F, with PAY_ORG_PAYMENT_METHODS_F holding organisation payment method definitions. Element level data is held in PAY_ELEMENT_TYPES_F and PAY_ELEMENT_TYPE_USAGES_F, while PAY_ELEMENT_ENTRIES_F stores the entry values the iteration operates upon, and PAY_ASSIGNMENT_ACTIONS provides the assignment action context. Legislation-specific behaviour is governed by PAY_LEGISLATION_RULES. Multilingual and ownership metadata is drawn from FND_LANGUAGES, HR_APPLICATION_OWNERSHIPS, and HR_OWNER_DEFINITIONS. PLITBLM is a PL/SQL index-by table type of long used internally for cache handling.

Usage Notes

PAY_ITERATE is principally a backend package and is not normally invoked directly by end users. It is called by payroll formula infrastructure during gross-up and iterative element processing, and by the run type loader routines driven from LCT files such as pycoiter.lct during patching and upgrade. The ETRM metadata records five packages referencing it. Developers extending gross-up behaviour or diagnosing iterative payroll calculation issues typically inspect this package together with the associated formula definitions; custom code should invoke it only with a full understanding of the iteration state, since its routines maintain session-scoped intermediate values across successive passes.