Search Results po_po_enter_unique_seq_num




Overview

APPS.PO_RFQ_VENDORS_PKG_S3 is a server-side PL/SQL package body in the Oracle E-Business Suite Purchasing module. Its documented purpose is to enforce and maintain the integrity of supplier assignments made against a Request for Quotation (RFQ). In the EBS sourcing model, an RFQ header may be distributed to multiple suppliers, and each supplier assignment occupies a sequence position within that RFQ. This package supplies the validation and sequencing logic that keeps those supplier records unique and correctly numbered on the PO_RFQ_VENDORS table. The body exposes two documented program units, CHECK_UNIQUE and GET_MAX_SEQUENCE_NUM, and is classified in the ETRM metadata as belonging to the OTHER API classification, indicating it is an internal supporting package rather than a published, externally callable interface. The header comment records an origin date of July 1999, reflecting its lineage from an earlier Purchasing release carried forward into 12.1.1 and 12.2.2.

Key Procedures and Functions

  • CHECK_UNIQUE — A procedure that verifies a proposed supplier sequence number is unique for a given RFQ header. It evaluates the requested sequence number against existing rows in PO_RFQ_VENDORS for the same header, excluding the current record so that an update to an existing row does not falsely conflict with itself. When no conflicting row is found, the procedure succeeds silently. When a conflict is detected, it raises the application error PO_PO_ENTER_UNIQUE_SEQ_NUM, prompting the user to supply a distinct sequence number. Unexpected errors are routed through PO_MESSAGE_S.SQL_ERROR with a progress marker for diagnostic purposes.
  • GET_MAX_SEQUENCE_NUM — A function that returns the highest sequence number currently assigned to suppliers on a specified RFQ header. It queries the maximum value from PO_RFQ_VENDORS and returns zero when no sequence numbers exist, providing a safe default for the next assignment. This supports automatic numbering of new supplier lines without manual user entry.

Tables Accessed

  • PO_RFQ_VENDORS — The principal table for this package. It stores the supplier assignments associated with an RFQ header, including the po_header_id and sequence_num columns referenced by both program units. CHECK_UNIQUE reads it to detect duplicates, and GET_MAX_SEQUENCE_NUM reads it to derive the highest assigned sequence.
  • DUAL — Used within CHECK_UNIQUE as the driving row source for its existence test, allowing the procedure to return a value only when the NOT EXISTS condition is satisfied and to trigger NO_DATA_FOUND when a duplicate is present.

Usage Notes

This package is invoked from the Oracle Purchasing RFQ entry form and its associated supplier assignment logic, typically when a user adds or modifies a supplier line on an RFQ. CHECK_UNIQUE is called before committing a sequence number to prevent duplicate supplier positions, while GET_MAX_SEQUENCE_NUM is called to pre-populate or suggest the next available sequence number. Because the ETRM metadata records zero dependent packages and classifies the object as OTHER, it should be treated as an internal implementation package rather than a supported public API. Customizations that call it directly should account for the fact that error reporting depends on PO_MESSAGE_S and that its signatures are not guaranteed across releases. Any extension should prefer standard Purchasing APIs where available, reserving direct calls to this package for supplier-sequence validation scenarios that are not otherwise exposed.