Search Results p_where_query




Overview

APPS.PO_POXBLREL_XMLP_PKG is the generated PL/SQL package body that backs the Oracle E-Business Suite XML Publisher (BI Publisher) concurrent report "POXBLREL" — the Blanket Release / Approved Supplier List style listing driven by the p_where_query and related report parameters. In Oracle EBS 12.1.1 and 12.2.2, XML Publisher concurrent programs created through the XML Publisher Administrator or the Oracle Reports-to-XML migration path are stored as pairs of database packages: a specification and a body. The _XMLP_PKG suffix identifies the runtime wrapper that Oracle's XML Publisher engine calls during report execution. The body encapsulates the data model logic that would previously have lived in an Oracle Reports PL/SQL library, exposes named functions and procedures to the report definition, and manages the parameter defaults, ordering clauses, and formatting masks used when the report output is rendered. Its ETRM classification is OTHER, indicating it is not part of a public API surface but rather an internal, report-bound component. The $Header line (120.1 2007/12/25) confirms this is a long-standing, stable artifact carried forward largely unchanged into the 12.2.2 code line.

Key Procedures and Functions

  • BEFOREREPORT — The entry point invoked by the XML Publisher engine immediately prior to report execution. It initializes the report's derived values, notably resolving P_ORDERBY against PO_LOOKUP_CODES to populate the display-oriented sort attribute and applying quantity precision through GET_PRECISION. The p_where_query parameter that users search for is consumed at this stage as part of the report's overall parameter contract; the function ensures the WHERE and ORDER BY tokens are ready before the query is fired.
  • GET_PRECISION — Accepts the quantity precision profile value and maps it to an appropriate numeric display mask (0 through 6 decimal places). This controls how quantities such as released amounts are formatted in the XML output.
  • ORDERBY_CLAUSEFORMULA — Returns a SQL fragment that supplies the ORDER BY clause dynamically. It branches on the upper-cased P_ORDERBY value (for example, 'VENDOR' maps to pov.vendor_name) and handles manual PO numbering by decoding psp1.manual_po_num_type to select between character and numeric ordering of poh.segment1. This is the mechanism by which p_where_query-style dynamic filtering and sorting are made safe and deterministic.
  • GET_P_STRUCT_NUM — Initializes the structure number parameter used to scope the report to a particular document structure or set of documents.
  • AFTERPFORM — Executes after the parameter form is processed, used to finalize parameter-dependent state before the main query runs.
  • AFTERREPORT — Runs after report rendering completes, providing cleanup and any post-processing hooks required by the XML Publisher runtime.

Tables Accessed

The documented table accessed by this package is PO_SYSTEM_PARAMETERS, referenced through its APPS synonym. It is read during initialization to obtain Purchasing system-level configuration values — such as precision, structure, and numbering behavior — that influence the WHERE clause, ORDER BY clause, and display formatting. The BEFOREREPORT logic also references PO_LOOKUP_CODES to translate the P_ORDERBY lookup code into a displayed sort field. All access is read-only; the package performs no DML against these tables.

Usage Notes

This package is invoked exclusively by the XML Publisher concurrent program engine when the POXBLREL report is submitted — typically from the Purchasing responsibility's request submission screen or from a scheduled concurrent request. Users supply parameters including p_where_query, P_ORDERBY, and P_QTY_PRECISION; the body then reconciles these against lookup values and system parameters before the dynamic SQL is assembled. Because ETRM records zero other packages referencing it, it is not intended for direct call from custom code; the supported integration point is the concurrent program itself. Developers extending or cloning the report should modify the underlying XML Publisher data model and regenerate the package, rather than editing the body directly, to preserve the generated-header integrity.