Search Results load_pricing_data
Overview
QP_BULK_LOADER_PUB is the public API package within the Oracle Advanced Pricing (QP) module of Oracle E-Business Suite, delivered in the APPS schema and validated against both Release 12.1.1 and 12.2.2. Its business purpose is to load bulk pricing data — price lists, discount lists, qualifiers, pricing attributes, and list lines — from the QP interface tables into the production pricing tables. This is the mechanism that supports high-volume price list maintenance performed outside the standard Pricing forms, most commonly through SQL*Loader scripts, external integrations, or batch imports where data is staged in the QP_INTERFACE_* tables and then processed and validated in a controlled sequence. The package implements a full staging lifecycle: record-level processing, validation, error capture, promotion into the base tables, and post-load cleanup. Because it is a PUBLIC (PUB) API, it is the supported entry point for extensions, and ETRM documents eighteen procedures and functions making up its interface. The search term qp_bulk_validate corresponds to the companion object QP_BULK_VALIDATE, which is documented in the dependency listing as referencing — and being referenced by — QP_BULK_LOADER_PUB, reflecting the tight coupling between validation and load phases.
Key Procedures and Functions
The documented procedure list falls into distinct functional groups:
- Load entry points: LOAD_PRICING_DATA and LOAD_LISTS drive the primary load of staged interface records into base pricing structures.
- Record processing: PROCESS_HEADER, PROCESS_QUALIFIER, PROCESS_LINE, and PROCESS_PRICING_ATTR handle the individual interface record types — list headers, qualifiers, list lines, and pricing attributes respectively.
- Validation and error handling: VALIDATE_LINES validates staged line records before promotion; DELETE_ERRORED_RECORDS_PARENTS removes parent records associated with errors; ERRORS_TO_OUTPUT moves interface errors into the concurrent request output file for review.
- Cleanup and maintenance: POST_CLEANUP, POST_CLEANUP_LINE, CLEAN_UP_CODE, and PURGE remove processed staging data and obsolete interface records.
- Utility and diagnostics: GET_NULL_DATE, GET_NULL_CHAR, and GET_NULL_NUMBER return correctly typed null values for use in comparisons; GET_QP_STATUS returns the status of a load operation; WRITE_LOG writes diagnostic messages to the log file for concurrent program output.
This grouping reflects the standard EBS pattern of separating pre-load validation, load execution, error reporting, and post-processing into discrete callable steps.
Tables Accessed
The package operates against APPS synonyms for both interface and base pricing tables:
- Interface tables: QP_INTERFACE_LIST_HEADERS, QP_INTERFACE_LIST_LINES, QP_INTERFACE_QUALIFIERS, QP_INTERFACE_PRICING_ATTRIBS, QP_INTERFACE_ERRORS, and QP_INTERFACE_ERRORS_S. These hold the staged rows and the generated error records during loading and validation.
- Base pricing tables: QP_LIST_HEADERS, QP_LIST_HEADERS_B, and QP_LIST_HEADERS_TL (header, base, and translated views), QP_LIST_LINES, QP_QUALIFIERS, and QP_PRICING_ATTRIBUTES. These are the destinations into which validated records are promoted.
- Reference/lookup tables: QP_PRC_CONTEXTS_B and QP_PTE_SEGMENTS provide pricing context and pricing attribute segment definitions used during processing and validation.
- Concurrent processing: FND_CONCURRENT_REQUESTS provides request context for status reporting and log output.
Usage Notes
QP_BULK_LOADER_PUB is typically invoked from concurrent programs in the Advanced Pricing responsibility — the bulk load and validate processes submit the request, stage data into the QP_INTERFACE_* tables, and call LOAD_LISTS or LOAD_PRICING_DATA, with ERRORS_TO_OUTPUT and WRITE_LOG producing reviewable output. Custom and external integrations may call the API directly from PL/SQL, but should first stage records into the interface tables and observe the documented processing order: process, validate, then load. The package is referenced by four other packages, including QP_BULK_MSG, QP_BULK_UTIL, QP_BULK_VALIDATE, and QP_BULK_VALUE_TO_ID, confirming it is a central component of the QP bulk loading framework. Because it is classified PUB, it is the appropriate object to reference in custom code; direct manipulation of the base pricing tables is not supported.