Search Results po_protests_util




Overview

The APPS.PO_PROTESTS_UTIL package is a utility-level PL/SQL module within the Oracle E-Business Suite Purchasing (PO) module. It supports the Protest functionality, which allows suppliers or internal users to formally contest the award or outcome of a sourcing, negotiation, or purchasing event. The package provides the plumbing needed to capture supporting documentation as binary attachments, compress those attachments into a single archive, store the resulting binary large object (BLOB) in the database, and notify the relevant performers by generating messages and sending notifications. It is declared with AUTHID CURRENT_USER, meaning it executes under the privileges and schema context of the calling user rather than the definer, and it is classified in the ETRM repository as a UTIL package rather than an operational or public API. The last documented header revision is 120.0.12020000.2 (2013/02/11), indicating maintenance aligned with the 12.1.1 and 12.2.2 releases.

Key Procedures and Functions

  • STORE_ZIP_BLOB — Accepts a protest identifier and returns an output media identifier. It is responsible for persisting the zipped protest attachment into the database as a LOB, tying the stored media to the originating protest record.
  • ZIP_ATTACH — The procedure most relevant to the "zip_attach" search. It receives a document identifier, a content type, a BLOB document (input/output), and a document type (input/output). Its purpose is to compress the supplied attachment content and prepare the resulting BLOB and type metadata for storage and later retrieval.
  • SEND — Sends a notification addressed to a recipient user from a sender, carrying a notification subject, the associated file identifier, protest notes, and the protest identifier. It is the single-recipient entry point for protest messaging.
  • SEND_NOTIFICATIONS — Performs the same notification role for a list of recipients, accepting a performer list (a PO_TBL_VARCHAR30 collection) along with the sender, subject, file identifier, protest notes, and protest identifier. It supports multi-party notification scenarios.

Tables Accessed

The package reads and writes through APPS synonyms. FND_ATTACHED_DOCUMENTS and FND_ATTACHED_DOCUMENTS_S hold the attachment entity linking protest records to their stored documents. FND_LOBS is the repository for the actual binary attachment content, including the zipped BLOB produced by ZIP_ATTACH and STORE_ZIP_BLOB. FND_NEW_MESSAGES supports the notification delivery performed by SEND and SEND_NOTIFICATIONS. PO_HEADERS_ALL is referenced for the purchasing document context underlying the protest. The package also uses PL/SQL built-ins and utilities: DBMS_LOB for LOB manipulation, UTL_RAW for raw byte handling, and PLITBLM for the PL/SQL table of BLOBs used when assembling content.

Usage Notes

Because this object is a UTIL package and is referenced by zero other packages in the ETRM metadata, it is not a shared dependency within the standard product call graph. It is instead invoked by the Protest user interface — typically an Oracle Forms-based page in the Purchasing module — and by any concurrent programs or custom extensions that automate protest document handling and notification. Callers should treat STORE_ZIP_BLOB, ZIP_ATTACH, SEND, and SEND_NOTIFICATIONS as internal helpers rather than a supported public API, since the package is marked noship and carries no documented external signature guarantees. Integrations that require zipping and attaching protest documentation should call ZIP_ATTACH with a valid document identifier and content type, then persist via STORE_ZIP_BLOB, and finally trigger notifications through SEND or SEND_NOTIFICATIONS. Because the package executes AUTHID CURRENT_USER, the calling user must have the appropriate privileges on the underlying FND and PO synonyms.