Search Results qp_grants




Overview

QP_GRANTS is a table in the QP schema (Advanced Pricing module) within Oracle E-Business Suite 12.1.1 and 12.2.2. It functions as the bridge between the Advanced Pricing data model and the Oracle Application Object Library (FND) data security framework. Specifically, QP_GRANTS stores the grant records that allow the FND security system to enforce row-level access control over pricing entities such as price lists, agreements, and modifiers, so that users only see and maintain the pricing setups they are authorized to access.

Under a heuristic Data Vault classification mined from its foreign key structure, QP_GRANTS is satellite-leaning. This suggests it should be modeled as a descriptive satellite attached to the pricing entity it secures, capturing the grant attributes (grantee, menu, validity dates) that change over time, rather than as an independent hub or a pure link table.

Key Information Stored

The table contains 14 documented columns, with the following being the most significant:

  • GRANT_ID — the surrogate primary key. It is enforced by the unique index QP_GRANTS_U1 and uniquely identifies each security grant record.
  • OBJECT_ID — identifies the secured object (the pricing entity) to which the grant applies.
  • INSTANCE_TYPE / INSTANCE_ID — together define the specific instance of the secured entity. INSTANCE_ID carries a foreign key to QP_LIST_HEADERS_B, tying the grant to a specific price list header.
  • GRANTEE_TYPE / GRANTEE_ID — identify the recipient of the grant, such as a user, role, or group, enabling the FND security engine to resolve who is authorized.
  • MENU_ID — a foreign key to FND_MENUS, associating the grant with a menu so that access is scoped through menu-based security.
  • START_DATE / END_DATE — the effective date range during which the grant is active, supporting time-bound access control.
  • LAST_UPDATE_DATE, LAST_UPDATED_BY, CREATION_DATE, CREATED_BY, LAST_UPDATE_LOGIN — standard EBS who-columns providing audit and concurrency information.

The business-key candidate is GRANT_ID via QP_GRANTS_U1; the operational uniqueness of a grant is effectively defined by the combination of the secured object, instance, grantee, and menu.

Common Use Cases and Queries

Typical scenarios include auditing which users or roles have access to a given price list, diagnosing why a user cannot see a pricing entity, and reporting on grant coverage across the pricing catalog.

SELECT g.grant_id, g.grantee_type, g.grantee_id,
       g.instance_id, g.start_date, g.end_date
FROM   qp.qp_grants g
WHERE  g.instance_id = :price_list_header_id
  AND  SYSDATE BETWEEN g.start_date AND NVL(g.end_date, SYSDATE + 1);

Joining to FND_MENUS clarifies the menu context, and joining to QP_LIST_HEADERS_B resolves the price list name. Expired or future-dated grants can be isolated with predicate filters on START_DATE and END_DATE. Because the table interacts with the FND security layer, queries are frequently used to reconcile expected versus actual access when troubleshooting pricing visibility issues.

Related Objects

  • QP_LIST_HEADERS_B — referenced via QP_GRANTS.INSTANCE_ID; supplies the price list header secured by the grant.
  • FND_MENUS — referenced via QP_GRANTS.MENU_ID; provides the menu through which access is granted.
  • QP_LIST_HEADERS_TL — translation table for price list names, joined through QP_LIST_HEADERS_B for reporting.
  • FND_USER — resolves GRANTEE_ID when the grantee is a user.
  • FND_RESPONSIBILITY / FND_APPLICATION — contextual tables in the FND security framework used alongside MENU_ID.
  • QP_SECURITY package / QP_GRANTS-based security views — runtime logic consuming these grants to filter pricing entities.
  • QP_PRICING_ATTRIBUTES / QP_LIST_LINES — downstream pricing entities whose visibility depends on grants stored here.