Search Results get_update_allowed




Overview

QP_SECURITY is the Oracle Advanced Pricing (QP) object security engine within Oracle E-Business Suite, responsible for determining whether a given user has functional access to pricing entities such as price lists, modifiers, agreements, and formulas. The package is declared with AUTHID CURRENT_USER and is owned by APPS, meaning it executes under the privileges of the calling schema and is exposed to forms, concurrent programs, and custom code as a public API.

The business problem it addresses is controlled visibility of pricing master data. Rather than exposing every price list or modifier to every user, QP_SECURITY resolves the effective security level for the current session — NONE, OU, USER, RESP, or GLOBAL — and the grantee type (OU, USER, or RESP) that applies to a specific object instance. This allows an organization to enforce operating-unit, responsibility, and user-level partitioning of pricing data without customizing the pricing forms themselves.

Key Procedures and Functions

  • SET_GRANTS — Establishes the grant records that authorize a grantee to view or maintain a pricing object; the primary write path into the security model.
  • CREATE_DEFAULT_GRANTS — Generates the default set of grants for an object, typically based on profile options such as the default view-only and default maintain settings, so newly created pricing entities inherit a baseline authorization.
  • SECURITY_ON — Determines whether object security is enabled for the current context, evaluated against the QP_SECURITY_CONTROL profile option.
  • CHECK_FUNCTION — Validates whether the current user is permitted to perform a specific function (view, copy, update, delete) against an object.
  • QP_V_SEC / QP_VL_SEC — Return the security level and grantee information used by the pricing views and validation logic.
  • AUTH_INSTANCES — Returns the set of object instances the current user is authorized to access, supporting filtered list-of-values behavior.
  • GET_OBJECT_ID_FOR_INSTANCE — Resolves an instance identifier to the underlying security object.
  • GET_USER_ID, GET_ORG_ID, GET_RESP_ID — Return the effective user, operating unit, and responsibility identifiers used to evaluate grants.
  • GET_MENU_MAINTAIN_ID — Retrieves the menu function identifier associated with maintain privileges.
  • GET_UPDATE_ALLOWED — Reports whether the current user holds update rights on the object in context.
  • QP_ORG_SECURITY — Applies and evaluates organization-level (operating unit) security rules for pricing objects.

Tables Accessed

QP_SECURITY reads and writes QP_GRANTS (and the shadow table QP_GRANTS_S) as the authoritative store of grantee-to-object authorizations, and reads QP_LIST_HEADERS_B to resolve price list identity. Security enablement and function definitions are drawn from FND_FORM_FUNCTIONS, FND_COMPILED_MENU_FUNCTIONS, and FND_MENUS, tying pricing privileges to the standard function and menu security model. FND_USER, FND_OBJECTS, and FND_GRANTS supply user, object registration, and grant metadata, while DUAL and the PL/SQL table type PLITBLM support helper evaluations and in-memory result sets.

Usage Notes

QP_SECURITY is invoked internally by the Advanced Pricing forms and validation logic whenever a price list, modifier, agreement, or formula is queried, copied, updated, or deleted. It is referenced by fifteen other packages, confirming its role as a shared dependency rather than a standalone entry point. The CREATE_DEFAULT_GRANTS routine is typically triggered at object creation time to seed baseline grants derived from the QP_SECURITY_CONTROL, QP_SECURITY_DEFAULT_VIEWONLY, and QP_SECURITY_DEFAULT_MAINTAIN profile options. Custom integrations should treat the package as the supported mechanism for evaluating pricing object access instead of querying QP_GRANTS directly, since it encapsulates the profile-driven security rules that govern both form behavior and concurrent processing.