[Home] [Help]
PACKAGE BODY: APPS.ASO_CHK_PRICING_ATTR_PVT
Source
1 PACKAGE BODY ASO_CHK_PRICING_ATTR_PVT as
2 /* $Header: asovpatrb.pls 120.1 2005/06/29 12:42:53 appldev noship $ */
3 -- Start of Comments
4 -- Package name : ASO_CHK_PRICING_ATTR_PVT
5 -- Purpose :
6 -- History :
7 -- NOTE :
8 --
9 -- End of Comments
10
11 PROCEDURE Check_Pricing_Attributes (
12 P_Api_Version_Number IN NUMBER := 1,
13 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
14 P_Commit IN VARCHAR2 := FND_API.G_FALSE,
15 P_Inventory_Id IN NUMBER := FND_API.G_MISS_NUM,
16 P_Quote_Line_Id IN NUMBER := FND_API.G_MISS_NUM,
17 P_Price_List_Id IN NUMBER := FND_API.G_MISS_NUM,
18 X_Check_Return_Status_qp OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
19 X_Check_Return_Status_aso OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
20 x_msg_count OUT NOCOPY /* file.sql.39 change */ NUMBER,
21 x_msg_data OUT NOCOPY /* file.sql.39 change */ VARCHAR2)
22 IS
23
24 CURSOR c_check_qpprc_atr IS
25 SELECT distinct l.list_line_id
26 FROM qp_list_lines l, qp_pricing_attributes a
27 WHERE l.list_line_id = a.list_line_id
28 AND l.list_header_id = P_Price_List_Id
29 AND l.list_line_type_code = 'PLL'
30 AND a.product_attribute_context = 'ITEM'
31 AND a.product_attribute = 'PRICING_ATTRIBUTE1'
32 AND a.product_attr_value = P_Inventory_Id
33 AND (price_by_formula_id IN (SELECT price_formula_id
34 FROM qp_price_formulas_b
35 WHERE EXISTS (SELECT 'x'
36 FROM qp_price_formula_lines fl, qp_price_formulas_b b
37 WHERE fl.price_formula_line_type_code = 'PRA'
38 AND fl.price_formula_id = b.price_formula_id)
39 )
40 OR (a.pricing_attribute_context IS NOT NULL
41 AND a.pricing_attribute IS NOT NULL )
42 );
43
44 CURSOR c_check_asorec IS
45 SELECT count(rowid) r_count
46 FROM aso_price_attributes
47 WHERE quote_line_id = P_Quote_Line_Id;
48
49 l_count NUMBER;
50 l_list_line_id NUMBER;
51
52 BEGIN
53 aso_debug_pub.g_debug_flag := nvl(fnd_profile.value('ASO_ENABLE_DEBUG'),'N');
54 X_Check_Return_Status_qp := FND_API.G_FALSE;
55 X_Check_Return_Status_aso := FND_API.G_FALSE;
56
57 OPEN c_check_qpprc_atr;
58 FETCH c_check_qpprc_atr INTO l_list_line_id;
59 If c_check_qpprc_atr%found THEN
60 X_Check_Return_Status_qp := FND_API.G_TRUE;
61 OPEN c_check_asorec;
62 FETCH c_check_asorec INTO l_count;
63 CLOSE c_check_asorec;
64 IF l_count>0 THEN
65 X_Check_Return_Status_aso := FND_API.G_TRUE;
66 END IF;
67 END If;
68 CLOSE c_check_qpprc_atr;
69 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
70 aso_debug_pub.add(' X_Check_Return_Status_qp '|| X_Check_Return_Status_qp, 1, 'Y');
71 aso_debug_pub.add(' X_Check_Return_Status_aso '|| X_Check_Return_Status_aso, 1, 'Y');
72 END IF;
73 END Check_Pricing_Attributes;
74
75
76
77 End ASO_CHK_PRICING_ATTR_PVT;