Pricing Data Bulk Loader

This chapter covers the following topics:

Overview of Pricing Data Bulk Loader

The Pricing Data Bulk Loader application programming interface (API), which is available in Basic and Advanced Pricing, enables you to complete the following tasks:

This Pricing Data Bulk Loader API consists of a set of interface tables and a concurrent program. All validations and defaulting is done before the data is inserted or updated. The Pricing Data Bulk Loader can be used as an alternative to the price list user interface (UI) and Price List Business Object API for importing large volumes of price list data such as from a legacy system.

The following price lists are not imported by the Pricing Data Bulk Loader:

Profile Options That Are Used in Pricing Data Bulk Loader

The following profile options are used with the Pricing Data Bulk Loader API:

Related Topics

Examples of the Interface Table Setup

Populating the Interface Table

As a first step, the Pricing Data Bulk Loader imports data from the following interface tables:

Attributes in the Interface Tables

The following key attributes in the interface tables control the import of the price list data:

Updating or Deleting Price Lists using the Bulk Loader

When you update or delete price lists, all original system reference columns must be populated on the interface tables to identify the record being updated. For example, to delete or update header records, specify orig_sys_header_ref, and for line records, specify orig_sys_header_ref and orig_sys_line_ref.

For internal price lists or pricing APIs

For internal price lists created from pricing user interfaces or from pricing APIs where original system reference columns were not entered by the user, the system defaults these columns. For you to populate the original system reference columns for data created prior to the R12 release, you must run the concurrent program QP: Upgrade Pricing data for Bulk Loader. For data to be updated or deleted on these internal price lists, these defaulted values must be populated in original system reference columns on the interface table:

The Orig_sys_header_ref column on all entities (list header, list lines, pricing attributes, qualifiers) defaults to list_header_id prefixed by INT (for Internal).

Important: The prefix INT is only for the upgraded price list headers from 11.5.10 and earlier releases. For price lists created in 12.0 and later releases, the prefix INT is not added. For example, if the header_id is 12345, the orig_sys_header_ref for all entities for that price list will default to INT12345.

Other original system reference columns on list line, pricing attribute, and qualifier entities, default to the primary key ID value. As an example, orig_sys_line_ref defaults to the list_line_id. If there are duplicate orig_sys_header_ref, the prefix "INT-D-" is added to the list_header_id.

Here are some examples of how the naming conventions are applied:

Price List Header Name List_header_id Orig_sys_hdr_ref (After Naming Convention Applied)
PL_11510 12345 INT12345
PL_120 67890 67890
PL_120 67890 INT-D-67890
Note: If the Orig_sys_hdr_ref = 67890 already exists for another price list, then the prefix "INT-D-" is added.

Notes:

To update selected columns:

For updating selected columns, you need to enter only updated column values on the interface tables. For example, to update only the operand column for a price list line, specify the original system reference columns to identify the record and new value for the operand column on the list lines interface table.

To update a column to a null value populate that column in the interface table with one of the following constants:

Note: To do validations, the Pricing Data Bulk Loader populates all the empty columns on the interface tables (set to current values in the database) with the current data in the database. In the previous example, all columns other than the operand column will be updated by the bulk loader. If errors occur, you might see all columns populated after the bulk loader is run even though the user only populated the operand column.

If you are creating, updating or deleting a child record, the parent record (and grandparent record if applicable) must be present in the interface table. Even if the parent (and grandparent) record does not need any processing (insert, update, or delete) it should still be present with process_status_flag = I and original system columns populated. If the header record does not exist, child entity records will not be processed by the bulk loader.

Table Names and Upload Action Validations
Table Name Select Insert Update Delete
QP_INTERFACE_LIST_HEADER X NA X X
QP_INTERFACE_LIST_LINES X NA X X
QP_INTERFACE_QUALIFIERS X NA X X
QP_INTERFACE_PRICING_ATTRIBS X NA X X
QP_INTERFACE_ERRORS NA X NA NA
QP_LIST_HEADERS_B NA X X X
QP_LIST_HEADERS_TL NA X X X
QP_LIST_LINES NA X X X
QP_QUALIFIERS NA X X X
QP_PRICING_ATTRIBUTES NA X X X
QP_RLTD_MODIFIERS NA X X X

Note: NA = Not applicable

Examples of the Interface Table Setup

The following sample scripts show how to set up the interface tables for the Pricing Data Bulk Loader feature. The scripts are located in the $QP_TOP/patch/115/sql directory:

QP: Bulk Import of Price List Program

The Pricing Data Bulk Loader API is implemented as the concurrent program QP: Bulk Import of Price List. Using the concurrent program, you define the pricing data to be imported (bulk loaded), then run the concurrent program to import the price list data from interface tables into the Oracle Advanced Pricing tables. To improve processing efficiency, you can schedule the concurrent program to run at optimal times, such as when no active users are on the system.

The QP: Bulk Import of Price List program enables you to complete the following tasks:

You can set the profile option QP: Batch size for Bulk Upload (QP_BATCH_SIZE_FOR_BULK_UPLOAD) to restrict the number of records that are read to the PL/SQL tables. This helps to improve the bulk import performance. The default value for the profile is 1,000, but you can change this value to suit your hardware configuration. For more information, see the Advanced Pricing Implementation Guide, Profile Options.

Scenarios for Using the QP: Bulk Import of Price List Program

Your business practices may require that you upload price list data on a regular basis, such as in the following scenarios:

Processes performed by the QP: Bulk Import of Price List Program

The QP: Bulk Import of Price List program completes the following processes:

Note: For more information on populating the interface tables for bulk loader, see Oracle Advanced Pricing Implementation Guide.

Considerations for Running the QP: Bulk Import of Price List Program

Review the following considerations before running the QP: Bulk Import of Price List program:

Report Submission

In the Submit Request window, Name field, select QP: Bulk Import of Price List.

Report Parameters

QP: Bulk Import of Price List Parameters

the picture is described in the document text