Search Results get_org_attributes




Overview

APPS.PN_MO_GLOBAL_CACHE is a PL/SQL package within the Oracle E-Business Suite Property Manager (PN) application module. Its central role is to maintain an in-memory cache of organizational attribute data used by the Property Manager set of forms and concurrent processing logic. The package is declared with AUTHID CURRENT_USER, meaning its procedures execute under the privileges of the invoking user rather than the package owner, which is a deliberate design choice allowing callers to resolve unqualified object names and synonyms in their own schema context.

The most recent source header visible in the metadata ($Header: PNMOGLCS.pls 115.3 2002/09/24) indicates the package body has been stable since the early 11i era and remained largely unchanged through the 12.1.1 and 12.2.2 releases. In EBS 12.2.2 it continues to be catalogued under the APPS schema with an API classification of OTHER, reflecting that it is an internal utility rather than a formally published public API. The principal business benefit is performance: rather than repeatedly querying organization-level setup attributes from base tables each time a Property Manager transaction or form block is initialized, the package materializes that data once into a cache structure that callers can then read cheaply.

Key Procedures and Functions

ETRM documents two callable program units for this package:

  • POPULATE — A procedure that refreshes the package-level cache. It is the mechanism by which organizational attribute data (and any related Property Manager globals) are loaded into memory from the underlying data source. Callers invoke it when the cache must be (re)initialized, such as at the start of a form session or after relevant setup data has changed.
  • GET_ORG_ATTRIBUTES — A function that returns organizational attributes for a specific operating unit or organization. Its single documented parameter is p_org_id (NUMBER), and its documented return type is pn_mo_cache_utils.GlobalsRecord, a record type defined in the companion utility package PN_MO_CACHE_UTILS. This confirms the design pattern: POPULATE fills the cache, and GET_ORG_ATTRIBUTES retrieves the cached record for the requested organization identifier, avoiding repeated direct lookups against the base tables. The parameter list and return type are taken verbatim from the source declaration and must not be altered or extended when calling the function.

Tables Accessed

ETRM lists PLITBLM as the sole table referenced through APPS synonyms. PLITBLM is an Oracle EBS multi-organization access control table used to define which organizations (operating units, inventory organizations, and similar entities) a responsibility or user may access. Its presence here explains the cache's purpose: the package consolidates organization-level access and attribute information so that Property Manager forms can efficiently determine whether a given p_org_id is valid and what attributes apply to it, without repeatedly scanning the organization access structure.

No insert, update, or delete activity is documented against this table; the package functions as a read-oriented cache utility rather than a transaction processor. Because it is declared AUTHID CURRENT_USER, resolution of the PLITBLM synonym depends on the privileges of the calling session.

Usage Notes

PN_MO_GLOBAL_CACHE is an internal, non-public utility package. ETRM reports that it is referenced by zero other packages, so it is not part of a layered API chain exposed to external consumers. In practice it is invoked from Property Manager form logic and from related PL/SQL routines that need fast, repeated access to organization attributes — typically after a one-time call to POPULATE at session initialization, followed by multiple calls to GET_ORG_ATTRIBUTES for each organization the user navigates or transacts against.

Customizations should treat the package with caution. Applications should call POPULATE before relying on cached values, and callers must be prepared to receive the pn_mo_cache_utils.GlobalsRecord structure exactly as defined in the companion utility package, since the return type creates a compile-time dependency between the two. Direct modification of this package is not recommended; it is an Oracle-owned object, carries no published API classification, and any change risks invalidating dependent Property Manager forms in both 12.1.1 and 12.2.2 environments. Where organization attributes are required, the supported approach is to invoke the documented functions as-is rather than to query PLITBLM directly, preserving the performance benefit the cache was built to provide.