Search Results check_valid_inv_item
Overview
APPS.PA_EVENT_UTILS is a public PL/SQL utility package body within the Oracle E-Business Suite Projects (PA) module. It serves as a validation and helper layer that sits alongside PA_EVENT_PUB and PA_EVENT_CORE in the Project Billing and project event processing architecture. Its principal business function is to provide standardized, reusable validation routines for the key identifiers and attributes required when processing project events, such as project numbers, task numbers, event types, organizations, currencies, rate types, amounts, and agreement references. The package is classified as an OTHER API and is documented in ETRM for both release 12.1.1 and 12.2.2. The source header ($Header: PAEVAPUB.pls 120.3 2007/02/07) indicates it is a long-standing component that has been carried forward across release boundaries with minimal changes.
The package follows a delegation pattern: nearly every public function is a thin wrapper that calls an equivalent subprogram in PA_EVENT_CORE, catches exceptions, enriches diagnostic information by appending the package and procedure name to PA_EVENT_PUB, and re-raises a standardized public exception via PA_EVENT_PVT. This design centralizes business validation logic in PA_EVENT_CORE while exposing a stable, defensive API surface for external callers.
Key Procedures and Functions
The documented interface contains eighteen functions grouped by validation domain:
- Identifier validation: CHECK_VALID_PROJECT returns a project_id from a project_number; CHECK_VALID_TASK returns a task_id from a project_id and task_number; CHECK_VALID_EVENT_NUM validates an event number; CHECK_VALID_EVENT_TYPE validates an event type; CHECK_VALID_EVENT_ORG and CHECK_VALID_INV_ORG validate operating and inventory organizations respectively.
- Reference and agreement validation: CHECK_VALID_AGREEMENT validates an agreement reference; CHECK_VALID_INV_ITEM validates an inventory item.
- Currency and rate validation: CHECK_VALID_CURR validates a currency code; CHECK_VALID_FUND_RATE_TYPE, CHECK_VALID_PROJ_RATE_TYPE, and CHECK_VALID_PFC_RATE_TYPE validate funding, project, and project funding currency rate types.
- Amount and state validation: CHECK_VALID_REV_AMT and CHECK_VALID_BILL_AMT validate revenue and billing amounts; CHECK_WRITE_OFF_AMT validates write-off amounts; CHECK_FUNDING validates funding existence; CHECK_EVENT_PROCESSED determines whether an event has already been processed; CHECK_VALID_EVENT_DATE validates an event date.
The CHECK_VALID_TASK function is the object most relevant to the user's search. It accepts a project_id and task_number, returns a task_id through a NOCOPY OUT parameter, and returns a VARCHAR2 status. It delegates to PA_EVENT_CORE.CHECK_VALID_TASK and nulls the task_id on any exception before raising pa_event_pvt.pub_excp. The NOCOPY hint (referenced to bug 4440895) reflects a deliberate performance optimization for large event volumes.
Tables Accessed
The ETRM metadata does not enumerate specific base tables for this package. As a body of delegating wrappers, PA_EVENT_UTILS does not access application tables directly; data retrieval and persistence are performed by PA_EVENT_CORE, which queries the relevant PA and AR/GL validation views and tables (such as project, task, event, and organization reference data) using APPS synonyms. Any table access attributed to this package occurs indirectly through those delegated calls.
Usage Notes
PA_EVENT_UTILS is referenced by three other PL/SQL packages within the E-Business Suite, confirming its role as a shared internal service. It is typically invoked from Project Billing event processing flows, Oracle Forms for project and task entry where event data is validated, concurrent programs that import or generate billable events, and custom extensions that must apply the same validation rules as standard Oracle code. Because the package raises pa_event_pvt.pub_excp on failure and populates PA_EVENT_PUB.PACKAGE_NAME and PROCEDURE_NAME, callers should wrap invocations in exception handlers that inspect this diagnostic chain. Custom code should call these functions rather than querying validation tables directly, ensuring consistency with Oracle's own event validation semantics across 12.1.1 and 12.2.2.
-
PACKAGE BODY: APPS.PA_EVENT_UTILS
12.1.1
-
PACKAGE BODY: APPS.PA_EVENT_UTILS
12.2.2
-
PACKAGE: APPS.PA_EVENT_UTILS
12.1.1
-
PACKAGE: APPS.PA_EVENT_CORE
12.2.2
-
PACKAGE: APPS.PA_EVENT_CORE
12.1.1
-
PACKAGE: APPS.PA_EVENT_UTILS
12.2.2
-
PACKAGE BODY: APPS.PA_EVENT_CORE
12.1.1
-
PACKAGE BODY: APPS.PA_EVENT_CORE
12.2.2
-
APPS.PA_EVENT_UTILS dependencies on PA_EVENT_PUB
12.1.1
-
APPS.PA_EVENT_UTILS dependencies on PA_EVENT_PUB
12.2.2
-
APPS.PA_EVENT_UTILS dependencies on PA_EVENT_UTILS
12.1.1
-
APPS.PA_EVENT_UTILS dependencies on PA_EVENT_UTILS
12.2.2
-
APPS.PA_EVENT_UTILS dependencies on PA_EVENT_CORE
12.2.2
-
APPS.PA_EVENT_UTILS dependencies on PA_EVENT_CORE
12.1.1
-
APPS.PA_EVENT_CORE dependencies on PA_EVENT_PUB
12.2.2
-
APPS.PA_EVENT_CORE dependencies on PA_EVENT_PUB
12.1.1