Search Results pa_rbs_utils




Overview

PA_RBS_UTILS is a utility package in the Oracle E-Business Suite Projects (PA) module that supports the Resource Breakdown Structure (RBS) framework. An RBS defines the hierarchical classification of resources — labor, non-labor, and material items — used for project planning, budgeting, and cost collection. The package encapsulates the low-level insert, update, name-resolution, and upgrade logic that higher-level RBS packages rely on, allowing them to manage RBS headers, versions, elements, and assignments without duplicating plumbing code. It is owned by the APPS schema and holds a VALID status in both 12.1.1 and 12.2.2.

The package depends on FND_GLOBAL (for session context such as user and language) and SYS.STANDARD. It is referenced by nine other packages, including PA_PROJECT_CORE, PA_RBS_ASGMT_PVT, PA_RBS_ELEMENTS_PUB, PA_RBS_ELEMENTS_PVT, PA_RBS_HEADER_PVT, PA_RBS_MAPPING, PA_RBS_VERSIONS_PVT, PA_RES_LIST_UPGRADE_PKG, and PJI_PJP_SUM_ROLLUP, which confirms its role as a foundational shared utility rather than a standalone business API.

Key Procedures and Functions

  • GET_MAX_RBS_FROZEN_VERSION — returns the highest frozen (baselined) version number for an RBS, used to determine which version is locked for reporting and comparison.
  • GET_ELEMENT_NAME — resolves the display name of an RBS element from its identifiers, drawing on translated name sources where applicable.
  • INSERT_ELEMENTS — inserts new element rows into the RBS element structures, forming the core of RBS element creation.
  • INSERT_NON_TL_NAMES — inserts name records for elements that do not require translation (non-TL) storage.
  • INSERT_TL_NAMES — inserts translated name records for elements that are language-sensitive.
  • POPULATE_RBS_ELEMENT_NAME — fills the element name column(s) after element insertion, ensuring names are populated consistently.
  • PROCESS_RBS_CHANGES — applies pending changes to the RBS, coordinating inserts, updates, and name maintenance.
  • UPGRADE_LIST_TO_RBS — converts legacy resource lists into the RBS model, supporting the migration path used during upgrades from older resource-list functionality.
  • REFRESH_RESOURCE_NAMES — refreshes cached or stored resource names when the underlying source (for example, an item or organization) changes.
  • GET_CONCATENATED_NAME — builds a concatenated display name from component parts, typically for hierarchical or combined naming.
  • DELETE_PROJ_SPECIFIC_RBS — removes project-specific RBS definitions.
  • ADD_LANGUAGE — adds a new language row for translated RBS name data.

Tables Accessed

The package reads and writes PA_RBS_ELEMENTS, PA_RBS_ELEMENTS_S, and PA_RBS_ELEMENTS_TEMP, which hold the RBS element definitions and overflow work data. It also references source tables through APPS synonyms to resolve and validate resource names: BOM_RESOURCES, MTL_SYSTEM_ITEMS_B and MTL_SYSTEM_ITEMS_TL for inventory items, PA_NON_LABOR_RESOURCES, PA_EXPENDITURE_CATEGORIES, PA_EXPENDITURE_TYPES, PA_EVENT_TYPES, PA_PLAN_RES_DEFAULTS, PA_PROJECT_ROLE_TYPES_TL, HR_ALL_ORGANIZATION_UNITS_TL, FND_LANGUAGES, and FND_LOOKUP_VALUES. These reads support name resolution, translation handling, and validation of the resources being placed into the RBS.

Usage Notes

PA_RBS_UTILS is not intended to be called directly by end users or casual customizations; it is invoked internally by the RBS public and private APIs and by the Resource List upgrade concurrent program (through PA_RES_LIST_UPGRADE_PKG) during migration to the RBS model. Forms that maintain RBS headers, versions, and element assignments reach it indirectly through PA_RBS_HEADER_PVT, PA_RBS_ELEMENTS_PVT, and PA_RBS_ASGMT_PVT. Custom code should call the documented public RBS APIs rather than PA_RBS_UTILS itself, because its interfaces are internal and may change. When troubleshooting RBS name discrepancies, duplicate elements, or upgrade issues, this package is the appropriate point of investigation.