Search Results area_pct_and_area




Overview

PN_SPACE_ALLOCATIONS_PKG is an Oracle EBS Applications (APPS) PL/SQL package body that supports the Property Manager module of Oracle Enterprise Asset Management / Real Estate (ETRM). Its primary business function is to maintain the allocation of physical floor space within locations to employees, cost centers, and organizational units. Each record in the space allocation entity captures how much of a location's total area is assigned to a given occupant, expressed both as a percentage of the total area (ALLOCATED_AREA_PCT) and as an absolute measure (ALLOCATED_AREA). The package provides the programmatic interface used by the Space Allocations form and by capacity reporting logic, encapsulating the insert, update, delete, and query operations required to keep allocation data consistent with the parent location record. The header comment identifies the package as maintained under the PNTSPALB.pls file, and documents that a Bug 4284035 fix replaced references to the base PN_SPACE_ALLOCATIONS table with the _ALL table to comply with Oracle's multi-organization architecture (MOAC) standards. The package is classified as an OTHER API, meaning it is an internal toolkit rather than a fully public, externally supported interface.

Key Procedures and Functions

The documented procedures and functions of this package fall into three functional groupings. The first group handles row-level DML:

  • INSERT_ROW — Inserts a new space allocation. As shown in the source excerpt, it obtains a new key from PN_SPACE_ALLOCATIONS_S (the sequence) and writes the occupant, location, percentage, absolute area, descriptive flexfield attributes, and audit columns into PN_SPACE_ALLOCATIONS_ALL.
  • LOCK_ROW — Acquires a row-level lock against an existing allocation, used to serialize concurrent updates from the form.
  • UPDATE_ROW — Applies changes to an existing allocation record.
  • DELETE_ROW — Removes an allocation record.

The second group supports assignment validation and cleanup:

  • ASSIGNED — Determines whether an employee or cost center already has an active allocation against a location, enabling the form to prevent duplicate assignments.
  • DELETE_OTHER_ASSIGNMENTS — Removes competing allocations, typically invoked when reassigning an area so that only one occupant retains the space.

The third group provides summary reporting:

  • VACANT_AREA_SUMMARY — Aggregates unallocated (vacant) area across locations.
  • UTILIZED_CAPACITY_SUMMARY — Aggregates the occupied or utilized capacity of locations.
  • AREA_PCT_AND_AREA — The procedure matching the user's search term. It reconciles and returns the paired percentage and absolute area values for an allocation, ensuring the two measures remain internally consistent when one is derived from the other.

Tables Accessed

The package references three objects through APPS synonyms. PN_SPACE_ALLOCATIONS_ALL is the primary transactional table and the target of all inserts, updates, deletes, and reads; its _ALL suffix confirms it is a multi-organization table that stores rows for every operating unit. PN_SPACE_ALLOCATIONS_S is the sequence used to generate the surrogate primary key SPACE_ALLOCATION_ID; note that the sequence, not the table, is queried for the next value. DUAL is used solely as the single-row source for that sequence selection.

Usage Notes

The package is typically invoked from the Space Allocations maintenance form in the Property Manager responsibility, where the form's block-level DML triggers delegate to INSERT_ROW, UPDATE_ROW, LOCK_ROW, and DELETE_ROW. The assignment procedures are called during occupant validation and reassignment workflows. The summary procedures are called from capacity and utilization inquiry screens or concurrent reporting programs. Because the package is classified as OTHER rather than a public API, customizations should prefer standard form and concurrent program entry points; direct calls from custom PL/SQL are technically possible but carry upgrade risk, as the package is referenced by one other package within the ETRM schema.