Search Results g_class_cat_code
Overview
APPS.PA_PROJECT_PVT is the private implementation package body for the Oracle Projects project and task maintenance API layer in Oracle E-Business Suite 12.1.1 and 12.2.2. Its public counterpart, PA_PROJECT_PUB, exposes the callable interfaces, while PA_PROJECT_PVT performs the substantive validation, defaulting, identifier resolution, and DML required to create or modify projects, tasks, key members, and class categories. The package encapsulates the business rules that govern project structure, task hierarchies, role-based security assignments, and billing-related reference data before records are committed to the Projects schema.
The package declares package-level constants used to standardize error handling and object typing, including G_PKG_NAME, G_PROJECT_CODE, G_TASK_CODE, G_KEY_MEMBER_CODE, G_CLASS_CAT_CODE, and G_USER_ID, which is initialized from FND_GLOBAL.USER_ID. Cached state variables for indirect rate schedule identifiers and schedule types (g_rev_ind_rate_sch_id, g_rev_rate_sch_type, g_inv_ind_rate_sch_id, g_inv_rate_sch_type) support billing rate resolution across procedure calls. The cursor p_product_code_csr validates a product code against the PM_PRODUCT_CODE lookup type in PA_LOOKUPS.
Key Procedures and Functions
The documented subprograms fall into several functional groups:
- Key members and classifications: ADD_KEY_MEMBERS inserts project or task team members using the overridable view, supporting role-based security introduced in later releases; ADD_CLASS_CATEGORIES and CHECK_CLASS_CODE_VALID manage class category assignments and validate class codes against project classifications.
- Task creation: ADD_TASK_ROUND_ONE and ADD_TASK_ROUND_TWO implement a two-phase task insertion strategy, allowing the package to resolve attributes such as task numbers, dates, and parent references before final persistence.
- Identifier resolution: FETCH_PROJECT_ID and FETCH_TASK_ID return internal identifiers from user-facing references; CONVERT_PM_PROJREF_TO_ID, CONVERT_PM_TASKREF_TO_ID, and CONVERT_PM_TASKREF_TO_ID_ALL translate Oracle Project Management project and task references into the numeric IDs used by the Projects schema.
- Validation routines: CHECK_VALID_MESSAGE, CHECK_VALID_ORG, CHECK_VALID_PROJECT_STATUS, CHECK_VALID_DIST_RULE, CHECK_VALID_EMPLOYEE, and VALIDATE_BILLING_INFO enforce referential and business rule consistency. CHECK_FOR_ONE_MANAGER verifies manager assignment constraints, while CHECK_PARENT_CHILD_TASK_DATES ensures task date ranges remain consistent with parent tasks.
- Maintenance utilities: DELETE_ONE_TASK removes a single task record, and HANDLE_TASK_NUMBER_CHANGE manages renumbering scenarios when task identifiers are reorganized.
Tables Accessed
The package reads and writes several core Projects and shared foundation tables through APPS synonyms. PA_PROJECTS and PA_PROJECT_TYPES supply project master and type definitions. PA_BILLING_ASSIGNMENTS, PA_COMPILED_MULTIPLIERS, PA_IND_COMPILED_SETS, PA_IND_RATE_SCH_REVISIONS, PA_EMP_BILL_RATE_OVERRIDES, PA_JOB_BILL_RATE_OVERRIDES, and PA_JOB_ASSIGNMENT_OVERRIDES support billing rate and multiplier resolution during validation. PA_CLASS_CATEGORIES and PA_CLASS_CODES handle classification data, while PA_IMPLEMENTATIONS confirms installation-level configuration. FND_LOOKUP_VALUES and the related lookups referenced by cursors provide validation lists. HZ_PARTIES and HZ_CUST_ACCT_SITES_ALL supply customer and site information for billing validation.
Usage Notes
PA_PROJECT_PVT is not intended for direct invocation by external consumers. It is called through PA_PROJECT_PUB, and the package is referenced by eighteen other packages within the Projects application, reflecting its role as a shared internal engine. Typical call paths include the Oracle Projects forms for project and task entry, concurrent programs that create or update projects in batch, and interface processing that must resolve external project or task references to internal IDs. Custom code should invoke the public package rather than PA_PROJECT_PVT, because the private package signature and internal logic are subject to change between patch levels, as evidenced by the revision history recorded in the package header.
-
APPS.PA_PROJECT_PVT dependencies on FND_GLOBAL
12.1.1
-
APPS.PA_PROJECT_PVT dependencies on FND_GLOBAL
12.2.2
-
APPS.PA_PROJECT_PVT dependencies on PA_PROJECT_PVT
12.2.2
-
APPS.PA_PROJECT_PVT dependencies on PA_PROJECT_PVT
12.1.1
-
PACKAGE BODY: APPS.PA_PROJECT_PVT
12.1.1
-
PACKAGE BODY: APPS.PA_PROJECT_PVT
12.2.2