1 PACKAGE QP_FORMULA_PRICE_CALC_PVT AUTHID CURRENT_USER AS
2 /* $Header: QPXVCALS.pls 120.1.12010000.1 2008/07/28 11:58:18 appldev ship $ */
3
4 --GLOBAL Constant holding the package name
5
6 G_PKG_NAME CONSTANT VARCHAR2(30) := 'QP_FORMULA_PRICE_CALC_PVT';
7
8 TYPE req_line_attrs_rec IS RECORD (
9 line_index NUMBER,
10 attribute_type VARCHAR2(30),
11 context VARCHAR2(30),
12 attribute VARCHAR2(30),
13 value VARCHAR2(240) );
14
15 TYPE req_line_attrs_tbl IS TABLE OF req_line_attrs_rec
16 INDEX BY BINARY_INTEGER;
17
18 TYPE t_Operand_Tbl_Type IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
19
20 TYPE Step_Number_Tbl_Type IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
21
22 /* Wrapper for Get_Custom_Price, to be called by Java Formula Engine */
23 FUNCTION Java_Custom_Price(p_price_formula_id IN NUMBER,
24 p_list_price IN NUMBER,
25 p_price_effective_date IN DATE,
26 p_line_index IN NUMBER,
27 p_request_id IN NUMBER)
28 RETURN NUMBER;
29
30 /*Public Function to parse a formula even before substituting each step number
31 with its calculated value*/
32 PROCEDURE Parse_Formula (p_formula IN VARCHAR2,
33 x_return_status OUT NOCOPY VARCHAR2);
34
35 /*Public Function to Evaluate a formula and calculate the result*/
36 FUNCTION Calculate (p_price_formula_id IN NUMBER,
37 p_list_price IN NUMBER,
38 p_price_effective_date IN DATE,
39 --p_req_line_attrs_tbl IN REQ_LINE_ATTRS_TBL,
40 p_line_index IN NUMBER,
41 p_list_line_type_code IN VARCHAR2,
42 --Added parameters p_line_index and p_list_line_type_code
43 --and commented out the parameter p_req_line_attrs_tbl.
44 --POSCO performance-related
45 x_return_status OUT NOCOPY VARCHAR2,
46 p_modifier_value IN NUMBER default NULL) --mkarya for bug 1906545
47 RETURN NUMBER;
48
49 PROCEDURE Set_Message (p_price_formula_id IN NUMBER,
50 p_formula_name IN VARCHAR2,
51 p_null_step_number_tbl IN STEP_NUMBER_TBL_TYPE);
52
53 /* Wrapper function for JDBC call to Get_Formula_Values */
54 PROCEDURE Java_Get_Formula_Values(p_formula IN VARCHAR2,
55 p_operands_str IN VARCHAR2,
56 p_procedure_type IN VARCHAR2,
57 x_formula_value OUT NOCOPY /* file.sql.39 change */ NUMBER,
58 x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2);
59
60 END QP_FORMULA_PRICE_CALC_PVT;