Search Results delete_all_lines




Overview

PON_UNSOL_UTIL_PKG is a public PL/SQL utility package owned by the APPS schema in Oracle E-Business Suite releases 12.1.1 and 12.2.2. Its name reflects its role: it provides utility logic for unsolicited bid lines within Oracle Sourcing and the Procure-to-Pay / Advanced Procurement suite. Unsolicited lines are offer lines submitted by a supplier that were not requested by the buyer in the original auction or RFQ structure. Such lines require special handling because they exist outside the buyer-defined line hierarchy and may reference external requirements or be priced without a corresponding solicitation line.

The package is declared AUTHID CURRENT_USER, meaning all SQL statements execute with the privileges of the invoking user rather than the definer. This design is typical of utility packages invoked from OAF-based Sourcing UI flows, where the application schema context governs data security and access. The package header carries a version marker indicating it was last revised in the 12.2 code line (120.4.12020000.3, dated 2013), and it is referenced by seven other packages, indicating it is a shared dependency across the sourcing bid-management stack.

Key Procedures and Functions

The package exposes ten documented program units. Two are procedural entry points for removing unsolicited lines, and the remainder are validation and utility functions.

  • DELETE_SINGLE_LINE — Removes one unsolicited line identified by auction header, bid number, and line number. It returns a result indicator plus an error code and message through OUT parameters, allowing the caller to present structured feedback.
  • DELETE_ALL_LINES — Removes every unsolicited line associated with a given auction header and bid number. This is the routine users reach through references to “delete_all_lines,” and it is the bulk counterpart to DELETE_SINGLE_LINE, again returning result, error code, and error message OUT parameters. It is typically invoked when a buyer rejects an entire set of supplier-proposed lines.
  • HAS_SOL_LINE_REFERENCES — Returns a flag indicating whether a given bid line is referenced by solicited lines, guarding against deletion of lines that are still in use.
  • HAS_UNSOL_LINES — Determines whether an auction header contains any unsolicited lines at all.
  • HAS_RESPONSE_UNSOL_LINES — Checks whether a specific bid contains unsolicited response lines.
  • ARE_UNSOL_LINES_ALLOWED — Reports whether the auction configuration permits unsolicited lines to be submitted or retained.
  • COPY_UNSOL_OFFER_LINES — Copies unsolicited offer lines from a source bid to a target bid, carrying forward UDA template, trading partner, contact, user, and vendor site context.
  • DUPLICATE_UNSOL_AWARDED_LINES — Reproduces awarded unsolicited lines, supporting downstream award and purchase-order generation scenarios.
  • HAS_PRICED_UNSOL_RESP_LINES — Indicates whether any unsolicited response lines have been priced, a precondition for certain deletion and award operations.
  • CAN_PUT_REQ_IN_POOL — Evaluates whether a requirement line may be placed into the sourcing pool, factoring in line-type enablement.

Tables Accessed

The package operates primarily against PON_BID_HEADERS, the parent bid record holding trading partner, contact, and vendor site context; and PON_AUCTION_HEADERS_ALL, the auction definition. Line-level pricing and references are held in PON_BID_ITEM_PRICES and its extension table PON_BID_ITEM_PRICES_EXT_B, while PON_BID_ITEM_REFERENCES stores line-to-requirement associations. FND_ATTACHED_DOCUMENTS is queried to account for attachments tied to lines slated for deletion. DUAL is used for trivial single-row evaluations.

Usage Notes

PON_UNSOL_UTIL_PKG is normally invoked indirectly through Oracle Sourcing OAF pages and bid-management flows rather than by end users directly. Deletion routines such as DELETE_ALL_LINES are called from the buyer-facing unsolicited-line management UI, where result and error OUT parameters drive confirmation and error messaging. The validation functions are used as guard checks before deletion, copying, or award actions. Customizations and extensions that manipulate unsolicited bid lines should call these APIs rather than issuing direct DML, preserving the integrity checks embedded in HAS_* and ARE_UNSOL_LINES_ALLOWED.