Search Results base_amount_round




Overview

PO_POXACTPO_XMLP_PKG is an Oracle E-Business Suite PL/SQL package owned by the APPS schema and declared with AUTHID CURRENT_USER. It is the packaged implementation body that backs the concurrent program report POXACTPO, the Purchasing "Purchase Order Detail" style listing that supports buyer activity reporting and purchasing transaction analysis. In the Oracle EBS 12.1.1 and 12.2.2 release streams, report logic that was historically embedded in Oracle Reports .rdf files was progressively migrated into server-side PL/SQL packages so that the report layout can call shared, testable functions. PO_POXACTPO_XMLP_PKG performs exactly that role: it holds the report-level global variables, date and parameter defaults, and the numeric formatting routines that the XML publisher or Reports template invokes during execution. The package header carries the version string $Header: POXACTPOS.pls 120.2 2008/01/05, indicating a long-stable implementation that has not materially changed across the 12.1 and 12.2 code lines.

Key Procedures and Functions

  • BeforeReport — Returns a boolean. Executed by the report engine before the main query fires; it initializes report context and prepares the session for data retrieval.
  • AfterReport — Returns a boolean. Executed after the report completes, providing a hook for cleanup and post-processing.
  • orderby_clauseFormula — Returns a VARCHAR2. It resolves the user-selected sort option into the ORDER BY fragment applied to the report query, driven by the P_ORDERBY and P_orderby_displayed parameters.
  • round_amount — Accepts a currency amount and a purchase order currency precision and returns a number. It rounds monetary values to the precision defined for the document currency.
  • base_amount_round — Accepts a base amount and a precision and returns a number. This is the routine relevant to the search term "base_amount_round"; it rounds the functional (base) currency amount to the supplied precision before display. It is deliberately separated from round_amount so that amounts converted into the ledger's base currency can be rounded using base-currency precision rather than the transaction currency precision.
  • AfterPForm — Returns a boolean. Executed after the report parameter form is processed, and is the conventional place to derive values such as P_BASE_CURRENCY, p_ca_set_of_books_id and the multi-reporting-currency set of books type (P_MRCSOBTYPE) from the financials system parameters.

Tables Accessed

The only documented table reference is FINANCIALS_SYSTEM_PARAMETERS, accessed through the APPS synonym. This table supplies the ledger, set of books, and financials system parameter context — notably the base currency and chart of accounts set of books identifier used to populate P_BASE_CURRENCY and p_ca_set_of_books_id. The package also declares local variables referencing PO_HEADERS, PO_DISTRIBUTIONS, RCV_TRANSACTIONS, RCV_SHIPMENT_HEADERS, RCV_RECEIVING_SUB_LEDGER and RCV_SUB_LEDGER_DETAILS, but these appear as dynamic table-name holders for the report's data model rather than direct static DML within the package itself.

Usage Notes

PO_POXACTPO_XMLP_PKG is not a general-purpose API and should not be called from custom business logic. It is invoked exclusively through the POXACTPO concurrent program and its associated report template, where the report engine calls BeforeReport, AfterPForm, the ordering formula, and the rounding functions as the data model is processed. It is referenced by zero other packages, confirming its position as a leaf-level report implementation unit. The AUTHID CURRENT_USER declaration means the package executes with the privileges of the invoking user rather than as definer. For diagnostics involving "base_amount_round", the relevant behavior is the rounding of functional-currency amounts in the report output; precision is passed in from the report's currency-precision lookup, so any unexpected rounding is generally traceable to the precision value supplied rather than to the function logic itself. No public API contract is exposed, and the package is marked noship.