Search Results get_valid_ou
Overview
PA_MOAC_UTILS is an Oracle EBS Applications (APPS) PL/SQL package body classified under the Projects (PA) module. Its name reflects its role as a utility layer for Multi-Organization Access Control (MOAC) within Oracle Projects. In EBS 12.1.1 and 12.2.2, MOAC enables a single responsibility and a single application session to operate against multiple operating units, replacing the earlier single-organization (SOAC) model driven by FND_CLIENT_INFO. PA_MOAC_UTILS centralizes the logic that Projects code uses to determine the current operating unit, resolve valid operating units for the session, and enforce access restrictions against the organizations defined in Oracle Projects implementation.
The package is internally focused: ETRM notes that it is not referenced by any database object in the dependency graph, but that it is referenced by 37 other packages, indicating it is a shared helper consumed broadly across Projects APIs and concurrent programs rather than a top-level entry point. It depends on foundation utilities including FND_API, FND_MESSAGE, FND_MSG_PUB, MO_GLOBAL, MO_UTILS, and GMS_INSTALL, which confirms it sits on top of the standard MOAC infrastructure and participates in the FND message stack for error reporting. It is a VALID object in the APPS schema.
Key Procedures and Functions
Nine documented program units make up the package:
- NAME — identifies the package/module for diagnostic and message purposes.
- GET_CURRENT_ORG_ID — returns the operating unit (organization_id) currently in effect for the session, typically derived from MO_GLOBAL.
- GET_OU_NAME — resolves the descriptive name of an operating unit from the organization definition.
- GET_OU_COUNT — returns the number of operating units accessible to the current user or session.
- GET_DEFAULT_OU — determines the default operating unit to be applied when no explicit selection exists.
- GET_VALID_OU — validates and returns an operating unit that the caller is permitted to use.
- INITIALIZE — performs package-level setup, caching policy context and initialization state for the session.
- SET_POLICY_CONTEXT — sets the MOAC policy context in the database session, aligning the active operating unit with the Projects policy.
- CHECK_ACCESS — verifies whether the current user or session has access to a given operating unit, returning an access determination rather than raising unconditionally.
Parameter lists are not reproduced here; callers should consult the package specification in the APPS schema.
Tables Accessed
The documented table references are limited and read-oriented:
- HR_ALL_ORGANIZATION_UNITS_TL — the translated organization units table, used to resolve operating unit names and language-specific descriptions for display and validation.
- PA_IMPLEMENTATIONS_ALL — the Oracle Projects implementation table, used to determine which operating units are enabled for Projects and therefore eligible for MOAC scoping.
- DUAL — used for scalar evaluations such as computing counts or testing session state.
No insert, update, or delete activity against these tables is documented; the package behaves as a read-only resolver.
Usage Notes
PA_MOAC_UTILS is invoked implicitly rather than directly by end users. Projects forms, concurrent programs, and the public Projects APIs call it to establish and verify operating unit context before performing transactional work. Custom extensions that query Projects data across organizations should call SET_POLICY_CONTEXT or INITIALIZE early in the session and use CHECK_ACCESS before exposing data, to remain consistent with standard MOAC behavior. Because the package draws on FND_MSG_PUB and FND_MESSAGE, callers should check the FND message stack after invocation. Given its breadth of reuse across 37 packages, changes to its behavior carry wide impact and should be regression-tested against Projects concurrent programs and forms in both 12.1.1 and 12.2.2.
-
PACKAGE BODY: APPS.PA_MOAC_UTILS
12.2.2
-
PACKAGE: APPS.PA_MOAC_UTILS
12.1.1
-
PACKAGE: APPS.PA_MOAC_UTILS
12.2.2
-
PACKAGE BODY: APPS.PA_MOAC_UTILS
12.1.1
-
PACKAGE: APPS.IGC_CC_OPN_UPD_GET_LNK_PUB
12.1.1
-
PACKAGE: APPS.IGC_CC_OPN_UPD_GET_LNK_PUB
12.2.2
-
APPS.PA_MOAC_UTILS dependencies on HR_OPERATING_UNITS
12.1.1
-
APPS.PA_MOAC_UTILS dependencies on HR_OPERATING_UNITS
12.2.2
-
APPS.PA_MOAC_UTILS dependencies on PA_INTERFACE_UTILS_PUB
12.1.1
-
APPS.PA_MOAC_UTILS dependencies on PA_INTERFACE_UTILS_PUB
12.2.2
-
APPS.IGC_CC_OPN_UPD_GET_LNK_PUB dependencies on HR_OPERATING_UNITS
12.1.1
-
APPS.IGC_CC_OPN_UPD_GET_LNK_PUB dependencies on HR_OPERATING_UNITS
12.1.1
-
APPS.IGC_CC_OPN_UPD_GET_LNK_PUB dependencies on HR_OPERATING_UNITS
12.2.2
-
APPS.PA_MOAC_UTILS dependencies on FND_API
12.1.1
-
APPS.IGC_CC_OPN_UPD_GET_LNK_PUB dependencies on MO_GLOBAL
12.1.1
-
APPS.IGC_CC_OPN_UPD_GET_LNK_PUB dependencies on HR_OPERATING_UNITS
12.2.2
-
APPS.PA_MOAC_UTILS dependencies on FND_API
12.2.2
-
APPS.IGC_CC_OPN_UPD_GET_LNK_PUB dependencies on MO_GLOBAL
12.2.2
-
APPS.PA_MOAC_UTILS dependencies on FND_MSG_PUB
12.1.1
-
APPS.PA_MOAC_UTILS dependencies on FND_MSG_PUB
12.2.2
-
APPS.PA_MOAC_UTILS dependencies on HR_OPERATING_UNITS
12.1.1
-
PACKAGE BODY: APPS.IGC_CC_OPN_UPD_GET_LNK_PUB
12.2.2
-
APPS.PA_MOAC_UTILS dependencies on HR_OPERATING_UNITS
12.2.2
-
PACKAGE BODY: APPS.IGC_CC_OPN_UPD_GET_LNK_PUB
12.1.1
-
APPS.PA_MOAC_UTILS dependencies on MO_GLOBAL
12.2.2
-
APPS.PA_MOAC_UTILS dependencies on MO_GLOBAL
12.1.1
-
APPS.IGC_CC_OPN_UPD_GET_LNK_PUB dependencies on FND_MSG_PUB
12.2.2
-
APPS.IGC_CC_OPN_UPD_GET_LNK_PUB dependencies on FND_MSG_PUB
12.1.1