Search Results pa_sch_except_pkg




Overview

PA_SCH_EXCEPT_PKG is an Oracle Applications (APPS) PL/SQL package body that encapsulates the database maintenance logic for Project Accounting schedule exceptions. Schedule exceptions capture deviations from the expected or planned schedule of project and task dates, allowing organizations to record and track performance variances against the baseline schedule. The package follows the standard Oracle EBS multi-layer architecture, depending on the FND_API, FND_GLOBAL, and FND_MSG_PUB packages for API error handling, message stacking, and session context. It also references PA_PLSQL_DATATYPES and PA_SCHEDULE_GLOB, indicating use of the Project Accounting standard datatype definitions and schedule-related global constants. Because the object resides in the APPS schema and is documented as VALID, it may be safely called from concurrent programs, forms, and custom extension code. The package body implements the private supporting logic behind the PA_SCH_EXCEPT_PKG specification, while no other database object is documented as referencing this package body, meaning it is invoked directly rather than through a layered dependency chain.

Key Procedures and Functions

The documented interface exposes three core data manipulation routines, with the remaining five procedures and functions supporting internal processing. Each public routine operates on the schedule exception records identified by the calling context.

  • INSERT_ROWS — Creates new schedule exception records. This routine is used when a user or process identifies a new schedule variance that must be persisted, inserting the corresponding rows into the schedule exceptions tables while populating standard WHO columns and handling message generation through FND_MSG_PUB.
  • UPDATE_ROWS — Modifies existing schedule exception records. It applies changes to the schedule exception details, such as revised exception dates, reasons, or associated project and task references, while invoking the standard API error and message framework for validation feedback.
  • DELETE_ROWS — Removes schedule exception records. This routine handles the logical or physical removal of exception rows, ensuring referential integrity with the underlying schedule exception tables is preserved.

The five additional procedures/functions are not documented by name in the ETRM extract and function as private helpers supporting these three operations.

Tables Accessed

The package reads and writes the following tables through APPS synonyms:

  • PA_SCHEDULE_EXCEPTIONS — The primary table storing schedule exception records, including the exception dates, associated project/task identifiers, and descriptive attributes managed by INSERT_ROWS, UPDATE_ROWS, and DELETE_ROWS.
  • PA_SCHEDULE_EXCEPTIONS_S — The companion sequence/interface table used to generate unique identifiers for new exception rows during insertion.
  • DUAL — Used for single-row queries and PL/SQL expression evaluation within the package logic.
  • PLITBLM — The standard PL/SQL table type used in EBS for passing collections of row identifiers or attributes between the package and its callers, enabling bulk processing.

Usage Notes

PA_SCH_EXCEPT_PKG is typically invoked when schedule exception data must be created, changed, or removed outside of the standard form-based maintenance path. Common entry points include Project Accounting schedule exception maintenance forms, concurrent programs that import or reconcile schedule data, and custom PL/SQL extensions that must programmatically manage exception records. Because the package uses FND_API and FND_MSG_PUB, callers should check the returned message stack on failure and honor the standard API error conventions. Developers integrating this package should reference the PA_SCHEDULE_EXCEPTIONS tables directly only for read-only reporting; all DML should be routed through the package's documented routines to ensure consistent WHO column population and message handling. The PLITBLM and DUAL dependencies confirm that the package is designed for set-based bulk operations rather than single-row interactive processing.