Search Results load_rbs_elements




Overview

PA_RBS_PUB is a public PL/SQL API package in the Oracle E-Business Suite Applications (APPS) schema that supports the Resource Breakdown Structure (RBS) functionality within Oracle Projects. A Resource Breakdown Structure defines a hierarchical classification of resources — people, organizations, roles, and other resource types — against which project planning, budgeting, and costing data can be captured and reported. The package provides the programmatic interface through which RBS definitions, their versions, and their constituent elements can be created, maintained, loaded, and assigned to projects without requiring direct manipulation of the underlying base tables.

Because it is classified as a PUB (public) API, PA_RBS_PUB is intended for consumption by other Oracle Applications modules and by customer extensions. Internally it is built on the Oracle Applications FND_API framework, exposing the standard API conventions of that framework, and it delegates certain interface-handling and validation logic to PA_INTERFACE_UTILS_PUB, as evidenced by the documented dependency graph.

Key Procedures and Functions

The package exposes fifteen documented procedures and functions, which can be grouped by purpose:

  • INIT_RBS_PROCESSING — Initializes the API session and internal processing state before other RBS operations are performed.
  • CREATE_RBS and UPDATE_RBS — Create a new Resource Breakdown Structure and modify an existing one, respectively.
  • EXEC_CREATE_RBS and EXEC_UPDATE_RBS — Execute wrappers that carry out the create and update operations, including the associated validation and error processing.
  • LOAD_RBS_HEADER, LOAD_RBS_VERSION, and LOAD_RBS_ELEMENTS — Load header, version, and element records into the interface/working structures prior to processing.
  • FETCH_RBS_HEADER, FETCH_RBS_VERSION, and FETCH_RBS_ELEMENT — Retrieve header, version, and element information for a given RBS.
  • COPY_RBS_WORKING_VERSION — Duplicates a working version of an RBS, supporting version-based maintenance.
  • FREEZE_RBS_VERSION — Freezes an RBS version, making it unavailable for further modification and suitable for use in planning and budgeting.
  • ASSIGN_RBS_TO_PROJECT — Associates a specific RBS version with a project so that the structure can be used for that project's resource planning.
  • POPULATEERRORSTACK — Populates the standard FND error stack so that messages raised during processing are returned to the calling program.

Tables Accessed

The package operates against the core RBS data model through APPS synonyms. PA_RBS_HEADERS_B and PA_RBS_HEADERS_TL hold the base and translated header definitions of an RBS; PA_RBS_VERSIONS_B and PA_RBS_VERSIONS_TL hold the base and translated version records. PA_RBS_ELEMENTS stores the individual resource elements that make up a structure, while PA_RBS_ELEMENT_MAP maintains the mapping relationships between elements. PA_RBS_NODES_TEMP is used as a temporary staging area during load and hierarchy processing, and PLITBLM is the standard Oracle Applications PL/SQL index-by table used for bulk message and error handling. Collectively, these tables provide the persistence layer that the API procedures read from and write to.

Usage Notes

PA_RBS_PUB is typically invoked from Oracle Projects forms, from concurrent programs that import or maintain resource breakdown structures, and from custom PL/SQL extensions that need to create, version, freeze, or assign an RBS programmatically. Callers should follow the standard FND_API pattern: call INIT_RBS_PROCESSING to initialize the session, invoke the appropriate LOAD, CREATE, UPDATE, or FETCH procedures, check the returned API status, and inspect the error stack populated by POPULATEERRORSTACK when a failure occurs. Because the package is documented as being referenced by no other packages, it should be treated as a top-level public entry point rather than an internal dependency of other RBS logic. Direct DML against the underlying PA_RBS_* tables should be avoided in favor of these documented APIs to preserve versioning, translation, and error-handling integrity.