Search Results is_project_status_closed
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:
- IS_PROJECT_CLOSED — Returns 'Y' or 'N' indicating whether a given project is closed, delegating to the status-level check.
- IS_PROJECT_STATUS_CLOSED — Returns 'Y' when the supplied status code maps to a system status of CLOSED, PENDING_PURGE, PARTIALLY_PURGED, or PURGED.
- IS_ARPR_PROJECT_STATUS_CLOSED — A narrower variant returning 'Y' only for CLOSED or PARTIALLY_PURGED, reflecting Accounts Receivable and Project Revaluation requirements.
- IS_PROJECT_IN_PURGE_STATUS — Returns 'Y' for statuses with a system status of PENDING_PURGE, PARTIALLY_PURGED, or PURGED.
Maintenance and validation routines include:
- HANDLE_PROJECT_STATUS_CHANGE — The principal entry point invoked when a project moves from one status to another; it coordinates downstream effects of the transition.
- ALLOW_STATUS_DELETION, ALLOW_STATUS_CHANGE, CHECK_STATUS_NAME_OR_CODE, CHECK_DELETE_PHASE_OK, IS_STATUS_USED_IN_PROJ_TYPE — Guard routines that validate whether a status may be deleted or changed and whether a name or code is already in use.
- DELETE_FROM_NEXT_STATUS and INSERT_INTO_NEXT_STATUS — Maintain the allowable next-status relationships, the objects targeted by searches for delete_from_next_status.
- IS_STARTING_STATUS, GET_DEFAULT_STARTING_STATUS, CHECK_WF_ENABLED, GET_WF_SUCCESS_FAILURE_STATUS — Support identification of starting statuses and Workflow-enabled status behavior.
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.
-
PACKAGE: APPS.PA_PROJECT_STUS_UTILS
12.1.1
-
PACKAGE: APPS.PA_PROJECT_STUS_UTILS
12.2.2
-
PACKAGE BODY: APPS.PA_PROJECT_STUS_UTILS
12.1.1
-
PACKAGE BODY: APPS.PA_PROJECT_STUS_UTILS
12.2.2
-
PACKAGE BODY: APPS.PA_FP_GEN_AMT_WRP_PKG
12.1.1
-
PACKAGE BODY: APPS.PA_FP_GEN_AMT_WRP_PKG
12.2.2
-
APPS.PA_PROJECT_STUS_UTILS dependencies on PA_PROJECTS_ALL
12.1.1
-
APPS.PA_PROJECT_STUS_UTILS dependencies on PA_PROJECTS_ALL
12.2.2
-
APPS.PA_PROJECT_STUS_UTILS dependencies on PA_UTILS2
12.1.1
-
APPS.PA_FP_GEN_AMT_WRP_PKG dependencies on PA_PROJECTS_ALL
12.2.2
-
APPS.PA_PROJECT_STUS_UTILS dependencies on PA_UTILS2
12.2.2
-
APPS.PA_FP_GEN_AMT_WRP_PKG dependencies on PA_PROJECTS_ALL
12.1.1
-
APPS.PA_FP_GEN_AMT_WRP_PKG dependencies on PA_PROJECTS
12.1.1
-
APPS.PA_FP_GEN_AMT_WRP_PKG dependencies on PA_PROJECTS
12.2.2
-
APPS.PA_PROJECT_STUS_UTILS dependencies on PA_PROJECT_STATUSES
12.2.2
-
APPS.PA_PROJECT_STUS_UTILS dependencies on PA_PROJECT_STATUSES
12.1.1