Search Results get_break_price




Overview

APPS.PO_SOURCING2_SV is a server-side PL/SQL package belonging to the Oracle Purchasing module of Oracle E-Business Suite. As declared by its AUTHID CURRENT_USER pragma, the package executes with the privileges of the invoking user rather than its owner, ensuring that any catalog or sourcing operation respects the caller's security profile. Its stated purpose is to provide the Server Side Supplier Item Catalog and Sourcing Application Program Interfaces (APIs), exposing reusable business logic that supports the Supplier Item Catalog (SIC) and sourcing functionality within Purchasing and iProcurement.

The package header, whose change history dates to 15-AUG-95, reflects one of the older surviving components of the sourcing infrastructure, last revised in the 12.1.1 code line (header version 120.5). Under ETRM 12.2.2 the package is classified as API classification "OTHER" and is owned by APPS. It exposes fifteen documented program units, of which the metadata names GET_BREAK_PRICE, UPDATE_LINE_PRICE, GET_SHIPMENT_PRICE, and the generic NAME entry, alongside the profile-option accessors and item detail routines declared in the header.

Key Procedures and Functions

  • get_break_price — Returns the appropriate break price for a blanket release shipment. As documented, no break price is returned when the order quantity is too small or when no break price exists for the shipment; the function therefore applies the quantity-tiered price breaks negotiated on the blanket agreement.
  • update_line_price — Applies price information back to a purchasing document line, supporting the recalculation or refresh of line pricing after sourcing or shipment pricing activity.
  • get_shipment_price — Derives the applicable price for a given shipment, complementing get_break_price in the shipment-level pricing retrieval used by the catalog and sourcing flows.
  • get_default_results_option — Retrieves the value of the PO: Default Supplier-Item Catalog Results profile option, returning a VARCHAR2 that controls the default result display behavior in the catalog.
  • get_display_find_option — Retrieves the PO: Display Find on Open Catalog profile option, returning a VARCHAR2 that governs whether the Find window is presented when the catalog opens.
  • get_release_quantity — Supplies the release quantity used in pricing and sourcing calculations.
  • get_item_detail — Returns item detail information from the supplier item catalog for display or downstream processing.

The remaining documented entries (including the NAME unit) complete the package's public interface of fifteen program units.

Tables Accessed

The package reads and writes the core Purchasing and inventory tables through APPS synonyms. It references MTL_SYSTEM_ITEMS to obtain item attributes and validation data during catalog lookups. PO_HEADERS and PO_HEADERS_ALL supply document header context for pricing and update operations. PO_LINES and PO_LINES_ALL hold the line-level price and quantity values that update_line_price and the pricing functions manipulate. PO_LINE_LOCATIONS and PO_LINE_LOCATIONS_ALL provide shipment-level scheduling and quantity information required by get_break_price and get_shipment_price. PO_QUOTATION_APPROVALS_ALL supports quotation approval data used in the sourcing decision path. Because these are the _ALL variants, the routines operate across operating units subject to the caller's security context.

Usage Notes

PO_SOURCING2_SV is invoked primarily from the Supplier Item Catalog and sourcing pages, where the profile-option accessors drive UI defaults and the pricing functions derive quantity-tiered prices for blanket releases. It is referenced by thirteen other packages, indicating that it acts as a shared server-side utility layer rather than a standalone entry point. Customizations should call the documented functions through the APPS schema rather than duplicating the pricing logic, since the break-price and shipment-price rules reflect negotiated agreement terms. Because the twelve _ALL tables are involved, callers must run within an initialized Oracle Applications session (FND_GLOBAL initialized) so that current-user security and operating unit enforcement behave correctly; this also honors the AUTHID CURRENT_USER semantics. The package is not itself a concurrent program but may be called from concurrent processes and custom code, and any modification should be treated as a form of API extension requiring regression testing against the catalog and sourcing flows.