Search Results check_std_consigned_ref




Overview

PO_DOCUMENT_CHECKS_PVT is a private PL/SQL package in the APPS schema that serves as the central validation engine for Oracle Purchasing documents within Oracle E-Business Suite 12.1.1 and 12.2.2. Its business purpose is to evaluate purchasing documents — requisitions, purchase orders, blanket and planned purchase agreements, contracts, and releases — against the full set of business rules, security constraints, and setup conditions that govern whether a document may be submitted, approved, or processed further. Whenever a buyer submits a document for approval, or when the approval workflow or signature authority logic requires a pre-submission audit, the validation routines in this package determine whether the document passes or fails, and return structured error, warning, or informational messages accordingly.

Key Procedures and Functions

The package exposes 38 documented procedures and functions. The principal entry points are PO_SUBMISSION_CHECK and POST_SUBMISSION_CHECK, which orchestrate the pre- and post-submission validation phases respectively. Document-type-specific checks are performed by CHECK_REQUISITIONS, CHECK_RELEASES, CHECK_PO, CHECK_PLANNED_PO_BLANKET_PA, CHECK_PO_PA_HEADER, CHECK_STANDARD_PO, and CHECK_CONTRACT_AGREEMENT. Several routines address specialized validation domains: CHECK_STD_GLOBAL_REF, CHECK_STD_CONSIGNED_REF, and CHECK_STD_GC_REF handle global, consigned, and global-consigned references on standard purchase orders; CHECK_PO_REL_REQPRICE validates requisition pricing on releases; and DO_CBC_RELATED_VALIDATIONS applies country-specific or localization-related rules. VALIDATE_ACCOUNT_WRAPPER wraps account validation, typically against GL code combinations.

A distinct group of procedures supports bulk validation performance: POPULATE_PO_HEADERS_GT, POPULATE_REQ_HEADERS_GT, POPULATE_REQ_LINES_GT, POPULATE_RELEASES_GT, and UPDATE_GLOBAL_TEMP_TABLES load document data into global temporary tables so that validation logic can operate against a consistent in-memory snapshot rather than repeatedly querying base tables. This pattern is characteristic of the submission-check subsystem, which must validate large numbers of documents efficiently.

Tables Accessed

The package reads core Purchasing setup through PO_DOCUMENT_TYPES to determine the document type, subtype, and applicable validation rules. Supplier data is drawn from AP_SUPPLIERS, AP_SUPPLIER_CONTACTS, and AP_SUPPLIER_SITES_ALL, supporting supplier status, site, and contact validations. Financials configuration is read from FINANCIALS_SYSTEM_PARAMETERS and FINANCIALS_SYSTEM_PARAMS_ALL, and currency validation uses FND_CURRENCIES. Account validation references GL_CODE_COMBINATIONS. Attachments and document references are checked via FND_ATTACHED_DOCUMENTS and FND_DOCUMENTS_TL, while FND_CONCURRENT_REQUESTS supports concurrent-process context. Messages and diagnostics are logged through FND_NEW_MESSAGES and FND_LOG_MESSAGES, and user information is validated against FND_USER. HR_LOCATIONS_ALL supplies location validation for ship-to and deliver-to data.

Usage Notes

PO_DOCUMENT_CHECKS_PVT is a private (PVT) package and is not intended for direct invocation by end users or external integrations; it is called internally by the Purchasing forms, the approval workflow, and related server-side packages. Documented callers include PO_DOCUMENT_ACTION_CLOSE, PO_DOCUMENT_CHECKS_GRP, PO_ENCUMBRANCE_PREPROCESSING, PO_RELGEN_PKG, PO_REQCHANGEREQUESTWF_PVT, and PO_SIGNATURE_PVT, with additional internal references from the package itself. In practice, the package is exercised during the Submit for Approval action in the Purchasing and iProcurement forms, during release generation, and during encumbrance preprocessing. Custom code requiring equivalent validation behavior should generally route through the public wrapper packages (such as PO_DOCUMENT_CHECKS_GRP) rather than calling this package directly, because its signature and internal contracts are not part of Oracle's public API commitment and may change between 12.1.1 and 12.2.2.