Professional Documents
Culture Documents
OVERVIEW
Your business practices may require that you upload price list data on
a regular basis such as those described in the following scenarios:
• When a new price list needs to be created by uploading a price
change file.
1
Important implementation Notes:
Interface Tables
• QP_INTERFACE_LIST_HEADERS
• QP_INTERFACE_LIST_LINES
• QP_INTERFACE_QUALIFIERS
• QP_INTERFACE_PRICING_ATTRIBS
• QP_INTERFACE_ERRORS
Sample Scripts Are Provided
Patch #4900462 provides example scripts for Price List Bulk Loader feature
introduced in 11.5.10 under $QP_TOP/patch/115/sql directory.
• QPBLKEX1.sql - Script populates interface tables to insert price list
header and price list line.
• QPBLKEX2.sql - Script populates interface tables to insert price list
header and price list line and pricing attributes.
• QPBLKEX3.sql - Script populates interface tables to insert price list
header and price break line.
• QPBLKEX4.sql - Script populates interface tables to update price list
header with qualifiers.
• QPBLKEX5.sql - Script populates interface tables to attach secondary
price lists to the primary price list.
Date Formats
Populate QP_INTERFACE_LIST_HEADERS.START_DATE_ACTIVE or
END_DATE_ACTIVE with format 'YYYY/MM/DD', (for example, 2006/06/24).
See Note 416121.1 - How to set the start_date_active and end_date_active columns
in QP_INTERFACE_LIST_HEADERS. Type of start_date_active and
end_date_active columns is VARCHAR2 in QP_INTERFACE_LIST_HEADERS
and DATE in other tables.
2
Pricing Data Bulk Loader API Implementation
An overview of the tasks involved in the implementation for the Pricing Data
Bulk Loader API is depicted in the following flowchart
Should data be
Delete existing records from Yes deleted from QP
QP Interface tables. interface tables?
No
Populate the
Interface tables
End
3
Purge the Interface tables
4
Gather Statistics for QP and INV Schemas
5
Run the Pricing Data Bulk Loader API
• Entity Name: Enter the name of the price list to be processed. When the
name is specified the price list is considered for import regardless of the
values. If left blank, all entities of the selected Entity type available for
processing in the interface tables will be processed: for example,
PROCESS_STATUS_FLAG = 'P', PROCESS_FLAG = 'Y' and
REQUEST_ID = NULL are considered for the import.
• Process ID: This value corresponds to the process_id in the interface
tables. The Process ID groups data in the interface table. You can select
criteria to specify which records should be processed. If this field is left
blank, all available records for processing will be considered subject to the
restrictions entered in Entity Name.
• Process Type: This corresponds to the process type listed in the interface
tables such as XML.
• Process Parent: Select Yes (the default) or No to define if the loader should
process a parent record if a child record has an error. This is applicable only
to the List Line and Pricing Attributes parent-child relation.
• Turn Debug On: Valid values are Yes or No. If Yes, detailed debug
messages are written to the concurrent program log file. As debug
messages add to the performance overhead, specifying No results in
quicker completion of the concurrent request.
6
Example Case :
7
VALUES('L_EXM123', 'H_EXM123',
'PLL', To_Date('JAN-05-2009', 'MON-DD-YYYY'),
'UNIT_PRICE', 200,
'UPDATE', 'Y', 'P');
8
OTHER BUSINESS SCENARIOS
Several other common business scenarios are provided below to assist
you in better understanding the setups required.
REM***************************************************************************/
9
START_DATE_ACTIVE,
END_DATE_ACTIVE,
ARITHMETIC_OPERATOR,
OPERAND,
PRIMARY_UOM_FLAG,
PRODUCT_PRECEDENCE,
INTERFACE_ACTION_CODE,
PROCESS_FLAG,
PROCESS_STATUS_FLAG
) VALUES
(
'SAMPLE_LINE_10', /* The combination of this and ORIG_SYS_HEADER_REF is
the primary key of the
equivalent of the price list line table of the external system from where
the price data is loaded.*/
'SAMPLE_HEADER_10', /* orig_sys_header_ref */
'PLL', /* List Line Type Code. PLL for price list line. */
sysdate, /* Start date active */
NULL, /* End date active */
'UNIT_PRICE', /* Arithmetic operator */
150, /* operand */
'Y', /* Primary UOM Flag */
230, /* Product Precedence */
'INSERT', /* Interface Action Code. The possible values are
INSERT/UPDATE/DELETE. */
'Y', /* Process flag for transaction */
'P' /* Process Status Flag for transaction */
);
COMMIT;
EXIT;
10
Scenario 2: Script to Insert Item Number
REM /**************************************************************************
REM***************************************************************************/
11
(
'SAMPLE_LINE_10', /* The combination of this and ORIG_SYS_HEADER_REF is
the primary key of the
equivalent of the price list line table of the external system from where
the price data is loaded.*/
'SAMPLE_HEADER_10', /* orig_sys_header_ref */
'PLL', /* List Line Type Code. PLL for price list line. */
sysdate, /* Start date active */
NULL, /* End date active */
'UNIT_PRICE', /* Arithmetic operator */
150, /* operand */
'Y', /* Primary UOM Flag */
230, /* Product Precedence */
'INSERT', /* Interface Action Code. The possible values are
INSERT/UPDATE/DELETE. */
'Y', /* Process flag for transaction */
'P' /* Process Status Flag for transaction */
);
COMMIT;
EXIT;
12
Scenario 3: Script to Insert Item Category
REM /**************************************************************************
REM***************************************************************************/
13
'SAMPLE_LINE_12', /* The combination of this and ORIG_SYS_HEADER_REF is
the primary key of the
equivalent of the price list line table of the external system from where
the price data is loaded.*/
'SAMPLE_HEADER_12', /* orig_sys_header_ref */
'PLL', /* List Line Type Code. PLL for price list line. */
sysdate, /* Start date active */
NULL, /* End date active */
'UNIT_PRICE', /* Arithmetic operator */
150, /* operand */
'Y', /* Primary UOM Flag */
230, /* Product Precedence */
'INSERT', /* Interface Action Code. The possible values are
INSERT/UPDATE/DELETE. */
'Y', /* Process flag for transaction */
'P' /* Process Status Flag for transaction */
);
COMMIT;
EXIT;
REM /**************************************************************************
REM Please Note:
REM * The columns INTERFACE_ACTION_CODE, PROCESS_FLAG and
PROCESS_STATUS_FLAG
REM are mandatory and should be populated in all the interface tables with appropriate
values.
REM * Errors in the process are inserted into QP_INTERFACE_ERRORS table.
REM * Please read Oracle Electronic Technical Reference Manual (eTRM) to understand
REM interface tables, columns and interface tables relationship.
REM * Please read Oracle Advanced Pricing Implementation Guide(Metalink Note: 91798.1)
REM for details on QP: Bulk Import of Price List concurrent program and parameters.
REM***************************************************************************/
14
INSERT INTO QP_INTERFACE_LIST_HEADERS(
LIST_HEADER_ID
,LIST_TYPE_CODE
,INTERFACE_ACTION_CODE
,PROCESS_STATUS_FLAG
,process_flag
,ORIG_SYS_HEADER_REF
) VALUES
(
234415
,'PRL' /* List Type Code. PRL for standard price list */
,'UPDATE' /* Interface Action Code. The possible values are
INSERT/UPDATE/DELETE. */
,'P' /* Process Status Flag for transaction */
,'Y'
,'SAMPLE_HEADER_10'
);
15
TROUBLESHOOTING
There are a few things to watch out for when you try to implement
the Pricing Data Bulk Loader API.
$% / 2 23 / / 3 2/ /
&'()( *)( +,)-. + .)01- ( 4 5)*,6( '* ,*7 ( 8+( 0 .0.86* (
/ ( 3869 60*2() -7/():*,( /* 36(+ ;.*/, <$$=<+>6<?@ABCDEFG+>6%G H
' '
:(I ,8+/0J()+ *1( .)01-2(2 -7,0))(,/ 1*68(+ /0 / (+( +,)-./+ 28( /0
' '
I '-,' / '( +,)-./ (K(,8/ -07 :*-6+ G &'( ,8+/0J()+ 8+8*664 J*9(
J-+/*9(+ -7 .)01-2-7L / '( ,0))(,/ 1*68(+ :0) /'( .)-,-7L *// )-38/(+ / '*/
*)( ,07+/*7/ 1*68(+ *72 ,*+( +(7+-/ -1( G ;M(:() /0 38L NOPQRPR)
S T U U "V U W XYZ[ XYZ \]Z^ U VVU
W U _ TT U! #
@M5`ab H MdA a D b5e DE g hd Dihj
&c && & c & &f &
@M5`ab H M b5`D g hdekDe 5Ml d Di d`hj
&c && c f & c& c
@M5`ab H M kHB `dm@ g hbi$R$Rnho
&c && c c f
O% '(7 )877-7L / '( A869 B0*2() 8+-7L /'( a@`H& D 0./ -07 :0)
8.2*/-7L *74 0: / '( (7/-/-(+ 6-9( (*2()o B-7(o @)-,-7L *//)-38/( *72
>8*6-: -()+o /'( -7/():*,( /*36( +'0862 3( .0.86*/(2 I-/ ' *66 / '(
7(,(++*)4 :-(62+ G d: *74 0: / '( : -(62+ *)( 70/ .0.86*/(2 -7 / '(
-7/():*,( /*36(;+% o /'( .)0L)*J *++8J(+ /'*/ /'( : -(62 7((2+ /0 3(
8.2*/(2 *+ eaBBG d: *74 0: / '( : -(62+ J(7/ -07(2 3(60I -+ 70/
.0.86*/(2 / '(7 / '( 8.2*/( 0.()*/ -07 8+-7L 3869 60*2() I-66 )(+86/ -7
*7 ())0)G ;M(:() /0 38L N=OQQN%
16
Z ! U ! " XY p^ #
e*J(
Bdm DH `DM d`
&c c
Bdm l@D b5`D
&c& c
de& DMHbDcHb& d5ecb5`D
@M5bDmm m H am BHu
c & & c
@M5bDmm BHu
c
5Mducmlmc DH `DMc MD
17
Pricing Data Bulk Loader API
May 2009
Author: Kelli Stone
Co-Author: Rajendra Badadare, Smitha Balaraman, Shaneed Muhammed
Copyright © Oracle Corporation 2009
All Rights Reserved Printed in the U.S.A.
Oracle Corporation
World Headquarters
500 Oracle Parkway
Redwood Shores, CA 94065
U.S.A.
Worldwide Inquiries:
415.506.7000
Fax 415.506.7200
18