Results for “clear_iterative_value”
8 results
AI-generated from documented ETRM metadata — verify critical details on the linked pages.
Overview
PAY_US_ITERATIVE_VALUES is an Oracle EBS Applications (APPS) PL/SQL package body that supports the United States payroll legislative framework, specifically the iterative processing required when a payroll element must be calculated multiple times within a single payroll run. Certain US payroll elements — most notably arrears, involuntary deductions, and wage assignments — depend on values produced by other elements or on the remaining disposable income calculated across the assignment. Because these dependencies form a circular reference, the payroll engine must run the elements iteratively, converging on a final balance. This package maintains the working state (iterative amount, iteration count, stopper flag, processing element identity, and insert status) that allows the payroll run to track and resolve those values across successive iterations.
Key Procedures and Functions
The package exposes eighteen documented procedures and functions, organized around a get/set/clear state-management pattern. Accessors and mutators for package-level working state include GET_STOPPER_FLAG and SET_STOPPER_FLAG, which control whether iteration should halt for an assignment; GET_ITERATIVE_VALUE, SET_ITERATIVE_VALUE, and CLEAR_ITERATIVE_VALUE, which manage the current iterative amount; GET_ITER_COUNT and INC_ITER_COUNT, which track how many passes have been performed; GET_ITER_AMT and SET_ITER_AMT, which record the accumulated iterative amount; and SET_INSERTED_FLAG, GET_INSERTED_FLAG, and CLEAR_ITER_INS, which prevent duplicate insertion of iterative results. GET_PROCESSING_ELEMENT and SET_PROCESSING_ELEMENT identify the element currently being resolved. CLEAR_ON_ASG and SET_PROCESSING_ELEMENT support lifecycle management as processing moves from one assignment to the next.
The remaining routines implement the business rules that drive iteration. ITERATIVE_ARREARAGE determines whether an element is subject to iterative arrears handling. REDUCES_DISPOSABLE_INCOME evaluates whether a deduction reduces disposable income, a key test for federal and state garnishment limits. PARTIAL_DEDUCTION_ALLOWED establishes whether a partial deduction may be taken when full recovery would breach a limit. Together these functions supply the decision logic that the payroll engine consumes to converge on a legally compliant deduction amount.
Tables Accessed
The package reads core payroll and HR entities through APPS synonyms. PAY_ELEMENT_TYPES_F, PAY_ELEMENT_CLASSIFICATIONS, PAY_ELEMENT_LINKS_F, and PAY_INPUT_VALUES_F provide element definition, classification, linkage, and input value metadata. PAY_ELEMENT_ENTRIES_F and PAY_ELEMENT_ENTRY_VALUES_F supply and store the run-time entry and entry value results that the iterative logic accumulates. PAY_BALANCE_TYPES is consulted when iterative values are derived from or fed into balances such as gross or net pay. PAY_TAXABILITY_RULES and PAY_TAXABILITY_RULES_DATES determine the tax treatment of amounts. PER_ALL_ASSIGNMENTS_F supplies assignment context, while PAY_US_STATES, HR_LOCATIONS, and HR_SOFT_CODING_KEYFLEX provide jurisdiction, location, and costing information needed for state-specific limits. PAY_ASSIGNMENT_ACTIONS and PLITBLM (the PL/SQL index-by table of NUMBER) are also referenced during run-time processing.
Usage Notes
PAY_US_ITERATIVE_VALUES is an internal payroll engine component rather than a public API; the ETRM classification is OTHER, and the package is not referenced by any other database object, meaning it is invoked directly by the Oracle Payroll processing runtime rather than by downstream packages. It is typically exercised during the Calculate Payroll and QuickPay processes whenever iterative US elements are present on an assignment, and indirectly during payroll reversal and balance adjustment activities that must reconcile previously iterated amounts. Oracle does not publish these routines as supported callable interfaces, so custom code should not invoke them directly; extensions requiring iterative payroll behavior should be implemented through the supported element and formula framework, allowing this package to manage iteration state on their behalf.