Search Results pa_rbs_headers_s




Overview

PA_RBS_HEADER_PVT is a private PL/SQL package body in the Oracle E-Business Suite Projects (PA) module that provides the core implementation logic for creating and maintaining Resource Breakdown Structure (RBS) headers. An RBS defines the hierarchical grouping of resources used within Oracle Projects for planning, budgeting, and allocation processing. The package encapsulates the low-level data manipulation required to insert and update RBS header records, manage their versions, and validate their suitability for allocation processing.

The package is classified as PVT (private) in the ETRM metadata, meaning it is not intended for direct invocation by external callers. Instead, it is consumed by the public API layer, principally PA_RBS_HEADER_PUB, and is referenced by two other packages within the Projects schema. The header comment block documents this relationship explicitly, noting that INSERT_HEADER is called from PA_RBS_HEADER_PUB.Insert_Header. This layered design ensures that business validation, message handling, and API conventions are consistently applied before private routines touch the base tables.

Key Procedures and Functions

The package exposes six documented procedures, reflecting its responsibilities across the full RBS header lifecycle:

  • INSERT_HEADER — Creates a new RBS header record. The header comment block confirms it accepts a name, description, effective dates, and a use-for-allocation flag, returning the generated RBS header identifier along with standard API return status, message data, and message count. It derives the identifier from the PA_RBS_HEADERS_S sequence and delegates the actual row insertion to PA_RBS_HEADER_PKG.Insert_Row.
  • INSERT_VERSIONS — Creates version records associated with an RBS header, populating the version base and translation tables that track the RBS definition over time.
  • INSERT_STRUCTURE_ELEMENT — Inserts individual structure elements that make up the RBS hierarchy, writing to the RBS elements tables and their identifiers.
  • UPDATE_HEADER — Modifies attributes of an existing RBS header, such as name, description, or effective dates.
  • UPDATE_VERSIONS — Maintains existing RBS version records, supporting the versioning model that allows an RBS to evolve while retaining historical definitions.
  • VALIDATE_RBS_FOR_ALLOCATIONS — Performs validation checks to determine whether a given RBS is eligible and correctly configured for use in allocation processing.

Tables Accessed

The package reads and writes a focused set of RBS-related tables accessed through APPS synonyms. PA_RBS_HEADERS_S supplies the surrogate key sequence from which new header identifiers are generated, as documented in the INSERT_HEADER cursor definition. The header and translation data are persisted in PA_RBS_HEADERS_B and PA_RBS_HEADERS_TL by the delegated Insert_Row call. Version management draws on PA_RBS_VERSIONS_B, PA_RBS_VERSIONS_S, and PA_RBS_VERSIONS_TL, supporting the base, sequence, and multilingual translation aspects of version records. Structure element data is held in PA_RBS_ELEMENTS, PA_RBS_ELEMENTS_S, and PA_RBS_ELEMENT_IDENTIFIER_S. FND_LANGUAGES is referenced to resolve language-specific translation rows.

Usage Notes

PA_RBS_HEADER_PVT should never be invoked directly from custom code; it is an internal implementation layer behind PA_RBS_HEADER_PUB. Standard practice is to call the public API, which applies the FND_API message stack conventions and delegates to this package. The private routines are therefore reached indirectly through Projects forms, concurrent programs, and any custom extension that legitimately calls the public RBS header API for creating or maintaining resource breakdown structures. Because the package validates inputs, manages effective dating, and generates primary keys from the RBS_HEADERS_S sequence, invoking it directly would bypass supported error handling and could compromise data integrity across the header, version, and element tables.