Search Results pa_project_status_controls




Overview

The PA_PROJECT_STATUS_CONTROLS table is a core configuration object within the Oracle E-Business Suite Projects module (PA). It functions as a control matrix that defines the permissible business actions users can perform on a project when it is in a specific status. This table enforces workflow and business rules by governing which actions, such as opening, closing, or placing a project on hold, are allowed for each defined project status. Its role is critical for maintaining data integrity and ensuring that project management processes adhere to configured organizational policies throughout the project lifecycle in both EBS 12.1.1 and 12.2.2.

Key Information Stored

The table stores a unique combination of status and action codes. Its primary key consists of three columns, highlighting its role as a junction table for defining allowed relationships. The key columns are:

  • PROJECT_STATUS_CODE: The current status of a project (e.g., 'APPROVED', 'CLOSED').
  • PROJECT_SYSTEM_STATUS_CODE: The system-level categorization of the project status, which groups statuses into broader lifecycle phases.
  • ACTION_CODE: The specific business operation (e.g., 'CLOSE', 'REOPEN', 'HOLD') that is permitted for the associated status combination.

Each record explicitly permits a single action for a given project status, creating a comprehensive security and control map for project state transitions.

Common Use Cases and Queries

A primary use case is validating user actions within the Projects application interface or via APIs. Before a status change is processed, the application queries this table to verify the requested action is valid for the project's current status. System administrators and functional implementers frequently query this table to audit or configure project workflow rules. Common reporting queries include listing all allowed actions for a specific status or identifying which statuses permit a critical action like project closure.

Sample SQL to retrieve all permitted actions for an 'APPROVED' project status:

SELECT action_code
FROM pa_project_status_controls
WHERE project_status_code = 'APPROVED';

Another typical query joins with the PA_PROJECT_STATUSES table to get descriptive information:

SELECT ps.meaning AS status_name, psc.action_code
FROM pa_project_status_controls psc,
     pa_project_statuses ps
WHERE psc.project_status_code = ps.project_status_code
AND ps.project_system_status_code = 'APPROVED';

Related Objects

This table has direct dependencies with several key Projects module objects, as indicated by its foreign key. The most significant relationship is with the PA_PROJECT_STATUSES table, which contains the master list of valid status codes and their descriptions; the foreign key on PROJECT_STATUS_CODE enforces referential integrity to this master table. The controls defined here are intrinsically linked to the project management forms and underlying business logic in the PA_PROJECTS module. Furthermore, the rules stored in PA_PROJECT_STATUS_CONTROLS are leveraged by the Project Status Change workflow and related APIs, such as those in the PA_PROJECT_PUB package, which govern project updates and status transitions.