1 PACKAGE OKC_PRICE_PUB AS
2 /* $Header: OKCPPRES.pls 120.0 2005/05/25 18:00:03 appldev noship $ */
3
4
5 ---Added smhanda---------------------------------------------------------------
6 ----------------------------------------------------------------------------
7 ----PRICE_CONTROL_REC_TYPE holds the control rec to be sent to price_request as well other parameters.
8 ----------------------------------------------------------------------------
9 TYPE PRICE_CONTROL_REC_TYPE is Record
10 (
11 p_Request_Type_Code VARCHAR2(3),
12 p_negotiated_changed varchar2(1) DEFAULT 'N', --possible values 'Y','N'
13 p_level VARCHAR2(2) DEFAULT 'L',--possible values 'L' lines only,'QA' From QA, 'H' Header and lines
14 p_calc_flag varchar2(1) DEFAULT 'B', --possible values
15 --'B' (search and calculate -Apply the existing manual adj. and get new automatics and calculate price),
16 --'C' (calculate only- Recalculate the price based upon already selected adjustments)
17 -- 'S' (Search only- Do not recalculate the price. Just get the new adjustments available)
18 p_config_yn varchar2(1) DEFAULT 'N', --possible values
19 -- 'Y' Configurator call. donot save the price adjustments data
20 -- 'N' not configurator call
21 -- 'S' configurator call. save the price adjustments data
22 p_top_model_id number
23 );
24
25 SUBTYPE GLOBAL_LSE_REC_TYPE IS OKC_PRICE_PVT.GLOBAL_LSE_REC_TYPE;
26 SUBTYPE GLOBAL_RPRLE_REC_TYPE IS OKC_PRICE_PVT.GLOBAL_RPRLE_REC_TYPE;
27 SUBTYPE CLE_PRICE_REC_TYPE IS OKC_PRICE_PVT.CLE_PRICE_REC_TYPE;
28 SUBTYPE Manual_Adj_REC_Type IS OKC_PRICE_PVT.Manual_Adj_REC_Type;
29 SUBTYPE OKC_CONTROL_REC_TYPE IS OKC_PRICE_PVT.OKC_CONTROL_REC_TYPE;
30 SUBTYPE LINE_REC_TYPE IS OKC_PRICE_PVT.LINE_REC_TYPE;
31
32
33 SUBTYPE GLOBAL_LSE_TBL_TYPE IS OKC_PRICE_PVT.GLOBAL_LSE_TBL_TYPE;
34 SUBTYPE GLOBAL_RPRLE_TBL_TYPE IS OKC_PRICE_PVT.GLOBAL_RPRLE_TBL_TYPE;
35 SUBTYPE NUM_TBL_TYPE IS OKC_PRICE_PVT.NUM_TBL_TYPE;
36 SUBTYPE CLE_PRICE_TBL_TYPE IS OKC_PRICE_PVT.CLE_PRICE_TBL_TYPE;
37 SUBTYPE MANUAL_Adj_Tbl_Type IS OKC_PRICE_PVT.MANUAL_Adj_Tbl_Type;
38 SUBType LINE_Tbl_Type Is OKC_PRICE_PVT.LINE_Tbl_Type;
39
40 G_LSE_TBL GLOBAL_LSE_TBL_TYPE;
41 G_RUL_TBL GLOBAL_RPRLE_TBL_TYPE;
42 G_PRLE_TBL GLOBAL_RPRLE_TBL_TYPE;
43
44 /********** Following is added by JOMY ****************/
45
46 TYPE Customer_Info_Rec_Type IS RECORD
47 ( customer_id NUMBER
48 , customer_class_code VARCHAR2(240)
49 , sales_channel_code VARCHAR2(240)
50 , gsa_indicator VARCHAR2(1)
51 , account_types QP_Attr_Mapping_PUB.t_MultiRecord
52 , customer_relationships QP_Attr_Mapping_PUB.t_MultiRecord
53 );
54
55 TYPE Order_Info_Rec_Type IS RECORD
56 ( header_id NUMBER
57 , order_amount VARCHAR2(240)
58 , order_quantity VARCHAR2(240)
59 );
60
61 TYPE Contract_Info_Rec_Type IS RECORD
62 ( TOP_MODEL_LINE_ID NUMBER
63 , INVENTORY_ITEM_ID NUMBER
64 , INV_ORG_ID NUMBER
65 , SOLD_TO_ORG_ID NUMBER
66 , PRICING_DATE DATE
67 , GOVERNING_CONTRACT_ID NUMBER
68 );
69
70
71 TYPE Site_Use_Rec_Type IS RECORD
72 ( contact_id VARCHAR2(240)
73 , site_use_id VARCHAR2(240)
74 );
75
76 TYPE Agreement_Info_Rec_Type IS RECORD
77 ( agreement_id VARCHAR2(240)
78 , agreement_type_code VARCHAR2(240)
79 );
80
81 TYPE Item_Segments_Rec_Type IS RECORD
82 ( inventory_item_id NUMBER
83 , segment1 VARCHAR2(240)
84 , segment2 VARCHAR2(240)
85 , segment3 VARCHAR2(240)
86 , segment4 VARCHAR2(240)
87 , segment5 VARCHAR2(240)
88 , segment6 VARCHAR2(240)
89 , segment7 VARCHAR2(240)
90 , segment8 VARCHAR2(240)
91 , segment9 VARCHAR2(240)
92 , segment10 VARCHAR2(240)
93 , segment11 VARCHAR2(240)
94 , segment12 VARCHAR2(240)
95 , segment13 VARCHAR2(240)
96 , segment14 VARCHAR2(240)
97 , segment15 VARCHAR2(240)
98 , segment16 VARCHAR2(240)
99 , segment17 VARCHAR2(240)
100 , segment18 VARCHAR2(240)
101 , segment19 VARCHAR2(240)
102 , segment20 VARCHAR2(240)
103 );
104
105 --G_TOP_MODEL_LINE_ID NUMBER;
106 --G_MODEL_ID NUMBER;
107 G_Customer_Info Customer_Info_Rec_Type;
108 --G_Order_Info Order_Info_Rec_Type;
109 --G_Site_Use Site_Use_Rec_Type;
110 --G_Agreement_Info Agreement_Info_Rec_Type;
111 G_Item_Segments Item_Segments_Rec_Type;
112 G_CONTRACT_INFO CONTRACT_INFO_REC_TYPE;
113 /******* The aboveis added by JOMY *******/
114
115 --------------------------------------------------------------------
116 --FUNCTION - GET_LSE_SOURCE_VALUE
117 -- This function is used in mapping of attributes between QP and OKC
118 -- The calls to this function will be made by QP Engine to get values for
119 --various Qualifiers and Pricing Attributes
120 -- p_lse_tbl - Global Table holding various OKX_SOURCES and their values for lse
121 -- p_registered_source - The source for which value should be returned
122 -- Returns the value for the p_registered_source
123 ----------------------------------------------------------------------------
124 FUNCTION Get_LSE_SOURCE_VALUE (
125 p_lse_tbl IN global_lse_tbl_type,
126 p_registered_source IN VARCHAR2)
127 RETURN VARCHAR2;
128
129 -----------------------------------------------------------------------------
130 --FUNCTION - GET_RUL_SOURCE_VALUE
131 -- This function is used in mapping of attributes between QP and OKC
132 -- The calls to this function will be made by QP Engine to get values for
133 --various Qualifiers and Pricing Attributes
134 -- p_rul_tbl - Global Table holding various OKX_SOURCES and their values for rules
135 -- p_registered_code - The rule code for which value should be returned
136 -- p_registered_source - The source for which value should be returned
137 -- Returns the value for the p_registered_source+p_registered_code
138 ----------------------------------------------------------------------------
139 FUNCTION Get_RUL_SOURCE_VALUE (
140 p_rul_tbl IN global_rprle_tbl_type,
141 p_registered_code IN varchar2,
142 p_registered_source IN VARCHAR2)
143 RETURN VARCHAR2;
144
145 ------------------------------------------------------------------------------
146 --FUNCTION - GET_PRLE_SOURCE_VALUE
147 -- This function is used in mapping of attributes between QP and OKC
148 -- The calls to this function will be made by QP Engine to get values for
149 --various Qualifiers and Pricing Attributes
150 -- p_prle_tbl - Global Table holding various OKX_SOURCES and their values for rules
151 -- p_registered_role - The role code for which value should be returned
152 -- p_registered_source - The source for which value should be returned
153 -- Returns the value for the p_registered_source+p_registered_role
154 ----------------------------------------------------------------------------
155 FUNCTION Get_PRLE_SOURCE_VALUE (
156 p_prle_tbl IN global_rprle_tbl_type,
157 p_registered_code IN varchar2,
158 p_registered_source IN VARCHAR2)
159 RETURN VARCHAR2;
160
161 ----------------------------------------------------------------------------
162 -- CALCULATE_PRICE
163 -- This procedure will calculate the price for the sent in line/header
164 -- px_cle_price_tbl returns the priced line ids and thier prices
165 -- p_level tells whether line level or header level
166 -- possible value 'L','H','QA' DEFAULT 'L'
167 --p_calc_flag 'B'(Both -calculate and search),'C'(Calculate Only), 'S' (Search only)
168 ----------------------------------------------------------------------------
169 PROCEDURE CALCULATE_price(
170 p_api_version IN NUMBER DEFAULT 1,
171 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
172 p_CHR_ID IN NUMBER,
173 p_Control_Rec IN OKC_CONTROL_REC_TYPE,
174 px_req_line_tbl IN OUT NOCOPY QP_PREQ_GRP.LINE_TBL_TYPE,
175 px_Req_qual_tbl IN OUT NOCOPY QP_PREQ_GRP.QUAL_TBL_TYPE,
176 px_Req_line_attr_tbl IN OUT NOCOPY QP_PREQ_GRP.LINE_ATTR_TBL_TYPE,
177 px_Req_LINE_DETAIL_tbl IN OUT NOCOPY QP_PREQ_GRP.LINE_DETAIL_TBL_TYPE,
178 px_Req_LINE_DETAIL_qual_tbl IN OUT NOCOPY QP_PREQ_GRP.LINE_DETAIL_QUAL_TBL_TYPE,
179 px_Req_LINE_DETAIL_attr_tbl IN OUT NOCOPY QP_PREQ_GRP.LINE_DETAIL_ATTR_TBL_TYPE,
180 px_Req_RELATED_LINE_TBL IN OUT NOCOPY QP_PREQ_GRP.RELATED_LINES_TBL_TYPE,
181 px_CLE_PRICE_TBL IN OUT NOCOPY CLE_PRICE_TBL_TYPE,
182 x_return_status OUT NOCOPY VARCHAR2,
183 x_msg_count OUT NOCOPY NUMBER,
184 x_msg_data OUT NOCOPY VARCHAR2);
185
186 --------------------------------------------------------------------------
187 -- Update_Contract_price
188 -- This procedure will calculate the price for all the Priced lines in a contract
189 -- while calculating whether header level adjustments are to be considrerd
190 -- or not will be taken care of by px_control_rec.p_level (possible values 'L','H','QA')
191 -- p_chr_id - id of the header
192 -- x_chr_net_price - estimated amount on header
193
194 ----------------------------------------------------------------------------
195 PROCEDURE Update_CONTRACT_price(
196 p_api_version IN NUMBER,
197 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
198 p_commit IN VARCHAR2 DEFAULT OKC_API.G_TRUE,
199 p_CHR_ID IN NUMBER,
200 px_Control_Rec IN OUT NOCOPY PRICE_CONTROL_REC_TYPE,
201 x_CLE_PRICE_TBL OUT NOCOPY CLE_PRICE_TBL_TYPE,
202 x_chr_net_price OUT NOCOPY NUMBER,
203 x_return_status OUT NOCOPY VARCHAR2,
204 x_msg_count OUT NOCOPY NUMBER,
205 x_msg_data OUT NOCOPY VARCHAR2);
206
207 ----------------------------------------------------------------------------
208 -- Update_Line_price
209 -- This procedure will calculate the price for all the Priced lines below sent in line
210 -- Called when a line is updated in the form
211 -- p_cle_id - id of the line updated
212 -- p_chr_id - id of the header
213 -- p_lowest_level Possible values 0(p_cle_id not null and this line is subline),
214 -- 1(p_cle_id not null and this line is upper line),
215 -- -1(update all lines)
216 -- -2(update all lines and header)
217 -- DEFAULT -2
218 --
219 --px_chr_list_price IN OUT -holds the total line list price, for right value pass in the existing value,
220 --px_chr_net_price IN OUT -holds the total line net price, for right value pass in the existing value
221 -- px_cle_amt gets back the net price for the line that was updated. In case of
222 -- p_negotiated_changed, it brings in the old net price of the line updated
223
224 ----------------------------------------------------------------------------
225 PROCEDURE Update_LINE_price(
226 p_api_version IN NUMBER,
227 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
228 p_commit IN VARCHAR2 DEFAULT OKC_API.G_TRUE,
229 p_CHR_ID IN NUMBER,
230 p_cle_id IN NUMBER DEFAULT null,
231 p_lowest_level IN NUMBER DEFAULT -2,
232 px_Control_Rec IN OUT NOCOPY PRICE_CONTROL_REC_TYPE,
233 px_chr_list_price IN OUT NOCOPY NUMBER,
234 px_chr_net_price IN OUT NOCOPY NUMBER,
235 x_CLE_PRICE_TBL OUT NOCOPY CLE_PRICE_TBL_TYPE,
236 px_cle_amt IN OUT NOCOPY NUMBER,
237 x_return_status OUT NOCOPY VARCHAR2,
238 x_msg_count OUT NOCOPY NUMBER,
239 x_msg_data OUT NOCOPY VARCHAR2);
240
241 ----------------------------------------------------------------------------
242 -- GET_MANUAL_ADJUSTMENTS
243 -- This procedure will return all the manual adjustments that qualify for the
244 -- sent in lines and header
245 -- To get adjustments for a line pass p_cle_id and p_control_rec.p_level='L'
246 -- To get adjustments for a Header pass p_cle_id as null and p_control_rec.p_level='H'
247 ----------------------------------------------------------------------------
248 PROCEDURE get_manual_adjustments(
249 p_api_version IN NUMBER,
250 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
251 p_CHR_ID IN NUMBER,
252 p_cle_id IN number Default Null,
253 p_Control_Rec IN PRICE_CONTROL_REC_TYPE,
254 x_ADJ_tbl OUT NOCOPY MANUAL_Adj_Tbl_Type,
255 x_return_status OUT NOCOPY VARCHAR2,
256 x_msg_count OUT NOCOPY NUMBER,
257 x_msg_data OUT NOCOPY VARCHAR2);
258 --end added smhanda------------------------------------------------------------
259
260 G_REQUIRED_VALUE CONSTANT VARCHAR2(200) := OKC_API.G_REQUIRED_VALUE;
261 G_INVALID_VALUE CONSTANT VARCHAR2(200) := OKC_API.G_INVALID_VALUE;
262 G_COL_NAME_TOKEN CONSTANT VARCHAR2(200) := OKC_API.G_COL_NAME_TOKEN;
263 G_PARENT_TABLE_TOKEN CONSTANT VARCHAR2(200) := OKC_API.G_PARENT_TABLE_TOKEN;
264 G_CHILD_TABLE_TOKEN CONSTANT VARCHAR2(200) := OKC_API.G_CHILD_TABLE_TOKEN;
265 G_UNEXPECTED_ERROR CONSTANT VARCHAR2(200) := 'OKC_UNEXPECTED_ERROR';
266 G_SQLERRM_TOKEN CONSTANT VARCHAR2(200) := 'SQLERRM';
267 G_SQLCODE_TOKEN CONSTANT VARCHAR2(200) := 'SQLCODE';
268
269 ------------------------------------------------------------------------------------
270
271 -- GLOBAL EXCEPTION
272
273 ---------------------------------------------------------------------------
274
275 G_EXCEPTION_HALT_VALIDATION EXCEPTION;
276 G_BUILD_RECORD_FAILED EXCEPTION;
277 G_REQUIRED_ATTR_FAILED EXCEPTION;
278 G_CALL_QP_FAILED EXCEPTION;
279
280 -- Global constant holding the package name
281
282 G_PKG_NAME CONSTANT VARCHAR2(30) := 'OKC_PRICE_PUB';
283 G_APP_NAME CONSTANT VARCHAR2(3) := 'OKC';
284
285
286 G_LIST_CONTEXT CONSTANT VARCHAR2(30) := 'MODLIST';
287 G_LIST_PRICE_ATTR CONSTANT VARCHAR2(30) := 'QUALIFIER_ATTRIBUTE4';
288 G_LIST_MODIFIER_ATTR CONSTANT VARCHAR2(30) := 'QUALIFIER_ATTRIBUTE6';
289
290 G_ITEM_CONTEXT CONSTANT VARCHAR2(30) := 'ITEM';
291 G_ITEM_ATTR CONSTANT VARCHAR2(30) := 'PRICING_ATTRIBUTE1';
292
293 G_VOLUME_CONTEXT CONSTANT VARCHAR2(30) := 'VOLUME';
294 G_VOLUME_ATTR CONSTANT VARCHAR2(30) := 'PRICING_ATTRIBUTE1';
295
296 G_REQUEST_TYPE_CODE CONSTANT VARCHAR2(30) := 'ASO';
297 G_PRICING_EVENT CONSTANT VARCHAR2(30) := 'PRICE';
298 G_LINE_TYPE CONSTANT VARCHAR2(30) := 'SERVICE CONTRACT LINE';
299 G_CONTROL_REC QP_PREQ_GRP.CONTROL_RECORD_TYPE;
300
301
302 G_JTF_Party CONSTANT VARCHAR2(30) := 'OKX_PARTY';
303 G_JTF_Covlvl CONSTANT VARCHAR2(30) := 'OKX_COVSYST';
304 G_JTF_Custacct CONSTANT VARCHAR2(30) := 'OKX_CUSTACCT';
305 G_JTF_CusProd CONSTANT VARCHAR2(40) := 'OKX_CUSTPROD';
306
307 --G_JTF_Sysitem CONSTANT VARCHAR2(30) := 'X_
308 G_JTF_Billto CONSTANT VARCHAR2(30) := 'OKX_BILLTO';
309 G_JTF_Shipto CONSTANT VARCHAR2(30) := 'OKX_SHIPTO';
310 G_JTF_Warr CONSTANT VARCHAR2(30) := 'OKX_WARRANTY';
311 G_JTF_Extwar CONSTANT VARCHAR2(30) := 'OKX_SERVICE';
312
313
314 G_JTF_usage CONSTANT VARCHAR2(30) := 'OKX_USAGE';
315 G_JTF_service CONSTANT VARCHAR2(30) := 'OKX_SERVICE';
316
317 G_JTF_Invrule CONSTANT VARCHAR2(30) := 'OKX_INVRULE';
318 G_JTF_Acctrule CONSTANT VARCHAR2(30) := 'OKX_ACCTRULE';
319 G_JTF_Payterm CONSTANT VARCHAR2(30) := 'OKX_PPAYTERM';
320 G_JTF_Price CONSTANT VARCHAR2(30) := 'OKX_PRICE';
321 G_JTF_Nolov CONSTANT VARCHAR2(30) := 'OKX_NOLOV';
322 G_PRE_RULE CONSTANT VARCHAR2(90) := 'PRE';
323
324 --- ******************************** P A R T I *******************************************************
325 -- 1. To build the global contract line structure so that it can be used in QP dimension sourcing
326 --- ***************************************************************************************************
327
328 TYPE G_LINE_REC_TYPE IS RECORD(
329 HDR_ID NUMBER,
330 START_DATE DATE,
331 END_DATE DATE,
332 STATUS_CODE VARCHAR2(30),
333 LINE_ID NUMBER,
334 CLASS VARCHAR2(80),
335 SUB_CLASS VARCHAR2(80),
336 PARTY_ID NUMBER,
337 AGREEMENT_ID NUMBER,
338 PRICE_LIST_ID NUMBER,
339 MODIFIER_LIST_ID NUMBER,
340 CURRENCY_CODE VARCHAR2(15),
341 ACCOUNTING_RULE_ID VARCHAR2(30),
342 INVOICE_RULE_ID VARCHAR2(30),
343 PAYMENT_TERMS_ID VARCHAR2(30),
344 CUSTOMER_PO_NUMBER nUMBER,
345 BILL_INTERVAL VARCHAR2(40),
346 INVENTORY_ITEM_ID NUMBER,
347 ITEM_QTY NUMBER,
348 ITEM_UOM_CODE VARCHAR2(30),
349 BILL_TO_ID VARCHAR2(30),
350 SHIP_TO_ID VARCHAR2(30),
351 CUSTOMER_ACCT_ID NUMBER,
352 USAGE_ITEM_FLAG VARCHAR2(1),
353 RECORD_BUILT_FLAG VARCHAR2(1)
354 );
355
356 TYPE G_SLINE_REC_TYPE IS RECORD(
357 SUB_LINE_INDEX NUMBER,
358 SUB_LINE_ID Number,
359 LINE_ID NUMBER,
360 INVENTORY_ITEM_ID NUMBER,
361 ITEM_QTY NUMBER,
362 ITEM_UOM_CODE VARCHAR2(30),
363 CP_UNIT_PRICE NUMBER,
364 UNIT_PRICE NUMBER,
365 UNIT_PERCENT NUMBER,
366 PRICED_QUANTITY NUMBER,
367 PRICED_UOM_CODE VARCHAR2(30),
368 CURRENCY_CODE VARCHAR2(30),
369 ADJUSTED_UNIT_PRICE NUMBER,
370 EXTENDED_AMOUNT NUMBER
371 );
372
373 TYPE G_SLINE_TBL_TYPE is TABLE OF G_SLINE_REC_TYPE INDEX BY BINARY_INTEGER;
374
375 TYPE G_PRICE_BREAK_REC_TYPE IS RECORD(
376 quantity_from Number,
377 quantity_to NUMBER,
378 list_price NUMBER,
379 break_method VARCHAR2(10)
380 );
381
382 TYPE G_PRICE_BREAK_TBL_TYPE is TABLE OF G_PRICE_BREAK_REC_TYPE INDEX BY BINARY_INTEGER;
383
384
385 -- This procedure will load the contract line(service item) for a given contract line ID
386 -- and returns the loaded record
387 --
388 PROCEDURE BUILD_OKC_KLINE_REC
389 (
390 p_contract_line_id IN NUMBER,
391 x_contract_line_rec OUT NOCOPY OKC_PRICE_PUB.G_LINE_REC_TYPE,
392 x_return_status OUT NOCOPY VARCHAR2
393 );
394
395 --- ******************************** P A R T II *******************************************************
396 -- 2. To assemble data in accordance to pricing engine request
397 --- This procedure is to be used by contracts authoring screen to get price of a
398 --- service item on serviceable items. The price will be returned in x_contract_cp_tbl
399 --- which the screen can display on the UI. It basically calls the overloaded calculate_price procedure
400 --- ****************************************************************************************************
401
402
403 Procedure Calculate_Price(p_clev_tbl OKC_CONTRACT_PUB.clev_tbl_type,
404 p_cimv_tbl OKC_CONTRACT_ITEM_PUB.cimv_tbl_type,
405 px_unit_price OUT NOCOPY Number,
406 px_extended_amount OUT NOCOPY Number,
407 px_message OUT NOCOPY Varchar2,
408 x_return_status OUT NOCOPY VARCHAR2,
409 x_msg_count OUT NOCOPY NUMBER,
410 x_msg_data OUT NOCOPY VARCHAR2);
411
412 /* Procedure Calculate_Price(p_cle_id Number,
413 px_contract_cp_tbl IN OUT NOCOPY OKC_PRICE_PUB.G_SLINE_TBL_TYPE,
414 x_return_status OUT NOCOPY VARCHAR2,
415 x_msg_count OUT NOCOPY NUMBER,
416 x_msg_data OUT NOCOPY VARCHAR2);
417 PROCEDURE CALCULATE_PRICE
418 (
419 p_contract_line_rec IN OKC_PRICE_PUB.G_LINE_REC_TYPE,
420 px_contract_cp_tbl IN OUT NOCOPY OKC_PRICE_PUB.G_SLINE_TBL_TYPE,
421 x_return_status OUT NOCOPY VARCHAR2,
422 x_msg_count OUT NOCOPY NUMBER,
423 x_msg_data OUT NOCOPY VARCHAR2
424 ); */
425
426
427 PROCEDURE GET_PRICE_BREAK
428 (
429 p_contract_line_rec IN OKC_PRICE_PUB.G_LINE_REC_TYPE,
430 x_price_break_tbl OUT NOCOPY OKC_PRICE_PUB.G_PRICE_BREAK_TBL_TYPE,
431 x_return_status OUT NOCOPY VARCHAR2,
432 x_msg_count OUT NOCOPY NUMBER,
433 x_msg_data OUT NOCOPY VARCHAR2
434 );
435
436 /*Following is added by JOMY */
437 PROCEDURE Get_Customer_Info (p_cust_id NUMBER);
438 FUNCTION Get_Item_Category
439 (
440 P_inventory_item_id IN NUMBER,
441 P_org_id IN NUMBER
442 ) RETURN QP_Attr_Mapping_PUB.t_MultiRecord;
443
444 FUNCTION Get_Customer_Class(p_cust_id IN NUMBER) RETURN VARCHAR2;
445
446 FUNCTION Get_Account_Type (p_cust_id IN NUMBER) RETURN QP_Attr_Mapping_PUB.t_MultiRecord;
447
448 FUNCTION Get_Sales_Channel (p_cust_id IN NUMBER) RETURN VARCHAR2;
449
450 FUNCTION Get_GSA (p_cust_id NUMBER) RETURN VARCHAR2;
451
452 FUNCTION Get_Item_Segment
453 (
454 p_inventory_item_id IN NUMBER,
455 p_org_id IN NUMBER,
456 p_seg_num NUMBER
457 ) RETURN VARCHAR2;
458 ---> Add New parameter(P_org_id IN NUMBER)
459 --added by smhanda
460 --pass global rule tbl here
461 FUNCTION Get_Site_Use (p_rul_tbl IN GLOBAL_RPRLE_TBL_TYPE) RETURN QP_Attr_Mapping_PUB.t_MultiRecord;
462 --not used anymore take get_invoice-- out later
463 FUNCTION GET_INVOICE_TO_ORG_ID (p_rul_tbl IN GLOBAL_RPRLE_TBL_TYPE,p_rle_tbl IN GLOBAL_RPRLE_TBL_TYPE) RETURN NUMBER;
464
465 FUNCTION GET_PARTY_ID (p_sold_to_org_id IN NUMBER) RETURN NUMBER ;
466 FUNCTION GET_SHIP_TO_PARTY_SITE_ID(p_rul_tbl IN GLOBAL_RPRLE_TBL_TYPE) RETURN NUMBER;
467 FUNCTION GET_INVOICE_TO_PARTY_SITE_ID(p_rul_tbl IN GLOBAL_RPRLE_TBL_TYPE) RETURN NUMBER;
468
469 -- ifilimon: added to support unit price retrieving by main item attributes
470 FUNCTION Get_Unit_Price(
471 p_price_list_id Number,
472 p_inventory_item_id Number,
473 p_uom_code Varchar2,
474 p_cur_code Varchar2,
475 p_qty NUMBER := 1
476 ) RETURN NUMBER ;
477
478 -- ifilimon: added to round unit price according to currency rules
479 FUNCTION ROUND_PRICE(p_price NUMBER, p_cur_code VARCHAR2) RETURN NUMBER;
480
481 END OKC_PRICE_PUB;