Search Results allow_status_change




Overview

PA_PROJECT_STUS_UTILS is an Oracle Projects utility package owned by APPS and classified under ETRM as OTHER. It centralizes the business rules that govern project status transitions within Oracle EBS Projects. Rather than embedding status logic in individual forms, concurrent programs, or interface routines, the application funnels status-related validation and maintenance through this single package, ensuring consistent behavior across all callers.

The package addresses two distinct concerns. The first is status interrogation: determining whether a project or a project status code represents a closed, purge-bound, or purged condition. The second is status maintenance: validating and persisting changes to the allowed status transition matrix, including next-status sequences stored in PA_NEXT_ALLOW_STATUSES. A single package therefore serves both read-only validation from reporting and inquiry screens and write activity from the project status maintenance form.

Key Procedures and Functions

The package exposes sixteen documented procedures and functions. The interrogation functions are:

Maintenance and validation routines include:

Tables Accessed

All table access occurs through APPS synonyms. PA_PROJECTS_ALL supplies the authoritative project record, including its current status code, and is read by IS_PROJECT_CLOSED and the transition handler. PA_PROJECT_STATUSES holds the status definitions and their system status mapping, underpinning every IS_*_CLOSED variant. PA_NEXT_ALLOW_STATUSES stores the allowed next-status matrix and is the table written by INSERT_INTO_NEXT_STATUS and DELETE_FROM_NEXT_STATUS. PA_PROJECT_TYPES and PA_PROJECT_TYPES_ALL provide project type context used when validating whether a status applies to a given type. PA_PROJ_ELEMENTS and DUAL support auxiliary lookups, while PLITBLM is the standard PL/SQL index-by table used for bulk operations.

Usage Notes

PA_PROJECT_STUS_UTILS is referenced by approximately twenty-nine other packages, making it a foundational dependency within the Projects suite. Oracle Projects forms call the validation functions before committing status changes, and the project status maintenance form invokes the delete/insert next-status routines when users edit transition rules. Concurrent programs and purge processes rely on the IS_*_CLOSED and IS_PROJECT_IN_PURGE_STATUS functions to exclude closed or purge-bound projects from processing. Custom extensions that manipulate project status must call HANDLE_PROJECT_STATUS_CHANGE rather than updating PA_PROJECTS_ALL directly, so that dependent logic and Workflow events are triggered consistently. Because the package is declared AUTHID CURRENT_USER, callers execute with their own privileges and must be granted appropriate access to the underlying PA tables.