Search Results sort_action




Overview

APPS.PQP_EXPPREPROC_PKG is a payroll processing support package within the Oracle E-Business Suite Payroll (PQP) module. Its name reflects its role as an "export pre-process" utility: it prepares and stages payroll action data prior to downstream export, reporting, or further processing routines. The package is classified as OTHER within the ETRM registry, indicating that it is not published as a formal public API and is instead intended for internal, product-level consumption. It carries a header signature consistent with a no-ship private module (noship), which signals that Oracle reserves the right to change or remove its contents without notice.

The package operates against assignment action and payroll action data, providing the cursor generation, action record creation, and ordering logic required to sequence payroll actions correctly before they are handed to a downstream processor.

Key Procedures and Functions

The package exposes five documented program units, two of which are procedural entry points, two of which are helper routines, and one of which is a restricted function.

  • RANGE_CURSOR — Constructs and returns a SQL cursor string used to drive the pre-processing data set. It accepts a payroll action identifier and returns the generated SQL text through an output parameter, allowing the caller to iterate over the relevant population of assignment actions.
  • ACTION_CREATION — Creates the payroll action records required for processing. It accepts the action identifier along with a person range (starting and ending person) and a chunk value, supporting partitioned or batched action generation across a defined population.
  • SORT_ACTION — This is the routine associated with the sort_action search term. It takes a payroll action identifier and a SQL string passed in out nocopy, applies an ordering transformation to that statement, and returns the resulting length. It effectively governs the sequence in which actions are processed, which is critical where ordering affects payroll calculation correctness.
  • DEINITIALIZE — Releases package-level state or session context associated with a given payroll action identifier, providing clean teardown after processing completes.
  • GET_PARAMETER — A lookup function that retrieves the value of a named parameter from a supplied parameter list string. It is declared with a PRAGMA RESTRICT_REFERENCES clause (WNDS, WNPS), confirming it performs no database writes and no package-state writes, making it safe for use inside SQL statements.

Tables Accessed

The package references a defined set of payroll and HR tables through APPS synonyms:

  • PAY_ASSIGNMENT_ACTIONS and PAY_ASSIGNMENT_ACTIONS_S — the primary action staging tables, holding the assignment-level action rows that this package creates and sorts.
  • PAY_PAYROLL_ACTIONS — the parent payroll action definition, supplying the action context driving cursor and creation logic.
  • PER_TIME_PERIODS — provides payroll period context used in selecting the correct action population.
  • HR_SOFT_CODING_KEYFLEX — supplies soft-coding key flexfield definitions where action cost allocation is relevant.
  • PAY_US_EMP_STATE_TAX_RULES_F — indicates support for U.S. state tax rule evaluation during pre-processing.
  • DUAL — used for scalar expression evaluation and parameter resolution.

Usage Notes

PQP_EXPPREPROC_PKG is invoked internally during payroll action processing rather than from end-user forms. Typical invocation occurs from concurrent program logic or from parent payroll packages that first call RANGE_CURSOR to obtain a driving SQL statement, call SORT_ACTION to order the resulting action set, and then invoke ACTION_CREATION to materialize the action rows. DEINITIALIZE is called on completion to clear session state. Because the package is no-ship and classified as OTHER, customizations should not call it directly; developers requiring equivalent behavior should build against documented public payroll APIs. The package is referenced by one other package within the ETRM dependency graph, confirming it sits in a small internal processing chain rather than at the top of a public interface.