Search Results check_function_security
Overview
The APPS.PA_PM_FUNCTION_SECURITY_PUB package is a public (PUB) API within Oracle Projects that centralizes function-level security checks for Project Management operations. Its principal role is to enforce that a given application user is authorized to perform a specific project-management function before the corresponding action is executed. Functions governed by the package span the breadth of project management activity, including creating, updating, and deleting projects; maintaining tasks; managing draft budgets, budget lines, and baselines; updating earned value; administering resource lists and their members; and handling agreements and funding. The package is defined with AUTHID DEFINER, so its security-checking logic executes with the privileges of its owning schema rather than the calling user, ensuring consistent evaluation of authorization data regardless of the caller.
The unit exposes a single, reusable authorization entry point that is queried by many other project-management APIs and forms. Because repeated invocation of a security check is expensive, the package caches the outcome of each check in package-level global variables, avoiding redundant and costly database access within a single session.
Key Procedures and Functions
The documented interface comprises four procedures and functions:
- CHECK_FUNCTION_SECURITY — the primary function whose name matches the user's search term. It determines whether the current user is permitted to perform a given project-management function and returns the result of that authorization test. It is the routine the global-variable cache is designed to serve.
- CHECK_GLOBAL_VARS — evaluates the package-level global variables that hold cached security results and indicates whether valid cached values already exist for the requested function.
- SET_GLOBAL_VARS — populates the global variables with the outcome of a security determination, so that subsequent requests for the same function can be satisfied from the cache.
- CHECK_BUDGET_SECURITY — performs the security evaluation specific to budget-related actions, distinguishing budget functions from the general project and task checks handled by the main routine.
Tables Accessed
ETRM documentation identifies two base tables referenced through APPS synonyms:
- PA_PROJECTS_ALL — the principal project repository. The package consults it to establish project context and to support security decisions tied to a specific project, such as create, update, and delete project operations.
- PA_FIN_PLAN_TYPES_B — the financial plan type definitions. It is referenced to resolve the plan-type context required for budget and financial-plan security checks.
Usage Notes
PA_PM_FUNCTION_SECURITY_PUB is not a user-facing program; it is an internal authorization service consumed by other code. ETRM records that it is referenced by sixteen other packages, reflecting its role as a shared security dependency across the Project Management module. The declared global variables (for example G_Create_Project, G_Update_Project, G_Delete_Project, G_Add_Task, and G_Update_Budget) correspond directly to the checkbox-style functions the package protects, confirming that the cache is keyed by individual function.
In practice, the routine is invoked from Oracle Forms triggers and from other Project Management APIs immediately before a protected action, and from custom extensions that need to validate user authorization. Callers should not attempt to bypass the check or modify cached values. Because the package holds session-scoped state, custom code that reuses it should treat the cached results as read-only and rely on the package's own check-and-set logic to keep the cache coherent.
-
PACKAGE: APPS.PA_PM_FUNCTION_SECURITY_PUB
12.1.1
-
PACKAGE: APPS.PA_PM_FUNCTION_SECURITY_PUB
12.2.2
-
PACKAGE BODY: APPS.PA_PM_FUNCTION_SECURITY_PUB
12.1.1
-
PACKAGE BODY: APPS.PA_PM_FUNCTION_SECURITY_PUB
12.2.2
-
PACKAGE: APPS.AMS_ACCESS_PVT
12.1.1
-
PACKAGE: APPS.AMS_ACCESS_PVT
12.2.2
-
APPS.PA_PM_FUNCTION_SECURITY_PUB SQL Statements
12.1.1
-
APPS.PA_PM_FUNCTION_SECURITY_PUB SQL Statements
12.2.2
-
PACKAGE: APPS.AMW_LOAD_PROC_DATA
12.1.1
-
PACKAGE BODY: APPS.AMW_LOAD_PROC_DATA
12.1.1
-
APPS.PA_PM_FUNCTION_SECURITY_PUB dependencies on PA_SECURITY
12.2.2
-
APPS.PA_PM_FUNCTION_SECURITY_PUB dependencies on PA_SECURITY
12.1.1
-
APPS.AMS_ACCESS_PVT dependencies on FND_FUNCTION
12.1.1
-
APPS.AMS_ACCESS_PVT dependencies on FND_FUNCTION
12.2.2
-
APPS.PA_PM_FUNCTION_SECURITY_PUB dependencies on FND_MSG_PUB
12.2.2
-
APPS.PA_PM_FUNCTION_SECURITY_PUB dependencies on FND_MSG_PUB
12.1.1
-
APPS.PA_PM_FUNCTION_SECURITY_PUB dependencies on PA_INTERFACE_UTILS_PUB
12.2.2
-
APPS.PA_PM_FUNCTION_SECURITY_PUB dependencies on PA_INTERFACE_UTILS_PUB
12.1.1
-
APPS.PA_PM_FUNCTION_SECURITY_PUB dependencies on FND_FUNCTION
12.1.1
-
APPS.PA_PM_FUNCTION_SECURITY_PUB dependencies on FND_FUNCTION
12.2.2
-
APPS.AMW_LOAD_PROC_DATA dependencies on AMW_PROCESS_VL
12.1.1
-
APPS.PA_PM_FUNCTION_SECURITY_PUB dependencies on PA_PM_FUNCTION_SECURITY_PUB
12.1.1
-
APPS.PA_PM_FUNCTION_SECURITY_PUB dependencies on PA_PM_FUNCTION_SECURITY_PUB
12.2.2
-
PACKAGE BODY: APPS.AMS_ACCESS_PVT
12.1.1
-
APPS.PA_PM_FUNCTION_SECURITY_PUB dependencies on FND_API
12.1.1
-
APPS.PA_PM_FUNCTION_SECURITY_PUB dependencies on FND_API
12.2.2
-
PACKAGE BODY: APPS.AMS_ACCESS_PVT
12.2.2
-
APPS.AMW_LOAD_PROC_DATA dependencies on FND_FILE
12.1.1
-
APPS.AMW_LOAD_PROC_DATA dependencies on AMW_PROCESS
12.1.1
-
APPS.PA_PM_FUNCTION_SECURITY_PUB dependencies on PA_DEBUG
12.2.2
-
APPS.PA_PM_FUNCTION_SECURITY_PUB dependencies on PA_DEBUG
12.1.1