Search Results delete_project_type




Overview

APPS.PA_PROJECT_CORE is a PL/SQL package in Oracle Projects (PA) within Oracle E-Business Suite 12.1.1 and 12.2.2. It is declared with AUTHID CURRENT_USER, meaning that its SQL statements execute under the privileges of the invoking session rather than the package owner, which is significant given that the module manipulates sensitive project, task, billing, and customer data on behalf of both concurrent programs and external systems. The package groups together low-level maintenance APIs for Project Foundation entities: projects, tasks, project types, class categories, and class codes. Its documented API classification in ETRM is "OTHER", reflecting the fact that it is an internal building block rather than a self-contained public interface like the PA_*_PUB packages. It is referenced by six other packages in the Applications schema, indicating that it sits beneath higher-level project maintenance logic. The source header shows a long maintenance history dating to 1995, with later patches applied through the 12.1 code line.

Key Procedures and Functions

The package exposes six documented procedures. Note that no parameter lists are invented below; only purposes derived from the ETRM metadata are described.

  • DELETE_PROJECT — Deletes a project and all of its detail information from the PA system. The API can be invoked from the Enter Project form or from external systems. The procedure enforces a strict precondition set: a project cannot be deleted if it has any events, expenditure items, purchase order lines, requisition lines, supplier (AP) invoices, funding, or baseline budget. It supports a validation mode and returns error code, stage, and stack through OUT NOCOPY parameters, and optionally commits.
  • IMPORT_TASK — This is the procedure associated with the user search term "import_task". It imports tasks into the PA system, and is intended to be called by the task import system as well as by other external systems. The API accepts project and task identification, task name and number, service type code, organization, description, start and end dates, parent task, PM project and PM task references, and a manager. It returns the newly created task identifier through an OUT NOCOPY parameter, allowing callers to chain subsequent operations. Additional task-related attributes can be entered through the Enter Project form or by calling table handlers directly.
  • DELETE_TASK — Removes a task from the project structure. As with DELETE_PROJECT, the procedure is used to maintain the integrity of task hierarchies and is typically constrained by existing transactional references.
  • DELETE_PROJECT_TYPE — Deletes a project type definition used to classify projects in Project Foundation.
  • DELETE_CLASS_CATEGORY — Deletes a class category, which groups class codes for reporting and validation.
  • DELETE_CLASS_CODE — Deletes a class code belonging to a class category.

Tables Accessed

The ETRM metadata lists APPS synonyms referenced by the package, primarily related to billing, costing, and customer data: HZ_CUST_ACCT_SITES_ALL and HZ_CUST_SITE_USES (Trading Community Architecture customer sites and their uses), PA_BILLING_ASSIGNMENTS, PA_CLASS_CATEGORIES, PA_CLASS_CODES, PA_COMPILED_MULTIPLIERS, PA_COST_DIST_OVERRIDES, PA_CREDIT_RECEIVERS, PA_EMP_BILL_RATE_OVERRIDES, PA_IND_COMPILED_SETS, PA_IND_COST_MULTIPLIERS, PA_IND_RATE_SCHEDULES_ALL_BG, PA_IND_RATE_SCH_REVISIONS, PA_JOB_ASSIGNMENT_OVERRIDES, and PA_JOB_BILL_RATE_OVERRIDES. These constitute the foundation-level configuration and defaulting data that underpins project setup, billing assignment, indirect rate computations, cost distribution overrides, and credit receiving. The DELETE_PROJECT procedure in particular validates and cleans up against many of these tables to ensure that no dependent records are orphaned.

Usage Notes

PA_PROJECT_CORE is normally invoked indirectly. The Enter Project form and the Project Foundation task import flow call these procedures rather than updating the base tables directly, which preserves validation and auditing behavior. Concurrent programs that import or purge project structures may also call IMPORT_TASK and the DELETE_* procedures. Custom code should call the package only when the higher-level PA public APIs do not provide the needed operation, because the package performs limited business validation and expects the caller to satisfy preconditions such as the absence of expenditures, events, or funding before DELETE_PROJECT. Because the package runs with AUTHID CURRENT_USER, custom schemas invoking it must hold the necessary object privileges and synonyms. Error handling should always inspect the returned error code, stage, and stack outputs, and callers that require transactional control must decide explicitly whether to request a commit.