Search Results validate_set




Overview

The APPS.PO_CUSTOM_MULTIMOD_VAL_PVT package body is a private (PVT-classified) PL/SQL module within the Oracle E-Business Suite Purchasing application. Its purpose is to support the multi-modification (mass update) validation framework by generating custom validation exceptions against sets of purchasing documents. In Oracle EBS 12.1.1 and 12.2.2, the multi-modification feature allows buyers and purchasing administrators to apply changes—such as updating a supplier site, payment terms, or price—across a large collection of purchase orders, releases, and agreements in a single operation. Because such changes can violate business rules, the application runs a validation phase before and during submission to detect conditions that would prevent the change from succeeding.

This package encapsulates the logic that translates a requested validation into a concrete validation set and delegates the actual rule execution to downstream validation procedures. It is an internal helper rather than a public API, and it depends on the shared logging infrastructure (PO_LOG) for diagnostics. The source header indicates a build level of 120.2, last modified in September 2011, which is consistent with the code lineage spanning the 12.1.1 and 12.2.2 releases.

Key Procedures and Functions

The package body exposes one documented subprogram:

  • GENERATE_CUSTOM_EXCEPTIONS — Based on the validation type and the request type, this procedure constructs a validation set and passes it to a validate_set routine to perform the validations and store the results in the object type po_multi_mod_val_results. It accepts the multi-modification request, document, and change data as input, along with a parameter identifying whether the validations are pre-submit or concurrent. It returns a result type indicating success or failure and an output collection holding the validation results. The procedure is the central entry point for producing the custom exception records used by the multi-modification user interface and concurrent processing.

The procedure signature is intentionally not reproduced here beyond its documented inputs and outputs. Notably, it references an internal validate_set call, which corresponds to the user's search term; this is a private invocation within the package rather than a standalone public API.

Tables Accessed

According to the documented metadata, the package references one table via APPS synonyms: PLITBLM. This is a PL/SQL index-by table type used within the EBS technology stack for passing and manipulating collections of key-value or identifier data; it is not a transactional application table. The multi-modification data passed into the procedure (po_multi_mod_requests, po_multi_mod_docs, and po_multi_mod_changes) is supplied as structured parameters using object types rather than being read directly by this body, which keeps the module decoupled from the base tables and allows the same validation logic to serve both pre-submit and concurrent execution paths.

Usage Notes

This package is invoked internally by the Purchasing multi-modification validation framework. It is not intended for direct invocation from forms, concurrent programs, or custom code. The typical call path originates from the multi-modification processing logic that assembles the request, document, and change collections and then calls GENERATE_CUSTOM_EXCEPTIONS to obtain validation results. Because the module is classified as PVT (private), Oracle does not guarantee its interface across patches or upgrades, and any custom development should avoid depending on it. Developers extending multi-modification behavior should instead use documented public APIs and extension hooks. The metadata further records that this package is referenced by one other package, confirming its role as a subordinate component within the broader multi-modification validation stack.