Search Results pn_space_allocations_pkg




Overview

PN_SPACE_ALLOCATIONS_PKG is a PL/SQL package owned by the APPS schema in Oracle E-Business Suite 12.1.1 and 12.2.2. It supports the Property Manager (PN) product family, which is the module responsible for managing real estate, facilities, and space utilization data. The package encapsulates the business logic that governs how physical floor space within a location is allocated to employees, cost centers, or other occupants. Its central responsibility is maintaining the PN_SPACE_ALLOCATIONS entity, the table that stores the percentage of a location's area assigned to a given employee or cost center, along with descriptive flexfield attribute columns.

The package is classified as an API of type "OTHER" in the ETRM metadata. It is a low-level data maintenance and reporting utility rather than a public, versioned integration API. Application forms and other internal components invoke it to keep the space allocation records consistent with the business rules of the Property Manager module.

Key Procedures and Functions

The package exposes nine documented procedures and functions:

  • INSERT_ROW — Creates a new space allocation record. It accepts the full set of base columns (location, employee, cost center, allocated area percentage, and allocated area) plus the 15 descriptive flexfield attribute columns and the standard WHO audit columns. It returns the generated primary key and ROWID to the caller.
  • LOCK_ROW — Acquires a pessimistic lock on an existing allocation record by re-querying it against the supplied column values. This supports optimistic concurrency control in the associated maintenance form so that two users cannot silently overwrite each other's changes.
  • UPDATE_ROW — Modifies an existing allocation record's location, employee, cost center, allocation percentages and areas, and flexfield attributes.
  • DELETE_ROW — Removes a space allocation record.
  • ASSIGNED — Determines whether a given space or resource has already been assigned, supporting validation logic before new allocations are committed.
  • DELETE_OTHER_ASSIGNMENTS — Clears competing assignments associated with the same space, typically to enforce a single-occupant or exclusive-occupancy rule.
  • VACANT_AREA_SUMMARY — Returns the aggregate unallocated area for a location, allowing occupancy planners to see remaining available space.
  • UTILIZED_CAPACITY_SUMMARY — Returns the aggregate utilized capacity for a location, the counterpart measure to vacant area. This is the procedure most relevant to users searching for capacity reporting.
  • AREA_PCT_AND_AREA — Derives or validates the relationship between the allocated area percentage and the absolute allocated area value for a location.

Tables Accessed

The package operates against three documented objects accessed through APPS synonyms:

  • PN_SPACE_ALLOCATIONS_ALL — The base table holding all space allocation rows; the INSERT_ROW, LOCK_ROW, UPDATE_ROW, and DELETE_ROW procedures read and write here.
  • PN_SPACE_ALLOCATIONS_S — The sequence-backed surrogate key table used to generate the SPACE_ALLOCATION_ID primary key during inserts.
  • DUAL — Used for single-row calculations and validation checks within the summary and percentage procedures.

Usage Notes

PN_SPACE_ALLOCATIONS_PKG is invoked primarily by the Property Manager space allocation maintenance forms, which call INSERT_ROW, LOCK_ROW, UPDATE_ROW, and DELETE_ROW as the user commits or navigates records. The summary procedures, including UTILIZED_CAPACITY_SUMMARY and VACANT_AREA_SUMMARY, are called when displaying capacity and occupancy totals for a location. One other package references this package as a dependency. In 12.1.1 and 12.2.2 the behavior is equivalent, though on 12.2.2 the editioning and online patching architecture requires that customizations avoid calling these procedures outside the supported forms context or without respecting the edition of the APPS schema. Custom code should treat the package as an internal implementation detail of the Property Manager module and, where available, prefer supported public APIs.