Search Results get_vendor_contact




Overview

PO_VENDOR_CONTACTS_SV is a server-side PL/SQL package in the Oracle E-Business Suite APPS schema that manages validation and lookup of supplier contact records held in the PO_VENDOR_CONTACTS table. The package serves as the programmatic interface through which Oracle Purchasing and related modules confirm that a given vendor contact is active, belongs to the correct vendor site, and resolves to a valid contact identifier and name. Its name follows the EBS convention for supplier validation packages, and the ETRM classification of OTHER indicates that it is an internal framework utility rather than a publicly documented business API.

The header comment dated 2004 reflects the package's long-standing presence in the codebase and its stability across releases 12.1.1 and 12.2.2. The code contains references to Bug 3692519, which introduced vendor_site_id scoping into the contact validation logic, and Bug 590653, which corrected concatenation of first and last names when the first name is null. These fixes remain embedded in the shipped source.

Key Procedures and Functions

The ETRM metadata documents four program units in total, two of which are named for reference: a unit identified as NAME and a unit identified as GET_VENDOR_CONTACT_ID. In addition, the source excerpt exposes two further units that carry the primary business logic:

  • get_vendor_contact — Returns the number of active contacts for a vendor site and, through its parameters, populates the contact identifier and a formatted contact name. The name is built by concatenating the last name with the first name, inserting a comma and space only when a first name exists, per Bug 590653.
  • val_vendor_contact — A Boolean validation function that determines whether a specified vendor contact is currently active. It queries PO_VENDOR_CONTACTS for the contact and site, treating the contact as active when the current system date is less than the inactive date (or the inactive date is null), and returns TRUE or FALSE accordingly.

The NAME unit supplies the descriptive name associated with a vendor contact, while GET_VENDOR_CONTACT_ID resolves and returns a contact identifier for a given context. Both are used by the parent Purchasing logic to populate and cross-check contact information on supplier-facing documents. Error handling throughout delegates to PO_MESSAGE_S.SQL_ERROR, which logs the originating unit and progress point before re-raising the exception.

Tables Accessed

The package reads PO_VENDOR_CONTACTS, the base table storing contact records associated with supplier sites, together with its APPS synonym PO_VENDOR_CONTACTS_S. All validation and lookup logic draws from this table; the package does not modify it, acting purely as a read interface. The documented metadata lists PO_HEADERS_ALL as an additionally referenced table via APPS synonyms, reflecting the package's integration with the purchasing document hierarchy, where contact details are validated against the supplier information attached to purchase orders.

Usage Notes

PO_VENDOR_CONTACTS_SV is invoked whenever a form, concurrent program, or custom extension must confirm that a contact selected for a supplier site is still active before recording it on a purchasing document. It is most commonly called from Oracle Purchasing supplier and document entry forms, and from related modules that resolve vendor contact identifiers during defaulting. Because five other packages reference it, it functions as a shared service rather than a single-application routine.

Customizations should call the package without attempting to modify it, as it is a shipped APPS object and any direct change would be overwritten during patching. Developers integrating with it should note that val_vendor_contact enforces both contact-level and site-level checks, so callers must supply a vendor_site_id consistent with the contact being tested.