Search Results is_moac_enabled




Overview

PN_MO_CACHE_UTILS is a utility package body owned by the APPS schema in Oracle E-Business Suite 12.1.1 and 12.2.2. It belongs to the Process Manufacturing (PN) product family and supports the Multi-Org Access Control (MOAC) infrastructure used throughout EBS. The package provides a centralized caching and access layer that resolves the correct operating unit, legal entity, set of books, and organization context for the session performing Process Manufacturing transactions.

In a multi-org environment, a single user session may be authorized to access many operating units, and each transaction must be validated against the appropriate organization. Rather than repeatedly querying profile options, legal entities, and organization definitions, PN_MO_CACHE_UTILS caches these resolved values and exposes them through small, consistently named accessors. This reduces round trips to core tables and guarantees that every downstream process-manufacturing call sees the same org context. The package is classified as OTHER in the ETRM catalog and is marked VALID.

Key Procedures and Functions

The package exposes ten documented procedures and functions, each addressing a specific part of org-context resolution:

  • RETRIEVE_GLOBALS — Loads the cached global variables for the package, establishing the working context for subsequent calls in the session.
  • GET_PROFILE_VALUE — Returns the value of a profile option, used to determine org-related and MOAC-related settings.
  • CHECK_ACCESS — Validates whether the current user has access to the requested organization or operating unit.
  • CHECK_VALID_ORG — Confirms that a supplied organization identifier is valid and usable in the current context.
  • GET_MULTI_ORG_FLAG — Indicates whether the installation is running in a multi-org configuration.
  • IS_MOAC_ENABLED — Returns a boolean indicating whether Multi-Org Access Control is enabled.
  • IS_MOAC_ENABLED_CHAR — Character-form equivalent of the MOAC-enabled check, useful in SQL or string contexts.
  • MO_GLOBAL_INIT — Initializes session-level MOAC globals, typically calling into MO_GLOBAL so that org security policies are applied.
  • FND_REQ_SET_ORG_ID — Sets the organization ID for the current concurrent request context.
  • GET_CURRENT_ORG_ID — Returns the organization ID currently in effect for the session or request.

Tables Accessed

Through APPS synonyms, the package reads from a small set of reference and setup tables that define the org context:

  • FND_PRODUCT_GROUPS — Supplies the product group and set-of-books context used when resolving org and ledger information.
  • HR_ORGANIZATION_INFORMATION — Provides classification and attribute data about organizations, including legal entity and operating unit designations.
  • PN_SYSTEM_SETUP_OPTIONS — Holds Process Manufacturing setup options that influence whether MOAC-related behavior is enabled.
  • FND_CURRENCIES — Provides currency definitions where org context requires currency resolution.

Additionally, the package depends on GL_SETS_OF_BOOKS, HR_LEGAL_ENTITIES, MO_GLOBAL, MO_UTILS, FND_PROFILE, FND_REQUEST, and APP_EXCEPTION, using these standard APIs for ledger, legal-entity, profile, request, and error handling.

Usage Notes

PN_MO_CACHE_UTILS is not referenced by any database object in the ETRM catalog, but it is invoked by 34 other packages, making it a foundational utility rather than a top-level entry point. It is typically called from Process Manufacturing forms, concurrent programs, and custom extensions that need to resolve the current operating unit or organization before performing a transaction. Standard practice is to invoke MO_GLOBAL_INIT early in session initialization, then use GET_CURRENT_ORG_ID and CHECK_ACCESS to validate the context. Because values are cached, callers should re-initialize when switching operating units within the same session. Direct modification of the package body is not supported; any customization should be delivered as a wrapped or cloned package to preserve upgrade safety.