Search Results qp_security_control




Overview

APPS.CLN_PROCAT_PRICE_LISTS_V is a reporting view in the Oracle E-Business Suite Advanced Pricing module (Oracle Pricing / QP schema). It exposes price lists of type "PRL" (the price list category used in procurement catalog context) alongside the customer account to which each price list is assigned. The view is designed to be queried by catalog and procurement applications that need to determine which price lists apply to a given customer, and to distinguish between lists explicitly assigned to a customer and lists that are simply global in scope.

The view is a union of two branches. The first branch returns price lists that are qualified to a specific customer account, exposing the corresponding PARTY_ID and an ASSIGNED_FLAG of 'Y'. The second branch returns price lists with no customer qualification, assigning a sentinel PARTY_ID of -1 and an ASSIGNED_FLAG of 'N'. Together the two branches present a complete candidate set of procurement price lists against which downstream catalog logic can evaluate availability.

Underlying Base Objects

The documented base objects referenced by the view are QP_LIST_HEADERS_B (synonym to the price list header base table), QP_LIST_HEADERS_TL (the translatable name table), QPBV_QUALIFIERS (the qualifier view that links price lists to qualifier attributes such as customer), HZ_CUST_ACCOUNTS (the customer account synonym from the Trading Community Architecture), DUAL (synonym), and the FND_PROFILE package used through FND_PROFILE.VALUE.

The join path is: QP_LIST_HEADERS_B is joined to QP_LIST_HEADERS_TL on LIST_HEADER_ID to obtain the language-specific name, and to QPBV_QUALIFIERS on LIST_HEADER_ID to reach the qualification records. Within QPBV_QUALIFIERS the view filters on QUALIFIER_CONTEXT = 'CUSTOMER' and QUALIFIER_ATTRIBUTE = 'QUALIFIER_ATTRIBUTE2', then joins QUALIFIER_ATTR_VALUE to HZ_CUST_ACCOUNTS.CUST_ACCOUNT_ID to resolve the customer account. Only headers with LIST_TYPE_CODE = 'PRL' are considered, and TL.LANGUAGE is constrained to USERENV('LANG') to return the session's language. The second union branch reuses QP_LIST_HEADERS_B and QP_LIST_HEADERS_TL only.

Key Columns

  • NAME — the price list name from QP_LIST_HEADERS_TL, in the session language.
  • LIST_HEADER_ID — primary identifier of the price list header; used to link to price list lines and other pricing objects.
  • PARTY_ID — the customer party identifier derived from HZ_CUST_ACCOUNTS for assigned lists; set to -1 for unassigned (global) lists.
  • ASSIGNED_FLAG — 'Y' when the price list is qualified to a specific customer account, 'N' when it is not.

Note that the column is named PARTY_ID but is populated from HZ_CUST_ACCOUNTS.CUST_ACCOUNT_ID in the qualifying branch, so consumers should treat it as the customer account identifier rather than a party identifier strictly speaking.

Common Use Cases and Queries

The view is typically used to answer the question "which procurement price lists are available to this customer?" Because it references the profile option QP_SECURITY_CONTROL, the result set is filtered by pricing security: when the profile is 'ON', only lists whose ORG_ID matches the operating unit or that are flagged global are returned; when the profile is 'OFF', all PRL lists are returned. This dependency on QP_SECURITY_CONTROL is the reason the view surfaces in searches for that profile option.

A typical query to list assigned price lists for a customer is:

  • SELECT name, list_header_id, party_id FROM apps.cln_procat_price_lists_v WHERE assigned_flag = 'Y' AND party_id = :cust_account_id;
  • SELECT name, list_header_id FROM apps.cln_procat_price_lists_v WHERE assigned_flag = 'N';

Because the view calls FND_PROFILE.VALUE through scalar subqueries for each row, performance is sensitive to result set size; querying the QP tables directly with a bind of the profile value is preferable for high-volume reporting. The view should otherwise be treated as read-only and is intended for query and integration use rather than DML.