Search Results attribute_line




Overview

QP_BULK_VALIDATE is an Oracle E-Business Suite Advanced Pricing (QP) package owned by the APPS schema. It serves as the validation engine for the bulk list loading facility, working alongside QP_BULK_LOADER_PUB to enforce business rules before pricing list data is committed from the interface tables into the production pricing schema. When users upload large volumes of price lists, modifier lists, qualifiers, and pricing attributes through the bulk loader, records are staged in QP_INTERFACE_* tables. QP_BULK_VALIDATE inspects each staged row, verifies referential and attribute-level integrity, flags invalid records in the interface error tables, and prevents corrupt or incomplete data from reaching QP_LIST_HEADERS and its child entities.

Key Procedures and Functions

  • DUP_LINE_CHECK — Detects duplicate list lines within the staged interface data so that redundant entries are not loaded.
  • ENTITY_HEADER — Validates header-level entities (such as list headers) for structural correctness before persistence.
  • ENTITY_LINE — Validates line-level entities belonging to a list, including item and pricing associations.
  • ENTITY_QUALIFIER — Validates qualifier entities that determine eligibility and applicability of a price or modifier.
  • ENTITY_PRICING_ATTR — Validates pricing attribute entities that drive attribute-based pricing and sourcing.
  • ATTRIBUTE_HEADER — Performs attribute validation specific to header interface records.
  • ATTRIBUTE_QUALIFIER — Performs attribute validation for qualifier interface records.
  • ATTRIBUTE_LINE — Performs attribute validation for line interface records.
  • MARK_ERRORED_INTERFACE_RECORD — Flags a failed interface row as errored, recording it in the interface error tables so users can review and correct it.
  • PRODUCT_UOM — Validates product unit-of-measure values associated with uploaded pricing records.

Tables Accessed

The package reads and writes interface tables that stage uploaded content: QP_INTERFACE_LIST_HEADERS, QP_INTERFACE_LIST_LINES, QP_INTERFACE_QUALIFIERS, and QP_INTERFACE_PRICING_ATTRIBS. It writes error diagnostics to QP_INTERFACE_ERRORS and QP_INTERFACE_ERRORS_S via MARK_ERRORED_INTERFACE_RECORD. Validation against production setup tables includes MTL_SYSTEM_ITEMS (product verification), FND_CURRENCIES, QP_CURRENCY_LISTS_B and QP_CURRENCY_LISTS_TL (currency validation), and FND_FLEX_VALUE_SETS with FND_DESCR_FLEX_COLUMN_USAGES (key flexfield and descriptive flexfield attribute checks). It reads QP_LIST_HEADERS, QP_LIST_HEADERS_B, and QP_LIST_HEADERS_B_S to validate header references and sequence integrity.

Usage Notes

QP_BULK_VALIDATE is not typically called directly by end users. It is invoked programmatically by QP_BULK_LOADER_PUB, which orchestrates the bulk load process, and it is also referenced by QP_BULK_UTIL. The package itself references QP_BULK_LOADER_PUB and the SYS.STANDARD package. During a bulk load, the loader accepts staged interface rows, calls QP_BULK_VALIDATE routines to confirm each header, line, qualifier, and pricing attribute is structurally and referentially valid, and routes failures through MARK_ERRORED_INTERFACE_RECORD. Valid rows are then promoted by the loader; invalid rows remain in the interface tables for correction and resubmission. Custom code performing bulk price list uploads should reuse QP_BULK_LOADER_PUB rather than invoking QP_BULK_VALIDATE procedures individually, because the validation routines assume the calling context and sequencing established by the loader.