11: --select to_char(sysdate, 'sssss') into t from dual;
12: END GET_TIME;
13:
14: Function set_oe_Header_rec (
15: p_party_id number := FND_API.G_MISS_NUM
16: ,p_cust_account_id number := FND_API.G_MISS_NUM
17: ,p_price_list_id number := FND_API.G_MISS_NUM
18: ) return oe_order_pub.header_rec_type
19: is
12: END GET_TIME;
13:
14: Function set_oe_Header_rec (
15: p_party_id number := FND_API.G_MISS_NUM
16: ,p_cust_account_id number := FND_API.G_MISS_NUM
17: ,p_price_list_id number := FND_API.G_MISS_NUM
18: ) return oe_order_pub.header_rec_type
19: is
20: l_pricing_header_rec oe_order_pub.header_rec_type;
13:
14: Function set_oe_Header_rec (
15: p_party_id number := FND_API.G_MISS_NUM
16: ,p_cust_account_id number := FND_API.G_MISS_NUM
17: ,p_price_list_id number := FND_API.G_MISS_NUM
18: ) return oe_order_pub.header_rec_type
19: is
20: l_pricing_header_rec oe_order_pub.header_rec_type;
21: begin
25: return l_pricing_header_rec;
26: end set_oe_header_rec;
27:
28: Function set_aso_Header_rec (
29: p_party_id number := FND_API.G_MISS_NUM
30: ,p_cust_account_id number := FND_API.G_MISS_NUM
31: ,p_price_list_id number := FND_API.G_MISS_NUM
32: ) return aso_pricing_int.PRICING_HEADER_REC_TYPE
33: IS
26: end set_oe_header_rec;
27:
28: Function set_aso_Header_rec (
29: p_party_id number := FND_API.G_MISS_NUM
30: ,p_cust_account_id number := FND_API.G_MISS_NUM
31: ,p_price_list_id number := FND_API.G_MISS_NUM
32: ) return aso_pricing_int.PRICING_HEADER_REC_TYPE
33: IS
34: l_pricing_header_rec aso_pricing_int.PRICING_HEADER_REC_TYPE;
27:
28: Function set_aso_Header_rec (
29: p_party_id number := FND_API.G_MISS_NUM
30: ,p_cust_account_id number := FND_API.G_MISS_NUM
31: ,p_price_list_id number := FND_API.G_MISS_NUM
32: ) return aso_pricing_int.PRICING_HEADER_REC_TYPE
33: IS
34: l_pricing_header_rec aso_pricing_int.PRICING_HEADER_REC_TYPE;
35: BEGIN
41: END set_aso_header_rec;
42:
43:
44: Function set_oe_line_rec (
45: p_inventory_item_id number := FND_API.G_MISS_NUM
46: ,p_uom_code varchar2 := FND_API.G_MISS_CHAR
47: ,p_price_list_id number := FND_API.G_MISS_NUM
48: ,p_party_id number := FND_API.G_MISS_NUM
49: ,p_cust_account_id number := FND_API.G_MISS_NUM
42:
43:
44: Function set_oe_line_rec (
45: p_inventory_item_id number := FND_API.G_MISS_NUM
46: ,p_uom_code varchar2 := FND_API.G_MISS_CHAR
47: ,p_price_list_id number := FND_API.G_MISS_NUM
48: ,p_party_id number := FND_API.G_MISS_NUM
49: ,p_cust_account_id number := FND_API.G_MISS_NUM
50: ) return oe_order_pub.line_rec_type
43:
44: Function set_oe_line_rec (
45: p_inventory_item_id number := FND_API.G_MISS_NUM
46: ,p_uom_code varchar2 := FND_API.G_MISS_CHAR
47: ,p_price_list_id number := FND_API.G_MISS_NUM
48: ,p_party_id number := FND_API.G_MISS_NUM
49: ,p_cust_account_id number := FND_API.G_MISS_NUM
50: ) return oe_order_pub.line_rec_type
51: is
44: Function set_oe_line_rec (
45: p_inventory_item_id number := FND_API.G_MISS_NUM
46: ,p_uom_code varchar2 := FND_API.G_MISS_CHAR
47: ,p_price_list_id number := FND_API.G_MISS_NUM
48: ,p_party_id number := FND_API.G_MISS_NUM
49: ,p_cust_account_id number := FND_API.G_MISS_NUM
50: ) return oe_order_pub.line_rec_type
51: is
52: l_pricing_line_rec oe_order_pub.line_rec_type;
45: p_inventory_item_id number := FND_API.G_MISS_NUM
46: ,p_uom_code varchar2 := FND_API.G_MISS_CHAR
47: ,p_price_list_id number := FND_API.G_MISS_NUM
48: ,p_party_id number := FND_API.G_MISS_NUM
49: ,p_cust_account_id number := FND_API.G_MISS_NUM
50: ) return oe_order_pub.line_rec_type
51: is
52: l_pricing_line_rec oe_order_pub.line_rec_type;
53: begin
61: end set_oe_line_rec;
62:
63:
64: Function set_aso_line_rec (
65: p_inventory_item_id number := FND_API.G_MISS_NUM
66: ,p_uom_code varchar2 := FND_API.G_MISS_CHAR
67: ,p_price_list_id number := FND_API.G_MISS_NUM
68: ,p_party_id number := FND_API.G_MISS_NUM
69: ,p_cust_account_id number := FND_API.G_MISS_NUM
62:
63:
64: Function set_aso_line_rec (
65: p_inventory_item_id number := FND_API.G_MISS_NUM
66: ,p_uom_code varchar2 := FND_API.G_MISS_CHAR
67: ,p_price_list_id number := FND_API.G_MISS_NUM
68: ,p_party_id number := FND_API.G_MISS_NUM
69: ,p_cust_account_id number := FND_API.G_MISS_NUM
70:
63:
64: Function set_aso_line_rec (
65: p_inventory_item_id number := FND_API.G_MISS_NUM
66: ,p_uom_code varchar2 := FND_API.G_MISS_CHAR
67: ,p_price_list_id number := FND_API.G_MISS_NUM
68: ,p_party_id number := FND_API.G_MISS_NUM
69: ,p_cust_account_id number := FND_API.G_MISS_NUM
70:
71: --gzhang 12/03/01 model bundle
64: Function set_aso_line_rec (
65: p_inventory_item_id number := FND_API.G_MISS_NUM
66: ,p_uom_code varchar2 := FND_API.G_MISS_CHAR
67: ,p_price_list_id number := FND_API.G_MISS_NUM
68: ,p_party_id number := FND_API.G_MISS_NUM
69: ,p_cust_account_id number := FND_API.G_MISS_NUM
70:
71: --gzhang 12/03/01 model bundle
72: ,p_model_id number --:= FND_API.G_MISS_NUM
65: p_inventory_item_id number := FND_API.G_MISS_NUM
66: ,p_uom_code varchar2 := FND_API.G_MISS_CHAR
67: ,p_price_list_id number := FND_API.G_MISS_NUM
68: ,p_party_id number := FND_API.G_MISS_NUM
69: ,p_cust_account_id number := FND_API.G_MISS_NUM
70:
71: --gzhang 12/03/01 model bundle
72: ,p_model_id number --:= FND_API.G_MISS_NUM
73:
68: ,p_party_id number := FND_API.G_MISS_NUM
69: ,p_cust_account_id number := FND_API.G_MISS_NUM
70:
71: --gzhang 12/03/01 model bundle
72: ,p_model_id number --:= FND_API.G_MISS_NUM
73:
74: ) return aso_pricing_int.PRICING_line_REC_TYPE
75: is
76: l_pricing_line_rec aso_pricing_int.PRICING_line_REC_TYPE;
104: l_qual_index := nvl(px_Req_qual_tbl.last,0);
105:
106: for i in 1..p_pricing_contexts_Tbl.count loop
107: l_attr_index := l_attr_index +1;
108: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
109: ibe_util.debug(' Copy_attribs_to_req: pricing_context p_line_index = '
110: || to_char(p_line_index) ||
111: 'l_attr_index = ' || to_char(l_attr_index) );
112: END IF;
123: end loop;
124: -- Copy the qualifiers
125: for i in 1..p_qualifier_contexts_Tbl.count loop
126: l_qual_index := l_qual_index +1;
127: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
128: ibe_util.debug(' Copy_attribs_to_req: pricing_context = '
129: || to_char(p_line_index) ||
130: 'l_qual_index = ' || to_char(l_qual_index) );
131: END IF;
143:
144: Procedure getReqLineAttrAndQual(
145: p_inventory_item_id in number
146: ,p_uom_code in varchar2
147: ,p_price_list_id in number := FND_API.G_MISS_NUM
148: ,p_party_id in number := FND_API.G_MISS_NUM
149: ,p_cust_account_id in number := FND_API.G_MISS_NUM
150:
151: --gzhang 12/03/01 model bundle
144: Procedure getReqLineAttrAndQual(
145: p_inventory_item_id in number
146: ,p_uom_code in varchar2
147: ,p_price_list_id in number := FND_API.G_MISS_NUM
148: ,p_party_id in number := FND_API.G_MISS_NUM
149: ,p_cust_account_id in number := FND_API.G_MISS_NUM
150:
151: --gzhang 12/03/01 model bundle
152: ,p_model_id in number --:= FND_API.G_MISS_NUM
145: p_inventory_item_id in number
146: ,p_uom_code in varchar2
147: ,p_price_list_id in number := FND_API.G_MISS_NUM
148: ,p_party_id in number := FND_API.G_MISS_NUM
149: ,p_cust_account_id in number := FND_API.G_MISS_NUM
150:
151: --gzhang 12/03/01 model bundle
152: ,p_model_id in number --:= FND_API.G_MISS_NUM
153:
148: ,p_party_id in number := FND_API.G_MISS_NUM
149: ,p_cust_account_id in number := FND_API.G_MISS_NUM
150:
151: --gzhang 12/03/01 model bundle
152: ,p_model_id in number --:= FND_API.G_MISS_NUM
153:
154: ,p_line_index in number
155: ,p_request_type_code in varchar2
156: ,px_req_line_attr_tbl in out nocopy QP_PREQ_GRP.LINE_ATTR_TBL_TYPE
181: P_PRICING_TYPE => 'L',
182: X_PRICE_CONTEXTS_RESULT_TBL => l_pricing_contexts_tbl,
183: X_QUAL_CONTEXTS_RESULT_TBL => l_qual_contexts_tbl);
184:
185: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
186: ibe_util.debug('getReqLineAttrAndQual last_attr_in='
187: || to_char(nvl(px_req_line_attr_tbl.last,0)));
188: ibe_util.debug('getReqLineAttrAndQual last_qual_in='
189: || to_char(nvl(px_req_qual_tbl.last,0)));
198: end getREQLineAttrAndQual;
199:
200:
201: Procedure getHeaderAttrAndQual(
202: p_party_id in number := FND_API.G_MISS_NUM
203: ,p_cust_account_id in number := FND_API.G_MISS_NUM
204: ,p_price_list_id in number := FND_API.G_MISS_NUM
205:
206: --gzhang 12/03/01 model bundle
199:
200:
201: Procedure getHeaderAttrAndQual(
202: p_party_id in number := FND_API.G_MISS_NUM
203: ,p_cust_account_id in number := FND_API.G_MISS_NUM
204: ,p_price_list_id in number := FND_API.G_MISS_NUM
205:
206: --gzhang 12/03/01 model bundle
207: --,p_model_id in number := FND_API.G_MISS_NUM
200:
201: Procedure getHeaderAttrAndQual(
202: p_party_id in number := FND_API.G_MISS_NUM
203: ,p_cust_account_id in number := FND_API.G_MISS_NUM
204: ,p_price_list_id in number := FND_API.G_MISS_NUM
205:
206: --gzhang 12/03/01 model bundle
207: --,p_model_id in number := FND_API.G_MISS_NUM
208:
203: ,p_cust_account_id in number := FND_API.G_MISS_NUM
204: ,p_price_list_id in number := FND_API.G_MISS_NUM
205:
206: --gzhang 12/03/01 model bundle
207: --,p_model_id in number := FND_API.G_MISS_NUM
208:
209: ,p_request_type_code in varchar2
210: ,x_pricing_contexts_tbl out nocopy QP_Attr_Mapping_PUB.Contexts_Result_Tbl_Type
211: ,x_qual_contexts_tbl out nocopy QP_Attr_Mapping_PUB.Contexts_Result_Tbl_Type
242:
243: --- wendy start only used by testing purpose
244:
245: Procedure getReqHeaderAttrAndQual(
246: p_party_id in number := FND_API.G_MISS_NUM
247: ,p_cust_account_id in number := FND_API.G_MISS_NUM
248: ,p_price_list_id in number := FND_API.G_MISS_NUM
249:
250: --gzhang 12/03/01 model bundle
243: --- wendy start only used by testing purpose
244:
245: Procedure getReqHeaderAttrAndQual(
246: p_party_id in number := FND_API.G_MISS_NUM
247: ,p_cust_account_id in number := FND_API.G_MISS_NUM
248: ,p_price_list_id in number := FND_API.G_MISS_NUM
249:
250: --gzhang 12/03/01 model bundle
251: --,p_model_id in number := FND_API.G_MISS_NUM
244:
245: Procedure getReqHeaderAttrAndQual(
246: p_party_id in number := FND_API.G_MISS_NUM
247: ,p_cust_account_id in number := FND_API.G_MISS_NUM
248: ,p_price_list_id in number := FND_API.G_MISS_NUM
249:
250: --gzhang 12/03/01 model bundle
251: --,p_model_id in number := FND_API.G_MISS_NUM
252:
247: ,p_cust_account_id in number := FND_API.G_MISS_NUM
248: ,p_price_list_id in number := FND_API.G_MISS_NUM
249:
250: --gzhang 12/03/01 model bundle
251: --,p_model_id in number := FND_API.G_MISS_NUM
252:
253: ,p_line_index in number
254: ,p_request_type_code in varchar2
255: ,px_req_line_attr_tbl in out nocopy QP_PREQ_GRP.LINE_ATTR_TBL_TYPE
310: ,px_line_rec IN OUT NOCOPY QP_PREQ_GRP.LINE_REC_TYPE
311: )
312: IS
313: BEGIN
314: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
315: ibe_util.debug('Set_Line_Rec: uom_code=' || p_uom_code);
316: END IF;
317:
318: px_line_rec.request_type_code := p_request_type_code;
396: ,px_qual_rec IN OUT NOCOPY QP_PREQ_GRP.QUAL_REC_TYPE
397: )
398: IS
399: BEGIN
400: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
401: ibe_util.debug('Set_Qual_Rec price_list_id='
402: || p_price_list_id);
403: END IF;
404:
431: PROCEDURE SetRequest(
432: p_inventory_item_id in number
433: ,p_uom_code in varchar2
434: ,p_currency_code in varchar2
435: ,p_price_list_id in number := FND_API.G_MISS_NUM
436: ,p_party_id in number := FND_API.G_MISS_NUM
437: ,p_cust_account_id in number := FND_API.G_MISS_NUM
438:
439: --gzhang 12/03/01 model bundle
432: p_inventory_item_id in number
433: ,p_uom_code in varchar2
434: ,p_currency_code in varchar2
435: ,p_price_list_id in number := FND_API.G_MISS_NUM
436: ,p_party_id in number := FND_API.G_MISS_NUM
437: ,p_cust_account_id in number := FND_API.G_MISS_NUM
438:
439: --gzhang 12/03/01 model bundle
440: ,p_model_id in number --:= FND_API.G_MISS_NUM
433: ,p_uom_code in varchar2
434: ,p_currency_code in varchar2
435: ,p_price_list_id in number := FND_API.G_MISS_NUM
436: ,p_party_id in number := FND_API.G_MISS_NUM
437: ,p_cust_account_id in number := FND_API.G_MISS_NUM
438:
439: --gzhang 12/03/01 model bundle
440: ,p_model_id in number --:= FND_API.G_MISS_NUM
441:
436: ,p_party_id in number := FND_API.G_MISS_NUM
437: ,p_cust_account_id in number := FND_API.G_MISS_NUM
438:
439: --gzhang 12/03/01 model bundle
440: ,p_model_id in number --:= FND_API.G_MISS_NUM
441:
442: ,p_line_id in number
443: ,p_line_index in number
444: ,p_request_type_code varchar2
454: -- setup request line
455: GetReqLine(p_uom_code, p_currency_code,
456: p_line_id, p_line_index, p_request_type_code, px_line_tbl);
457: if (g_use_header_qual = 'Y') then
458: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
459: ibe_util.debug('set_request: Using header Qualify');
460: END IF;
461:
462: getReqLineAttrAndQual(
477: px_req_line_attr_tbl => px_req_line_attr_tbl,
478: px_req_qual_tbl => px_req_qual_tbl);
479:
480: else
481: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
482: ibe_util.debug('set_request: Using Line Qualify');
483: END IF;
484:
485: getReqLineAttrAndQual(
511: END clear_Global_Structures;
512:
513:
514: PROCEDURE GetPricesFromQP(
515: p_price_list_id IN NUMBER := FND_API.G_MISS_NUM
516: ,p_party_id IN NUMBER := FND_API.G_MISS_NUM
517: ,p_cust_account_id IN NUMBER := FND_API.G_MISS_NUM
518:
519: --gzhang 12/03/01 model bundle support
512:
513:
514: PROCEDURE GetPricesFromQP(
515: p_price_list_id IN NUMBER := FND_API.G_MISS_NUM
516: ,p_party_id IN NUMBER := FND_API.G_MISS_NUM
517: ,p_cust_account_id IN NUMBER := FND_API.G_MISS_NUM
518:
519: --gzhang 12/03/01 model bundle support
520: ,p_model_id IN NUMBER --:= FND_API.G_MISS_NUM
513:
514: PROCEDURE GetPricesFromQP(
515: p_price_list_id IN NUMBER := FND_API.G_MISS_NUM
516: ,p_party_id IN NUMBER := FND_API.G_MISS_NUM
517: ,p_cust_account_id IN NUMBER := FND_API.G_MISS_NUM
518:
519: --gzhang 12/03/01 model bundle support
520: ,p_model_id IN NUMBER --:= FND_API.G_MISS_NUM
521:
516: ,p_party_id IN NUMBER := FND_API.G_MISS_NUM
517: ,p_cust_account_id IN NUMBER := FND_API.G_MISS_NUM
518:
519: --gzhang 12/03/01 model bundle support
520: ,p_model_id IN NUMBER --:= FND_API.G_MISS_NUM
521:
522: ,p_currency_code IN VARCHAR2
523: ,p_item_tbl IN JTF_NUMBER_TABLE
524: ,p_uom_tbl IN JTF_VARCHAR2_TABLE_100
629: IF (p_parentIndex_tbl is not null and p_childindex_tbl is not null) then
630: FOR I in 1..p_parentIndex_tbl.count Loop
631: l_rltd_rec.line_index := p_parentIndex_tbl(I);
632:
633: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
634: ibe_util.debug('getpricefromqp: Line index='||l_rltd_rec.line_index);
635: END IF;
636:
637: l_rltd_rec.LINE_DETAIL_INDEX := 0;
636:
637: l_rltd_rec.LINE_DETAIL_INDEX := 0;
638: l_rltd_rec.RELATED_LINE_INDEX :=p_childIndex_tbl(I);
639:
640: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
641: ibe_util.debug('getpricefromqp: Line index='||l_rltd_rec.related_line_index);
642: END IF;
643:
644: l_rltd_rec.RELATIONSHIP_TYPE_CODE := QP_PREQ_GRP.G_SERVICE_LINE;
646: END LOOP;
647: END IF;
648:
649:
650: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
651: ibe_util.debug('total lines ='|| l_line_tbl.count);
652: END IF;
653:
654: get_time(l_t1);
670: x_return_status,
671: x_return_status_text);
672:
673: get_time(l_t2);
674: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
675: ibe_util.debug('Call duration of price_request Time(secs) ='|| to_char(l_t2-l_t1));
676: END IF;
677:
678: -- clear values in global structures that were used
698: x_line_tbl(I).priced_quantity;
699: x_status_code_tbl(I) := x_line_tbl(I).status_code;
700:
701: if(lengthb(x_line_tbl(I).status_text)>300) then
702: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
703: ibe_util.debug('status_text has more than 300 bytes and has been truncated to 300 bytes:' || x_line_tbl(I).status_text);
704: END IF;
705:
706: x_status_text_tbl(I) := substrb(x_line_tbl(I).status_text, 1, 300);
719: x_childIndex_tbl(I) := x_related_lines_tbl(I).related_line_index;
720: END LOOP;
721: get_time(l_t2);
722:
723: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
724: ibe_util.debug('Duration of populating Line Items Time(ms) ='|| to_char(l_t1-l_t0));
725: ibe_util.debug('Duration of Price Request Time(ms) ='|| to_char(l_t2-l_t1));
726: ibe_util.debug('Duration of Price Request Time(ms) ='|| to_char(l_t3-l_t2));
727: END IF;
731:
732: --gzhang 12/01/04 model bundle
733: -- new API
734: PROCEDURE CalculatePrices(
735: p_price_list_id IN NUMBER := FND_API.G_MISS_NUM
736: ,p_party_id IN NUMBER := FND_API.G_MISS_NUM
737: ,p_cust_account_id IN NUMBER := FND_API.G_MISS_NUM
738: ,p_model_id IN NUMBER --:= FND_API.G_MISS_NUM
739:
732: --gzhang 12/01/04 model bundle
733: -- new API
734: PROCEDURE CalculatePrices(
735: p_price_list_id IN NUMBER := FND_API.G_MISS_NUM
736: ,p_party_id IN NUMBER := FND_API.G_MISS_NUM
737: ,p_cust_account_id IN NUMBER := FND_API.G_MISS_NUM
738: ,p_model_id IN NUMBER --:= FND_API.G_MISS_NUM
739:
740: ,p_organization_id IN NUMBER
733: -- new API
734: PROCEDURE CalculatePrices(
735: p_price_list_id IN NUMBER := FND_API.G_MISS_NUM
736: ,p_party_id IN NUMBER := FND_API.G_MISS_NUM
737: ,p_cust_account_id IN NUMBER := FND_API.G_MISS_NUM
738: ,p_model_id IN NUMBER --:= FND_API.G_MISS_NUM
739:
740: ,p_organization_id IN NUMBER
741: ,p_currency_code IN VARCHAR2
734: PROCEDURE CalculatePrices(
735: p_price_list_id IN NUMBER := FND_API.G_MISS_NUM
736: ,p_party_id IN NUMBER := FND_API.G_MISS_NUM
737: ,p_cust_account_id IN NUMBER := FND_API.G_MISS_NUM
738: ,p_model_id IN NUMBER --:= FND_API.G_MISS_NUM
739:
740: ,p_organization_id IN NUMBER
741: ,p_currency_code IN VARCHAR2
742: ,p_item_tbl IN JTF_NUMBER_TABLE
803: l_end_time NUMBER;
804:
805: BEGIN
806: L_API := 'CalculatePrices';
807: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
808: IBE_UTIL.Debug(g_pkg_name||'.CalculatePrices: total items='||p_item_tbl.count);
809: IBE_UTIL.Debug(g_pkg_name||'.CalculatePrices: Before calling QP:p_price_list_id='||p_price_list_id
810: ||',p_party_id='||p_party_id
811: ||',p_cust_account_id='||p_cust_account_id
835: x_return_status => x_return_status,
836: x_return_status_text => x_return_status_text
837: );
838:
839: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
840: IBE_UTIL.Debug(g_pkg_name||'.CalculatePrices: Returned from GetPricesFromQP total items='||p_item_tbl.count);
841: END IF;
842: --ZHGG_UTIL.Debug(g_pkg_name||'.CalculatePrices: Returned from GetPricesFromQP total items='||p_item_tbl.count);
843:
851: OPEN l_bom_item_type_csr(l_itm_id);
852: FETCH l_bom_item_type_csr INTO l_bom_item_type, l_primary_uom_code;
853: CLOSE l_bom_item_type_csr;
854:
855: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
856: IBE_UTIL.Debug(g_pkg_name||'.CalculatePrices: item='||l_itm_id||', bom_item_type = '|| l_bom_item_type
857: ||',uom='||p_uom_tbl(I)
858: ||',primary_uom_code='||l_primary_uom_code
859: ||',listPrice='||x_listprice_tbl(I)
866: ELSE
867: l_model_bundle_flag := p_model_bundle_flag_tbl(I);
868: END IF;
869:
870: IF l_model_bundle_flag = FND_API.G_TRUE THEN
871: IF l_primary_uom_code = p_uom_tbl(I) THEN --Model Bundle only support pricing for primary uom code
872:
873: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
874: IBE_UTIL.Debug(g_pkg_name||'.CalculatePrices: Item '||l_itm_id||' is a model bundle.');
869:
870: IF l_model_bundle_flag = FND_API.G_TRUE THEN
871: IF l_primary_uom_code = p_uom_tbl(I) THEN --Model Bundle only support pricing for primary uom code
872:
873: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
874: IBE_UTIL.Debug(g_pkg_name||'.CalculatePrices: Item '||l_itm_id||' is a model bundle.');
875: END IF;
876:
877: IBE_CCTBOM_PVT.Load_Components(p_api_version =>1.0,
881: p_model_id =>l_itm_id,
882: p_organization_id =>p_organization_id,
883: x_item_csr =>l_item_csr);
884:
885: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
886: IBE_UTIL.Debug(g_pkg_name||'.CalculatePrices: returned from IBE_CCTBOM_PVT');
887: END IF;
888:
889: IF l_return_status = FND_API.G_RET_STS_SUCCESS THEN --gzhang 05/24/2002, bug#2279562
885: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
886: IBE_UTIL.Debug(g_pkg_name||'.CalculatePrices: returned from IBE_CCTBOM_PVT');
887: END IF;
888:
889: IF l_return_status = FND_API.G_RET_STS_SUCCESS THEN --gzhang 05/24/2002, bug#2279562
890: l_index := 1;
891: FETCH l_item_csr INTO l_bom_exp_rec;
892: WHILE l_item_csr%FOUND LOOP
893: l_sub_itm_tbl.EXTEND;
898:
899: l_sub_uom_tbl(l_index) := l_bom_exp_rec.primary_uom_code;
900: l_sub_qty_tbl(l_index) := l_bom_exp_rec.component_quantity;
901:
902: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
903: IBE_UTIL.Debug(g_pkg_name||'.CalculatePrices: Component '||l_index||' of Model Item '||l_itm_id||': item_id='||l_sub_itm_tbl(l_index)||',uom='||l_sub_uom_tbl(l_index)||',qty='||l_sub_qty_tbl(l_index));
904: END IF;
905:
906: l_index := l_index + 1;
907: FETCH l_item_csr INTO l_bom_exp_rec;
908: END LOOP;
909: CLOSE l_item_csr;
910:
911: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
912: IBE_UTIL.Debug(g_pkg_name||'.CalculatePrices: Currency Code for Model Item '||l_itm_id||':'||p_currency_code);
913: IBE_UTIL.Debug(g_pkg_name||'.CalculatePrices: Price List for Model Item '||l_itm_id||':'||p_price_list_id);
914: IBE_UTIL.Debug(g_pkg_name||'.CalculatePrices: Organization ID for Model Item '||l_itm_id||':'||p_organization_id);
915: IBE_UTIL.Debug(g_pkg_name||'.CalculatePrices: Request Type for Model Item '||l_itm_id||':'||p_request_type_code);
937: x_return_status => l_sub_return_status,
938: x_return_status_text => l_sub_return_status_text
939: );
940:
941: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
942: IBE_UTIL.Debug(g_pkg_name||'.CalculatePrices: After QP total items='||l_sub_itm_tbl.count);
943: IBE_UTIL.Debug(g_pkg_name||'.CalculatePrices: Return Status for Model Item '||l_itm_id||':'||l_sub_return_status);
944: IBE_UTIL.Debug(g_pkg_name||'.CalculatePrices: Return Status Text for Model Item '||l_itm_id||':'||l_sub_return_status_text);
945: END IF;
943: IBE_UTIL.Debug(g_pkg_name||'.CalculatePrices: Return Status for Model Item '||l_itm_id||':'||l_sub_return_status);
944: IBE_UTIL.Debug(g_pkg_name||'.CalculatePrices: Return Status Text for Model Item '||l_itm_id||':'||l_sub_return_status_text);
945: END IF;
946:
947: IF l_sub_return_status = FND_API.G_RET_STS_SUCCESS THEN
948: FOR J IN 1..l_sub_itm_tbl.count LOOP
949: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
950: IBE_UTIL.Debug(g_pkg_name||'.CalculatePrices: Subprice for Model Item '||l_itm_id||'-'||l_sub_itm_tbl(J)||'-'||l_sub_uom_tbl(J)||':list='||l_sub_listprice_tbl(J)||',best='||l_sub_bestprice_tbl(J));
951: END IF;
945: END IF;
946:
947: IF l_sub_return_status = FND_API.G_RET_STS_SUCCESS THEN
948: FOR J IN 1..l_sub_itm_tbl.count LOOP
949: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
950: IBE_UTIL.Debug(g_pkg_name||'.CalculatePrices: Subprice for Model Item '||l_itm_id||'-'||l_sub_itm_tbl(J)||'-'||l_sub_uom_tbl(J)||':list='||l_sub_listprice_tbl(J)||',best='||l_sub_bestprice_tbl(J));
951: END IF;
952: x_listprice_tbl(I) := x_listprice_tbl(I) + l_sub_listprice_tbl(J)*l_sub_qty_tbl(J);
953: x_bestprice_tbl(I) := x_bestprice_tbl(I) + l_sub_bestprice_tbl(J)*l_sub_qty_tbl(J);
951: END IF;
952: x_listprice_tbl(I) := x_listprice_tbl(I) + l_sub_listprice_tbl(J)*l_sub_qty_tbl(J);
953: x_bestprice_tbl(I) := x_bestprice_tbl(I) + l_sub_bestprice_tbl(J)*l_sub_qty_tbl(J);
954: END LOOP;
955: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
956: IBE_UTIL.Debug(g_pkg_name||'.CalculatePrices: Total Price of Model Item '||l_itm_id||': list='||x_listprice_tbl(I)||',best='||x_bestprice_tbl(I));
957: END IF;
958: ELSE -- Exception in component item pricing
959: x_listprice_tbl(I) := NULL;
957: END IF;
958: ELSE -- Exception in component item pricing
959: x_listprice_tbl(I) := NULL;
960: x_bestprice_tbl(I) := NULL;
961: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
962: IBE_UTIL.Debug(g_pkg_name||'.CalculatePrices: Exception in component item pricing. set price to null');
963: END IF;
964: END IF;
965:
968: l_sub_qty_tbl.DELETE;
969: ELSE --gzhang 05/24/2002, bug#2279562, BOM Exception
970: x_listprice_tbl(I) := NULL;
971: x_bestprice_tbl(I) := NULL;
972: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
973: IBE_UTIL.Debug(g_pkg_name||'.CalculatePrices: BOM Explode Exception. set price to null');
974: END IF;
975: END IF;
976: ELSE -- Not a primary UOM code
975: END IF;
976: ELSE -- Not a primary UOM code
977: x_listprice_tbl(I) := NULL;
978: x_bestprice_tbl(I) := NULL;
979: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
980: IBE_UTIL.Debug(g_pkg_name||'.CalculatePrices: uom ='||p_uom_tbl(I)||', not primary uom code, set price null.');
981: END IF;
982: END IF;
983: /*gzhang 01/30/2003 bug fix#2690511
980: IBE_UTIL.Debug(g_pkg_name||'.CalculatePrices: uom ='||p_uom_tbl(I)||', not primary uom code, set price null.');
981: END IF;
982: END IF;
983: /*gzhang 01/30/2003 bug fix#2690511
984: ELSIF l_bom_item_type = 1 AND CZ_CF_API.UI_FOR_ITEM(l_itm_id, p_organization_id, SYSDATE, 'DHTML', FND_API.G_MISS_NUM, l_resp_id, l_resp_appl_id) IS NULL THEN
985: -- invalid model bundle
986: x_listprice_tbl(I) := NULL;
987: x_bestprice_tbl(I) := NULL;
988: IBE_UTIL.Debug(g_pkg_name||'.CalculatePrices: invalid model bundle (item='||l_itm_id||', set price null.');*/
991: --gzhang 08/08/2002, bug#2488246
992: --IBE_UTIL.Disable_Debug;
993: l_end_time := DBMS_UTILITY.GET_TIME;
994: --ZHGG_UTIL.debug(G_PKG_NAME||'.'||L_API||': end, elapsed time (s) ='||(l_end_time-l_start_time)/100);
995: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
996: IBE_UTIL.debug(G_PKG_NAME||'.'||L_API||': end, elapsed time (s) ='||(l_end_time-l_start_time)/100);
997: END IF;
998:
999: END CalculatePrices;
1002: PROCEDURE GetPrice(
1003: p_price_list_id IN NUMBER
1004:
1005: --gzhang 12/03/01 model bundle
1006: ,p_model_id IN NUMBER := FND_API.G_MISS_NUM
1007: ,p_organization_id IN NUMBER := FND_API.G_MISS_NUM
1008:
1009: ,p_currency_code IN VARCHAR2
1010: ,p_inventory_item_id IN NUMBER
1003: p_price_list_id IN NUMBER
1004:
1005: --gzhang 12/03/01 model bundle
1006: ,p_model_id IN NUMBER := FND_API.G_MISS_NUM
1007: ,p_organization_id IN NUMBER := FND_API.G_MISS_NUM
1008:
1009: ,p_currency_code IN VARCHAR2
1010: ,p_inventory_item_id IN NUMBER
1011: ,p_uom_code IN VARCHAR2
1089: p_party_id IN NUMBER
1090: ,p_cust_account_id IN NUMBER
1091:
1092: --gzhang 12/03/01 model bundle
1093: ,p_model_id IN NUMBER := FND_API.G_MISS_NUM
1094: ,p_organization_id IN NUMBER := FND_API.G_MISS_NUM
1095:
1096: ,p_currency_code IN VARCHAR2
1097: ,p_inventory_item_id IN NUMBER
1090: ,p_cust_account_id IN NUMBER
1091:
1092: --gzhang 12/03/01 model bundle
1093: ,p_model_id IN NUMBER := FND_API.G_MISS_NUM
1094: ,p_organization_id IN NUMBER := FND_API.G_MISS_NUM
1095:
1096: ,p_currency_code IN VARCHAR2
1097: ,p_inventory_item_id IN NUMBER
1098: ,p_uom_code IN VARCHAR2
1179: ,p_party_id IN NUMBER
1180: ,p_cust_account_id IN NUMBER
1181:
1182: --gzhang 12/03/01 model bundle
1183: ,p_model_id IN NUMBER := FND_API.G_MISS_NUM
1184: ,p_organization_id IN NUMBER := FND_API.G_MISS_NUM
1185:
1186: ,p_currency_code IN VARCHAR2
1187: ,p_inventory_item_id IN NUMBER
1180: ,p_cust_account_id IN NUMBER
1181:
1182: --gzhang 12/03/01 model bundle
1183: ,p_model_id IN NUMBER := FND_API.G_MISS_NUM
1184: ,p_organization_id IN NUMBER := FND_API.G_MISS_NUM
1185:
1186: ,p_currency_code IN VARCHAR2
1187: ,p_inventory_item_id IN NUMBER
1188: ,p_uom_code IN VARCHAR2
1222: l_item_tbl.extend();
1223: l_item_tbl(1) := p_inventory_item_id;
1224: l_uom_tbl.extend();
1225: l_uom_tbl(1) := p_uom_code;
1226: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
1227: IBE_UTIL.DEBUG('price list: ' || p_price_list_id);
1228: IBE_UTIL.DEBUG('party: ' || p_party_id);
1229: IBE_UTIL.DEBUG('account: ' || p_cust_account_id);
1230: END IF;
1273: PROCEDURE GetPrice(
1274: p_price_list_id IN NUMBER
1275:
1276: --gzhang 12/03/01 model bundle
1277: ,p_model_id IN NUMBER := FND_API.G_MISS_NUM
1278: ,p_organization_id IN NUMBER := FND_API.G_MISS_NUM
1279:
1280: ,p_currency_code IN VARCHAR2
1281: ,p_inventory_item_id IN NUMBER
1274: p_price_list_id IN NUMBER
1275:
1276: --gzhang 12/03/01 model bundle
1277: ,p_model_id IN NUMBER := FND_API.G_MISS_NUM
1278: ,p_organization_id IN NUMBER := FND_API.G_MISS_NUM
1279:
1280: ,p_currency_code IN VARCHAR2
1281: ,p_inventory_item_id IN NUMBER
1282: ,p_uom_code IN VARCHAR2
1391: p_party_id IN NUMBER
1392: ,p_cust_account_id IN NUMBER
1393:
1394: --gzhang 12/03/01 model bundle
1395: ,p_model_id IN NUMBER := FND_API.G_MISS_NUM
1396: ,p_organization_id IN NUMBER := FND_API.G_MISS_NUM
1397:
1398: ,p_currency_code IN VARCHAR2
1399: ,p_inventory_item_id IN NUMBER
1392: ,p_cust_account_id IN NUMBER
1393:
1394: --gzhang 12/03/01 model bundle
1395: ,p_model_id IN NUMBER := FND_API.G_MISS_NUM
1396: ,p_organization_id IN NUMBER := FND_API.G_MISS_NUM
1397:
1398: ,p_currency_code IN VARCHAR2
1399: ,p_inventory_item_id IN NUMBER
1400: ,p_uom_code IN VARCHAR2
1512: ,p_party_id IN NUMBER
1513: ,p_cust_account_id IN NUMBER
1514:
1515: --gzhang 12/03/01 model bundle
1516: ,p_model_id IN NUMBER := FND_API.G_MISS_NUM
1517: ,p_organization_id IN NUMBER := FND_API.G_MISS_NUM
1518:
1519: ,p_currency_code IN VARCHAR2
1520: ,p_inventory_item_id IN NUMBER
1513: ,p_cust_account_id IN NUMBER
1514:
1515: --gzhang 12/03/01 model bundle
1516: ,p_model_id IN NUMBER := FND_API.G_MISS_NUM
1517: ,p_organization_id IN NUMBER := FND_API.G_MISS_NUM
1518:
1519: ,p_currency_code IN VARCHAR2
1520: ,p_inventory_item_id IN NUMBER
1521: ,p_uom_code IN VARCHAR2
1629: PROCEDURE GetPrices(
1630: p_price_list_id IN NUMBER
1631:
1632: --gzhang 12/03/01 model bundle
1633: ,p_model_id IN NUMBER := FND_API.G_MISS_NUM
1634: ,p_organization_id IN NUMBER := FND_API.G_MISS_NUM
1635:
1636: ,p_currency_code IN VARCHAR2
1637: ,p_item_tbl IN JTF_NUMBER_TABLE
1630: p_price_list_id IN NUMBER
1631:
1632: --gzhang 12/03/01 model bundle
1633: ,p_model_id IN NUMBER := FND_API.G_MISS_NUM
1634: ,p_organization_id IN NUMBER := FND_API.G_MISS_NUM
1635:
1636: ,p_currency_code IN VARCHAR2
1637: ,p_item_tbl IN JTF_NUMBER_TABLE
1638: ,p_uom_tbl IN JTF_VARCHAR2_TABLE_100
1694: p_party_id IN NUMBER
1695: ,p_cust_account_id IN number
1696:
1697: --gzhang 12/03/01 model bundle
1698: ,p_model_id IN NUMBER := FND_API.G_MISS_NUM
1699: ,p_organization_id IN NUMBER := FND_API.G_MISS_NUM
1700:
1701: ,p_currency_code IN VARCHAR2
1702: ,p_item_tbl IN JTF_NUMBER_TABLE
1695: ,p_cust_account_id IN number
1696:
1697: --gzhang 12/03/01 model bundle
1698: ,p_model_id IN NUMBER := FND_API.G_MISS_NUM
1699: ,p_organization_id IN NUMBER := FND_API.G_MISS_NUM
1700:
1701: ,p_currency_code IN VARCHAR2
1702: ,p_item_tbl IN JTF_NUMBER_TABLE
1703: ,p_uom_tbl IN JTF_VARCHAR2_TABLE_100
1761: ,p_party_id IN NUMBER
1762: ,p_cust_account_id IN number
1763:
1764: --gzhang 12/03/01 model bundle
1765: ,p_model_id IN NUMBER := FND_API.G_MISS_NUM
1766: ,p_organization_id IN NUMBER := FND_API.G_MISS_NUM
1767:
1768: ,p_currency_code IN VARCHAR2
1769: ,p_item_tbl IN JTF_NUMBER_TABLE
1762: ,p_cust_account_id IN number
1763:
1764: --gzhang 12/03/01 model bundle
1765: ,p_model_id IN NUMBER := FND_API.G_MISS_NUM
1766: ,p_organization_id IN NUMBER := FND_API.G_MISS_NUM
1767:
1768: ,p_currency_code IN VARCHAR2
1769: ,p_item_tbl IN JTF_NUMBER_TABLE
1770: ,p_uom_tbl IN JTF_VARCHAR2_TABLE_100
1827: PROCEDURE GetPrices(
1828: p_price_list_id IN NUMBER
1829:
1830: --gzhang 12/03/01 model bundle
1831: ,p_model_id IN NUMBER := FND_API.G_MISS_NUM
1832: ,p_organization_id IN NUMBER := FND_API.G_MISS_NUM
1833:
1834: ,p_currency_code IN VARCHAR2
1835: ,p_item_tbl IN JTF_NUMBER_TABLE
1828: p_price_list_id IN NUMBER
1829:
1830: --gzhang 12/03/01 model bundle
1831: ,p_model_id IN NUMBER := FND_API.G_MISS_NUM
1832: ,p_organization_id IN NUMBER := FND_API.G_MISS_NUM
1833:
1834: ,p_currency_code IN VARCHAR2
1835: ,p_item_tbl IN JTF_NUMBER_TABLE
1836: ,p_uom_tbl IN JTF_VARCHAR2_TABLE_100
1896: p_party_id IN NUMBER
1897: ,p_cust_account_id IN number
1898:
1899: --gzhang 12/03/01 model bundle
1900: ,p_model_id IN NUMBER := FND_API.G_MISS_NUM
1901: ,p_organization_id IN NUMBER := FND_API.G_MISS_NUM
1902:
1903: ,p_currency_code IN VARCHAR2
1904: ,p_item_tbl IN JTF_NUMBER_TABLE
1897: ,p_cust_account_id IN number
1898:
1899: --gzhang 12/03/01 model bundle
1900: ,p_model_id IN NUMBER := FND_API.G_MISS_NUM
1901: ,p_organization_id IN NUMBER := FND_API.G_MISS_NUM
1902:
1903: ,p_currency_code IN VARCHAR2
1904: ,p_item_tbl IN JTF_NUMBER_TABLE
1905: ,p_uom_tbl IN JTF_VARCHAR2_TABLE_100
1967: ,p_party_id IN NUMBER
1968: ,p_cust_account_id IN number
1969:
1970: --gzhang 12/03/01 model bundle
1971: ,p_model_id IN NUMBER := FND_API.G_MISS_NUM
1972: ,p_organization_id IN NUMBER := FND_API.G_MISS_NUM
1973:
1974: ,p_currency_code IN VARCHAR2
1975: ,p_item_tbl IN JTF_NUMBER_TABLE
1968: ,p_cust_account_id IN number
1969:
1970: --gzhang 12/03/01 model bundle
1971: ,p_model_id IN NUMBER := FND_API.G_MISS_NUM
1972: ,p_organization_id IN NUMBER := FND_API.G_MISS_NUM
1973:
1974: ,p_currency_code IN VARCHAR2
1975: ,p_item_tbl IN JTF_NUMBER_TABLE
1976: ,p_uom_tbl IN JTF_VARCHAR2_TABLE_100
2033: END GetPrices;
2034:
2035: -- integration with QP TEMP table
2036: PROCEDURE PRICE_REQUEST(
2037: p_price_list_id IN NUMBER := FND_API.G_MISS_NUM
2038: ,p_party_id IN NUMBER := FND_API.G_MISS_NUM
2039: ,p_cust_account_id IN NUMBER := FND_API.G_MISS_NUM
2040: ,p_currency_code IN VARCHAR2
2041: ,p_minisite_id IN NUMBER := NULL
2034:
2035: -- integration with QP TEMP table
2036: PROCEDURE PRICE_REQUEST(
2037: p_price_list_id IN NUMBER := FND_API.G_MISS_NUM
2038: ,p_party_id IN NUMBER := FND_API.G_MISS_NUM
2039: ,p_cust_account_id IN NUMBER := FND_API.G_MISS_NUM
2040: ,p_currency_code IN VARCHAR2
2041: ,p_minisite_id IN NUMBER := NULL
2042: ,p_item_tbl IN QP_PREQ_GRP.NUMBER_TYPE
2035: -- integration with QP TEMP table
2036: PROCEDURE PRICE_REQUEST(
2037: p_price_list_id IN NUMBER := FND_API.G_MISS_NUM
2038: ,p_party_id IN NUMBER := FND_API.G_MISS_NUM
2039: ,p_cust_account_id IN NUMBER := FND_API.G_MISS_NUM
2040: ,p_currency_code IN VARCHAR2
2041: ,p_minisite_id IN NUMBER := NULL
2042: ,p_item_tbl IN QP_PREQ_GRP.NUMBER_TYPE
2043: ,p_uom_code_tbl IN OUT NOCOPY QP_PREQ_GRP.VARCHAR_TYPE
2126: AND organization_id = l_organization_id;
2127:
2128: BEGIN
2129: L_API := 'PRICE_REQUEST';
2130: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
2131: IBE_UTIL.DEBUG(g_pkg_name||'.'||L_API||': QP Version'||QP_PREQ_GRP.GET_VERSION);
2132: END IF;
2133:
2134: l_t0 := DBMS_UTILITY.GET_TIME;
2131: IBE_UTIL.DEBUG(g_pkg_name||'.'||L_API||': QP Version'||QP_PREQ_GRP.GET_VERSION);
2132: END IF;
2133:
2134: l_t0 := DBMS_UTILITY.GET_TIME;
2135: IF p_price_list_id IS NOT NULL AND p_price_list_id <> FND_API.G_MISS_NUM THEN
2136: L_PRICE_LIST := p_price_list_id;
2137: END IF;
2138: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
2139: IBE_UTIL.DEBUG(g_pkg_name||'.'||L_API||': internal QP price list: '||L_PRICE_LIST);
2134: l_t0 := DBMS_UTILITY.GET_TIME;
2135: IF p_price_list_id IS NOT NULL AND p_price_list_id <> FND_API.G_MISS_NUM THEN
2136: L_PRICE_LIST := p_price_list_id;
2137: END IF;
2138: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
2139: IBE_UTIL.DEBUG(g_pkg_name||'.'||L_API||': internal QP price list: '||L_PRICE_LIST);
2140: END IF;
2141:
2142: -- clear ASO global structures
2141:
2142: -- clear ASO global structures
2143: ASO_PRICING_INT.G_LINE_REC := NULL;
2144: ASO_PRICING_INT.G_HEADER_REC := NULL;
2145: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
2146: IBE_UTIL.DEBUG(g_pkg_name||'.'||L_API||': ASO Global structures were cleared');
2147: END IF;
2148:
2149: -- set the request_id
2147: END IF;
2148:
2149: -- set the request_id
2150: QP_PRICE_REQUEST_CONTEXT.SET_REQUEST_ID();
2151: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
2152: IBE_UTIL.DEBUG(g_pkg_name||'.'||L_API||': request id was set');
2153: END IF;
2154:
2155: -- setup control record
2158: l_control_rec.simulation_flag := 'N';
2159: l_control_rec.temp_table_insert_flag := 'N';
2160: l_control_rec.request_type_code := 'ASO';
2161: l_control_rec.rounding_flag := 'Q';
2162: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
2163: IBE_UTIL.DEBUG(g_pkg_name||'.'||L_API||': control record was set');
2164: END IF;
2165:
2166: -- setup ASO G_HEADER_REC
2175:
2176: ASO_PRICING_INT.G_HEADER_REC.cust_party_id:= l_cust_party_id;
2177: ASO_PRICING_INT.G_HEADER_REC.price_list_id:= p_price_list_id;
2178: ASO_PRICING_INT.G_HEADER_REC.minisite_id:= p_minisite_id;
2179: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
2180: IBE_UTIL.DEBUG(g_pkg_name||'.'||L_API||': price_list_id='||
2181: p_price_list_id||',cust_account_is='||p_cust_account_id||
2182: ',party_id'||p_party_id);
2183: END IF;
2182: ',party_id'||p_party_id);
2183: END IF;
2184:
2185: -- populate line items
2186: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
2187: IBE_UTIL.DEBUG(g_pkg_name||'.'||L_API||
2188: ': populating line items..., total line items='||p_item_tbl.count);
2189: END IF;
2190:
2195: l_service_duration := NULL;
2196: l_service_duration_period_code := NULL;
2197:
2198: IF p_model_id_tbl(I) = -1 THEN
2199: l_model_id := FND_API.G_MISS_NUM;
2200: ELSE
2201: l_model_id := p_model_id_tbl(I);
2202: END IF;
2203: IF l_model_id = FND_API.G_MISS_NUM THEN
2199: l_model_id := FND_API.G_MISS_NUM;
2200: ELSE
2201: l_model_id := p_model_id_tbl(I);
2202: END IF;
2203: IF l_model_id = FND_API.G_MISS_NUM THEN
2204: X_LINE_INDEX_TBL(I) := 'L:'||p_item_tbl(I);
2205: ELSE
2206: X_LINE_INDEX_TBL(I) := 'L:'||p_item_tbl(I)||':'||l_model_id;
2207: END IF;
2227:
2228: IF (p_uom_code_tbl(I) IS NOT NULL
2229: AND l_service_duration_period_code IS NOT NULL
2230: AND l_service_duration_period_code <> p_uom_code_tbl(I)) THEN
2231: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
2232: IBE_UTIL.DEBUG(g_pkg_name||'.'||L_API||
2233: 'Uom Code and Service Period Different for item '||
2234: p_item_tbl(I));
2235: END IF;
2238: l_service_duration,l_service_duration_period_code,
2239: l_operating_unit);
2240: ELSIF ((l_service_duration_period_code = p_uom_code_tbl(I)) AND
2241: l_service_duration > 1) THEN
2242: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
2243: IBE_UTIL.DEBUG(g_pkg_name||'.'||L_API||
2244: 'Uom Code and Service Period equal for item, but quantity >1'||
2245: p_item_tbl(I));
2246: END IF;
2287: G_usage_pricing_type_tbl(I) := QP_PREQ_GRP.G_REGULAR_USAGE_TYPE; --32: This can be 'REGULAR', 'AUTHORING', 'BILLING' --used in usage pricing
2288: --G_LINE_CATEGORY_tbl(I) := null; --33:
2289:
2290: -- populate line attributes/qualifiers
2291: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
2292: IBE_UTIL.DEBUG(g_pkg_name||'.'||L_API||': building line attributes/qualifiers,line index='||I);
2293: END IF;
2294:
2295: ASO_PRICING_INT.G_LINE_REC.inventory_item_id := p_item_tbl(I);
2298: ASO_PRICING_INT.G_LINE_REC.price_list_id := p_price_list_id;
2299: ASO_PRICING_INT.G_LINE_rec.model_id := l_model_id;
2300: ASO_PRICING_INT.G_LINE_REC.minisite_id := p_minisite_id;
2301:
2302: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
2303: IBE_UTIL.DEBUG(g_pkg_name||'.'||L_API||': item id ='||p_item_tbl(I)||', uom code ='||p_uom_code_tbl(I)||', model id ='||l_model_id);
2304: END IF;
2305:
2306: QP_ATTR_MAPPING_PUB.BUILD_CONTEXTS
2307: (p_request_type_code => p_request_type_code,
2308: p_line_index => I,
2309: p_pricing_type_code => 'L');
2310:
2311: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
2312: IBE_UTIL.DEBUG(g_pkg_name||'.'||L_API||': line item populated,line index='||I);
2313: END IF;
2314:
2315: END LOOP;
2316:
2317: -- populate summary line
2318: I := p_item_tbl.LAST;
2319:
2320: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
2321: IBE_UTIL.DEBUG(g_pkg_name||'.'||L_API||': populating the summary line, last line index='||I);
2322: END IF;
2323:
2324: I := I + 1;
2358: G_usage_pricing_type_tbl(I) := QP_PREQ_GRP.G_REGULAR_USAGE_TYPE; --32: This can be 'REGULAR', 'AUTHORING', 'BILLING' --used in usage pricing
2359: --G_LINE_CATEGORY_tbl(I) := null; --33:
2360:
2361: -- populate header attibutes/qualifiers
2362: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
2363: IBE_UTIL.DEBUG(g_pkg_name||'.'||L_API||': building header attributes/qualifiers, summary line index='||I);
2364: END IF;
2365:
2366: QP_ATTR_MAPPING_PUB.BUILD_CONTEXTS
2369: p_pricing_type_code => 'H');
2370:
2371: --X_LINE_INDEX_TBL.EXTEND;
2372: X_LINE_INDEX_TBL(I) := 'H:';
2373: IF p_price_list_id = FND_API.G_MISS_NUM THEN
2374: X_LINE_INDEX_TBL(I) := X_LINE_INDEX_TBL(I)||':NULL';
2375: ELSE
2376: X_LINE_INDEX_TBL(I) := X_LINE_INDEX_TBL(I)||':'||p_price_list_id;
2377: END IF;
2374: X_LINE_INDEX_TBL(I) := X_LINE_INDEX_TBL(I)||':NULL';
2375: ELSE
2376: X_LINE_INDEX_TBL(I) := X_LINE_INDEX_TBL(I)||':'||p_price_list_id;
2377: END IF;
2378: IF p_party_id = FND_API.G_MISS_NUM THEN
2379: X_LINE_INDEX_TBL(I) := X_LINE_INDEX_TBL(I)||':NULL';
2380: ELSE
2381: X_LINE_INDEX_TBL(I) := X_LINE_INDEX_TBL(I)||':'||p_party_id;
2382: END IF;
2379: X_LINE_INDEX_TBL(I) := X_LINE_INDEX_TBL(I)||':NULL';
2380: ELSE
2381: X_LINE_INDEX_TBL(I) := X_LINE_INDEX_TBL(I)||':'||p_party_id;
2382: END IF;
2383: IF p_cust_account_id = FND_API.G_MISS_NUM THEN
2384: X_LINE_INDEX_TBL(I) := X_LINE_INDEX_TBL(I)||':NULL';
2385: ELSE
2386: X_LINE_INDEX_TBL(I) := X_LINE_INDEX_TBL(I)||':'||p_cust_account_id;
2387: END IF;
2385: ELSE
2386: X_LINE_INDEX_TBL(I) := X_LINE_INDEX_TBL(I)||':'||p_cust_account_id;
2387: END IF;
2388:
2389: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
2390: IBE_UTIL.DEBUG(g_pkg_name||'.'||L_API||': inserting request lines into QP temp table, total lines='||G_LINE_INDEX_TBL.count);
2391: END IF;
2392:
2393: l_ti := DBMS_UTILITY.GET_TIME;
2427: --p_line_category => G_LINE_CATEGORY_TBL,
2428: x_status_code => x_return_status,
2429: x_status_text => x_return_status_text);
2430:
2431: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2432: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
2433: IBE_UTIL.debug('Error in insert_lines '||x_return_status_text);
2434: END IF;
2435: END IF;
2428: x_status_code => x_return_status,
2429: x_status_text => x_return_status_text);
2430:
2431: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2432: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
2433: IBE_UTIL.debug('Error in insert_lines '||x_return_status_text);
2434: END IF;
2435: END IF;
2436: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
2432: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
2433: IBE_UTIL.debug('Error in insert_lines '||x_return_status_text);
2434: END IF;
2435: END IF;
2436: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
2437: IBE_UTIL.DEBUG(g_pkg_name||'.'||L_API||': done, total lines='||G_LINE_INDEX_TBL.COUNT);
2438: END IF;
2439:
2440: -- populate related line records for service items
2439:
2440: -- populate related line records for service items
2441: IF (p_parentIndex_tbl IS NOT NULL AND p_parentIndex_tbl.count > 0 AND
2442: p_childindex_tbl IS NOT NULL AND p_parentIndex_tbl.count = p_childindex_tbl.count) THEN
2443: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
2444: IBE_UTIL.DEBUG(g_pkg_name||'.'||L_API||': populating related lines...');
2445: END IF;
2446: FOR I IN p_parentIndex_tbl.FIRST..p_parentIndex_tbl.LAST LOOP
2447: G_RELATIONSHIP_TYPE_CODE(I) := QP_PREQ_GRP.G_SERVICE_LINE;
2448: G_LINE_DETAIL_INDEX_TBL(I) := NULL;
2449: G_RLTD_LINE_DETAIL_INDEX_TBL(I) := NULL; --gzhang 06/07/2003
2450: END LOOP;
2451:
2452: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
2453: IBE_UTIL.DEBUG(g_pkg_name||'.'||L_API||': inserting related lines...');
2454: END IF;
2455:
2456: QP_PREQ_GRP.INSERT_RLTD_LINES2
2461: p_RELATED_LINE_DETAIL_INDEX => G_RLTD_LINE_DETAIL_INDEX_TBL,
2462: x_status_code => x_return_status,
2463: x_status_text => x_return_status_text);
2464:
2465: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
2466: IBE_UTIL.DEBUG(g_pkg_name||'.'||L_API||': related lines inserted, status='||x_return_status||', '||x_return_status_text);
2467: END IF;
2468:
2469: END IF;
2468:
2469: END IF;
2470:
2471: -- calling pricing engine
2472: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
2473: IBE_UTIL.DEBUG(g_pkg_name||'.'||L_API||': Calling pricing engine...');
2474: END IF;
2475:
2476: l_t1 := DBMS_UTILITY.GET_TIME;
2479: x_return_status => x_return_status,
2480: x_return_status_text => x_return_status_text);
2481: l_t2 := DBMS_UTILITY.GET_TIME;
2482:
2483: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
2484: ibe_util.debug(g_pkg_name||'.'||L_API||': Duration of Price Request Time(s) ='|| (l_t2-l_t1)/100);
2485: END IF;
2486:
2487: -- retrieve prices
2490: FROM QP_PREQ_LINES_TMP
2491: WHERE PRICING_STATUS_CODE=QP_PREQ_PUB.G_STATUS_UPDATED
2492: ORDER BY LINE_ID;
2493:
2494: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
2495: IBE_UTIL.DEBUG(g_pkg_name||'.'||L_API||': RETURN');
2496: END IF;
2497:
2498: EXCEPTION
2496: END IF;
2497:
2498: EXCEPTION
2499: WHEN OTHERS THEN
2500: x_return_status := FND_API.G_RET_STS_ERROR;
2501: x_return_status_text :=SQLERRM;
2502:
2503: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
2504: IBE_UTIL.DEBUG(g_pkg_name||'.'||L_API||':'||SQLERRM);
2499: WHEN OTHERS THEN
2500: x_return_status := FND_API.G_RET_STS_ERROR;
2501: x_return_status_text :=SQLERRM;
2502:
2503: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
2504: IBE_UTIL.DEBUG(g_pkg_name||'.'||L_API||':'||SQLERRM);
2505: END IF;
2506: END Price_Request;
2507:
2505: END IF;
2506: END Price_Request;
2507:
2508: PROCEDURE PRICE_REQUEST(
2509: p_price_list_id IN NUMBER := FND_API.G_MISS_NUM
2510: ,p_party_id IN NUMBER := FND_API.G_MISS_NUM
2511: ,p_cust_account_id IN NUMBER := FND_API.G_MISS_NUM
2512: ,p_currency_code IN VARCHAR2
2513: ,p_minisite_id IN NUMBER := NULL
2506: END Price_Request;
2507:
2508: PROCEDURE PRICE_REQUEST(
2509: p_price_list_id IN NUMBER := FND_API.G_MISS_NUM
2510: ,p_party_id IN NUMBER := FND_API.G_MISS_NUM
2511: ,p_cust_account_id IN NUMBER := FND_API.G_MISS_NUM
2512: ,p_currency_code IN VARCHAR2
2513: ,p_minisite_id IN NUMBER := NULL
2514: ,p_item_tbl IN JTF_NUMBER_TABLE
2507:
2508: PROCEDURE PRICE_REQUEST(
2509: p_price_list_id IN NUMBER := FND_API.G_MISS_NUM
2510: ,p_party_id IN NUMBER := FND_API.G_MISS_NUM
2511: ,p_cust_account_id IN NUMBER := FND_API.G_MISS_NUM
2512: ,p_currency_code IN VARCHAR2
2513: ,p_minisite_id IN NUMBER := NULL
2514: ,p_item_tbl IN JTF_NUMBER_TABLE
2515: ,p_uom_code_tbl IN JTF_VARCHAR2_TABLE_100
2554: l_curr_time := DBMS_UTILITY.GET_TIME;
2555: IF p_parentIndex_tbl IS NOT NULL AND p_childIndex_tbl IS NOT NULL THEN
2556: l_total_lines := p_parentIndex_tbl.count;
2557:
2558: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
2559: IBE_UTIL.debug(G_PKG_NAME||'.'||L_API||': total related lines: '||l_total_lines);
2560: END IF;
2561:
2562: IF l_total_lines >0 AND l_total_lines = p_childIndex_tbl.COUNT THEN
2560: END IF;
2561:
2562: IF l_total_lines >0 AND l_total_lines = p_childIndex_tbl.COUNT THEN
2563:
2564: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
2565: IBE_UTIL.debug(G_PKG_NAME||'.'||L_API||': converting JTF Tables to QP Tables - related lines...');
2566: END IF;
2567:
2568: FOR idx IN 1..l_total_lines LOOP
2569: l_parentIndex_tbl(idx) := p_parentIndex_tbl(idx);
2570: l_childIndex_tbl(idx) := p_childIndex_tbl(idx);
2571: END LOOP;
2572:
2573: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
2574: IBE_UTIL.debug(G_PKG_NAME||'.'||L_API||': PL/SQL tables converted');
2575: END IF;
2576: ELSE
2577: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
2573: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
2574: IBE_UTIL.debug(G_PKG_NAME||'.'||L_API||': PL/SQL tables converted');
2575: END IF;
2576: ELSE
2577: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
2578: IBE_UTIL.debug(G_PKG_NAME||'.'||L_API||': related lines mismatched');
2579: IBE_UTIL.debug(G_PKG_NAME||'.'||L_API||': total child indexes: '||p_childIndex_tbl.COUNT);
2580: END IF;
2581:
2579: IBE_UTIL.debug(G_PKG_NAME||'.'||L_API||': total child indexes: '||p_childIndex_tbl.COUNT);
2580: END IF;
2581:
2582: l_pricing_flag := FALSE;
2583: x_return_status := FND_API.G_RET_STS_ERROR;
2584: x_return_status_text := 'invalid related lines - mismatched input tables';
2585: END IF;
2586: ELSE
2587: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
2583: x_return_status := FND_API.G_RET_STS_ERROR;
2584: x_return_status_text := 'invalid related lines - mismatched input tables';
2585: END IF;
2586: ELSE
2587: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
2588: IBE_UTIL.debug(G_PKG_NAME||'.'||L_API||': no related lines found');
2589: END IF;
2590: END IF;
2591:
2589: END IF;
2590: END IF;
2591:
2592: IF l_pricing_flag THEN
2593: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
2594: IBE_UTIL.debug(G_PKG_NAME||'.'||l_api||':sending request...');
2595: END IF;
2596:
2597: l_curr_time := DBMS_UTILITY.GET_TIME;
2614: x_return_status => x_return_status,
2615: x_return_status_text => x_return_status_text);
2616: l_curr_time := DBMS_UTILITY.GET_TIME;
2617:
2618: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
2619: IBE_UTIL.debug(G_PKG_NAME||'.'||l_api||':done, return status = '||x_return_status||': '||x_return_status_text);
2620: END IF;
2621:
2622: END IF;
2620: END IF;
2621:
2622: END IF;
2623: ELSE
2624: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
2625: IBE_UTIL.debug(G_PKG_NAME||'.'||L_API||': request lines mismatched');
2626: IBE_UTIL.debug(G_PKG_NAME||'.'||L_API||': total uom codes: '||p_uom_code_tbl.COUNT);
2627: IBE_UTIL.debug(G_PKG_NAME||'.'||L_API||': total line quantities: '||p_line_quantity_tbl.COUNT);
2628: END IF;
2626: IBE_UTIL.debug(G_PKG_NAME||'.'||L_API||': total uom codes: '||p_uom_code_tbl.COUNT);
2627: IBE_UTIL.debug(G_PKG_NAME||'.'||L_API||': total line quantities: '||p_line_quantity_tbl.COUNT);
2628: END IF;
2629:
2630: x_return_status := FND_API.G_RET_STS_ERROR;
2631: x_return_status_text := 'invalid request lines - mismatched input tables';
2632: END IF;
2633: ELSE
2634: IF p_item_tbl IS NULL THEN
2631: x_return_status_text := 'invalid request lines - mismatched input tables';
2632: END IF;
2633: ELSE
2634: IF p_item_tbl IS NULL THEN
2635: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
2636: IBE_UTIL.debug(G_PKG_NAME||'.'||L_API||':p_item_tbl is NULL');
2637: END IF;
2638: END IF;
2639: IF p_uom_code_tbl IS NULL THEN
2636: IBE_UTIL.debug(G_PKG_NAME||'.'||L_API||':p_item_tbl is NULL');
2637: END IF;
2638: END IF;
2639: IF p_uom_code_tbl IS NULL THEN
2640: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
2641: IBE_UTIL.debug(G_PKG_NAME||'.'||L_API||':p_uom_code_tbl is NULL');
2642: END IF;
2643: END IF;
2644: IF p_line_quantity_tbl IS NULL THEN
2641: IBE_UTIL.debug(G_PKG_NAME||'.'||L_API||':p_uom_code_tbl is NULL');
2642: END IF;
2643: END IF;
2644: IF p_line_quantity_tbl IS NULL THEN
2645: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
2646: IBE_UTIL.debug(G_PKG_NAME||'.'||L_API||':p_line_quantity_tbl is NULL');
2647: END IF;
2648: END IF;
2649: x_return_status := FND_API.G_RET_STS_ERROR;
2645: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
2646: IBE_UTIL.debug(G_PKG_NAME||'.'||L_API||':p_line_quantity_tbl is NULL');
2647: END IF;
2648: END IF;
2649: x_return_status := FND_API.G_RET_STS_ERROR;
2650: x_return_status_text := 'invalid request lines - input table(s) is null';
2651: END IF;
2652: l_end_time := DBMS_UTILITY.GET_TIME;
2653:
2650: x_return_status_text := 'invalid request lines - input table(s) is null';
2651: END IF;
2652: l_end_time := DBMS_UTILITY.GET_TIME;
2653:
2654: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
2655: IBE_UTIL.debug(G_PKG_NAME||'.'||L_API||': end, elapsed time (s) ='||(l_end_time-l_start_time)/100);
2656: END IF;
2657: EXCEPTION
2658: WHEN OTHERS THEN
2655: IBE_UTIL.debug(G_PKG_NAME||'.'||L_API||': end, elapsed time (s) ='||(l_end_time-l_start_time)/100);
2656: END IF;
2657: EXCEPTION
2658: WHEN OTHERS THEN
2659: x_return_status := FND_API.G_RET_STS_ERROR;
2660: x_return_status_text :=SQLERRM;
2661:
2662: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
2663: IBE_UTIL.DEBUG(g_pkg_name||'.'||L_API||':'||SQLERRM);
2658: WHEN OTHERS THEN
2659: x_return_status := FND_API.G_RET_STS_ERROR;
2660: x_return_status_text :=SQLERRM;
2661:
2662: IF (IBE_UTIL.G_DEBUGON = FND_API.G_TRUE) THEN
2663: IBE_UTIL.DEBUG(g_pkg_name||'.'||L_API||':'||SQLERRM);
2664: END IF;
2665: END Price_Request;
2666: END IBE_PRICE_PVT;