Search Results get_po_amounts




Overview

POS_COMPLEX_WORK_PVT is a private PL/SQL package owned by the APPS schema in Oracle E-Business Suite. Its header signature identifies it as part of the Purchasing module's complex work (or "complex procurement") processing infrastructure, delivered alongside the POS product family. The package exposes three public procedures that compute and return monetary aggregations associated with a purchase order, its lines, and its shipments. The "PVT" (private) API classification indicates that the package is intended for internal use by Oracle application code rather than as a published extension point; Oracle does not guarantee its interface across releases, and customers should treat it as a callable utility only with the same caution applied to any non-public API.

The central business purpose reflected in the code — and reinforced by the user search term "get_po_amounts" — is the derivation of commitment, billing, financing, and delivery figures for complex or funded purchase orders. Rather than storing every aggregate persistently, the package recomputes these amounts on demand from the underlying order, line, location, and receiving data, giving callers a consistent, real-time view of financial progress against a PO.

Key Procedures and Functions

Three documented procedures are exposed in the package specification:

  • GET_PO_AMOUNTS — Accepts an API version, a message-list initialization flag, and a purchase order header identifier, and returns the header-level financial picture. The output parameters cover the amount approved, amount billed, amount financed, advance billed, progress payment, amount recouped, amount retained, and amount delivered. This single call is the primary entry point for callers that need a consolidated view of an entire purchase order's monetary position.
  • GET_PO_LINE_AMOUNTS — Takes an API version, message-list flag, and purchase order line identifier, returning line-level figures such as amount delivered, amount billed, advance amount, advance billed, and amount recouped. It supports drill-down reporting and line-level validation of billing and delivery balances.
  • GET_PO_SHIP_AMOUNTS — Takes an API version, message-list flag, and purchase order line location (shipment) identifier, returning the value percent and amount approved for that shipment. It is the finest granularity of the three procedures and is typically used when shipment-level costing or schedule information must be validated.

All three follow the standard EBS API convention of an API version parameter and an initialization flag for the message list, and they return amounts through NOCOPY OUT parameters for efficiency.

Tables Accessed

Per the documented metadata, the package reads from the following tables through APPS synonyms:

  • PO_LINES_ARCHIVE_ALL and PO_LINE_LOCATIONS_ARCHIVE_ALL — archived purchasing line and shipment records, used to include historically versioned commitments and delivery quantities in the computed totals.
  • PO_LINE_LOCATIONS_ALL — the current shipment schedules, providing the active distribution and quantity context for line and shipment amount calculations.
  • RCV_SHIPMENT_LINES — receiving transaction data, which underpins the "amount delivered" and related receipt-driven figures returned by the header and line procedures.

Usage Notes

Because POS_COMPLEX_WORK_PVT is classified as a private API and is referenced by no other documented packages, it is most likely invoked directly by Oracle Purchasing forms, internal PL/SQL business logic, or concurrent programs that display complex work financial summaries. Customers writing custom code should prefer officially documented public APIs where equivalent functionality exists; if this package is used, calls should include a current API version and a message-list flag, and the caller should be prepared for the interface to change without notice in future releases. The GET_PO_AMOUNTS procedure in particular should be treated as a read-only calculation utility rather than a transactional API, since the documented procedure list contains no create or update operations.