Search Results so_order_purge




Overview

OEXPURGE is an Oracle Order Management (OM) utility package owned by APPS and classified as OTHER within the ETRM reference for Oracle EBS 12.1.1 and 12.2.2. Its purpose is to support the archival and deletion of obsolete sales order data from the transactional schema. Order Entry generates a substantial volume of header, line, pricing, approval, freight, and RMA interface records over time; OEXPURGE provides the programmatic logic that evaluates eligibility for purge and physically removes qualifying rows. The package is invoked as part of the Order Purge workflow, in which a purge request is submitted, validated against open-order and open-invoicing conditions, and then executed against the selected order population. Because the purge process is destructive, the package is composed primarily of granular row-level purge functions that isolate individual child tables, together with validation functions that prevent removal of orders still referenced by downstream activity.

Key Procedures and Functions

The documented interface contains thirty-one procedures and functions organized into three functional groups.

Notably, the child-level purge functions accept a p_request_id parameter. This is the concurrent request identifier for the running Order Purge program, used to correlate purged rows with the submission logged in the concurrent manager and to support diagnostics and reporting on what a given purge run removed. SO_PURGE_FREIGHT_CHARGES, SO_PURGE_HEADERS, SO_PURGE_HOLD_RELEASES, SO_PURGE_HOLD_SOURCES, SO_PURGE_LINE_APPROVALS, SO_PURGE_LINE_DETAILS, SO_PURGE_LINE_SERVICE_DETAILS, and SO_PURGE_LINES all follow this convention, receiving a parent identifier (header, line, picking header, release, or source) and the parent request ID. Each returns a NUMBER, signaling success or the count of rows affected.

Tables Accessed

The package operates against the core Order Management tables and several related schemas through APPS synonyms:

Usage Notes

OEXPURGE is not typically called interactively. It is executed through the Order Purge concurrent program in Oracle Order Management, which supplies the request ID captured by the child purge functions. Administrators select the order population to purge using the parameters of SELECT_PURGE_ORDERS — order number range, creation date window, last-update window, order category, and order type — and the concurrent manager then drives SO_ORDER_PURGE to perform the deletions with periodic commits governed by the commit point parameter.

The validation functions operate as pre-purge safeguards. Standard practice is to run the purge in report-only mode first so that open orders, invoiced orders, outstanding demand, and open returns are excluded rather than deleted, since removing such records would corrupt order lifecycle and billing integrity. Because the package is AUTHID CURRENT_USER and classified as OTHER rather than a supported public API, it should not be called directly from custom code without thorough regression testing in a cloned environment; Oracle reserves the right to change its internal signatures. Custom extensions should instead rely on documented Order Management APIs, using OEXPURGE only through its supported concurrent program entry point. Finally, because the operation is irreversible, a full schema or table-level backup should precede any production purge submission.