Search Results qp_arch_qualifiers




Overview

QP_ARCH_QUALIFIERS is a table in the QP (Advanced Pricing) schema within Oracle E-Business Suite 12.1.1 and 12.2.2. It stores archived qualifier records—the "if" conditions that determine whether a pricing modifier (a discount, surcharge, promotion, or price adjustment) applies to a given transaction line. In Oracle Advanced Pricing, a modifier is defined by a header, one or more list lines, and a set of qualifier rules; QP_ARCH_QUALIFIERS holds the archived copy of those qualifier rows, preserving the exact conditions that existed at a point in time for audit, history, and purge-related purposes.

The table carries a dedicated ARCH_PURG_REQUEST_ID column alongside standard audit columns, confirming its role as an archive companion to the live QP_QUALIFIER_RULES table. Records are populated by the modifier archiving and purge process rather than by direct user entry. Under the heuristic Data Vault classification provided in the metadata, this object is modeled as a standalone structure. In Data Vault terms it behaves like a satellite, since it captures descriptive qualifier attributes and their effective history tied to a parent business key rather than acting as a hub or a linking table.

Key Information Stored

The table contains 52 documented columns. The most significant are:

Business-key candidates center on the combination of QUALIFIER_RULE_ID, LIST_LINE_ID, SEGMENT_ID, and QUALIFIER_ATTRIBUTE, which together describe a unique qualifier condition.

Common Use Cases and Queries

QP_ARCH_QUALIFIERS is primarily used for auditing historical modifier definitions and for troubleshooting pricing behavior that has changed since a price list or promotion was modified. Typical reporting includes reconstructing the qualifier set that existed at a prior date, comparing archived conditions against live QP_QUALIFIER_RULES rows, and verifying which purges affected a given modifier. A representative query joining the archive to its rule source follows:

  • SELECT a.QUALIFIER_ID, a.QUALIFIER_CONTEXT, a.QUALIFIER_ATTRIBUTE, a.QUALIFIER_ATTR_VALUE, a.START_DATE_ACTIVE, a.END_DATE_ACTIVE FROM QP.QP_ARCH_QUALIFIERS a WHERE a.QUALIFIER_RULE_ID = :rule_id ORDER BY a.QUALIFIER_GROUPING_NO;
  • SELECT a.QUALIFIER_ID, l.LIST_LINE_ID, l.LIST_HEADER_ID FROM QP.QP_ARCH_QUALIFIERS a, QP.QP_LIST_LINES l WHERE a.LIST_LINE_ID = l.LIST_LINE_ID;
  • SELECT a.SEGMENT_ID, s.SEGMENT_NAME FROM QP.QP_ARCH_QUALIFIERS a, CSF.CSF_TDS_SEGMENTS s WHERE a.SEGMENT_ID = s.SEGMENT_ID;

Because the table can be large, filtering by LIST_HEADER_ID, QUALIFIER_RULE_ID, or ARCH_PURG_REQUEST_ID is recommended for performance.

Related Objects

The most significant related objects, based on documented foreign keys and pricing dependencies, are:

  • QP_QUALIFIER_RULES — joined via QUALIFIER_RULE_ID; the live qualifier rule definition that the archived row mirrors.
  • QP_LIST_LINES — joined via LIST_LINE_ID; the pricing list line to which each qualifier applies.
  • CSF_TDS_SEGMENTS — joined via SEGMENT_ID; defines the qualifier context/segment.
  • QP_LIST_HEADERS — the parent pricing list header, referenced through LIST_HEADER_ID.
  • QP_PRICE_LIST_LINES / QP_MODIFIERS — modifier and price list definition tables that consume qualifier conditions.
  • FND_CONCURRENT_REQUESTS — joined via ARCH_PURG_REQUEST_ID to identify the archive/purge concurrent request.
  • QP_QUALIFIERS (live) — the operational counterpart used for runtime pricing evaluation.