Search Results policy_exists
Overview
FND_ACCESS_CONTROL_UTIL is a utility package in the APPS schema that supports Oracle E-Business Suite's row-level security infrastructure. Its central purpose is to manage the creation, detection, and removal of Oracle Virtual Private Database (VPD) policies, known in EBS terminology as Row Level Security (RLS) policies, against database objects. Because these policies are implemented through the DBMS_RLS built-in package, FND_ACCESS_CONTROL_UTIL acts as a controlled wrapper that shields EBS application code and concurrent programs from the lower-level PL/SQL API required to register a policy directly.
The package is classified as a UTIL (utility) API, indicating it is intended for internal use by other EBS framework components rather than as a public, supported integration point. ETRM metadata records that it is referenced by 102 other packages, confirming its role as a foundational dependency within the access control and security layer of the application.
Key Procedures and Functions
The documented API surface consists of four named procedures, with the ETRM listing identifying the primary operations as follows:
- POLICY_EXISTS — Determines whether a specified VPD/RLS policy has already been defined on a target object. This check allows callers to avoid duplicate policy creation and to make idempotent decisions during setup or upgrade scripts.
- ADD_POLICY — Registers a new row-level security policy on a database object. Internally this operation delegates to DBMS_RLS, associating the policy with the appropriate policy function and statement types.
- DROP_POLICY — Removes a previously defined policy from an object, restoring the object to its unsecured state. This is typically invoked during de-installation or when a policy must be recreated.
- GET_ORG_NAME — Returns the name of an organization unit, resolving text from the HR organization tables. This supports policy functions that must evaluate or display organization context.
The ETRM metadata reports five documented procedures in total; the primary entry points are those listed above. Parameter lists are not reproduced here because they are not part of the supplied facts.
Tables Accessed
The package references two primary objects through APPS synonyms:
- HR_ALL_ORGANIZATION_UNITS_TL — The translated organization units table. GET_ORG_NAME queries this table to retrieve organization names, which are essential for building or validating organization-based security predicates.
- DBMS_RLS — The Oracle-supplied package that provides the underlying policy administration calls (such as ADD_POLICY and DROP_POLICY). FND_ACCESS_CONTROL_UTIL depends on it to perform the actual policy registration and removal.
Dependency information also lists DBA_POLICIES and DUAL, which are used respectively to inspect existing policy definitions and to perform simple scalar lookups. The package does not appear as a referenced object of any other database object, consistent with its role as a leaf-level utility.
Usage Notes
FND_ACCESS_CONTROL_UTIL is invoked programmatically rather than interactively. It is commonly called from:
- EBS framework and security initialization or upgrade scripts that provision or refresh RLS policies across secured objects.
- Other APPS packages (102 documented referrers) that need to verify policy presence before applying or removing access restrictions.
- Custom code and concurrent programs that implement organization-level or function-level security for customer-specific tables.
Because it is a UTIL-class API, developers should prefer documented public APIs where available and treat direct calls to this package as dependent on internal framework behavior. Its dependency on DBMS_RLS means the executing schema must hold the necessary privileges, and policy changes take effect immediately for sessions subject to the modified policy. The package is present and valid in both EBS 12.1.1 and 12.2.2.
-
PACKAGE BODY: APPS.FND_ACCESS_CONTROL_UTIL
12.1.1
-
PACKAGE BODY: APPS.FND_ACCESS_CONTROL_UTIL
12.2.2
-
APPS.FND_ACCESS_CONTROL_UTIL SQL Statements
12.1.1
-
PACKAGE: APPS.FND_ACCESS_CONTROL_UTIL
12.1.1
-
APPS.FND_ACCESS_CONTROL_UTIL SQL Statements
12.2.2
-
PACKAGE: APPS.FND_ACCESS_CONTROL_UTIL
12.2.2
-
APPS.HR_MULTI_TENANT_INSTALLER SQL Statements
12.2.2
-
APPS.HR_MULTI_TENANT_INSTALLER SQL Statements
12.1.1
-
PACKAGE BODY: APPS.IGI_SLS_OBJECTS_PKG
12.2.2
-
PACKAGE BODY: APPS.IGI_SLS_OBJECTS_PKG
12.1.1
-
APPS.FND_ACCESS_CONTROL_UTIL dependencies on DBMS_RLS
12.1.1
-
APPS.FND_ACCESS_CONTROL_UTIL dependencies on DBMS_RLS
12.2.2
-
PACKAGE BODY: APPS.HR_MULTI_TENANT_INSTALLER
12.1.1
-
PACKAGE BODY: APPS.HR_MULTI_TENANT_INSTALLER
12.2.2
-
APPS.IGI_SLS_OBJECTS_PKG dependencies on IGI_SLS_OBJECTS_PKG
12.1.1
-
APPS.IGI_SLS_OBJECTS_PKG dependencies on IGI_SLS_OBJECTS_PKG
12.2.2