Search Results pa_class_codes




Overview

The PA_CLASS_CODES table is a core reference table within the Oracle E-Business Suite Projects (PA) module, specifically in releases 12.1.1 and 12.2.2. It serves as the master repository for all implementation-defined classification values used to categorize and segment projects. The table operates in conjunction with the PA_CLASS_CATEGORIES table, which defines the classification categories themselves. The primary role of PA_CLASS_CODES is to provide a validated list of allowable values (codes) for each category, enabling structured and consistent project classification across the application. This classification is fundamental for reporting, security rules, project templates, and defining project attributes.

Key Information Stored

The table's structure is designed to manage a flexible classification hierarchy. Its most critical columns, which together form the primary key (PA_CLASS_CODES_PK), are CLASS_CATEGORY and CLASS_CODE. The CLASS_CATEGORY column stores the name of the classification category (e.g., 'PROJECT TYPE', 'INDUSTRY SECTOR', 'FUNDING SOURCE') and is a foreign key to the PA_CLASS_CATEGORIES table. The CLASS_CODE column stores the specific, user-defined value within that category (e.g., 'CONSTRUCTION', 'TELECOMMUNICATIONS', 'FEDERAL GRANT'). Additional descriptive columns typically include a NAME and DESCRIPTION for the class code, an ENABLED_FLAG to control active status, and START_DATE_ACTIVE and END_DATE_ACTIVE for date-effective control. The table may also contain columns for sequencing (DISPLAY_SEQUENCE) and a user-defined attribute flexfield structure for extensibility.

Common Use Cases and Queries

A primary use case is the setup and maintenance of project classification during implementation, where administrators populate this table with relevant codes for each business-defined category. In reporting, it is frequently joined to project data to analyze portfolios by class. For instance, to list all active projects with their 'PROJECT TYPE' classification, a common SQL pattern would join PA_PROJECTS to PA_PROJECT_CLASSES and then to PA_CLASS_CODES. A typical validation or lookup query would be:

  • SELECT class_code, name FROM pa_class_codes WHERE class_category = 'PROJECT_TYPE' AND enabled_flag = 'Y' AND SYSDATE BETWEEN start_date_active AND NVL(end_date_active, SYSDATE) ORDER BY display_sequence;

This ensures only valid, active codes are presented in list of values (LOV) components when classifying a project.

Related Objects

As indicated by the foreign key metadata, PA_CLASS_CODES has integral relationships with several key objects. It is a child of the PA_CLASS_CATEGORIES table, which defines the valid CLASS_CATEGORY values. The most significant relationship is with the PA_PROJECT_CLASSES table, which is the transactional junction table that assigns specific class codes from PA_CLASS_CODES to individual projects. This table holds the foreign key references on (CLASS_CATEGORY, CLASS_CODE). The classification data is also exposed through various public APIs, such as the PA_PROJECT_PUB package, and is central to the definition of security templates in PA. Key reporting views, like PA_PROJECT_CLASSES_V, often encapsulate joins to this table to present descriptive class code information.