Search Results pa_ci_impacts_util




Overview

PA_CI_IMPACTS_UTIL is a utility PL/SQL package in the APPS schema of Oracle E-Business Suite, associated with the Project Contracts (PA) module and specifically with the Change Impact functionality. Within Oracle Projects, change documents and change orders frequently carry "impacts" — structured records that describe how a proposed or approved change affects budgets, funding, control items, or other project attributes. The PA_CI_IMPACTS_UTIL package provides the low-level, reusable logic that other Project Contracts packages call to evaluate, copy, delete, and manage those impact records.

The object is classified in the ETRM repository as a UTIL (utility) API. Utility packages of this type are not intended to be invoked directly by end users or by external integrations; instead they encapsulate shared business rules that support the public APIs and private business logic of the Projects suite. In Oracle EBS 12.1.1 and 12.2.2, PA_CI_IMPACTS_UTIL carries a VALID status in the APPS schema, confirming it is a supported, compiled component of the delivered application.

Key Procedures and Functions

The ETRM metadata documents thirteen procedures and functions within the package. Their purposes, based on their names and their role in change impact processing, are as follows:

  • IS_ANY_IMPACT_IMPLEMENTED — Determines whether any impact associated with a given change context has been implemented, supporting conditional logic in higher-level change workflows.
  • IS_IMPACT_IMPLEMENTED — Tests whether a specific impact record has already been implemented, preventing duplicate processing.
  • IS_IMPACT_EXIST — Checks for the existence of one or more impact records for a given change, used to gate downstream operations.
  • IS_ALL_IMPACT_IMPLEMENTED — Returns whether all impacts in scope have been implemented, typically used to determine whether a change can be closed or finalized.
  • IS_DELETE_IMPACT_OK — Validates whether an impact may be safely deleted, enforcing business rules that prevent removal of implemented impacts.
  • IS_RENDER_TRUE — Controls UI or processing rendering decisions based on impact state, allowing forms and logic to show or hide impact-related content.
  • DELETE_ALL_IMPACTS — Removes all impact records associated with a given context, used when a change document or change order is discarded.
  • COPY_IMPACT — Duplicates impact records from a source change to a target change, supporting change document versioning and copying.
  • GET_EDIT_MODE — Returns the edit mode applicable to an impact, determining whether the user may modify it.
  • GET_UPDATE_IMPACT_MODE — Returns the update mode for an impact, guiding whether updates are permitted given its current state.
  • GET_IMPLEMENT_IMPACT_MODE — Returns the mode governing implementation of an impact, used to drive the implementation process.

These routines cluster logically: existence and state checks (the IS_* functions), record manipulation (COPY_IMPACT, DELETE_ALL_IMPACTS), and mode retrieval (the GET_* functions).

Tables Accessed

Per the documented metadata, the package references the following tables through APPS synonyms:

  • PA_CI_IMPACTS — The primary change impact table, storing individual impact records; central to every operation in the package.
  • PA_CI_IMPACT_TYPE_USAGE — Defines which impact types are used in a given context, supporting existence and applicability checks.
  • PA_CI_TYPES_B — The base table defining change impact types, providing reference data for impact classification.
  • PA_BUDGET_VERSIONS — Referenced where impacts affect budget versions, linking change impacts to project budgeting.
  • PA_CONTROL_ITEMS — Referenced where impacts relate to project control items, tying changes to control structures.
  • DUAL — Used for single-row evaluations typical of PL/SQL utility functions.
  • PLITBLM — The standard Oracle PL/SQL integer table type used internally for array processing.

Usage Notes

PA_CI_IMPACTS_UTIL is a private supporting package. It is referenced by six other packages within APPS: PA_CI_IMPACTS_PVT, PA_CI_SUPPLIER_UTILS, PA_CONTROL_API_PVT, PA_CONTROL_ITEMS_PVT, PA_CONTROL_ITEMS_UTILS, and PA_COPY_CHANGE_DOC_PVT, and it references itself recursively. These callers represent the change impact private API, supplier utility logic, control item APIs, and change document copying routines.

Typical invocation occurs indirectly — through Oracle Projects forms such as the Change Orders and Change Documents windows, through concurrent programs that process or implement changes, and through public PL/SQL APIs in the Project Contracts family. Because it is a UTIL-classified package and not a documented public API, customizations and integrations should call the higher-level public APIs rather than PA_CI_IMPACTS_UTIL directly, ensuring supportability across 12.1.1 and 12.2.2. Direct calls are only appropriate for advanced diagnostic scripts or internal extensions that fully replicate Oracle's calling conventions and locking assumptions.