Search Results pa_transaction_controls




Overview

The PA_TRANSACTION_CONTROLS table is a core transactional control table within the Oracle E-Business Suite Projects module (PA). It serves as the system of record for defining and enforcing the chargeable and billable status of project-related expenditures. Its primary role is to govern the financial treatment of costs incurred on projects and tasks, determining whether labor, non-labor, or other expenses can be charged to a project and subsequently billed to a customer. This table is essential for accurate project costing, revenue recognition, and invoicing processes, acting as a critical rule engine for transactional entry and validation.

Key Information Stored

The table stores control rules defined at a granular level, using a composite primary key to ensure uniqueness. The key columns define the specific context for each control rule: PROJECT_ID and TASK_ID identify the project and task structure. EXPENDITURE_CATEGORY, EXPENDITURE_TYPE, and NON_LABOR_RESOURCE classify the nature of the cost (e.g., labor, expense item, equipment). PERSON_ID allows for controls specific to an individual. START_DATE_ACTIVE enables rule versioning over time. While the metadata excerpt does not list the attribute columns, they typically include flags such as CHARGEABLE_FLAG and BILLABLE_FLAG, which store the core control status ('Y'/'N') for the defined combination. The existence of a record itself acts as a control, with its absence potentially preventing transaction entry.

Common Use Cases and Queries

This table is central to validating expenditure items during data entry in forms like Expenditure Batches. A common operational query checks the chargeable status for a given transaction context. For reporting and analysis, users often query the table to audit or list control rules for a project. Administrators may run scripts to identify missing controls or to mass-update rules based on project templates.

  • Validation Query: SELECT chargeable_flag, billable_flag FROM pa_transaction_controls WHERE project_id = 1000 AND task_id = 10 AND expenditure_type = 'REGULAR' AND sysdate BETWEEN start_date_active AND nvl(end_date_active, sysdate);
  • Control Rule Audit: SELECT project_id, task_id, expenditure_category, chargeable_flag FROM pa_transaction_controls WHERE project_id IN (SELECT project_id FROM pa_projects_all WHERE segment1 = 'PROJ-001');

Related Objects

As indicated by its foreign key constraints, PA_TRANSACTION_CONTROLS has direct dependencies on several foundational Projects tables. PA_PROJECTS_ALL and PA_TASKS provide the project and task hierarchy. PA_EXPENDITURE_CATEGORIES and PA_EXPENDITURE_TYPES define the valid expenditure classifications. PA_NON_LABOR_RESOURCES supplies the list of non-labor items. This table is heavily referenced by the Projects application logic, particularly in validation APIs and the transaction import process (PA_EXPENDITURE_UTILS). Key reporting views, such as PA_PROJECT_ACCUM_HEADERS and other project summary views, may indirectly rely on the rules stored here to determine accumulated cost and revenue amounts.