DBA Data[Home] [Help]

PACKAGE BODY: APPS.ASO_SUBMIT_QUOTE_PVT

Source


1 PACKAGE BODY ASO_SUBMIT_QUOTE_PVT as
2 /* $Header: asovsubb.pls 120.10.12000000.3 2007/07/09 08:56:28 vidsrini ship $ */
3 -- Start of Comments
4 -- Package name     : ASO_SUBMIT_QUOTE_PVT
5 -- Purpose         :
6 -- History         :
7 -- 09/07/2007  vidsrini --Fix for bug 5847316
8 --             02/01/2007     gkeshava - Fix for perf bug 5714535
9 -- NOTE       :
10 -- End of Comments
11 
12 G_PKG_NAME  CONSTANT VARCHAR2(30) := 'ASO_SUBMIT_QUOTE_PVT';
13 
14 
15 -- NAME
16 --   Submit_Quote
17 --
18 -- PURPOSE
19 --   Validate the quote and quote lines,
20 --   If validation is successful, insert the quote and quote lines
21 --   to OE's interface tables. Submit a concurrent request to order
22 --   the quote.
23 --
24 
25 PROCEDURE Submit_Quote
26 (
27     P_Api_Version_Number	 IN   NUMBER,
28     P_Init_Msg_List		 IN   VARCHAR2	   := FND_API.G_FALSE,
29     P_Commit			 IN   VARCHAR2	   := FND_API.G_FALSE,
30     p_validation_level	 IN   NUMBER	   := FND_API.G_VALID_LEVEL_FULL,
31     p_control_rec		 IN   ASO_QUOTE_PUB.SUBMIT_Control_Rec_Type
32 						             :=  ASO_QUOTE_PUB.G_MISS_SUBMIT_CONTROL_REC,
33     P_Qte_Header_Rec	 IN   ASO_QUOTE_PUB.Qte_Header_Rec_Type,
34     X_Order_Header_Rec	 OUT NOCOPY /* file.sql.39 change */  ASO_QUOTE_PUB.Order_Header_Rec_Type,
35     X_Return_Status		 OUT NOCOPY /* file.sql.39 change */  VARCHAR2,
36     X_Msg_Count 		 OUT NOCOPY /* file.sql.39 change */  NUMBER,
37     X_Msg_Data			 OUT NOCOPY /* file.sql.39 change */  VARCHAR2)
38 
39 IS
40     CURSOR C_Validate_Quote (x_qte_header_id NUMBER) IS
41 	SELECT 'X'
42 	FROM ASO_QUOTE_HEADERS_ALL
43 	WHERE quote_header_id = x_qte_header_id;
44 
45     CURSOR c_line_relation (x_quote_header_id NUMBER) IS
46 	SELECT a.LINE_RELATIONSHIP_ID, a.QUOTE_LINE_ID, a.RELATED_QUOTE_LINE_ID,
47 		a.RELATIONSHIP_TYPE_CODE, a.RECIPROCAL_FLAG
48 	FROM ASO_LINE_RELATIONSHIPS a, aso_quote_lines_all b
49 	WHERE  a.quote_line_id = b.quote_line_id
50 	and b.quote_header_id = x_quote_header_id;
51 
52     CURSOR C_Qte_Status_Id (c_status_code VARCHAR2) IS
53 	SELECT quote_status_id
54 	FROM ASO_QUOTE_STATUSES_B
55 	WHERE status_code = c_status_code;
56 
57     CURSOR C_Qte_Status_Trans (from_id NUMBER, to_id NUMBER) IS
58 	SELECT enabled_flag
59 	FROM ASO_QUOTE_STATUS_TRANSITIONS
60 	WHERE from_status_id = from_id AND to_status_id = to_id;
61 
62     CURSOR C_check_pymnt_type(qte_hdr_id NUMBER) IS
63      SELECT payment_type_code
64      FROM ASO_PAYMENTS
65      WHERE quote_header_id = qte_hdr_id ;
66 
67     CURSOR C_payment_amount(qte_hdr_id NUMBER) IS
68      SELECT nvl(total_quote_price ,0)
69      FROM ASO_QUOTE_HEADERS_ALL
70      WHERE quote_header_id = qte_hdr_id ;
71 
72 -- 2469621 vtariker
73     CURSOR C_Get_Config_Flag(qte_line_id NUMBER) IS
74      SELECT complete_configuration_flag, valid_configuration_flag, instance_id
75      FROM aso_quote_line_details
76      WHERE quote_line_id = qte_line_id;
77 -- 2469621 vtariker
78 
79     CURSOR C_Get_Update_Date(qte_hdr_id NUMBER) IS
80 	SELECT Last_Update_Date
81 	FROM ASO_QUOTE_HEADERS_ALL
82 	WHERE Quote_Header_Id = qte_hdr_id;
83 
84     l_last_upd_date           DATE;
85     l_complete_config         VARCHAR2(1);
86     l_valid_config            VARCHAR2(1);
87     l_instance_id             NUMBER;
88     l_api_name				CONSTANT VARCHAR2(30) := 'Submit_Quote';
89     l_api_version_number		CONSTANT NUMBER 	:= 1.0;
90     l_return_status			VARCHAR2(1);
91     l_qte_header_rec		ASO_QUOTE_PUB.Qte_Header_Rec_Type;
92     lx_qte_header_rec		ASO_QUOTE_PUB.Qte_Header_Rec_Type;
93     lx_out_qte_header_rec	ASO_QUOTE_PUB.Qte_Header_Rec_Type;
94     l_qte_line_tbl			ASO_QUOTE_PUB.Qte_Line_Tbl_Type;
95     l_qte_line_dtl_tbl	  	ASO_QUOTE_PUB.Qte_Line_Dtl_Tbl_Type;
96     l_hd_payment_tbl	  	ASO_QUOTE_PUB.Payment_Tbl_Type;
97     l_hd_payment_tbl_out	  	ASO_QUOTE_PUB.Payment_Tbl_Type;
98     l_hd_shipment_tbl	  	ASO_QUOTE_PUB.Shipment_Tbl_Type;
99     l_hd_freight_charge_tbl  	ASO_QUOTE_PUB.Freight_Charge_Tbl_Type;
100     l_hd_tax_detail_tbl	  	ASO_QUOTE_PUB.Tax_Detail_Tbl_Type;
101     l_hd_Price_Attr_Tbl	  	ASO_QUOTE_PUB.Price_Attributes_Tbl_Type;
102     l_hd_Price_Adj_Tbl	  	ASO_QUOTE_PUB.Price_Adj_Tbl_Type;
103     l_hd_Price_Adj_Attr_Tbl   ASO_QUOTE_PUB.Price_Adj_Attr_Tbl_Type;
104     l_hd_Price_Adj_Rltship_tbl ASO_QUOTE_PUB.Price_Adj_Rltship_Tbl_Type;
105    -- l_hd_sales_credit_tbl	ASO_ORDER_INT.Sales_credit_tbl_type;
106     l_ln_payment_tbl	  	ASO_QUOTE_PUB.Payment_Tbl_Type;
107     l_ln_shipment_tbl	  	ASO_QUOTE_PUB.Shipment_Tbl_Type;
108     l_ln_freight_charge_tbl	ASO_QUOTE_PUB.Freight_Charge_Tbl_Type;
109     l_ln_tax_detail_tbl	  	ASO_QUOTE_PUB.Tax_Detail_Tbl_Type;
110     l_ln_Price_Attr_Tbl	  	ASO_QUOTE_PUB.Price_Attributes_Tbl_Type;
111     l_ln_Price_Adj_Rltship_tbl	ASO_QUOTE_PUB.Price_Adj_Rltship_Tbl_Type;
112     l_ln_Price_Adj_Tbl	  	ASO_QUOTE_PUB.Price_Adj_Tbl_Type;
113     l_ln_Price_Adj_Attr_Tbl	ASO_QUOTE_PUB.Price_Adj_Attr_Tbl_Type;
114     l_Line_Attr_Ext_Tbl		ASO_QUOTE_PUB.Line_Attribs_Ext_Tbl_Type;
115     l_line_rltship_tbl	  	ASO_QUOTE_PUB.Line_Rltship_Tbl_Type;
116    -- l_LN_sales_credit_tbl	ASO_ORDER_INT.Sales_credit_tbl_type;
117     l_tmp_qte_line_dtl_tbl	ASO_QUOTE_PUB.Qte_Line_Dtl_Tbl_Type;
118     l_tmp_Line_Attr_Ext_Tbl	ASO_QUOTE_PUB.Line_Attribs_Ext_Tbl_Type;
119     l_tmp_payment_tbl	  	ASO_QUOTE_PUB.Payment_Tbl_Type;
120     l_tmp_shipment_tbl	  	ASO_QUOTE_PUB.Shipment_Tbl_Type;
121     l_tmp_freight_charge_tbl	ASO_QUOTE_PUB.Freight_Charge_Tbl_Type;
122     l_tmp_tax_detail_tbl	  	ASO_QUOTE_PUB.Tax_Detail_Tbl_Type;
123     l_tmp_Price_Attr_Tbl	  	ASO_QUOTE_PUB.Price_Attributes_Tbl_Type;
124     l_tmp_Price_Adj_Tbl	  	ASO_QUOTE_PUB.Price_Adj_Tbl_Type;
125 
126     l_order_control_rec	  ASO_ORDER_INT.CONTROL_REC_TYPE;
127     lx_order_header_rec	  ASO_ORDER_INT.Order_Header_Rec_Type;
128     lx_order_line_tbl	  ASO_ORDER_INT.Order_Line_Tbl_Type;
129 
130     l_qte_line_rec			ASO_QUOTE_PUB.Qte_Line_Rec_Type;
131     l_shipment_rec	  		ASO_QUOTE_PUB.Shipment_Rec_Type;
132     l_hd_sales_credit_tbl     ASO_QUOTE_PUB.Sales_Credit_tbl_Type;
133     l_ln_sales_credit_tbl     ASO_QUOTE_PUB.Sales_Credit_tbl_Type;
134     l_tmp_sales_credit_tbl    ASO_QUOTE_PUB.Sales_Credit_tbl_Type;
135     l_hd_quote_party_tbl      ASO_QUOTE_PUB.QUOTE_PARTY_tbl_Type;
136     l_ln_quote_party_tbl      ASO_QUOTE_PUB.QUOTE_PARTY_tbl_Type;
137     l_tmp_quote_party_tbl     ASO_QUOTE_PUB.QUOTE_PARTY_tbl_Type;
138     l_Header_ATTRIBS_EXT_Tbl  ASO_QUOTE_PUB.Line_Attribs_Ext_Tbl_Type;
139     l_Lot_Serial_Tbl          ASO_QUOTE_PUB.Lot_Serial_Tbl_Type   ;
140     l_qte_line_id			NUMBER;
141     l_qte_status_id			NUMBER;
142     l_val			  		VARCHAR2(1);
143     l_enabled_flag		  	VARCHAR2(1);
144     l_index				NUMBER;
145     l_quan_reserved			NUMBER;
146     l_reservation_id		NUMBER;
147     l_related_obj_id		NUMBER;
148     l_related_obj_rec		ASO_QUOTE_PUB.RELATED_OBJ_Rec_Type;
149     count_rel                 NUMBER := 1;
150     l_payment_type_code 		VARCHAR2(30);
151     l_payment_amount 		NUMBER ;
152 
153 	x_current_state          NUMBER;
154 --	lx_return_status		VARCHAR2(1);  -- 1966456
155 /** Bug# 4045135. Removing this check since deferred scheduling may book orders at a later stage.
156 	l_book_flag			VARCHAR2(1);
157 **/
158      l_sales_team_prof        VARCHAR2(30) := FND_PROFILE.value('ASO_AUTO_TEAM_ASSIGN');
159      l_sales_cred_prof        VARCHAR2(50) := FND_PROFILE.value('ASO_AUTO_SALES_CREDIT');
160 
161      l_Sales_Alloc_Control_Rec ASO_QUOTE_PUB.SALES_ALLOC_CONTROL_REC_TYPE
162                                 := ASO_QUOTE_PUB.G_MISS_SALES_ALLOC_CONTROL_REC;
163 
164 -- Change START
165 -- Release 12 MOAC Changes : Bug 4500739
166 -- Changes Done by : Girish
167 -- Comments : Changed the reference from ASO_I_OE_ORDER_HEADERS_V to OE_ORDER_HEADERS_V
168 /** Bug# 4045135. Removing this check since deferred scheduling may book orders at a later stage.
169     CURSOR C_book_flag IS
170      SELECT booked_flag
171      FROM OE_ORDER_HEADERS_V
172      WHERE  header_id = lx_order_header_rec.order_header_id;
173 **/
174 -- Change END
175 
176     l_om_defaulting_prof      VARCHAR2(2) := FND_PROFILE.Value('ASO_OM_DEFAULTING');
177 
178     lx_status VARCHAR2(1);  -- 2692785
179 
180     l_index_rlt               NUMBER; -- pbh/prg
181     l_tmp_Price_Adj_Rltship_tbl    ASO_QUOTE_PUB.Price_Adj_Rltship_Tbl_Type;
182 
183     l_istore_source                 VARCHAR2(1) := 'N';
184     l_status                 VARCHAR2(1) := 'S';
185 
186     CURSOR C_Check_Qte_Status (l_qte_hdr NUMBER) IS
187      SELECT 'Y'
188      FROM ASO_QUOTE_HEADERS_ALL A, ASO_QUOTE_STATUSES_B B
189      WHERE A.Quote_Header_Id = l_qte_hdr
190      AND A.Quote_Status_Id = B.Quote_Status_Id
191      AND B.Status_Code = 'STORE DRAFT';
192 
193 BEGIN
194       -- Standard Start of API savepoint
195       SAVEPOINT	SUBMIT_QUOTE_PVT;
196 
197       -- Standard call to check for call compatibility.
198       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
199 					   p_api_version_number,
200     	    	    	    	    	   l_api_name,
201 			    	    	   G_PKG_NAME) THEN
202 	  RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
203       END IF;
204 
205       -- Initialize message list if p_init_msg_list is set to TRUE.
206       IF FND_API.to_Boolean( p_init_msg_list ) THEN
207 	  FND_MSG_PUB.initialize;
208       END IF;
209 
210       -- Debug Message
211       IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW) THEN
212 	  FND_MESSAGE.Set_Name('ASO', 'Copy Quote API: Start');
213 	  FND_MSG_PUB.Add;
214       END IF;
215 
216       --Procedure added by Anoop Rajan on 30/09/2005 to print login details
217       IF aso_debug_pub.g_debug_flag = 'Y' THEN
218 		aso_debug_pub.add('Before call to printing login info details', 1, 'Y');
219 		ASO_UTILITY_PVT.print_login_info;
220 		aso_debug_pub.add('After call to printing login info details', 1, 'Y');
221       END IF;
222 
223       -- Change Done By Girish
224       -- Procedure added to validate the operating unit
225       ASO_VALIDATE_PVT.VALIDATE_OU(P_Qte_Header_Rec);
226 
227 
228       --  Initialize API return status to success
229       l_return_status := FND_API.G_RET_STS_SUCCESS;
230 
231       --
232       -- API body
233       --
234       -- ******************************************************************
235       -- Validate Environment
236       -- ******************************************************************
237       IF FND_GLOBAL.User_Id IS NULL THEN
238 	  IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
239 	      FND_MESSAGE.Set_Name('ASO', 'UT_CANNOT_GET_PROFILE_VALUE');
240     	      FND_MESSAGE.Set_Token('PROFILE', 'USER_ID', FALSE);
241 	      FND_MSG_PUB.ADD;
242 	  END IF;
243 	  RAISE FND_API.G_EXC_ERROR;
244       END IF;
245       -- ******************************************************************
246 
247      IF aso_debug_pub.g_debug_flag = 'Y' THEN
248 	aso_debug_pub.add('Submit_Q: Begin ', 1, 'N');
249 	aso_debug_pub.add('l_om_defaulting_prof: '||l_om_defaulting_prof,1,'N');
250 	END IF;
251 
252 -- vtariker - Check Whether record has been changed
253      OPEN C_Get_Update_Date(P_Qte_Header_Rec.Quote_Header_Id);
254 	FETCH C_Get_Update_Date INTO l_last_upd_date;
255 
256      IF aso_debug_pub.g_debug_flag = 'Y' THEN
257      aso_debug_pub.add('Submit_Q: l_last_upd_date: '||l_last_upd_date, 1, 'N');
258      aso_debug_pub.add('Submit_Q: p_qte_header_rec.last_update_date: '||p_qte_header_rec.last_update_date, 1, 'N');
259      END IF;
260 
261 	IF (C_Get_Update_Date%NOTFOUND) OR
262         (l_last_upd_date IS NULL OR l_last_upd_date = FND_API.G_MISS_DATE) THEN
263 	  IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
264 	      FND_MESSAGE.Set_Name('ASO', 'ASO_API_MISSING_COLUMN');
265 	      FND_MESSAGE.Set_Token('COLUMN', 'Last_Update_Date', FALSE);
266 	      FND_MSG_PUB.ADD;
267 	  END IF;
268        CLOSE C_Get_Update_Date;
269 	  RAISE FND_API.G_EXC_ERROR;
270 	END IF;
271 
272 	CLOSE C_Get_Update_Date;
273 
274      IF (p_qte_header_rec.last_update_date IS NOT NULL AND
275          p_qte_header_rec.last_update_date <> FND_API.G_MISS_DATE) AND
276         (l_last_upd_date <> p_qte_header_rec.last_update_date) Then
277 	  IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
278 	      FND_MESSAGE.Set_Name('ASO', 'ASO_API_RECORD_CHANGED');
279 	      FND_MESSAGE.Set_Token('INFO', 'quote', FALSE);
280 	      FND_MSG_PUB.ADD;
281 	  END IF;
282 	  RAISE FND_API.G_EXC_ERROR;
283      END IF;
284 -- vtariker - Check Whether record has been changed
285 
286 -- 2692785
287     ASO_CONC_REQ_INT.Lock_Exists(
288       p_quote_header_id => p_qte_header_rec.quote_header_id,
289       x_status          => lx_status);
290 
291     IF (lx_status = FND_API.G_TRUE) THEN
292       IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
293         FND_MESSAGE.Set_Name('ASO', 'ASO_CONC_REQUEST_RUNNING');
294         FND_MSG_PUB.ADD;
295       END IF;
296       RAISE FND_API.G_EXC_ERROR;
297     END IF;
298 -- 2692785
299 
300 
301       IF (p_validation_level = FND_API.G_VALID_LEVEL_FULL) THEN
302 	  OPEN C_Validate_Quote (p_qte_header_rec.quote_header_id);
303 	  FETCH C_Validate_Quote into l_val;
304 	  IF C_Validate_Quote%NOTFOUND THEN
305 	      IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
306 		  FND_MESSAGE.Set_Name('ASO', 'ASO_API_INVALID_ID');
307 		  FND_MESSAGE.Set_Token('COLUMN', 'ORIGINAL_QUOTE_ID', FALSE);
308 		  FND_MESSAGE.Set_Token('VALUE', TO_CHAR(p_qte_header_rec.quote_header_id), FALSE);
309 		  FND_MSG_PUB.ADD;
310 	      END IF;
311 	      CLOSE C_Validate_Quote;
312 	      RAISE FND_API.G_EXC_ERROR;
313 	  END IF;
314 	  CLOSE C_Validate_Quote;
315       END IF;
316 
317     -- vtariker
318       -- assign the missing customer accounts to the quote
319       ASO_CHECK_TCA_PVT.Assign_Customer_Accounts (
320         p_init_msg_list              => fnd_api.g_false,
321         p_qte_header_id              => p_qte_header_rec.quote_header_id,
322         p_calling_api_flag           => 2,
323         x_return_status              => x_return_status,
324         x_msg_count                  => x_msg_count,
325         x_msg_data                   => x_msg_data
326     );
327 
328       IF x_return_status <> fnd_api.g_ret_sts_success THEN
329         RAISE fnd_api.g_exc_error;
330       END IF;
331     -- vtariker
332 
333    l_qte_header_rec := ASO_UTILITY_PVT.Query_Header_Row(p_qte_header_rec.quote_header_id);
334 
335   -- hyang new okc
336     IF p_qte_header_rec.Customer_Name_And_Title <> FND_API.G_MISS_CHAR
337     THEN
338       l_qte_header_rec.Customer_Name_And_Title := p_qte_header_rec.Customer_Name_And_Title;
339     END IF;
340 
341     IF p_qte_header_rec.Customer_Signature_Date <> FND_API.G_MISS_DATE
342     THEN
343       l_qte_header_rec.Customer_Signature_Date := p_qte_header_rec.Customer_Signature_Date;
344     END IF;
345 
346     IF p_qte_header_rec.Supplier_Name_And_Title <> FND_API.G_MISS_CHAR
347     THEN
348       l_qte_header_rec.Supplier_Name_And_Title := p_qte_header_rec.Supplier_Name_And_Title;
349     END IF;
350 
351     IF p_qte_header_rec.Supplier_Signature_Date <> FND_API.G_MISS_DATE
352     THEN
353       l_qte_header_rec.Supplier_Signature_Date := p_qte_header_rec.Supplier_Signature_Date;
354     END IF;
355 
356     /* contract_template_id is not stored in database. It should always be set to the value
357      * as passed.
358      */
359     l_qte_header_rec.Contract_Template_ID := p_qte_header_rec.Contract_Template_ID;
360 
361   -- end of hyang new okc
362 
363 -- rahsan 2269789
364 
365         ASO_VALIDATE_PVT.Validate_Quote_Exp_date(
366             p_init_msg_list         => FND_API.G_FALSE,
367             p_quote_expiration_date => l_qte_header_rec.quote_expiration_date,
368             x_return_status         => x_return_status,
369             x_msg_count             => x_msg_count,
370             x_msg_data              => x_msg_data
371         );
372         IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
373             IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
374                 FND_MESSAGE.Set_Name('ASO', 'ASO_API_SUB_EXPIRATION_DATE');
375                 FND_MSG_PUB.ADD;
376             END IF;
377             RAISE FND_API.G_EXC_ERROR;
378         END IF;
379 
380 --  end rahsan 2269789
381 
382 
383    IF (NVL(l_om_defaulting_prof, 'N') = 'Y') THEN
384 	IF l_qte_header_rec.contract_id is null then
385 	   l_qte_header_rec.contract_id := FND_API.G_MISS_NUM;
386      end if;
387 	IF l_qte_header_rec.quote_category_code is null then
388 	   l_qte_header_rec.quote_category_code := FND_API.G_MISS_CHAR;
389      end if;
390 	IF l_qte_header_rec.accounting_rule_id is null then
391 	   l_qte_header_rec.accounting_rule_id := FND_API.G_MISS_NUM;
392      end if;
393 	IF l_qte_header_rec.invoicing_rule_id is null then
394 	   l_qte_header_rec.invoicing_rule_id := FND_API.G_MISS_NUM;
395      end if;
396    end if;
397 
398 -- hyang quote_status
399     OPEN c_qte_status_id ('ORDER SUBMITTED');
400     FETCH c_qte_status_id INTO l_qte_status_id;
401     CLOSE c_qte_status_id;
402 
403 	  ASO_VALIDATE_PVT.Validate_Status_Transition(
404   		p_init_msg_list	    => FND_API.G_FALSE,
405   		p_source_status_id  => l_qte_header_rec.quote_status_id,
406   		p_dest_status_id    => l_qte_status_id,
407   		x_return_status     => x_return_status,
408   		x_msg_count	        => x_msg_count,
409   		x_msg_data	        => x_msg_data);
410 
411 	  IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
412 	    IF l_qte_header_rec.quote_status_id = l_qte_status_id then
413           IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
414 	      FND_MESSAGE.Set_Name('ASO', 'ASO_API_ORDERED_STATUS_TRANS');
415            FND_MSG_PUB.ADD;
416 	     END IF;
417          END IF;
418       RAISE FND_API.G_EXC_ERROR;
419     END IF;
420 
421     IF aso_debug_pub.g_debug_flag = 'Y' THEN
422     aso_debug_pub.add('Submit_Q: After validate_status_transition: ORDER SUBMITEED ', 1, 'N');
423     END IF;
424 -- end of hyang quote_status
425 
426     FOR count_main in c_line_relation(p_qte_header_rec.quote_header_id) LOOP
427          l_line_rltship_tbl(count_rel).LINE_RELATIONSHIP_ID
428 				:= count_main.LINE_RELATIONSHIP_ID;
429          l_line_rltship_tbl(count_rel).QUOTE_LINE_ID
430 				:= count_main.QUOTE_LINE_ID;
431          l_line_rltship_tbl(count_rel).RELATED_QUOTE_LINE_ID
432 				:= count_main.RELATED_QUOTE_LINE_ID;
433          l_line_rltship_tbl(count_rel).RELATIONSHIP_TYPE_CODE
434 				:= count_main.RELATIONSHIP_TYPE_CODE;
435          l_line_rltship_tbl(count_rel).RECIPROCAL_FLAG
436 				:= count_main.RECIPROCAL_FLAG;
437     		count_rel := count_rel+1;
438      END LOOP;
439 
440 
441       l_hd_price_adj_tbl := ASO_SUBMIT_QUOTE_PVT.Query_Price_Adj_Hdr_Rows(
442 		p_qte_header_id => p_qte_header_rec.quote_header_id,
443 		p_qte_line_id	=> NULL);
444 
445 IF aso_debug_pub.g_debug_flag = 'Y' THEN
446 aso_debug_pub.add('Submit_Q: After hd_price_adj_tbl ', 1, 'N');
447 aso_debug_pub.add('Submit_Q: After l_hd_price_adj_tbl.count: '||l_hd_price_adj_tbl.count, 1, 'N');
448 END IF;
449 
450 -- pbh/prg
451       l_hd_Price_Adj_Attr_Tbl := ASO_UTILITY_PVT.Query_Price_Adj_Attr_Rows(
452           p_price_adj_tbl => l_hd_price_adj_tbl);
453 
454 IF aso_debug_pub.g_debug_flag = 'Y' THEN
455 aso_debug_pub.add('vtariker: After l_hd_Price_Adj_Attr_Tbl.count: '||l_hd_Price_Adj_Attr_Tbl.count, 1, 'N');
456 END IF;
457 -- pbh/prg
458 
459       l_hd_price_attr_tbl := ASO_UTILITY_PVT.Query_Price_Attr_Rows(
460 		p_qte_header_id => p_qte_header_rec.quote_header_id,
461 		p_qte_line_id	=> NULL);
462 
463       l_Header_ATTRIBS_EXT_Tbl := ASO_UTILITY_PVT.Query_Line_Attribs_header_Rows(
464 		P_Qte_header_Id	=> p_qte_header_rec.quote_header_id);
465 
466       l_hd_payment_tbl := ASO_UTILITY_PVT.Query_Payment_Rows(
467 		p_qte_header_id => p_qte_header_rec.quote_header_id,
468 		p_qte_line_id	=> NULL);
469 
470       FOR i in 1..l_hd_payment_tbl.count LOOP
471            IF (l_hd_payment_tbl(i).payment_amount is NULL OR
472               l_hd_payment_tbl(i).payment_amount = FND_API.G_MISS_NUM) AND
473 		    (l_hd_payment_tbl(i).payment_type_code IS NOT NULL AND
474 		    l_hd_payment_tbl(i).payment_type_code <> FND_API.G_MISS_CHAR) THEN
475                 l_hd_payment_tbl(i).payment_amount :=
476                                        l_qte_header_rec.total_quote_price;
477            END IF;
478       END LOOP;
479 
480       l_hd_tax_detail_tbl := ASO_UTILITY_PVT.Query_Tax_Detail_Rows(
481 		p_qte_header_id => p_qte_header_rec.quote_header_id,
482 		p_qte_line_id	=> NULL,
483 		p_shipment_tbl	=> ASO_QUOTE_PUB.g_miss_shipment_tbl);
484 
485       l_hd_shipment_tbl := ASO_UTILITY_PVT.Query_Shipment_Rows(
486 		p_qte_header_id => p_qte_header_rec.quote_header_id,
487 		p_qte_line_id	=> NULL);
488 
489 IF aso_debug_pub.g_debug_flag = 'Y' THEN
490 aso_debug_pub.add('Submit_Q: After hd_shipment_tbl init ', 1, 'N');
491 END IF;
492 
493       l_hd_freight_charge_tbl := ASO_UTILITY_PVT.Query_Freight_Charge_Rows(
494                          		P_Shipment_Tbl => l_hd_shipment_tbl);
495 
496       l_hd_sales_credit_tbl   := ASO_UTILITY_PVT.Query_Sales_Credit_Row (
497 							p_qte_header_id => p_qte_header_rec.quote_header_id,
498                                   	p_qte_line_id	=> NULL);
499 
500       l_hd_quote_party_tbl  := ASO_UTILITY_PVT.Query_Quote_Party_Row (
501 							P_Qte_header_Id => p_qte_header_rec.quote_header_id,
502                                    p_qte_line_id	=> NULL) ;
503 
504      ASO_LINE_NUM_INT.RESET_LINE_NUM;
505 
506 	l_qte_line_tbl := ASO_UTILITY_PVT.Query_Qte_Line_Rows_Submit (p_qte_header_rec.quote_header_id);
507 
508      IF aso_debug_pub.g_debug_flag = 'Y' THEN
509 	aso_debug_pub.add('Submit_Quote - qte_line_tbl.count: '||to_char(l_qte_line_tbl.count), 1, 'N');
510 	END IF;
511 
512 	FOR i IN 1..l_qte_line_tbl.count LOOP
513 	    l_qte_line_id := l_qte_line_tbl(i).quote_line_id;
514 
515 	    IF aso_debug_pub.g_debug_flag = 'Y' THEN
516 	    aso_debug_pub.add('Submit_Quote - l_qte_line_id: '||l_qte_line_id, 1, 'N');
517 	    END IF;
518          -- 2469621 vtariker
519          IF l_qte_line_tbl(i).item_type_code = 'MDL' THEN
520 
521             OPEN C_Get_Config_Flag(l_qte_line_id);
522             FETCH C_Get_Config_Flag INTO l_complete_config, l_valid_config, l_instance_id;
523 
524             IF C_Get_Config_Flag%NOTFOUND THEN
525               x_return_status := FND_API.G_RET_STS_ERROR;
526               IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
527                   FND_MESSAGE.Set_Name('ASO', 'ASO_INCOMPLETE_CONFIGURATION');
528                   FND_MSG_PUB.ADD;
529               END IF;
530               CLOSE C_Get_Config_Flag;
531               RAISE FND_API.G_EXC_ERROR;
532             ELSE
533               IF aso_debug_pub.g_debug_flag = 'Y' THEN
534               aso_debug_pub.add('Submit_Quote - l_complete_config: '||l_complete_config, 1, 'N');
535               aso_debug_pub.add('Submit_Quote - l_valid_config: '||l_valid_config, 1, 'N');
536               aso_debug_pub.add('Submit_Quote - l_instance_id: '||l_instance_id, 1, 'N');
537               END IF;
538 
539               IF (l_instance_id IS NULL) OR (l_instance_id = FND_API.G_MISS_NUM) THEN -- 2498776 vtariker
540 
541                 IF (NVL(l_complete_config,'N') = 'N' OR NVL(l_valid_config,'N') = 'N') THEN
542                     x_return_status := FND_API.G_RET_STS_ERROR;
543                     IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
544                         FND_MESSAGE.Set_Name('ASO', 'ASO_INCOMPLETE_CONFIGURATION');
545                         FND_MSG_PUB.ADD;
546                     END IF;
547                     CLOSE C_Get_Config_Flag;
548                     RAISE FND_API.G_EXC_ERROR;
549                 END IF;
550 
551                END IF;  -- 2498776 vtariker
552 
553             END IF;
554             CLOSE C_Get_Config_Flag;
555 
556          END IF;
557          -- 2469621 vtariker
558 
559 	    IF (NVL(l_om_defaulting_prof, 'N') = 'Y') THEN
560             IF l_qte_line_tbl(i).line_category_code is null then
561 			l_qte_line_tbl(i).line_category_code  := FND_API.G_MISS_CHAR;
562             END IF;
563 		  IF l_qte_line_tbl(i).invoicing_rule_id is null then
564 			l_qte_line_tbl(i).invoicing_rule_id := FND_API.G_MISS_NUM;
565             end if;
566 		  IF l_qte_line_tbl(i).accounting_rule_id is null then
567 			l_qte_line_tbl(i).accounting_rule_id := FND_API.G_MISS_NUM;
568             end if;
569          END IF;
570 
571          l_status := ASO_SUBMIT_QUOTE_PVT.Query_Line_Dtl_Rows(
572 							 l_qte_line_id, i, l_qte_line_dtl_tbl);
573 
574 	    l_line_attr_Ext_Tbl := ASO_SUBMIT_QUOTE_PVT.Query_Line_Attribs_Ext_Rows(
575 				                 l_qte_line_id, i, l_line_attr_ext_tbl);
576 
577 	    l_status := ASO_SUBMIT_QUOTE_PVT.Query_Price_Adj_Rows(p_qte_header_rec.quote_header_id,
578                                                                          l_qte_line_tbl(i), i,
579                                                                          l_ln_price_adj_rltship_tbl,
580                                                                          l_ln_price_adj_tbl );
581 
582 /*	    l_index := l_ln_price_adj_tbl.count+1;
583 	    FOR j IN 1..l_tmp_price_adj_tbl.count LOOP
584 		l_tmp_price_adj_tbl(j).qte_line_index := i;
585 		l_tmp_price_adj_tbl(j).operation_code := 'CREATE';
586 
587 -- pbh/prg
588           l_ln_price_adj_rltship_tbl
589             := ASO_SUBMIT_QUOTE_PVT.Query_Price_Adj_Rltship_Rows(
590 				l_tmp_price_adj_tbl(j).price_adjustment_id, i, l_ln_price_adj_rltship_tbl);
591 IF aso_debug_pub.g_debug_flag = 'Y' THEN
592 aso_debug_pub.add('Submit_Q: After l_ln_Price_Adj_Rltship_tbl.count: '||l_ln_Price_Adj_Rltship_tbl.count, 1, 'N');
593 END IF;
594 -- pbh/prg
595 
596 		-- 2800749 vtariker
597 		IF l_qte_line_tbl(i).line_category_code = 'RETURN' AND
598 		   l_tmp_price_adj_tbl(j).modifier_line_type_code = 'FREIGHT_CHARGE' THEN
599            l_tmp_price_adj_tbl(j).Credit_Or_Charge_Flag := 'C';
600 		END IF;
601 		-- 2800749 vtariker
602 		l_ln_price_adj_tbl(l_index) := l_tmp_price_adj_tbl(j);
603 		l_index := l_index+1;
604 	    END LOOP;
605 */
606 	    l_ln_price_attr_tbl := ASO_SUBMIT_QUOTE_PVT.Query_Price_Attr_Rows(
607 						       p_qte_header_rec.quote_header_id, l_qte_line_id,
608 							  i, l_ln_price_attr_tbl);
609 
610 	    l_index := l_ln_payment_tbl.count+1;
611 	    l_tmp_payment_tbl := ASO_UTILITY_PVT.Query_Payment_Rows(p_qte_header_rec.quote_header_id, L_QTE_LINE_ID);
612 	    FOR j IN 1..l_tmp_payment_tbl.count LOOP
613 		l_tmp_payment_tbl(j).qte_line_index := i;
614                 IF (NVL(l_om_defaulting_prof, 'N') = 'Y') THEN
615                   IF l_tmp_payment_tbl(j).payment_term_id is null then
616                     l_tmp_payment_tbl(j).payment_term_id := FND_API.G_MISS_NUM;
617                   end if;
618                 end if;
619 		l_ln_payment_tbl(l_index) := l_tmp_payment_tbl(j);
620           IF aso_debug_pub.g_debug_flag = 'Y' THEN
621             aso_debug_pub.add('Submit_Q: l_tmp_payment_tbl:l_index '||l_index, 1, 'N');
622             aso_debug_pub.add('Submit_Q: l_tmp_payment_tbl(j).qte_line_index '||l_tmp_payment_tbl(j).qte_line_index, 1, 'N');
623            END IF;
624 
625 	--	l_index := l_index+1;
626 	    END LOOP;
627 
628 	    l_status := ASO_SUBMIT_QUOTE_PVT.Query_Shipment_Rows(
629 						    p_qte_header_rec.quote_header_id, L_QTE_LINE_ID,
630 						    i, l_ln_shipment_tbl);
631 /*
632 	    l_ln_freight_charge_tbl := ASO_SUBMIT_QUOTE_PVT.Query_Freight_Charge_Rows(
633 								 l_ln_shipment_tbl, i, l_ln_freight_charge_tbl);
634 */
635 	    l_ln_tax_detail_tbl := ASO_SUBMIT_QUOTE_PVT.Query_Tax_Detail_Rows(
636 							 p_qte_header_rec.quote_header_id,
637 						      L_QTE_LINE_ID, l_ln_shipment_tbl.count,
638 							 i, l_ln_tax_detail_tbl);
639 
640         FOR j IN 1..l_line_rltship_tbl.count LOOP
641             IF l_line_rltship_tbl(j).quote_line_id = l_qte_line_id THEN
642                l_line_rltship_tbl(j).qte_line_index := i;
643             END IF;
644             IF l_line_rltship_tbl(j).related_quote_line_id = l_qte_line_id THEN
645                l_line_rltship_tbl(j).related_qte_line_index := i;
646              END IF;
647         END LOOP;
648 
649 	   l_ln_sales_credit_tbl := ASO_SUBMIT_QUOTE_PVT.Query_Sales_Credit_Row (
650 						  	  p_qte_header_rec.quote_header_id, l_qte_line_id,
651 							  i, l_ln_sales_credit_tbl);
652 
653 	   l_ln_quote_party_tbl := ASO_SUBMIT_QUOTE_PVT.Query_Quote_Party_Row(
654 							 p_qte_header_rec.quote_header_id, l_qte_line_id,
655 							 i, l_ln_quote_party_tbl);
656 
657 	END LOOP;  -- Line_Tbl loop
658 
659 -- pbh/prg
660    l_ln_Price_Adj_Attr_Tbl := ASO_UTILITY_PVT.Query_Price_Adj_Attr_Rows(l_ln_price_adj_tbl);
661 aso_debug_pub.add('vtariker: l_ln_Price_Adj_Attr_Tbl.count: '||l_ln_Price_Adj_Attr_Tbl.count, 1, 'N');
662 -- pbh/prg
663 
664 /*** Will not be required after CC condolidation
665     OPEN C_check_pymnt_type(p_qte_header_rec.quote_header_id);
666     LOOP
667     FETCH C_check_pymnt_type into l_payment_type_code;
668     IF C_check_pymnt_type%NOTFOUND THEN
669       CLOSE C_check_pymnt_type;
670       EXIT;
671     END IF;
672 
673     IF l_payment_type_code = 'CREDIT_CARD' THEN
674      IF aso_debug_pub.g_debug_flag = 'Y' THEN
675 	aso_debug_pub.add('Submit_Quote - payment_type is CC ', 1, 'N');
676 	END IF;
677 
678       IF NVL(FND_PROFILE.Value('ASO_CC_AUTHORIZATION_ENABLED'), 'N') = 'Y' THEN
679 IF aso_debug_pub.g_debug_flag = 'Y' THEN
680 aso_debug_pub.add('Submit_Q: CC_Authorization_enabled ', 1, 'N');
681 END IF;
682 
683         IF p_control_rec.CVV2 IS NOT NULL AND p_control_rec.CVV2 <> FND_API.G_MISS_CHAR THEN
684 
685 IF aso_debug_pub.g_debug_flag = 'Y' THEN
686 aso_debug_pub.add('Submit_Q: Before Authorize_payment p_control_rec.CVV2: '|| p_control_rec.CVV2, 1, 'N');
687 END IF;
688 		  FOR i in 1..l_hd_payment_tbl.count LOOP
689 		       l_hd_payment_tbl(i).CVV2 := p_control_rec.CVV2;
690             END LOOP;
691 
692 	   END IF;
693 
694 	   ASO_PAYMENT_INT.Authorize_Payment(
695 		P_Api_Version_Number	=> 1.0,
696 		P_Qte_Header_Rec	=> l_qte_header_rec,
697 		P_Payment_Tbl		=> l_hd_payment_tbl,
698 		x_Payment_Tbl		=> l_hd_payment_tbl_out,
699 		X_Return_Status 	=> x_Return_Status,
700 		X_Msg_Count		=> X_Msg_Count,
701 		X_Msg_Data		=> X_Msg_Data );
702 
703      l_hd_payment_tbl  :=  l_hd_payment_tbl_out;
704 
705 IF aso_debug_pub.g_debug_flag = 'Y' THEN
706 aso_debug_pub.add('Submit_Q: After Authorize_payment x_return_status: '|| x_return_status, 1, 'N');
707 END IF;
708        IF x_return_status = FND_API.G_RET_STS_ERROR THEN
709          RAISE FND_API.G_EXC_ERROR;
710        END IF;
711        IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
712          RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
713        END IF;
714       END IF;
715      END IF;
716    END LOOP;
717 ***/
718 
719 -- SalesTeam
720   OPEN C_Check_Qte_Status (l_qte_header_rec.quote_header_id);
721   FETCH C_Check_Qte_Status INTO l_istore_source;
722   CLOSE C_Check_Qte_Status;
723 
724     IF aso_debug_pub.g_debug_flag = 'Y' THEN
725     aso_debug_pub.add('Submit_Q: Before Assign_Team: l_qte_header_rec.resource_id: ' || l_qte_header_rec.resource_id, 1, 'Y');
726     aso_debug_pub.add('Submit_Q: Before Assign_Team: l_istore_source: ' || l_istore_source, 1, 'Y');
727     END IF;
728 
729   IF l_istore_source <> 'Y' OR (l_istore_source = 'Y' AND
730     (l_qte_header_rec.resource_id IS NOT NULL AND l_qte_header_rec.resource_id <> FND_API.G_MISS_NUM)) THEN
731 
732     IF NVL(FND_PROFILE.Value('ASO_API_ENABLE_SECURITY'),'N') = 'Y' THEN
733 
734         IF (l_sales_team_prof = 'FULL') THEN
735 
736             ASO_SALES_TEAM_PVT.Assign_Sales_Team
737             (
738                 P_Init_Msg_List         => FND_API.G_FALSE,
739                 P_Commit                => FND_API.G_FALSE,
740                 p_Qte_Header_Rec        => l_qte_header_rec,
741                 P_Operation             => 'SUBMIT',
742                 x_Qte_Header_Rec        => lx_qte_header_rec,
743                 x_return_status         => x_return_status,
744                 x_msg_count             => x_msg_count,
745                 x_msg_data              => x_msg_data
746              );
747             IF x_return_status = FND_API.G_RET_STS_ERROR THEN
748                 RAISE FND_API.G_EXC_ERROR;
749             END IF;
750             IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
751                 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
752             END IF;
753 
754 		IF (l_sales_cred_prof = 'FULL') THEN
755 
756               l_Sales_Alloc_Control_Rec.Submit_Quote_Flag := 'Y';
757 
758               ASO_QUOTE_PUB.Allocate_Sales_Credits
759               (
760                   P_Api_Version_Number  => 1.0,
761                   P_Init_Msg_List         => FND_API.G_FALSE,
762                   P_Commit                => FND_API.G_FALSE,
763                   P_Control_Rec           => l_Sales_Alloc_Control_Rec,
764                   p_Qte_Header_Rec        => lx_qte_header_rec,
765                   x_Qte_Header_Rec        => lx_out_qte_header_rec,
766                   x_return_status         => x_return_status,
767                   x_msg_count             => x_msg_count,
768                   x_msg_data              => x_msg_data
769                );
770 			 lx_qte_header_rec   :=  lx_out_qte_header_rec;  --nocopy changes
771               IF x_return_status = FND_API.G_RET_STS_ERROR THEN
772                   RAISE FND_API.G_EXC_ERROR;
773               END IF;
774               IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
775                   RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
776               END IF;
777 
778           END IF;
779 
780         END IF; -- sales team
781 
782     END IF; -- security
783 
784   END IF; -- l_istore_source
785 
786 -- hyang okc
787 -- contract renewal is removed.
788 -- end of hyang okc
789 
790       l_order_control_rec.CC_By_Fax := p_control_rec.CC_By_Fax;
791 
792       l_order_control_rec.BOOK_FLAG := p_control_rec.BOOK_FLAG;
793 --	l_order_control_rec.RESERVE_FLAG := p_control_rec.RESERVE_FLAG;
794       l_order_control_rec.CALCULATE_PRICE := p_control_rec.CALCULATE_PRICE;
795       l_order_control_rec.SERVER_ID := p_control_rec.SERVER_ID;
796 
797       -- Code for updating the Payment Amount
798       OPEN C_payment_amount(p_qte_header_rec.quote_header_id);
799       FETCH C_payment_amount into l_payment_amount;
800       CLOSE C_payment_amount;
801 
802       l_Qte_Header_Rec.payment_amount  :=   l_payment_amount;
803 IF aso_debug_pub.g_debug_flag = 'Y' THEN
804 aso_debug_pub.add('Submit_Quote - before create_order l_payment_amount: '||l_payment_amount, 1, 'Y');
805 END IF;
806 
807       ASO_ORDER_INT.Create_order(
808 		P_Api_Version				=> 1.0,
809           P_Init_Msg_List   			=> FND_API.G_FALSE,
810 		p_Control_Rec				=> l_order_control_rec,
811           P_Commit   				=> FND_API.G_FALSE,
812 		p_Qte_Rec					=> l_Qte_Header_Rec,
813 		p_Header_Payment_Tbl		=> l_Hd_Payment_Tbl,
814 		p_Header_Price_Adj_Tbl		=> l_hd_Price_Adj_Tbl,
815 		p_Header_Price_Attributes_Tbl	=> l_hd_Price_Attr_Tbl,
816 		p_Header_Price_Adj_rltship_Tbl	=> l_hd_Price_Adj_rltship_Tbl,
817 		p_Header_Price_Adj_Attr_Tbl	=> l_hd_Price_Adj_Attr_Tbl,
818 		p_Header_Shipment_Tbl		=> l_hd_Shipment_Tbl,
819 		p_Header_TAX_DETAIL_Tbl		=> l_hd_TAX_DETAIL_Tbl,
820 		p_Header_FREIGHT_CHARGE_Tbl	=> l_hd_FREIGHT_CHARGE_Tbl,
821 		p_Header_sales_credit_TBL	=> l_hd_sales_credit_TBL,
822         	P_Header_ATTRIBS_EXT_Tbl    	=> l_Header_ATTRIBS_EXT_Tbl,
823         	P_Header_Quote_Party_Tbl  	=> l_hd_Quote_Party_Tbl,
824 		p_Qte_Line_Tbl				=> l_Qte_Line_Tbl,
825 		p_Qte_Line_Dtl_Tbl			=> l_Qte_Line_Dtl_Tbl,
826 		p_Line_Payment_Tbl			=> l_ln_Payment_Tbl,
827 		p_Line_Price_Adj_Tbl		=> l_ln_Price_Adj_Tbl,
828 		p_Line_Price_Attributes_Tbl	=> l_ln_Price_Attr_Tbl,
829 		p_Line_Price_Adj_rltship_Tbl	=> l_ln_Price_Adj_rltship_Tbl,
830 		p_Line_Price_Adj_Attr_Tbl	=> l_ln_Price_Adj_Attr_Tbl,
831 		p_Line_Shipment_Tbl			=> l_ln_Shipment_Tbl,
832 		p_Line_TAX_DETAIL_Tbl		=> l_ln_TAX_DETAIL_Tbl,
833 		p_Line_FREIGHT_CHARGE_Tbl	=> l_ln_FREIGHT_CHARGE_Tbl,
834 		P_LINE_ATTRIBS_EXT_TBL		=> l_line_attr_ext_tbl,
835         	p_Line_Rltship_Tbl			=> l_line_Rltship_Tbl,
836 		P_Line_sales_credit_TBL		=> l_ln_sales_credit_TBL,
837         	P_Line_Quote_Party_Tbl   	=>    l_ln_Quote_Party_Tbl,
838         	P_Lot_Serial_Tbl         	=> l_Lot_Serial_Tbl,
839 		X_Order_Header_Rec			=> lx_Order_Header_Rec,
840 		X_Order_Line_Tbl			=> lx_Order_Line_Tbl,
841 		X_Return_Status			=> X_Return_Status,
842 		X_Msg_Count				=> X_Msg_Count,
843 		X_Msg_Data				=> X_Msg_Data);
844 IF aso_debug_pub.g_debug_flag = 'Y' THEN
845 aso_debug_pub.add('Submit_Q: After Create_Order x_return_status: '||x_return_status, 1, 'N');
846 END IF;
847        IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
848 	  IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
849 	    FND_MESSAGE.Set_Name('ASO', 'ASO_API_ERROR_IN_ORDERING');
850 	    FND_MSG_PUB.ADD;
851 	  END IF;
852        IF x_return_status = FND_API.G_RET_STS_ERROR THEN
853          RAISE FND_API.G_EXC_ERROR;
854        END IF;
855        IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
856          RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
857        END IF;
858 	END IF;
859 
860 -- If book flag is set to 'Y' OM returns success even if the order
861 -- is not booked. We raise an error in case the order is not booked.
862 /** Bug# 4045135. Removing this check since deferred scheduling may book orders at a later stage.
863    IF x_return_status = FND_API.G_RET_STS_SUCCESS
864       AND l_order_control_rec.BOOK_FLAG = FND_API.G_TRUE THEN
865 IF aso_debug_pub.g_debug_flag = 'Y' THEN
866 aso_debug_pub.add('Submit_Q: After create_order Success and Book_flag = true ', 1, 'N');
867 END IF;
868 	  OPEN C_book_flag;
869           FETCH C_book_flag into l_book_flag;
870           IF C_book_flag%NOTFOUND THEN
871              RAISE FND_API.G_EXC_ERROR;
872 	     END IF;
873           IF l_book_flag = 'N' or l_book_flag IS NULL THEN
874       	     RAISE FND_API.G_EXC_ERROR;
875           END IF;
876           CLOSE C_book_flag;
877    END IF;
878 **/
879 
880 -- EDU
881 IF aso_debug_pub.g_debug_flag = 'Y' THEN
882 aso_debug_pub.add('Submit_Quote - before ASO_EDUCATION_INT.Update_OTA_With_OrderLine ', 1, 'N');
883 END IF;
884      ASO_EDUCATION_INT.Update_OTA_With_OrderLine(
885           P_Init_Msg_List          => FND_API.G_FALSE,
886           P_Commit                 => FND_API.G_FALSE,
887           P_Order_Line_Tbl         => lx_order_line_tbl,
888           X_Return_Status          => x_return_status,
889           X_Msg_Count              => x_msg_count,
890           X_Msg_Data               => x_msg_data);
891 IF aso_debug_pub.g_debug_flag = 'Y' THEN
892 aso_debug_pub.add('Submit_Quote - after ASO_EDUCATION_INT.Update_OTA_With_OrderLine: '||x_return_status, 1, 'N');
893 END IF;
894        IF x_return_status = FND_API.G_RET_STS_ERROR THEN
895          RAISE FND_API.G_EXC_ERROR;
896        END IF;
897        IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
898          RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
899        END IF;
900 -- EDU
901 
902 -- bug 1749828 hyang
903 	  -- create object relationships between quote and order
904 
905        l_related_obj_rec.QUOTE_OBJECT_TYPE_CODE    := 'HEADER';
906        l_related_obj_rec.QUOTE_OBJECT_ID	   := p_qte_header_rec.quote_header_id  ;
907        l_related_obj_rec.OBJECT_TYPE_CODE	   := 'ORDER'	 ;
908        l_related_obj_rec.OBJECT_ID
909 				  := lx_order_header_rec.ORDER_HEADER_ID  ;
910        l_related_obj_rec.RELATIONSHIP_TYPE_CODE    := 'QUOTE_ORDER';
911        l_related_obj_rec.RECIPROCAL_FLAG	   := 'N'      ;
912 
913 	   ASO_RELATED_OBJ_PVT.Create_related_obj(
914    		 P_Api_Version_Number	=> 1.0,
915     		 P_Init_Msg_List	=>  FND_API.G_FALSE,
916     		 P_Commit		=>   FND_API.G_FALSE,
917     		 p_validation_level	=>  FND_API.G_VALID_LEVEL_NONE,
918     		 P_RELATED_OBJ_Rec	=> l_related_obj_rec,
919     		 X_RELATED_OBJECT_ID	=> l_related_obj_id,
920     		 X_RETURN_STATUS	=> X_RETURN_STATUS,
921 		 X_MSG_COUNT		=> X_MSG_COUNT 	,
922 		 X_MSG_DATA		=> X_MSG_DATA
923 	   );
924 
925 IF aso_debug_pub.g_debug_flag = 'Y' THEN
926 aso_debug_pub.add('Submit_Q: After Create_Related_Obj x_return_status: '||x_return_status, 1, 'N');
927 END IF;
928 	IF X_RETURN_STATUS <>  FND_API.G_RET_STS_SUCCESS THEN
929 	  IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
930 	    FND_MESSAGE.Set_Name('ASO', 'ASO_API_ERROR_IN_CREATE_RLTN');
931          FND_MESSAGE.Set_Token('COLUMN', l_related_obj_rec.RELATIONSHIP_TYPE_CODE, TRUE);
932 	    FND_MSG_PUB.ADD;
933 	  END IF;
934        IF x_return_status = FND_API.G_RET_STS_ERROR THEN
935          RAISE FND_API.G_EXC_ERROR;
936        END IF;
937        IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
938          RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
939        END IF;
940 	END IF;
941 
942 -- end of bug 1749828 hyang code
943 
944     x_order_header_rec.ORDER_NUMBER := lx_Order_Header_Rec.ORDER_NUMBER;
945     x_order_header_rec.ORDER_HEADER_ID := lx_Order_Header_Rec.ORDER_HEADER_ID;
946     x_order_header_rec.STATUS := lx_Order_Header_Rec.STATUS;
947 
948 	-- update order line id for quote lines
949 -- hyang quote_status
950     -- update quote_status to 'ORDER SUBMITTED'.
951     OPEN c_qte_status_id ('ORDER SUBMITTED');
952     FETCH c_qte_status_id INTO l_qte_status_id;
953     CLOSE c_qte_status_id;
954 -- end of hyang quote_status
955 
956 	UPDATE ASO_QUOTE_HEADERS_ALL
957 	SET order_Id           =  x_order_header_rec.order_header_id,
958          quote_status_id    =  l_qte_status_id,
959          last_update_date   =  sysdate,
960          last_updated_by    =  fnd_global.user_id,
961          last_update_login  =  fnd_global.conc_login_id
962 	WHERE quote_header_id = p_qte_header_rec.quote_header_id;
963 
964     FOR i IN 1..lx_order_line_tbl.count LOOP
965 	-- update order line id for quote lines
966 
967 	UPDATE ASO_SHIPMENTS
968 	SET order_line_id      =  lx_order_line_tbl(i).order_line_id,
969          last_update_date   =  sysdate,
970          last_updated_by    =  fnd_global.user_id,
971          last_update_login  =  fnd_global.conc_login_id
972 	WHERE shipment_id = lx_order_line_tbl(i).quote_shipment_line_id;
973 
974 	-- update installment details
975 	-- hyang 1935614 csi integration
976 	  ASO_INSTBASE_INT.Update_Inst_Details_ORDER(
977 		P_Api_Version_Number	=> 1.0,
978 		P_Init_Msg_List 	=> FND_API.G_FALSE,
979 		P_Commit		=> FND_API.G_FALSE,
980 		P_Quote_Line_Shipment_id=> lx_order_line_tbl(i).quote_shipment_line_id,
981 		P_Order_Line_Id		=> lx_order_line_tbl(i).order_line_id,
982 		X_Return_Status 	=> x_Return_Status,
983 		X_Msg_Count		=> X_Msg_Count,
984 		X_Msg_Data		=> X_Msg_Data );
985 IF aso_debug_pub.g_debug_flag = 'Y' THEN
986 aso_debug_pub.add('Submit_Q: After Update_Inst_Details x_return_status: '||x_return_status, 1, 'N');
987 END IF;
988 	IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
989 	  IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
990 	    FND_MESSAGE.Set_Name('ASO', 'ASO_API_ERROR_IN_UPDATE_INST');
991 	    FND_MSG_PUB.ADD;
992 	  END IF;
993        IF x_return_status = FND_API.G_RET_STS_ERROR THEN
994           RAISE FND_API.G_EXC_ERROR;
995        END IF;
996        IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
997           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
998        END IF;
999 	END IF;
1000 
1001 	l_shipment_rec := ASO_UTILITY_PVT.Query_shipment_Row(lx_order_line_tbl(i).quote_shipment_Line_id);
1002 	l_qte_line_rec := ASO_UTILITY_PVT.Query_Qte_Line_Row(l_shipment_rec.quote_line_id);
1003 
1004 	-- transfer reservation
1005 	IF l_shipment_rec.reservation_id IS NOT NULL
1006 	    AND l_shipment_rec.reservation_id <> FND_API.G_MISS_NUM  THEN
1007 	    ASO_RESERVATION_INT.Transfer_Reservation(
1008 		P_Api_Version_Number	=> 1.0,
1009 		P_Init_Msg_List 	=> FND_API.G_FALSE,
1010 		P_Commit		=> FND_API.G_FALSE,
1011 		P_header_rec		=> l_qte_header_rec,
1012 		P_line_Rec		=> l_qte_line_rec,
1013 		p_shipment_rec		=> l_shipment_rec,
1014 		X_Return_Status 	=> x_Return_Status,
1015 		X_Msg_Count		=> X_Msg_Count,
1016 		X_Msg_Data		=> X_Msg_Data,
1017 		X_new_RESERVATION_ID	=> l_reservation_id);
1018 IF aso_debug_pub.g_debug_flag = 'Y' THEN
1019 aso_debug_pub.add('Submit_Q: After Transfer_Reservation x_return_status: '||x_return_status, 1, 'N');
1020 END IF;
1021 		IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1022 	  		IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
1023 	    			FND_MESSAGE.Set_Name('ASO', 'ASO_API_ERROR_IN_TRANS_RSV');
1024 	    			FND_MSG_PUB.ADD;
1025 	  		END IF;
1026 		     IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1027               		RAISE FND_API.G_EXC_ERROR;
1028   			END IF;
1029   			IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1030               		RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1031   			END IF;
1032 		END IF;
1033 	END IF;
1034     END LOOP;  -- lx_order_line_tbl
1035 IF aso_debug_pub.g_debug_flag = 'Y' THEN
1036 aso_debug_pub.add('Submit_Q: After lx_order_line_tbl loop x_return_status: '||x_return_status, 1, 'N');
1037 END IF;
1038 
1039 
1040 --  lx_return_status := x_return_status  -- 1966456
1041    -- copy attachment to order
1042   aso_attachment_int.copy_attachments_to_order
1043   (  p_api_version_number   => p_api_version_number
1044      ,p_init_msg_list       => FND_API.G_FALSE  --P_Init_Msg_List  --1966456
1045      ,p_commit              => FND_API.G_FALSE
1046      ,p_quote_header_id     => p_qte_header_rec.quote_header_id
1047      ,p_order_id            => x_order_header_rec.order_header_id
1048      ,p_order_line_tbl      => lx_Order_Line_Tbl
1049      ,x_return_status       => x_return_status
1050      ,x_msg_count           => x_msg_count
1051      ,x_msg_data            => x_msg_data
1052   );
1053 IF aso_debug_pub.g_debug_flag = 'Y' THEN
1054 aso_debug_pub.add('Submit_Q: After Copy_Attachments_to_order x_return_status: '||x_return_status, 1, 'N');
1055 END IF;
1056   IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1057               RAISE FND_API.G_EXC_ERROR;
1058   END if;
1059   IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1060               RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1061   END IF;
1062 
1063 --	x_return_status := lx_return_status; -- 1966456
1064 
1065 -- Changes for High Availability
1066 
1067 IF aso_debug_pub.g_debug_flag = 'Y' THEN
1068 aso_debug_pub.add('Submit_Q: HA Test 10 ', 1, 'N');
1069 END IF;
1070 
1071         JTF_HA_STATE_PKG.GET_CURRENT_STATE (
1072                                 X_CURRENT_STATE => X_Current_State,
1073                                 X_RETURN_STATUS => X_Return_Status);
1074 
1075 IF aso_debug_pub.g_debug_flag = 'Y' THEN
1076 aso_debug_pub.add('Submit_Q: After JTF_HA_STATE_PKG.GET_CURRENT_STATE x_return_status: '||x_return_status, 1, 'N');
1077 END IF;
1078         IF x_return_Status = FND_API.G_RET_STS_SUCCESS THEN
1079 
1080                 IF X_Current_State IN (3,4) THEN
1081 
1082 IF aso_debug_pub.g_debug_flag = 'Y' THEN
1083 aso_debug_pub.add('Submit_Q: In HA: X_Current_State: '||X_Current_State, 1, 'N');
1084 END IF;
1085                     ROLLBACK TO SUBMIT_QUOTE_PVT;
1086 
1087                     ASO_SUBMIT_QUOTE_PVT.Raise_Quote_Event (
1088                               P_Quote_Header_Id   =>   p_qte_header_rec.quote_header_id,
1089                               P_Control_Rec       =>   p_control_rec,
1090                               X_Return_Status     =>   x_return_status );
1091 
1092 IF aso_debug_pub.g_debug_flag = 'Y' THEN
1093 aso_debug_pub.add('Submit_Q: Raise_Quote_Event: X_Current_State: '||X_Current_State, 1, 'N');
1094 END IF;
1095                     IF x_return_Status = FND_API.G_RET_STS_SUCCESS THEN
1096 
1097                          UPDATE ASO_QUOTE_HEADERS_ALL
1098                          SET Order_Id           =  x_order_header_rec.order_header_id,
1099                              last_update_date   =  sysdate,
1100                              last_updated_by    =  fnd_global.user_id,
1101                              last_update_login  =  fnd_global.conc_login_id
1102                          WHERE quote_header_id = p_qte_header_rec.quote_header_id;
1103 
1104                     END IF;
1105 
1106                END IF;
1107         ELSE
1108                x_return_Status := FND_API.G_RET_STS_ERROR;
1109                RAISE FND_API.G_EXC_ERROR;
1110 
1111         END IF;
1112 -- HA
1113 
1114 IF aso_debug_pub.g_debug_flag = 'Y' THEN
1115 aso_debug_pub.add('Submit_Q: End of submit_quote x_return_status: '||x_return_status, 1, 'N');
1116 END IF;
1117 
1118       -- Debug Message
1119       IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW)
1120       THEN
1121 	  FND_MESSAGE.Set_Name('ASO', 'Submit Quote API: End');
1122 	  FND_MSG_PUB.Add;
1123       END IF;
1124 
1125       FND_MSG_PUB.Count_And_Get
1126       ( p_count 	  =>	  x_msg_count,
1127 	  p_data	    =>	    x_msg_data
1128       );
1129 
1130 -- HA
1131  -- Standard check for p_commit
1132  IF FND_API.to_Boolean( p_commit ) THEN
1133       COMMIT WORK;
1134  END IF;
1135 -- HA
1136 
1137   EXCEPTION
1138 
1139       WHEN FND_API.G_EXC_ERROR THEN
1140 
1141 	  ROLLBACK TO SUBMIT_QUOTE_PVT;
1142 
1143   	    BEGIN
1144 	      IF FND_API.To_Boolean( p_commit )
1145 	      THEN
1146 		COMMIT WORK;
1147 	      END IF;
1148 
1149 	    EXCEPTION
1150 	      WHEN NO_DATA_FOUND THEN
1151 		NULL;
1152 	    END;
1153 
1154 	  x_return_status := FND_API.G_RET_STS_ERROR ;
1155 
1156 	  FND_MSG_PUB.Count_And_Get
1157     		( p_count	  	=>	x_msg_count,
1158 		  p_data	  	=>	x_msg_data
1159     		);
1160 
1161 
1162       WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1163 
1164 	  ROLLBACK TO SUBMIT_QUOTE_PVT;
1165 
1166   	    BEGIN
1167 	      IF FND_API.To_Boolean( p_commit )
1168 	      THEN
1169 		COMMIT WORK;
1170 	      END IF;
1171 
1172 	    EXCEPTION
1173 	      WHEN NO_DATA_FOUND THEN
1174 		NULL;
1175 	    END;
1176 
1177 	  x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1178 
1179 	  FND_MSG_PUB.Count_And_Get
1180     		( p_count	  	=>	x_msg_count,
1181 		  p_data	  	=>	x_msg_data
1182     		);
1183 
1184 
1185       WHEN OTHERS THEN
1186 
1187 	  ROLLBACK TO SUBMIT_QUOTE_PVT;
1188 
1189   	    BEGIN
1190 	      IF FND_API.To_Boolean( p_commit )
1191 	      THEN
1192 		COMMIT WORK;
1193 	      END IF;
1194 
1195 	    EXCEPTION
1196 	      WHEN NO_DATA_FOUND THEN
1197 		NULL;
1198 	    END;
1199 
1200 	  x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1201 
1202   	  IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR )
1203 	  THEN
1204     	      FND_MSG_PUB.Add_Exc_Msg
1205     	    		( G_PKG_NAME,
1206     	    		  l_api_name
1207 	    		);
1208 	  END IF;
1209 
1210 	  FND_MSG_PUB.Count_And_Get
1211     		( p_count	 	=>	x_msg_count,
1212 		  p_data	  	=>	x_msg_data
1213     		);
1214 
1215 END Submit_Quote;
1216 
1217 
1218 FUNCTION Query_Tax_Detail_Rows (
1219     P_Qte_Header_Id		IN  NUMBER := FND_API.G_MISS_NUM,
1220     P_Qte_Line_Id		IN  NUMBER := FND_API.G_MISS_NUM,
1221     P_Shipment_Tbl_Cnt   IN  NUMBER,
1222     P_Line_Index         IN  NUMBER,
1223     lx_tax_detail_tbl    IN OUT NOCOPY /* file.sql.39 change */  ASO_QUOTE_PUB.Tax_Detail_Tbl_Type
1224     ) RETURN ASO_QUOTE_PUB.Tax_Detail_Tbl_Type
1225 IS
1226    CURSOR c_tax1 IS
1227     SELECT
1228 	TAX_DETAIL_ID,
1229 	CREATION_DATE,
1230 	CREATED_BY,
1231 	LAST_UPDATE_DATE,
1232 	LAST_UPDATED_BY,
1233 	LAST_UPDATE_LOGIN,
1234 	REQUEST_ID,
1235 	PROGRAM_APPLICATION_ID,
1236 	PROGRAM_ID,
1237 	PROGRAM_UPDATE_DATE,
1238 	QUOTE_HEADER_ID,
1239 	QUOTE_LINE_ID,
1240 	QUOTE_SHIPMENT_ID,
1241 	ORIG_TAX_CODE,
1242 	TAX_CODE,
1243 	TAX_RATE,
1244 	TAX_DATE,
1245 	TAX_AMOUNT,
1246 	TAX_EXEMPT_FLAG,
1247 	TAX_EXEMPT_NUMBER,
1248 	TAX_EXEMPT_REASON_CODE,
1249 	ATTRIBUTE_CATEGORY,
1250 	ATTRIBUTE1,
1251 	ATTRIBUTE2,
1252 	ATTRIBUTE3,
1253 	ATTRIBUTE4,
1254 	ATTRIBUTE5,
1255 	ATTRIBUTE6,
1256 	ATTRIBUTE7,
1257 	ATTRIBUTE8,
1258 	ATTRIBUTE9,
1259 	ATTRIBUTE10,
1260 	ATTRIBUTE11,
1261 	ATTRIBUTE12,
1262 	ATTRIBUTE13,
1263 	ATTRIBUTE14,
1264 	ATTRIBUTE15,
1265 	TAX_INCLUSIVE_FLAG,
1266 	TAX_RATE_ID
1267   FROM ASO_TAX_DETAILS
1268   WHERE quote_header_id = p_qte_header_id
1269   AND quote_line_id IS NULL ;
1270 
1271    CURSOR c_tax2 IS
1272     SELECT
1273      TAX_DETAIL_ID,
1274 	CREATION_DATE,
1275 	CREATED_BY,
1276 	LAST_UPDATE_DATE,
1277 	LAST_UPDATED_BY,
1278 	LAST_UPDATE_LOGIN,
1279 	REQUEST_ID,
1280 	PROGRAM_APPLICATION_ID,
1281 	PROGRAM_ID,
1282 	PROGRAM_UPDATE_DATE,
1283 	QUOTE_HEADER_ID,
1284 	QUOTE_LINE_ID,
1285 	QUOTE_SHIPMENT_ID,
1286 	ORIG_TAX_CODE,
1287 	TAX_CODE,
1288 	TAX_RATE,
1289 	TAX_DATE,
1290 	TAX_AMOUNT,
1291 	TAX_EXEMPT_FLAG,
1292 	TAX_EXEMPT_NUMBER,
1293 	TAX_EXEMPT_REASON_CODE,
1294 	ATTRIBUTE_CATEGORY,
1295 	ATTRIBUTE1,
1296 	ATTRIBUTE2,
1297 	ATTRIBUTE3,
1298 	ATTRIBUTE4,
1299 	ATTRIBUTE5,
1300 	ATTRIBUTE6,
1301 	ATTRIBUTE7,
1302 	ATTRIBUTE8,
1303 	ATTRIBUTE9,
1304 	ATTRIBUTE10,
1305 	ATTRIBUTE11,
1306 	ATTRIBUTE12,
1307 	ATTRIBUTE13,
1308 	ATTRIBUTE14,
1309 	ATTRIBUTE15,
1310      TAX_INCLUSIVE_FLAG,
1311 	TAX_RATE_ID
1312     FROM ASO_TAX_DETAILS
1313     WHERE quote_line_id = p_qte_line_id;
1314 
1315 --    l_tax_detail_rec             ASO_QUOTE_PUB.Tax_Detail_Rec_Type;
1316 	l_tax_det_count NUMBER;
1317 
1318 BEGIN
1319 --Fix for bug 5714535.  Setting the output table structure directly instead of
1320 --setting it through  the local record structure.
1321 
1322      IF aso_debug_pub.g_debug_flag = 'Y' THEN
1323           aso_debug_pub.add('Begin ASO_SUBMIT_QUOTE_PVT.Query_Tax_Detail_Rows', 1, 'N');
1324      END IF;
1325 
1326    IF P_Qte_Line_Id is NULL or P_Qte_Line_Id = FND_API.G_MISS_NUM THEN
1327 
1328       FOR tax_rec IN c_tax1 LOOP
1329 	   l_tax_det_count := lx_tax_detail_tbl.COUNT+1;
1330 	   IF aso_debug_pub.g_debug_flag = 'Y' THEN
1331 		aso_debug_pub.add('Query_Tax_Detail_Rows - l_tax_det_count: ' || l_tax_det_count, 1, 'N');
1332 	   END IF;
1333 
1334 	   lx_tax_detail_tbl(l_tax_det_count).TAX_DETAIL_ID := tax_rec.TAX_DETAIL_ID;
1335 	   lx_tax_detail_tbl(l_tax_det_count).CREATION_DATE := tax_rec.CREATION_DATE;
1336 	   lx_tax_detail_tbl(l_tax_det_count).CREATED_BY := tax_rec.CREATED_BY;
1337 	   lx_tax_detail_tbl(l_tax_det_count).LAST_UPDATE_DATE := tax_rec.LAST_UPDATE_DATE;
1338 	   lx_tax_detail_tbl(l_tax_det_count).LAST_UPDATED_BY := tax_rec.LAST_UPDATED_BY;
1339 	   lx_tax_detail_tbl(l_tax_det_count).LAST_UPDATE_LOGIN := tax_rec.LAST_UPDATE_LOGIN;
1340 	   lx_tax_detail_tbl(l_tax_det_count).REQUEST_ID := tax_rec.REQUEST_ID;
1341 	   lx_tax_detail_tbl(l_tax_det_count).PROGRAM_APPLICATION_ID := tax_rec.PROGRAM_APPLICATION_ID;
1342 	   lx_tax_detail_tbl(l_tax_det_count).PROGRAM_ID := tax_rec.PROGRAM_ID;
1343 	   lx_tax_detail_tbl(l_tax_det_count).PROGRAM_UPDATE_DATE := tax_rec.PROGRAM_UPDATE_DATE;
1344 	  lx_tax_detail_tbl(l_tax_det_count).QUOTE_HEADER_ID := tax_rec.QUOTE_HEADER_ID;
1345 	  lx_tax_detail_tbl(l_tax_det_count).QUOTE_LINE_ID := tax_rec.QUOTE_LINE_ID;
1346 	  lx_tax_detail_tbl(l_tax_det_count).QUOTE_SHIPMENT_ID := tax_rec.QUOTE_SHIPMENT_ID;
1347 	  lx_tax_detail_tbl(l_tax_det_count).ORIG_TAX_CODE := tax_rec.ORIG_TAX_CODE;
1348 	  lx_tax_detail_tbl(l_tax_det_count).TAX_CODE := tax_rec.TAX_CODE;
1349 	  lx_tax_detail_tbl(l_tax_det_count).TAX_RATE := tax_rec.TAX_RATE;
1350 	  lx_tax_detail_tbl(l_tax_det_count).TAX_DATE := tax_rec.TAX_DATE;
1351 	  lx_tax_detail_tbl(l_tax_det_count).TAX_AMOUNT := tax_rec.TAX_AMOUNT;
1352 	  lx_tax_detail_tbl(l_tax_det_count).TAX_EXEMPT_FLAG := tax_rec.TAX_EXEMPT_FLAG;
1353 	  lx_tax_detail_tbl(l_tax_det_count).TAX_EXEMPT_NUMBER := tax_rec.TAX_EXEMPT_NUMBER;
1354 	  lx_tax_detail_tbl(l_tax_det_count).TAX_EXEMPT_REASON_CODE := tax_rec.TAX_EXEMPT_REASON_CODE;
1355 	  lx_tax_detail_tbl(l_tax_det_count).ATTRIBUTE_CATEGORY := tax_rec.ATTRIBUTE_CATEGORY;
1356 	  lx_tax_detail_tbl(l_tax_det_count).ATTRIBUTE1 := tax_rec.ATTRIBUTE1;
1357 	  lx_tax_detail_tbl(l_tax_det_count).ATTRIBUTE2 := tax_rec.ATTRIBUTE2;
1358 	  lx_tax_detail_tbl(l_tax_det_count).ATTRIBUTE3 := tax_rec.ATTRIBUTE3;
1359 	  lx_tax_detail_tbl(l_tax_det_count).ATTRIBUTE4 := tax_rec.ATTRIBUTE4;
1360 	  lx_tax_detail_tbl(l_tax_det_count).ATTRIBUTE5 := tax_rec.ATTRIBUTE5;
1361 	  lx_tax_detail_tbl(l_tax_det_count).ATTRIBUTE6 := tax_rec.ATTRIBUTE6;
1362 	  lx_tax_detail_tbl(l_tax_det_count).ATTRIBUTE7 := tax_rec.ATTRIBUTE7;
1363 	  lx_tax_detail_tbl(l_tax_det_count).ATTRIBUTE8 := tax_rec.ATTRIBUTE8;
1364 	  lx_tax_detail_tbl(l_tax_det_count).ATTRIBUTE9 := tax_rec.ATTRIBUTE9;
1365 	  lx_tax_detail_tbl(l_tax_det_count).ATTRIBUTE10 := tax_rec.ATTRIBUTE10;
1366 	  lx_tax_detail_tbl(l_tax_det_count).ATTRIBUTE11 := tax_rec.ATTRIBUTE11;
1367 	  lx_tax_detail_tbl(l_tax_det_count).ATTRIBUTE12 := tax_rec.ATTRIBUTE12;
1368 	  lx_tax_detail_tbl(l_tax_det_count).ATTRIBUTE13 := tax_rec.ATTRIBUTE13;
1369 	  lx_tax_detail_tbl(l_tax_det_count).ATTRIBUTE14 := tax_rec.ATTRIBUTE14;
1370 	  lx_tax_detail_tbl(l_tax_det_count).ATTRIBUTE15 := tax_rec.ATTRIBUTE15;
1371 	  lx_tax_detail_tbl(l_tax_det_count).TAX_INCLUSIVE_FLAG := tax_rec.TAX_INCLUSIVE_FLAG;
1372 	  lx_tax_detail_tbl(l_tax_det_count).TAX_RATE_ID := tax_rec.TAX_RATE_ID;
1373 --	  lx_tax_detail_tbl(lx_tax_detail_tbl.COUNT+1) := l_tax_detail_rec;
1374       END LOOP;
1375 	 ELSIF P_Qte_Line_Id is NOT NULL OR P_Qte_Line_Id <> FND_API.G_MISS_NUM THEN
1376 	  FOR tax_rec IN c_tax2 LOOP
1377 	  l_tax_det_count := lx_tax_detail_tbl.COUNT+1;
1378 
1379 	   lx_tax_detail_tbl(l_tax_det_count).TAX_DETAIL_ID := tax_rec.TAX_DETAIL_ID;
1380         lx_tax_detail_tbl(l_tax_det_count).shipment_index := p_shipment_tbl_cnt;
1381 	   lx_tax_detail_tbl(l_tax_det_count).CREATION_DATE := tax_rec.CREATION_DATE;
1382 	   lx_tax_detail_tbl(l_tax_det_count).CREATED_BY := tax_rec.CREATED_BY;
1383 	   lx_tax_detail_tbl(l_tax_det_count).LAST_UPDATE_DATE := tax_rec.LAST_UPDATE_DATE;
1384 	   lx_tax_detail_tbl(l_tax_det_count).LAST_UPDATED_BY := tax_rec.LAST_UPDATED_BY;
1385 	   lx_tax_detail_tbl(l_tax_det_count).LAST_UPDATE_LOGIN := tax_rec.LAST_UPDATE_LOGIN;
1386 	   lx_tax_detail_tbl(l_tax_det_count).REQUEST_ID := tax_rec.REQUEST_ID;
1387 	   lx_tax_detail_tbl(l_tax_det_count).PROGRAM_APPLICATION_ID := tax_rec.PROGRAM_APPLICATION_ID;
1388 	   lx_tax_detail_tbl(l_tax_det_count).PROGRAM_ID := tax_rec.PROGRAM_ID;
1389 	   lx_tax_detail_tbl(l_tax_det_count).PROGRAM_UPDATE_DATE := tax_rec.PROGRAM_UPDATE_DATE;
1390 	     lx_tax_detail_tbl(l_tax_det_count).QUOTE_HEADER_ID := tax_rec.QUOTE_HEADER_ID;
1391 	     lx_tax_detail_tbl(l_tax_det_count).QUOTE_LINE_ID := tax_rec.QUOTE_LINE_ID;
1392 	     lx_tax_detail_tbl(l_tax_det_count).QUOTE_SHIPMENT_ID := tax_rec.QUOTE_SHIPMENT_ID;
1393 	     lx_tax_detail_tbl(l_tax_det_count).ORIG_TAX_CODE := tax_rec.ORIG_TAX_CODE;
1394 	     lx_tax_detail_tbl(l_tax_det_count).TAX_CODE := tax_rec.TAX_CODE;
1395 	     lx_tax_detail_tbl(l_tax_det_count).TAX_RATE := tax_rec.TAX_RATE;
1396 	     lx_tax_detail_tbl(l_tax_det_count).TAX_DATE := tax_rec.TAX_DATE;
1397 	     lx_tax_detail_tbl(l_tax_det_count).TAX_AMOUNT := tax_rec.TAX_AMOUNT;
1398 	     lx_tax_detail_tbl(l_tax_det_count).TAX_EXEMPT_FLAG := tax_rec.TAX_EXEMPT_FLAG;
1399 	     lx_tax_detail_tbl(l_tax_det_count).TAX_EXEMPT_NUMBER := tax_rec.TAX_EXEMPT_NUMBER;
1400 	     lx_tax_detail_tbl(l_tax_det_count).TAX_EXEMPT_REASON_CODE := tax_rec.TAX_EXEMPT_REASON_CODE;
1401 	     lx_tax_detail_tbl(l_tax_det_count).ATTRIBUTE_CATEGORY := tax_rec.ATTRIBUTE_CATEGORY;
1402 	     lx_tax_detail_tbl(l_tax_det_count).ATTRIBUTE1 := tax_rec.ATTRIBUTE1;
1403 	     lx_tax_detail_tbl(l_tax_det_count).ATTRIBUTE2 := tax_rec.ATTRIBUTE2;
1404 	     lx_tax_detail_tbl(l_tax_det_count).ATTRIBUTE3 := tax_rec.ATTRIBUTE3;
1405 	     lx_tax_detail_tbl(l_tax_det_count).ATTRIBUTE4 := tax_rec.ATTRIBUTE4;
1406 	     lx_tax_detail_tbl(l_tax_det_count).ATTRIBUTE5 := tax_rec.ATTRIBUTE5;
1407 	     lx_tax_detail_tbl(l_tax_det_count).ATTRIBUTE6 := tax_rec.ATTRIBUTE6;
1408 	     lx_tax_detail_tbl(l_tax_det_count).ATTRIBUTE7 := tax_rec.ATTRIBUTE7;
1409 	     lx_tax_detail_tbl(l_tax_det_count).ATTRIBUTE8 := tax_rec.ATTRIBUTE8;
1410 	     lx_tax_detail_tbl(l_tax_det_count).ATTRIBUTE9 := tax_rec.ATTRIBUTE9;
1411 	     lx_tax_detail_tbl(l_tax_det_count).ATTRIBUTE10 := tax_rec.ATTRIBUTE10;
1412 	     lx_tax_detail_tbl(l_tax_det_count).ATTRIBUTE11 := tax_rec.ATTRIBUTE11;
1413 	     lx_tax_detail_tbl(l_tax_det_count).ATTRIBUTE12 := tax_rec.ATTRIBUTE12;
1414 	     lx_tax_detail_tbl(l_tax_det_count).ATTRIBUTE13 := tax_rec.ATTRIBUTE13;
1415 	     lx_tax_detail_tbl(l_tax_det_count).ATTRIBUTE14 := tax_rec.ATTRIBUTE14;
1416 	     lx_tax_detail_tbl(l_tax_det_count).ATTRIBUTE15 := tax_rec.ATTRIBUTE15;
1417 	     lx_tax_detail_tbl(l_tax_det_count).TAX_INCLUSIVE_FLAG := tax_rec.TAX_INCLUSIVE_FLAG;
1418 	     lx_tax_detail_tbl(l_tax_det_count).TAX_RATE_ID := tax_rec.TAX_RATE_ID;
1419 	     lx_tax_detail_tbl(l_tax_det_count).QTE_LINE_INDEX := P_Line_Index;
1420 --	     lx_tax_detail_tbl(lx_tax_detail_tbl.COUNT+1) := l_tax_detail_rec;
1421        END LOOP;
1422 	 END IF;
1423 
1424 	IF aso_debug_pub.g_debug_flag = 'Y' THEN
1425 		aso_debug_pub.add('ASO_SUBMIT_QUOTE_PVT.Query_Tax_Detail_Rows - end', 1, 'N');
1426 	END IF;
1427       RETURN lx_tax_detail_tbl;
1428 END Query_Tax_Detail_Rows;
1429 
1430 
1431 FUNCTION Query_Shipment_Rows (
1432     P_Qte_Header_Id		IN  NUMBER := FND_API.G_MISS_NUM,
1433     P_Qte_Line_Id		IN  NUMBER := FND_API.G_MISS_NUM,
1434     P_Line_Index         IN  NUMBER,
1435     lx_shipment_tbl      IN OUT NOCOPY /* file.sql.39 change */  ASO_QUOTE_PUB.Shipment_Tbl_Type
1436     ) RETURN VARCHAR2
1437 IS
1438     CURSOR c_shipment IS
1439 	SELECT
1440         SHIPMENT_ID,
1441 	   CREATION_DATE,
1442 	   CREATED_BY,
1443 	   LAST_UPDATE_DATE,
1444 	   LAST_UPDATED_BY,
1445 	   LAST_UPDATE_LOGIN,
1446 	   REQUEST_ID,
1447 	   PROGRAM_APPLICATION_ID,
1448 	   PROGRAM_ID,
1449 	   PROGRAM_UPDATE_DATE,
1450 	   QUOTE_HEADER_ID,
1451 	   QUOTE_LINE_ID,
1452 	   PROMISE_DATE,
1453 	   REQUEST_DATE,
1454 	   SCHEDULE_SHIP_DATE,
1455 	   SHIP_TO_PARTY_SITE_ID,
1456 	   SHIP_TO_PARTY_ID,
1457         SHIP_TO_CUST_ACCOUNT_ID,
1458 	   SHIP_PARTIAL_FLAG,
1459 	   SHIP_SET_ID,
1460 	   SHIP_METHOD_CODE,
1461 	   FREIGHT_TERMS_CODE,
1462 	   FREIGHT_CARRIER_CODE,
1463 	   FOB_CODE,
1464 	   SHIPPING_INSTRUCTIONS,
1465 	   PACKING_INSTRUCTIONS,
1466 	   QUANTITY,
1467 	   RESERVED_QUANTITY,
1468 	   RESERVATION_ID,
1469 	   ORDER_LINE_ID,
1470            ATTRIBUTE_CATEGORY,
1471            ATTRIBUTE1,
1472            ATTRIBUTE2,
1473            ATTRIBUTE3,
1474            ATTRIBUTE4,
1475            ATTRIBUTE5,
1476            ATTRIBUTE6,
1477            ATTRIBUTE7,
1478            ATTRIBUTE8,
1479            ATTRIBUTE9,
1480            ATTRIBUTE10,
1481            ATTRIBUTE11,
1482            ATTRIBUTE12,
1483            ATTRIBUTE13,
1484            ATTRIBUTE14,
1485            ATTRIBUTE15,
1486            SHIPMENT_PRIORITY_CODE,
1487            SHIP_QUOTE_PRICE,
1488            SHIP_FROM_ORG_ID,
1489 		 SHIP_TO_CUST_PARTY_ID,
1490            REQUEST_DATE_TYPE,
1491            DEMAND_CLASS_CODE,
1492            OBJECT_VERSION_NUMBER,
1493            SHIP_METHOD_CODE_FROM,
1494            FREIGHT_TERMS_CODE_FROM
1495       FROM ASO_SHIPMENTS
1496 	WHERE quote_header_id = p_qte_header_id AND quote_line_id IS NULL;
1497 --	   ((quote_line_id = p_qte_line_id) OR (quote_line_id IS NULL AND p_qte_line_id IS NULL));
1498 
1499 --created a new cursor for bug 5093289
1500 
1501     CURSOR c_line_shipment IS
1502 	SELECT
1503         SHIPMENT_ID,
1504 	   CREATION_DATE,
1505 	   CREATED_BY,
1506 	   LAST_UPDATE_DATE,
1507 	   LAST_UPDATED_BY,
1508 	   LAST_UPDATE_LOGIN,
1509 	   REQUEST_ID,
1510 	   PROGRAM_APPLICATION_ID,
1511 	   PROGRAM_ID,
1512 	   PROGRAM_UPDATE_DATE,
1513 	   QUOTE_HEADER_ID,
1514 	   QUOTE_LINE_ID,
1515 	   PROMISE_DATE,
1516 	   REQUEST_DATE,
1517 	   SCHEDULE_SHIP_DATE,
1518 	   SHIP_TO_PARTY_SITE_ID,
1519 	   SHIP_TO_PARTY_ID,
1520         SHIP_TO_CUST_ACCOUNT_ID,
1521 	   SHIP_PARTIAL_FLAG,
1522 	   SHIP_SET_ID,
1523 	   SHIP_METHOD_CODE,
1524 	   FREIGHT_TERMS_CODE,
1525 	   FREIGHT_CARRIER_CODE,
1526 	   FOB_CODE,
1527 	   SHIPPING_INSTRUCTIONS,
1528 	   PACKING_INSTRUCTIONS,
1529 	   QUANTITY,
1530 	   RESERVED_QUANTITY,
1531 	   RESERVATION_ID,
1532 	   ORDER_LINE_ID,
1533            ATTRIBUTE_CATEGORY,
1534            ATTRIBUTE1,
1535            ATTRIBUTE2,
1536            ATTRIBUTE3,
1537            ATTRIBUTE4,
1538            ATTRIBUTE5,
1539            ATTRIBUTE6,
1540            ATTRIBUTE7,
1541            ATTRIBUTE8,
1542            ATTRIBUTE9,
1543            ATTRIBUTE10,
1544            ATTRIBUTE11,
1545            ATTRIBUTE12,
1546            ATTRIBUTE13,
1547            ATTRIBUTE14,
1548            ATTRIBUTE15,
1549            SHIPMENT_PRIORITY_CODE,
1550            SHIP_QUOTE_PRICE,
1551            SHIP_FROM_ORG_ID,
1552 		 SHIP_TO_CUST_PARTY_ID,
1553            REQUEST_DATE_TYPE,
1554            DEMAND_CLASS_CODE,
1555            OBJECT_VERSION_NUMBER,
1556            SHIP_METHOD_CODE_FROM,
1557            FREIGHT_TERMS_CODE_FROM
1558       FROM ASO_SHIPMENTS
1559 	WHERE quote_line_id = p_qte_line_id;
1560 
1561 --    l_shipment_rec             ASO_QUOTE_PUB.Shipment_Rec_Type;
1562 	l_ship_count    NUMBER;
1563 	l_status   VARCHAR2(1) := 'S';
1564 
1565 BEGIN
1566 
1567 --Changes for bug5093289. If quote_line_id is not null use cursor c_line_shipment
1568 --else use c_shipment
1569 
1570 --Fix for bug 5714535.  Setting the output table structure directly instead of
1571 --setting it through  the local record structure.
1572 
1573    IF p_qte_line_id IS NOT NULL THEN
1574      FOR shipment_rec IN c_line_shipment LOOP
1575 	   l_ship_count := lx_shipment_tbl.COUNT+1;
1576 
1577         lx_shipment_tbl(l_ship_count).SHIPMENT_ID := shipment_rec.SHIPMENT_ID;
1578 	   lx_shipment_tbl(l_ship_count).CREATION_DATE := shipment_rec.CREATION_DATE;
1579 	   lx_shipment_tbl(l_ship_count).CREATED_BY := shipment_rec.CREATED_BY;
1580 	   lx_shipment_tbl(l_ship_count).LAST_UPDATE_DATE := shipment_rec.LAST_UPDATE_DATE;
1581 	   lx_shipment_tbl(l_ship_count).LAST_UPDATED_BY := shipment_rec.LAST_UPDATED_BY;
1582 	   lx_shipment_tbl(l_ship_count).LAST_UPDATE_LOGIN := shipment_rec.LAST_UPDATE_LOGIN;
1583 	   lx_shipment_tbl(l_ship_count).REQUEST_ID := shipment_rec.REQUEST_ID;
1584 	   lx_shipment_tbl(l_ship_count).PROGRAM_APPLICATION_ID := shipment_rec.PROGRAM_APPLICATION_ID;
1585 	   lx_shipment_tbl(l_ship_count).PROGRAM_ID := shipment_rec.PROGRAM_ID;
1586 	   lx_shipment_tbl(l_ship_count).PROGRAM_UPDATE_DATE := shipment_rec.PROGRAM_UPDATE_DATE;
1587 	  lx_shipment_tbl(l_ship_count).QUOTE_HEADER_ID := shipment_rec.QUOTE_HEADER_ID;
1588 	  lx_shipment_tbl(l_ship_count).QUOTE_LINE_ID := shipment_rec.QUOTE_LINE_ID;
1589 	  lx_shipment_tbl(l_ship_count).PROMISE_DATE := shipment_rec.PROMISE_DATE;
1590 	  lx_shipment_tbl(l_ship_count).REQUEST_DATE := shipment_rec.REQUEST_DATE;
1591 	  lx_shipment_tbl(l_ship_count).SCHEDULE_SHIP_DATE := shipment_rec.SCHEDULE_SHIP_DATE;
1592 	  lx_shipment_tbl(l_ship_count).SHIP_TO_PARTY_SITE_ID := shipment_rec.SHIP_TO_PARTY_SITE_ID;
1593 	  lx_shipment_tbl(l_ship_count).SHIP_TO_PARTY_ID := shipment_rec.SHIP_TO_PARTY_ID;
1594           lx_shipment_tbl(l_ship_count).SHIP_TO_CUST_ACCOUNT_ID := shipment_rec.SHIP_TO_CUST_ACCOUNT_ID;
1595 	  lx_shipment_tbl(l_ship_count).SHIP_PARTIAL_FLAG := shipment_rec.SHIP_PARTIAL_FLAG;
1596 	  lx_shipment_tbl(l_ship_count).SHIP_SET_ID := shipment_rec.SHIP_SET_ID;
1597 	  lx_shipment_tbl(l_ship_count).SHIP_METHOD_CODE := shipment_rec.SHIP_METHOD_CODE;
1598 	  lx_shipment_tbl(l_ship_count).FREIGHT_TERMS_CODE := shipment_rec.FREIGHT_TERMS_CODE;
1599 	  lx_shipment_tbl(l_ship_count).FREIGHT_CARRIER_CODE := shipment_rec.FREIGHT_CARRIER_CODE;
1600 	  lx_shipment_tbl(l_ship_count).FOB_CODE := shipment_rec.FOB_CODE;
1601 	  lx_shipment_tbl(l_ship_count).SHIPPING_INSTRUCTIONS := shipment_rec.SHIPPING_INSTRUCTIONS;
1602 	  lx_shipment_tbl(l_ship_count).PACKING_INSTRUCTIONS := shipment_rec.PACKING_INSTRUCTIONS;
1603 	  lx_shipment_tbl(l_ship_count).QUANTITY := shipment_rec.QUANTITY;
1604 	  lx_shipment_tbl(l_ship_count).RESERVED_QUANTITY := shipment_rec.RESERVED_QUANTITY;
1605 	  lx_shipment_tbl(l_ship_count).RESERVATION_ID := shipment_rec.RESERVATION_ID;
1606 	  lx_shipment_tbl(l_ship_count).ORDER_LINE_ID := shipment_rec.ORDER_LINE_ID;
1607 	  lx_shipment_tbl(l_ship_count).ATTRIBUTE_CATEGORY := shipment_rec.ATTRIBUTE_CATEGORY;
1608 	  lx_shipment_tbl(l_ship_count).ATTRIBUTE1 := shipment_rec.ATTRIBUTE1;
1609 	  lx_shipment_tbl(l_ship_count).ATTRIBUTE2 := shipment_rec.ATTRIBUTE2;
1610 	  lx_shipment_tbl(l_ship_count).ATTRIBUTE3 := shipment_rec.ATTRIBUTE3;
1611 	  lx_shipment_tbl(l_ship_count).ATTRIBUTE4 := shipment_rec.ATTRIBUTE4;
1612 	  lx_shipment_tbl(l_ship_count).ATTRIBUTE5 := shipment_rec.ATTRIBUTE5;
1613 	  lx_shipment_tbl(l_ship_count).ATTRIBUTE6 := shipment_rec.ATTRIBUTE6;
1614 	  lx_shipment_tbl(l_ship_count).ATTRIBUTE7 := shipment_rec.ATTRIBUTE7;
1615 	  lx_shipment_tbl(l_ship_count).ATTRIBUTE8 := shipment_rec.ATTRIBUTE8;
1616 	  lx_shipment_tbl(l_ship_count).ATTRIBUTE9 := shipment_rec.ATTRIBUTE9;
1617 	  lx_shipment_tbl(l_ship_count).ATTRIBUTE10 := shipment_rec.ATTRIBUTE10;
1618 	  lx_shipment_tbl(l_ship_count).ATTRIBUTE11 := shipment_rec.ATTRIBUTE11;
1619 	  lx_shipment_tbl(l_ship_count).ATTRIBUTE12 := shipment_rec.ATTRIBUTE12;
1620 	  lx_shipment_tbl(l_ship_count).ATTRIBUTE13 := shipment_rec.ATTRIBUTE13;
1621 	  lx_shipment_tbl(l_ship_count).ATTRIBUTE14 := shipment_rec.ATTRIBUTE14;
1622 	  lx_shipment_tbl(l_ship_count).ATTRIBUTE15 := shipment_rec.ATTRIBUTE15;
1623 	  lx_shipment_tbl(l_ship_count).SHIPMENT_PRIORITY_CODE := shipment_rec.SHIPMENT_PRIORITY_CODE;
1624 	  lx_shipment_tbl(l_ship_count).SHIP_QUOTE_PRICE := shipment_rec.SHIP_QUOTE_PRICE;
1625        lx_shipment_tbl(l_ship_count).SHIP_FROM_ORG_ID := shipment_rec.SHIP_FROM_ORG_ID;
1626        lx_shipment_tbl(l_ship_count).SHIP_TO_CUST_PARTY_ID := shipment_rec.SHIP_TO_CUST_PARTY_ID;
1627         lx_shipment_tbl(l_ship_count).REQUEST_DATE_TYPE := shipment_rec.REQUEST_DATE_TYPE;
1628         lx_shipment_tbl(l_ship_count).DEMAND_CLASS_CODE := shipment_rec.DEMAND_CLASS_CODE;
1629         lx_shipment_tbl(l_ship_count).OBJECT_VERSION_NUMBER := shipment_rec.OBJECT_VERSION_NUMBER;
1630         lx_shipment_tbl(l_ship_count).SHIP_METHOD_CODE_FROM := shipment_rec.SHIP_METHOD_CODE_FROM;
1631         lx_shipment_tbl(l_ship_count).FREIGHT_TERMS_CODE_FROM := shipment_rec.FREIGHT_TERMS_CODE_FROM;
1632 
1633        lx_shipment_tbl(l_ship_count).QTE_LINE_INDEX := P_Line_Index;
1634 
1635 --	  lx_shipment_tbl(lx_shipment_tbl.COUNT+1) := l_shipment_rec;
1636       END LOOP;
1637    ELSE
1638 	FOR shipment_rec IN c_shipment LOOP
1639 	   l_ship_count := lx_shipment_tbl.COUNT+1;
1640 
1641 	   lx_shipment_tbl(l_ship_count).SHIPMENT_ID := shipment_rec.SHIPMENT_ID;
1642 	   lx_shipment_tbl(l_ship_count).CREATION_DATE := shipment_rec.CREATION_DATE;
1643 	   lx_shipment_tbl(l_ship_count).CREATED_BY := shipment_rec.CREATED_BY;
1644 	   lx_shipment_tbl(l_ship_count).LAST_UPDATE_DATE := shipment_rec.LAST_UPDATE_DATE;
1645 	   lx_shipment_tbl(l_ship_count).LAST_UPDATED_BY := shipment_rec.LAST_UPDATED_BY;
1646 	   lx_shipment_tbl(l_ship_count).LAST_UPDATE_LOGIN := shipment_rec.LAST_UPDATE_LOGIN;
1647 	   lx_shipment_tbl(l_ship_count).REQUEST_ID := shipment_rec.REQUEST_ID;
1648 	   lx_shipment_tbl(l_ship_count).PROGRAM_APPLICATION_ID := shipment_rec.PROGRAM_APPLICATION_ID;
1649 	   lx_shipment_tbl(l_ship_count).PROGRAM_ID := shipment_rec.PROGRAM_ID;
1650 	   lx_shipment_tbl(l_ship_count).PROGRAM_UPDATE_DATE := shipment_rec.PROGRAM_UPDATE_DATE;
1651 	  lx_shipment_tbl(l_ship_count).QUOTE_HEADER_ID := shipment_rec.QUOTE_HEADER_ID;
1652 	  lx_shipment_tbl(l_ship_count).QUOTE_LINE_ID := shipment_rec.QUOTE_LINE_ID;
1653 	  lx_shipment_tbl(l_ship_count).PROMISE_DATE := shipment_rec.PROMISE_DATE;
1654 	  lx_shipment_tbl(l_ship_count).REQUEST_DATE := shipment_rec.REQUEST_DATE;
1655 	  lx_shipment_tbl(l_ship_count).SCHEDULE_SHIP_DATE := shipment_rec.SCHEDULE_SHIP_DATE;
1656 	  lx_shipment_tbl(l_ship_count).SHIP_TO_PARTY_SITE_ID := shipment_rec.SHIP_TO_PARTY_SITE_ID;
1657 	  lx_shipment_tbl(l_ship_count).SHIP_TO_PARTY_ID := shipment_rec.SHIP_TO_PARTY_ID;
1658 		lx_shipment_tbl(l_ship_count).SHIP_TO_CUST_ACCOUNT_ID := shipment_rec.SHIP_TO_CUST_ACCOUNT_ID;
1659 	  lx_shipment_tbl(l_ship_count).SHIP_PARTIAL_FLAG := shipment_rec.SHIP_PARTIAL_FLAG;
1660 	  lx_shipment_tbl(l_ship_count).SHIP_SET_ID := shipment_rec.SHIP_SET_ID;
1661 	  lx_shipment_tbl(l_ship_count).SHIP_METHOD_CODE := shipment_rec.SHIP_METHOD_CODE;
1662 	  lx_shipment_tbl(l_ship_count).FREIGHT_TERMS_CODE := shipment_rec.FREIGHT_TERMS_CODE;
1663 	  lx_shipment_tbl(l_ship_count).FREIGHT_CARRIER_CODE := shipment_rec.FREIGHT_CARRIER_CODE;
1664 	  lx_shipment_tbl(l_ship_count).FOB_CODE := shipment_rec.FOB_CODE;
1665 	  lx_shipment_tbl(l_ship_count).SHIPPING_INSTRUCTIONS := shipment_rec.SHIPPING_INSTRUCTIONS;
1666 	  lx_shipment_tbl(l_ship_count).PACKING_INSTRUCTIONS := shipment_rec.PACKING_INSTRUCTIONS;
1667 	  lx_shipment_tbl(l_ship_count).QUANTITY := shipment_rec.QUANTITY;
1668 	  lx_shipment_tbl(l_ship_count).RESERVED_QUANTITY := shipment_rec.RESERVED_QUANTITY;
1669 	  lx_shipment_tbl(l_ship_count).RESERVATION_ID := shipment_rec.RESERVATION_ID;
1670 	  lx_shipment_tbl(l_ship_count).ORDER_LINE_ID := shipment_rec.ORDER_LINE_ID;
1671 	  lx_shipment_tbl(l_ship_count).ATTRIBUTE_CATEGORY := shipment_rec.ATTRIBUTE_CATEGORY;
1672 	  lx_shipment_tbl(l_ship_count).ATTRIBUTE1 := shipment_rec.ATTRIBUTE1;
1673 	  lx_shipment_tbl(l_ship_count).ATTRIBUTE2 := shipment_rec.ATTRIBUTE2;
1674 	  lx_shipment_tbl(l_ship_count).ATTRIBUTE3 := shipment_rec.ATTRIBUTE3;
1675 	  lx_shipment_tbl(l_ship_count).ATTRIBUTE4 := shipment_rec.ATTRIBUTE4;
1676 	  lx_shipment_tbl(l_ship_count).ATTRIBUTE5 := shipment_rec.ATTRIBUTE5;
1677 	  lx_shipment_tbl(l_ship_count).ATTRIBUTE6 := shipment_rec.ATTRIBUTE6;
1678 	  lx_shipment_tbl(l_ship_count).ATTRIBUTE7 := shipment_rec.ATTRIBUTE7;
1679 	  lx_shipment_tbl(l_ship_count).ATTRIBUTE8 := shipment_rec.ATTRIBUTE8;
1680 	  lx_shipment_tbl(l_ship_count).ATTRIBUTE9 := shipment_rec.ATTRIBUTE9;
1681 	  lx_shipment_tbl(l_ship_count).ATTRIBUTE10 := shipment_rec.ATTRIBUTE10;
1682 	  lx_shipment_tbl(l_ship_count).ATTRIBUTE11 := shipment_rec.ATTRIBUTE11;
1683 	  lx_shipment_tbl(l_ship_count).ATTRIBUTE12 := shipment_rec.ATTRIBUTE12;
1684 	  lx_shipment_tbl(l_ship_count).ATTRIBUTE13 := shipment_rec.ATTRIBUTE13;
1685 	  lx_shipment_tbl(l_ship_count).ATTRIBUTE14 := shipment_rec.ATTRIBUTE14;
1686 	  lx_shipment_tbl(l_ship_count).ATTRIBUTE15 := shipment_rec.ATTRIBUTE15;
1687 	  lx_shipment_tbl(l_ship_count).SHIPMENT_PRIORITY_CODE := shipment_rec.SHIPMENT_PRIORITY_CODE;
1688 	  lx_shipment_tbl(l_ship_count).SHIP_QUOTE_PRICE := shipment_rec.SHIP_QUOTE_PRICE;
1689 	  lx_shipment_tbl(l_ship_count).SHIP_FROM_ORG_ID := shipment_rec.SHIP_FROM_ORG_ID;
1690 	  lx_shipment_tbl(l_ship_count).SHIP_TO_CUST_PARTY_ID := shipment_rec.SHIP_TO_CUST_PARTY_ID;
1691 
1692         lx_shipment_tbl(l_ship_count).REQUEST_DATE_TYPE := shipment_rec.REQUEST_DATE_TYPE;
1693         lx_shipment_tbl(l_ship_count).DEMAND_CLASS_CODE := shipment_rec.DEMAND_CLASS_CODE;
1694         lx_shipment_tbl(l_ship_count).OBJECT_VERSION_NUMBER := shipment_rec.OBJECT_VERSION_NUMBER;
1695         lx_shipment_tbl(l_ship_count).SHIP_METHOD_CODE_FROM := shipment_rec.SHIP_METHOD_CODE_FROM;
1696         lx_shipment_tbl(l_ship_count).FREIGHT_TERMS_CODE_FROM := shipment_rec.FREIGHT_TERMS_CODE_FROM;
1697 
1698 	  lx_shipment_tbl(l_ship_count).QTE_LINE_INDEX := P_Line_Index;
1699 
1700 --	  lx_shipment_tbl(lx_shipment_tbl.COUNT+1) := l_shipment_rec;
1701 	END LOOP;
1702    END IF;
1703    RETURN l_status;
1704 
1705 END Query_Shipment_Rows;
1706 
1707 
1708 FUNCTION Query_Freight_Charge_Rows (
1709     P_Shipment_Tbl		IN  ASO_QUOTE_PUB.Shipment_Tbl_Type,
1710     P_Line_Index         IN  NUMBER,
1711     lx_freight_charge_tbl  IN OUT NOCOPY /* file.sql.39 change */  ASO_QUOTE_PUB.Freight_Charge_Tbl_Type
1712     ) RETURN ASO_QUOTE_PUB.Freight_Charge_Tbl_Type
1713 IS
1714    CURSOR c_freight_charge (c_shipment_id NUMBER) IS
1715     SELECT
1716      FREIGHT_CHARGE_ID,
1717 	CREATION_DATE,
1718 	CREATED_BY,
1719 	LAST_UPDATE_DATE,
1720 	LAST_UPDATED_BY,
1721 	LAST_UPDATE_LOGIN,
1722 	REQUEST_ID,
1723 	PROGRAM_APPLICATION_ID,
1724 	PROGRAM_ID,
1725 	PROGRAM_UPDATE_DATE,
1726 	QUOTE_SHIPMENT_ID,
1727 	FREIGHT_CHARGE_TYPE_ID,
1728 	CHARGE_AMOUNT,
1729 	ATTRIBUTE_CATEGORY,
1730 	ATTRIBUTE1,
1731 	ATTRIBUTE2,
1732 	ATTRIBUTE3,
1733 	ATTRIBUTE4,
1734 	ATTRIBUTE5,
1735 	ATTRIBUTE6,
1736 	ATTRIBUTE7,
1737 	ATTRIBUTE8,
1738 	ATTRIBUTE9,
1739 	ATTRIBUTE10,
1740 	ATTRIBUTE11,
1741 	ATTRIBUTE12,
1742 	ATTRIBUTE13,
1743 	ATTRIBUTE14,
1744 	ATTRIBUTE15
1745     FROM ASO_FREIGHT_CHARGES
1746     WHERE quote_shipment_id = c_shipment_id;
1747 
1748 --    l_freight_charge_rec             ASO_QUOTE_PUB.Freight_Charge_Rec_Type;
1749 	l_frt_chrg_count     NUMBER;
1750 
1751 BEGIN
1752 --Fix for bug 5714535.  Setting the output table structure directly instead of
1753 --setting it through  the local record structure.
1754 
1755    FOR i IN 1..P_shipment_tbl.count LOOP
1756       FOR freight_charge_rec IN c_freight_charge(P_shipment_tbl(i).shipment_id) LOOP
1757 	  l_frt_chrg_count := lx_freight_charge_tbl.COUNT+1;
1758 
1759 	  lx_freight_charge_tbl(l_frt_chrg_count).FREIGHT_CHARGE_ID :=
1760 						freight_charge_rec.FREIGHT_CHARGE_ID;
1761 	  lx_freight_charge_tbl(l_frt_chrg_count).shipment_index := i;
1762 	   lx_freight_charge_tbl(l_frt_chrg_count).CREATION_DATE := freight_charge_rec.CREATION_DATE;
1763 	   lx_freight_charge_tbl(l_frt_chrg_count).CREATED_BY := freight_charge_rec.CREATED_BY;
1764 	   lx_freight_charge_tbl(l_frt_chrg_count).LAST_UPDATE_DATE := freight_charge_rec.LAST_UPDATE_DATE;
1765 	   lx_freight_charge_tbl(l_frt_chrg_count).LAST_UPDATED_BY := freight_charge_rec.LAST_UPDATED_BY;
1766 	   lx_freight_charge_tbl(l_frt_chrg_count).LAST_UPDATE_LOGIN := freight_charge_rec.LAST_UPDATE_LOGIN;
1767 	   lx_freight_charge_tbl(l_frt_chrg_count).REQUEST_ID := freight_charge_rec.REQUEST_ID;
1768 	   lx_freight_charge_tbl(l_frt_chrg_count).PROGRAM_APPLICATION_ID := freight_charge_rec.PROGRAM_APPLICATION_ID;
1769 	   lx_freight_charge_tbl(l_frt_chrg_count).PROGRAM_ID := freight_charge_rec.PROGRAM_ID;
1770 	   lx_freight_charge_tbl(l_frt_chrg_count).PROGRAM_UPDATE_DATE := freight_charge_rec.PROGRAM_UPDATE_DATE;
1771 	  lx_freight_charge_tbl(l_frt_chrg_count).QUOTE_SHIPMENT_ID :=
1772 						freight_charge_rec.QUOTE_SHIPMENT_ID;
1773 
1774 	  lx_freight_charge_tbl(l_frt_chrg_count).CHARGE_AMOUNT := freight_charge_rec.CHARGE_AMOUNT;
1775 	  lx_freight_charge_tbl(l_frt_chrg_count).FREIGHT_CHARGE_TYPE_ID :=
1776 						freight_charge_rec.FREIGHT_CHARGE_TYPE_ID;
1777 	  lx_freight_charge_tbl(l_frt_chrg_count).ATTRIBUTE1 := freight_charge_rec.ATTRIBUTE1;
1778 	  lx_freight_charge_tbl(l_frt_chrg_count).ATTRIBUTE2 := freight_charge_rec.ATTRIBUTE2;
1779 	  lx_freight_charge_tbl(l_frt_chrg_count).ATTRIBUTE3 := freight_charge_rec.ATTRIBUTE3;
1780 	  lx_freight_charge_tbl(l_frt_chrg_count).ATTRIBUTE4 := freight_charge_rec.ATTRIBUTE4;
1781 	  lx_freight_charge_tbl(l_frt_chrg_count).ATTRIBUTE5 := freight_charge_rec.ATTRIBUTE5;
1782 	  lx_freight_charge_tbl(l_frt_chrg_count).ATTRIBUTE6 := freight_charge_rec.ATTRIBUTE6;
1783 	  lx_freight_charge_tbl(l_frt_chrg_count).ATTRIBUTE7 := freight_charge_rec.ATTRIBUTE7;
1784 	  lx_freight_charge_tbl(l_frt_chrg_count).ATTRIBUTE8 := freight_charge_rec.ATTRIBUTE8;
1785 	  lx_freight_charge_tbl(l_frt_chrg_count).ATTRIBUTE9 := freight_charge_rec.ATTRIBUTE9;
1786 	  lx_freight_charge_tbl(l_frt_chrg_count).ATTRIBUTE10 := freight_charge_rec.ATTRIBUTE10;
1787 	  lx_freight_charge_tbl(l_frt_chrg_count).ATTRIBUTE11 := freight_charge_rec.ATTRIBUTE11;
1788 	  lx_freight_charge_tbl(l_frt_chrg_count).ATTRIBUTE12 := freight_charge_rec.ATTRIBUTE12;
1789 	  lx_freight_charge_tbl(l_frt_chrg_count).ATTRIBUTE13 := freight_charge_rec.ATTRIBUTE13;
1790 	  lx_freight_charge_tbl(l_frt_chrg_count).ATTRIBUTE14 := freight_charge_rec.ATTRIBUTE14;
1791 	  lx_freight_charge_tbl(l_frt_chrg_count).ATTRIBUTE15 := freight_charge_rec.ATTRIBUTE15;
1792 	  lx_freight_charge_tbl(l_frt_chrg_count).QTE_LINE_INDEX := P_Line_Index;
1793 --	  lx_freight_charge_tbl(lx_freight_charge_tbl.COUNT+1) := l_freight_charge_rec;
1794      END LOOP;
1795    END LOOP;
1796    RETURN lx_freight_charge_tbl;
1797 END Query_Freight_Charge_Rows;
1798 
1799 
1800 FUNCTION  Query_Sales_Credit_Row (
1801     P_qte_header_Id		 IN   NUMBER,
1802     P_qte_line_id         IN   NUMBER,
1803     P_Line_Index          IN   NUMBER,
1804     lx_sales_credit_tbl    IN OUT NOCOPY /* file.sql.39 change */  ASO_QUOTE_PUB.Sales_Credit_tbl_Type
1805     ) RETURN ASO_QUOTE_PUB.Sales_Credit_tbl_Type
1806 IS
1807 
1808 --  l_sales_credit_rec        ASO_QUOTE_PUB.Sales_Credit_rec_Type;
1809   l_sls_crdt_count  NUMBER;
1810 
1811  CURSOR C1 IS
1812 SELECT
1813 CREATION_DATE,
1814 CREATED_BY,
1815 LAST_UPDATED_BY,
1816 LAST_UPDATE_DATE,
1817 LAST_UPDATE_LOGIN,
1818 REQUEST_ID,
1819 PROGRAM_APPLICATION_ID,
1820 PROGRAM_ID,
1821 PROGRAM_UPDATE_DATE,
1822 SALES_CREDIT_ID,
1823 QUOTE_HEADER_ID,
1824 QUOTE_LINE_ID,
1825 PERCENT,
1826 RESOURCE_ID,
1827 RESOURCE_GROUP_ID,
1828 EMPLOYEE_PERSON_ID,
1829 SALES_CREDIT_TYPE_ID,
1830 ATTRIBUTE_CATEGORY_CODE,
1831 ATTRIBUTE1,
1832 ATTRIBUTE2,
1833 ATTRIBUTE3,
1834 ATTRIBUTE4,
1835 ATTRIBUTE5,
1836 ATTRIBUTE6,
1837 ATTRIBUTE7,
1838 ATTRIBUTE8,
1839 ATTRIBUTE9,
1840 ATTRIBUTE10,
1841 ATTRIBUTE11,
1842 ATTRIBUTE12,
1843 ATTRIBUTE13,
1844 ATTRIBUTE14,
1845 ATTRIBUTE15,
1846 OBJECT_VERSION_NUMBER
1847 FROM ASO_SALES_CREDITS
1848 WHERE  quote_header_id = p_qte_header_id AND
1849 	   ((quote_line_id = p_qte_line_id) OR (quote_line_id IS NULL AND p_qte_line_id IS NULL));
1850 
1851 BEGIN
1852 --Fix for bug 5714535.  Setting the output table structure directly instead of
1853 --setting it through  the local record structure.
1854 
1855  FOR sales_rec IN c1 LOOP
1856 l_sls_crdt_count := lx_sales_credit_tbl.COUNT+1;
1857 
1858 lx_sales_credit_tbl(l_sls_crdt_count).CREATION_DATE :=                  sales_rec.CREATION_DATE;
1859 lx_sales_credit_tbl(l_sls_crdt_count).CREATED_BY :=                     sales_rec.CREATED_BY;
1860 lx_sales_credit_tbl(l_sls_crdt_count).LAST_UPDATED_BY :=                sales_rec.LAST_UPDATED_BY;
1861 lx_sales_credit_tbl(l_sls_crdt_count).LAST_UPDATE_DATE :=               sales_rec.LAST_UPDATE_DATE;
1862 lx_sales_credit_tbl(l_sls_crdt_count).LAST_UPDATE_LOGIN :=              sales_rec.LAST_UPDATE_LOGIN;
1863 lx_sales_credit_tbl(l_sls_crdt_count).REQUEST_ID :=                     sales_rec.REQUEST_ID;
1864 lx_sales_credit_tbl(l_sls_crdt_count).PROGRAM_APPLICATION_ID :=         sales_rec.PROGRAM_APPLICATION_ID;
1865 lx_sales_credit_tbl(l_sls_crdt_count).PROGRAM_ID :=                     sales_rec.PROGRAM_ID;
1866 lx_sales_credit_tbl(l_sls_crdt_count).PROGRAM_UPDATE_DATE :=            sales_rec.PROGRAM_UPDATE_DATE;
1867 lx_sales_credit_tbl(l_sls_crdt_count).SALES_CREDIT_ID :=                sales_rec.SALES_CREDIT_ID;
1868 lx_sales_credit_tbl(l_sls_crdt_count).QUOTE_HEADER_ID :=                sales_rec.QUOTE_HEADER_ID;
1869 lx_sales_credit_tbl(l_sls_crdt_count).QUOTE_LINE_ID :=                  sales_rec.QUOTE_LINE_ID;
1870 lx_sales_credit_tbl(l_sls_crdt_count).PERCENT :=                        sales_rec.PERCENT;
1871 lx_sales_credit_tbl(l_sls_crdt_count).RESOURCE_ID :=                    sales_rec.RESOURCE_ID;
1872 lx_sales_credit_tbl(l_sls_crdt_count).RESOURCE_GROUP_ID :=              sales_rec.RESOURCE_GROUP_ID;
1873 lx_sales_credit_tbl(l_sls_crdt_count).EMPLOYEE_PERSON_ID :=             sales_rec.EMPLOYEE_PERSON_ID;
1874 lx_sales_credit_tbl(l_sls_crdt_count).SALES_CREDIT_TYPE_ID :=           sales_rec.SALES_CREDIT_TYPE_ID;
1875 lx_sales_credit_tbl(l_sls_crdt_count).ATTRIBUTE_CATEGORY_CODE :=        sales_rec.ATTRIBUTE_CATEGORY_CODE;
1876 lx_sales_credit_tbl(l_sls_crdt_count).ATTRIBUTE1 :=                     sales_rec.ATTRIBUTE1;
1877 lx_sales_credit_tbl(l_sls_crdt_count).ATTRIBUTE2 :=                     sales_rec.ATTRIBUTE2;
1878 lx_sales_credit_tbl(l_sls_crdt_count).ATTRIBUTE3 :=                     sales_rec.ATTRIBUTE3;
1879 lx_sales_credit_tbl(l_sls_crdt_count).ATTRIBUTE4 :=                     sales_rec.ATTRIBUTE4;
1880 lx_sales_credit_tbl(l_sls_crdt_count).ATTRIBUTE5 :=                     sales_rec.ATTRIBUTE5;
1881 lx_sales_credit_tbl(l_sls_crdt_count).ATTRIBUTE6 :=                     sales_rec.ATTRIBUTE6;
1882 lx_sales_credit_tbl(l_sls_crdt_count).ATTRIBUTE7 :=                     sales_rec.ATTRIBUTE7;
1883 lx_sales_credit_tbl(l_sls_crdt_count).ATTRIBUTE8 :=                     sales_rec.ATTRIBUTE8;
1884 lx_sales_credit_tbl(l_sls_crdt_count).ATTRIBUTE9 :=                     sales_rec.ATTRIBUTE9;
1885 lx_sales_credit_tbl(l_sls_crdt_count).ATTRIBUTE10 :=                    sales_rec.ATTRIBUTE10;
1886 lx_sales_credit_tbl(l_sls_crdt_count).ATTRIBUTE11 :=                    sales_rec.ATTRIBUTE11;
1887 lx_sales_credit_tbl(l_sls_crdt_count).ATTRIBUTE12 :=                    sales_rec.ATTRIBUTE12;
1888 lx_sales_credit_tbl(l_sls_crdt_count).ATTRIBUTE13 :=                    sales_rec.ATTRIBUTE13;
1889 lx_sales_credit_tbl(l_sls_crdt_count).ATTRIBUTE14 :=                    sales_rec.ATTRIBUTE14;
1890 lx_sales_credit_tbl(l_sls_crdt_count).ATTRIBUTE15 :=                    sales_rec.ATTRIBUTE15;
1891 lx_sales_credit_tbl(l_sls_crdt_count).QTE_LINE_INDEX :=                 P_Line_Index;
1892 --lx_sales_credit_tbl(lx_sales_credit_tbl.COUNT+1) := l_sales_credit_rec;
1893 END LOOP;
1894 RETURN lx_sales_credit_tbl;
1895 END Query_Sales_Credit_Row;
1896 
1897 
1898 FUNCTION  Query_Quote_Party_Row (
1899     P_Qte_header_Id		 IN   NUMBER,
1900     P_Qte_line_Id		 IN   NUMBER,
1901     P_Line_Index          IN   NUMBER,
1902     lx_quote_party_tbl    IN OUT NOCOPY /* file.sql.39 change */  ASO_QUOTE_PUB.QUOTE_PARTY_tbl_Type
1903     ) RETURN ASO_QUOTE_PUB.QUOTE_PARTY_tbl_Type
1904 IS
1905 
1906 --  l_quote_party_rec        ASO_QUOTE_PUB.QUOTE_PARTY_rec_Type;
1907   l_quote_party_count    NUMBER;
1908 
1909 CURSOR C1 is
1910 SELECT QUOTE_PARTY_ID,
1911 CREATION_DATE,
1912 CREATED_BY,
1913 LAST_UPDATE_DATE,
1914 LAST_UPDATE_LOGIN,
1915 LAST_UPDATED_BY,
1916 REQUEST_ID,
1917 PROGRAM_APPLICATION_ID,
1918 PROGRAM_ID,
1919 PROGRAM_UPDATE_DATE,
1920 QUOTE_HEADER_ID,
1921 QUOTE_LINE_ID,
1922 QUOTE_SHIPMENT_ID,
1923 PARTY_TYPE,
1924 PARTY_ID,
1925 PARTY_OBJECT_TYPE,
1926 PARTY_OBJECT_ID,
1927 ATTRIBUTE_CATEGORY,
1928 ATTRIBUTE1,
1929 ATTRIBUTE2,
1930 ATTRIBUTE3,
1931 ATTRIBUTE4,
1932 ATTRIBUTE5,
1933 ATTRIBUTE6,
1934 ATTRIBUTE7,
1935 ATTRIBUTE8,
1936 ATTRIBUTE9,
1937 ATTRIBUTE10,
1938 ATTRIBUTE11,
1939 ATTRIBUTE12,
1940 ATTRIBUTE13,
1941 ATTRIBUTE14,
1942 ATTRIBUTE15
1943 FROM ASO_QUOTE_PARTIES WHERE quote_header_id = p_qte_header_id AND
1944 	   ((quote_line_id = p_qte_line_id) OR (quote_line_id IS NULL AND p_qte_line_id IS NULL));
1945 
1946 BEGIN
1947 --Fix for bug 5714535.  Setting the output table structure directly instead of
1948 --setting it through  the local record structure.
1949 
1950  FOR qpt_rec in C1 LOOP
1951 l_quote_party_count := lx_quote_party_tbl.COUNT+1;
1952 
1953 lx_quote_party_tbl(l_quote_party_count).QUOTE_PARTY_ID :=                 qpt_rec.QUOTE_PARTY_ID;
1954 lx_quote_party_tbl(l_quote_party_count).CREATION_DATE :=                  qpt_rec.CREATION_DATE;
1955 lx_quote_party_tbl(l_quote_party_count).CREATED_BY :=                     qpt_rec.CREATED_BY;
1956 lx_quote_party_tbl(l_quote_party_count).LAST_UPDATE_DATE :=               qpt_rec.LAST_UPDATE_DATE;
1957 lx_quote_party_tbl(l_quote_party_count).LAST_UPDATE_LOGIN :=              qpt_rec.LAST_UPDATE_LOGIN;
1958 lx_quote_party_tbl(l_quote_party_count).LAST_UPDATED_BY :=                qpt_rec.LAST_UPDATED_BY;
1959 lx_quote_party_tbl(l_quote_party_count).REQUEST_ID :=                     qpt_rec.REQUEST_ID;
1960 lx_quote_party_tbl(l_quote_party_count).PROGRAM_APPLICATION_ID :=         qpt_rec.PROGRAM_APPLICATION_ID;
1961 lx_quote_party_tbl(l_quote_party_count).PROGRAM_ID :=                     qpt_rec.PROGRAM_ID;
1962 lx_quote_party_tbl(l_quote_party_count).PROGRAM_UPDATE_DATE :=            qpt_rec.PROGRAM_UPDATE_DATE;
1963 lx_quote_party_tbl(l_quote_party_count).QUOTE_HEADER_ID :=                qpt_rec.QUOTE_HEADER_ID;
1964 lx_quote_party_tbl(l_quote_party_count).QUOTE_LINE_ID :=                  qpt_rec.QUOTE_LINE_ID;
1965 lx_quote_party_tbl(l_quote_party_count).QUOTE_SHIPMENT_ID :=              qpt_rec.QUOTE_SHIPMENT_ID;
1966 lx_quote_party_tbl(l_quote_party_count).PARTY_TYPE :=                     qpt_rec.PARTY_TYPE;
1967 lx_quote_party_tbl(l_quote_party_count).PARTY_ID :=                       qpt_rec.PARTY_ID;
1968 lx_quote_party_tbl(l_quote_party_count).PARTY_OBJECT_TYPE :=              qpt_rec.PARTY_OBJECT_TYPE;
1969 lx_quote_party_tbl(l_quote_party_count).PARTY_OBJECT_ID :=                qpt_rec.PARTY_OBJECT_ID;
1970 lx_quote_party_tbl(l_quote_party_count).ATTRIBUTE_CATEGORY :=             qpt_rec.ATTRIBUTE_CATEGORY;
1971 lx_quote_party_tbl(l_quote_party_count).ATTRIBUTE1 :=                     qpt_rec.ATTRIBUTE1;
1972 lx_quote_party_tbl(l_quote_party_count).ATTRIBUTE2 :=                     qpt_rec.ATTRIBUTE2;
1973 lx_quote_party_tbl(l_quote_party_count).ATTRIBUTE3 :=                     qpt_rec.ATTRIBUTE3;
1974 lx_quote_party_tbl(l_quote_party_count).ATTRIBUTE4 :=                     qpt_rec.ATTRIBUTE4;
1975 lx_quote_party_tbl(l_quote_party_count).ATTRIBUTE5 :=                     qpt_rec.ATTRIBUTE5;
1976 lx_quote_party_tbl(l_quote_party_count).ATTRIBUTE6 :=                     qpt_rec.ATTRIBUTE6;
1977 lx_quote_party_tbl(l_quote_party_count).ATTRIBUTE7 :=                     qpt_rec.ATTRIBUTE7;
1978 lx_quote_party_tbl(l_quote_party_count).ATTRIBUTE8 :=                     qpt_rec.ATTRIBUTE8;
1979 lx_quote_party_tbl(l_quote_party_count).ATTRIBUTE9 :=                     qpt_rec.ATTRIBUTE9;
1980 lx_quote_party_tbl(l_quote_party_count).ATTRIBUTE10 :=                    qpt_rec.ATTRIBUTE10;
1981 lx_quote_party_tbl(l_quote_party_count).ATTRIBUTE11 :=                    qpt_rec.ATTRIBUTE11;
1982 lx_quote_party_tbl(l_quote_party_count).ATTRIBUTE12 :=                    qpt_rec.ATTRIBUTE12;
1983 lx_quote_party_tbl(l_quote_party_count).ATTRIBUTE13 :=                    qpt_rec.ATTRIBUTE13;
1984 lx_quote_party_tbl(l_quote_party_count).ATTRIBUTE14 :=                    qpt_rec.ATTRIBUTE14;
1985 lx_quote_party_tbl(l_quote_party_count).ATTRIBUTE15 :=                    qpt_rec.ATTRIBUTE15;
1986 lx_quote_party_tbl(l_quote_party_count).QTE_LINE_INDEX :=                 P_Line_Index;
1987 --lx_quote_party_tbl(lx_quote_party_tbl.COUNT+1) := l_quote_party_rec;
1988 END LOOP;
1989 RETURN lx_quote_party_tbl;
1990 
1991 END Query_Quote_Party_Row;
1992 
1993 
1994 FUNCTION Query_Line_Dtl_Rows (
1995     P_Qte_Line_Id		IN  NUMBER := FND_API.G_MISS_NUM,
1996     P_Line_Index         IN  NUMBER,
1997     lx_Line_Dtl_tbl      IN OUT NOCOPY /* file.sql.39 change */  ASO_QUOTE_PUB.Qte_Line_Dtl_Tbl_Type
1998     ) RETURN VARCHAR2
1999 IS
2000    CURSOR c_Line_Dtl IS
2001 	SELECT
2002 	QUOTE_LINE_DETAIL_ID,
2003 	CREATION_DATE,
2004 	CREATED_BY,
2005 	LAST_UPDATE_DATE,
2006 	LAST_UPDATED_BY,
2007 	LAST_UPDATE_LOGIN,
2008 	REQUEST_ID,
2009 	PROGRAM_APPLICATION_ID,
2010 	PROGRAM_ID,
2011 	PROGRAM_UPDATE_DATE,
2012 	QUOTE_LINE_ID,
2013 	CONFIG_HEADER_ID,
2014 	CONFIG_REVISION_NUM,
2015 	CONFIG_ITEM_ID,
2016 	COMPLETE_CONFIGURATION_FLAG,
2017 	VALID_CONFIGURATION_FLAG,
2018 	COMPONENT_CODE,
2019 	SERVICE_COTERMINATE_FLAG,
2020 	SERVICE_DURATION,
2021 	SERVICE_PERIOD,
2022 	SERVICE_UNIT_SELLING_PERCENT,
2023 	SERVICE_UNIT_LIST_PERCENT,
2024 	SERVICE_NUMBER,
2025 	UNIT_PERCENT_BASE_PRICE,
2026 	ATTRIBUTE_CATEGORY,
2027 	ATTRIBUTE1,
2028 	ATTRIBUTE2,
2029 	ATTRIBUTE3,
2030      ATTRIBUTE4,
2031 	ATTRIBUTE5,
2032 	ATTRIBUTE6,
2033 	ATTRIBUTE7,
2034 	ATTRIBUTE8,
2035 	ATTRIBUTE9,
2036 	ATTRIBUTE10,
2037 	ATTRIBUTE11,
2038 	ATTRIBUTE12,
2039 	ATTRIBUTE13,
2040 	ATTRIBUTE14,
2041 	ATTRIBUTE15,
2042 	SERVICE_REF_TYPE_CODE,
2043 	SERVICE_REF_ORDER_NUMBER,
2044 	SERVICE_REF_LINE_NUMBER,
2045 	SERVICE_REF_LINE_ID,
2046 	SERVICE_REF_SYSTEM_ID,
2047 	SERVICE_REF_OPTION_NUMB,
2048 	SERVICE_REF_SHIPMENT_NUMB,
2049 	RETURN_REF_TYPE,
2050 	RETURN_REF_HEADER_ID,
2051 	RETURN_REF_LINE_ID,
2052 	RETURN_REASON_CODE,
2053 	RETURN_ATTRIBUTE1,
2054 	RETURN_ATTRIBUTE2,
2055 	RETURN_ATTRIBUTE3,
2056 	RETURN_ATTRIBUTE4,
2057 	RETURN_ATTRIBUTE5,
2058 	RETURN_ATTRIBUTE6,
2059 	RETURN_ATTRIBUTE7,
2060 	RETURN_ATTRIBUTE8,
2061 	RETURN_ATTRIBUTE9,
2062 	RETURN_ATTRIBUTE10,
2063 	RETURN_ATTRIBUTE11,
2064 	RETURN_ATTRIBUTE12,
2065 	RETURN_ATTRIBUTE13,
2066 	RETURN_ATTRIBUTE14,
2067 	RETURN_ATTRIBUTE15,
2068      REF_TYPE_CODE,
2069      REF_LINE_ID,
2070 	INSTANCE_ID,
2071 	BOM_SORT_ORDER
2072     FROM ASO_Quote_Line_Details
2073     WHERE quote_line_id = p_qte_line_id;
2074 
2075 --    l_Line_Dtl_rec             ASO_QUOTE_PUB.Qte_Line_Dtl_Rec_Type;
2076 	l_line_dtl_count     NUMBER;
2077 	l_status   VARCHAR2(1) := 'S';
2078 
2079 BEGIN
2080 --Fix for bug 5714535.  Setting the output table structure directly instead of
2081 --setting it through  the local record structure.
2082 
2083       FOR Line_Dtl_rec IN c_Line_Dtl LOOP
2084 	   l_line_dtl_count := lx_Line_dtl_tbl.COUNT+1;
2085 	   lx_line_dtl_tbl(l_line_dtl_count).QUOTE_LINE_DETAIL_ID := line_dtl_rec.QUOTE_LINE_DETAIL_ID;
2086 	   lx_line_dtl_tbl(l_line_dtl_count).QUOTE_LINE_ID := line_dtl_rec.QUOTE_LINE_ID;
2087 	   lx_line_dtl_tbl(l_line_dtl_count).CREATION_DATE := line_dtl_rec.CREATION_DATE;
2088 	   lx_line_dtl_tbl(l_line_dtl_count).CREATED_BY := line_dtl_rec.CREATED_BY;
2089 	   lx_line_dtl_tbl(l_line_dtl_count).LAST_UPDATE_DATE := line_dtl_rec.LAST_UPDATE_DATE;
2090 	   lx_line_dtl_tbl(l_line_dtl_count).LAST_UPDATED_BY := line_dtl_rec.LAST_UPDATED_BY;
2091 	   lx_line_dtl_tbl(l_line_dtl_count).LAST_UPDATE_LOGIN := line_dtl_rec.LAST_UPDATE_LOGIN;
2092 	   lx_line_dtl_tbl(l_line_dtl_count).REQUEST_ID := line_dtl_rec.REQUEST_ID;
2093 	   lx_line_dtl_tbl(l_line_dtl_count).PROGRAM_APPLICATION_ID := line_dtl_rec.PROGRAM_APPLICATION_ID;
2094 	   lx_line_dtl_tbl(l_line_dtl_count).PROGRAM_ID := line_dtl_rec.PROGRAM_ID;
2095 	   lx_line_dtl_tbl(l_line_dtl_count).PROGRAM_UPDATE_DATE := line_dtl_rec.PROGRAM_UPDATE_DATE;
2096 	  lx_line_dtl_tbl(l_line_dtl_count).CONFIG_HEADER_ID := line_dtl_rec.CONFIG_HEADER_ID;
2097 	  lx_line_dtl_tbl(l_line_dtl_count).COMPLETE_CONFIGURATION_FLAG :=
2098 						line_dtl_rec.COMPLETE_CONFIGURATION_FLAG;
2099 	  lx_line_dtl_tbl(l_line_dtl_count).CONFIG_REVISION_NUM := line_dtl_rec.CONFIG_REVISION_NUM;
2100 	  lx_line_dtl_tbl(l_line_dtl_count).VALID_CONFIGURATION_FLAG :=
2101 						line_dtl_rec.VALID_CONFIGURATION_FLAG;
2102 	  lx_line_dtl_tbl(l_line_dtl_count).COMPONENT_CODE := line_dtl_rec.COMPONENT_CODE;
2103 	  lx_line_dtl_tbl(l_line_dtl_count).SERVICE_COTERMINATE_FLAG :=
2104 						line_dtl_rec.SERVICE_COTERMINATE_FLAG;
2105 	  lx_line_dtl_tbl(l_line_dtl_count).SERVICE_DURATION := line_dtl_rec.SERVICE_DURATION;
2106 	  lx_line_dtl_tbl(l_line_dtl_count).SERVICE_UNIT_SELLING_PERCENT :=
2107 						line_dtl_rec.SERVICE_UNIT_SELLING_PERCENT;
2108 	  lx_line_dtl_tbl(l_line_dtl_count).SERVICE_UNIT_LIST_PERCENT :=
2109 						line_dtl_rec.SERVICE_UNIT_LIST_PERCENT;
2110 	  lx_line_dtl_tbl(l_line_dtl_count).SERVICE_NUMBER := line_dtl_rec.SERVICE_NUMBER;
2111 	  lx_line_dtl_tbl(l_line_dtl_count).UNIT_PERCENT_BASE_PRICE := line_dtl_rec.UNIT_PERCENT_BASE_PRICE;
2112 	  lx_line_dtl_tbl(l_line_dtl_count).SERVICE_PERIOD := line_dtl_rec.SERVICE_PERIOD;
2113 	  lx_line_dtl_tbl(l_line_dtl_count).ATTRIBUTE_CATEGORY := line_dtl_rec.ATTRIBUTE_CATEGORY;
2114 	  lx_line_dtl_tbl(l_line_dtl_count).ATTRIBUTE1 := line_dtl_rec.ATTRIBUTE1;
2115 	  lx_line_dtl_tbl(l_line_dtl_count).ATTRIBUTE2 := line_dtl_rec.ATTRIBUTE2;
2116 	  lx_line_dtl_tbl(l_line_dtl_count).ATTRIBUTE3 := line_dtl_rec.ATTRIBUTE3;
2117 	  lx_line_dtl_tbl(l_line_dtl_count).ATTRIBUTE4 := line_dtl_rec.ATTRIBUTE4;
2118 	  lx_line_dtl_tbl(l_line_dtl_count).ATTRIBUTE5 := line_dtl_rec.ATTRIBUTE5;
2119 	  lx_line_dtl_tbl(l_line_dtl_count).ATTRIBUTE6 := line_dtl_rec.ATTRIBUTE6;
2120 	  lx_line_dtl_tbl(l_line_dtl_count).ATTRIBUTE7 := line_dtl_rec.ATTRIBUTE7;
2121 	  lx_line_dtl_tbl(l_line_dtl_count).ATTRIBUTE8 := line_dtl_rec.ATTRIBUTE8;
2122 	  lx_line_dtl_tbl(l_line_dtl_count).ATTRIBUTE9 := line_dtl_rec.ATTRIBUTE9;
2123 	  lx_line_dtl_tbl(l_line_dtl_count).ATTRIBUTE10 := line_dtl_rec.ATTRIBUTE10;
2124 	  lx_line_dtl_tbl(l_line_dtl_count).ATTRIBUTE11 := line_dtl_rec.ATTRIBUTE11;
2125 	  lx_line_dtl_tbl(l_line_dtl_count).ATTRIBUTE12 := line_dtl_rec.ATTRIBUTE12;
2126 	  lx_line_dtl_tbl(l_line_dtl_count).ATTRIBUTE13 := line_dtl_rec.ATTRIBUTE13;
2127 	  lx_line_dtl_tbl(l_line_dtl_count).ATTRIBUTE14 := line_dtl_rec.ATTRIBUTE14;
2128 	  lx_line_dtl_tbl(l_line_dtl_count).ATTRIBUTE15 := line_dtl_rec.ATTRIBUTE15;
2129 	  lx_line_dtl_tbl(l_line_dtl_count).SERVICE_REF_TYPE_CODE     := line_dtl_rec.SERVICE_REF_TYPE_CODE;
2130 	  lx_line_dtl_tbl(l_line_dtl_count).SERVICE_REF_ORDER_NUMBER  := line_dtl_rec.SERVICE_REF_ORDER_NUMBER;
2131 	  lx_line_dtl_tbl(l_line_dtl_count).SERVICE_REF_LINE_NUMBER   := line_dtl_rec.SERVICE_REF_LINE_NUMBER;
2132 	  lx_line_dtl_tbl(l_line_dtl_count).SERVICE_REF_LINE_ID       := line_dtl_rec.SERVICE_REF_LINE_ID;
2133 	  lx_line_dtl_tbl(l_line_dtl_count).SERVICE_REF_SYSTEM_ID     := line_dtl_rec.SERVICE_REF_SYSTEM_ID;
2134 	  lx_line_dtl_tbl(l_line_dtl_count).SERVICE_REF_OPTION_NUMB   := line_dtl_rec.SERVICE_REF_OPTION_NUMB;
2135 	  lx_line_dtl_tbl(l_line_dtl_count).SERVICE_REF_SHIPMENT_NUMB := line_dtl_rec.SERVICE_REF_SHIPMENT_NUMB;
2136 	  lx_line_dtl_tbl(l_line_dtl_count).RETURN_REF_TYPE      := line_dtl_rec.RETURN_REF_TYPE;
2137 	  lx_line_dtl_tbl(l_line_dtl_count).RETURN_REF_HEADER_ID := line_dtl_rec.RETURN_REF_HEADER_ID;
2138 	  lx_line_dtl_tbl(l_line_dtl_count).RETURN_REF_LINE_ID   := line_dtl_rec.RETURN_REF_LINE_ID;
2139 	  lx_line_dtl_tbl(l_line_dtl_count).RETURN_REASON_CODE   := line_dtl_rec.RETURN_REASON_CODE;
2140 	  lx_line_dtl_tbl(l_line_dtl_count).RETURN_ATTRIBUTE1    := line_dtl_rec.RETURN_ATTRIBUTE1;
2141 	  lx_line_dtl_tbl(l_line_dtl_count).RETURN_ATTRIBUTE2    := line_dtl_rec.RETURN_ATTRIBUTE2;
2142 	  lx_line_dtl_tbl(l_line_dtl_count).RETURN_ATTRIBUTE3    := line_dtl_rec.RETURN_ATTRIBUTE3;
2143 	  lx_line_dtl_tbl(l_line_dtl_count).RETURN_ATTRIBUTE4    := line_dtl_rec.RETURN_ATTRIBUTE4;
2144 	  lx_line_dtl_tbl(l_line_dtl_count).RETURN_ATTRIBUTE5    := line_dtl_rec.RETURN_ATTRIBUTE5;
2145 	  lx_line_dtl_tbl(l_line_dtl_count).RETURN_ATTRIBUTE6    := line_dtl_rec.RETURN_ATTRIBUTE6;
2146 	  lx_line_dtl_tbl(l_line_dtl_count).RETURN_ATTRIBUTE7    := line_dtl_rec.RETURN_ATTRIBUTE7;
2147 	  lx_line_dtl_tbl(l_line_dtl_count).RETURN_ATTRIBUTE8    := line_dtl_rec.RETURN_ATTRIBUTE8;
2148 	  lx_line_dtl_tbl(l_line_dtl_count).RETURN_ATTRIBUTE9    := line_dtl_rec.RETURN_ATTRIBUTE9;
2149 	  lx_line_dtl_tbl(l_line_dtl_count).RETURN_ATTRIBUTE10   := line_dtl_rec.RETURN_ATTRIBUTE10;
2150 	  lx_line_dtl_tbl(l_line_dtl_count).RETURN_ATTRIBUTE11   := line_dtl_rec.RETURN_ATTRIBUTE11;
2151 	  lx_line_dtl_tbl(l_line_dtl_count).RETURN_ATTRIBUTE12   := line_dtl_rec.RETURN_ATTRIBUTE12;
2152 	  lx_line_dtl_tbl(l_line_dtl_count).RETURN_ATTRIBUTE13   := line_dtl_rec.RETURN_ATTRIBUTE13;
2153 	  lx_line_dtl_tbl(l_line_dtl_count).RETURN_ATTRIBUTE14   := line_dtl_rec.RETURN_ATTRIBUTE14;
2154 	  lx_line_dtl_tbl(l_line_dtl_count).RETURN_ATTRIBUTE15   := line_dtl_rec.RETURN_ATTRIBUTE15;
2155 	  lx_line_dtl_tbl(l_line_dtl_count).CONFIG_ITEM_ID       := line_dtl_rec.CONFIG_ITEM_ID;
2156        lx_line_dtl_tbl(l_line_dtl_count).REF_TYPE_CODE        := line_dtl_rec.REF_TYPE_CODE;
2157        lx_line_dtl_tbl(l_line_dtl_count).REF_LINE_ID          := line_dtl_rec.REF_LINE_ID;
2158        lx_line_dtl_tbl(l_line_dtl_count).INSTANCE_ID          := line_dtl_rec.INSTANCE_ID;
2159        lx_line_dtl_tbl(l_line_dtl_count).BOM_SORT_ORDER       := line_dtl_rec.BOM_SORT_ORDER;
2160        lx_line_dtl_tbl(l_line_dtl_count).QTE_LINE_INDEX       := P_Line_Index;
2161 
2162 --	  lx_line_dtl_tbl(lx_Line_dtl_tbl.COUNT+1) := l_Line_dtl_rec;
2163       END LOOP;
2164       RETURN l_status;
2165 END Query_Line_Dtl_Rows;
2166 
2167 
2168 FUNCTION Query_Line_Attribs_Ext_Rows(
2169     P_Qte_Line_Id		IN  NUMBER := FND_API.G_MISS_NUM,
2170     P_Line_Index         IN  NUMBER,
2171     lx_Line_Attr_Ext_Tbl IN OUT NOCOPY /* file.sql.39 change */     ASO_QUOTE_PUB.Line_Attribs_Ext_Tbl_Type
2172     ) RETURN ASO_QUOTE_PUB.Line_Attribs_Ext_Tbl_Type
2173 IS
2174   CURSOR c_Line_Attr_Ext IS
2175    SELECT
2176      LINE_ATTRIBUTE_ID,
2177 	CREATION_DATE,
2178 	CREATED_BY,
2179 	LAST_UPDATE_DATE,
2180 	LAST_UPDATED_BY,
2181 	LAST_UPDATE_LOGIN,
2182 	REQUEST_ID,
2183 	PROGRAM_APPLICATION_ID,
2184 	PROGRAM_ID,
2185 	PROGRAM_UPDATE_DATE,
2186 	APPLICATION_ID,
2187 	QUOTE_LINE_ID,
2188 	ATTRIBUTE_TYPE_CODE,
2189 	NAME,
2190 	VALUE,
2191 	VALUE_TYPE,
2192 	STATUS,
2193 	START_DATE_ACTIVE,
2194 	END_DATE_ACTIVE,
2195 	QUOTE_HEADER_ID,
2196 	QUOTE_SHIPMENT_ID
2197     FROM ASO_QUOTE_LINE_ATTRIBS_EXT
2198     WHERE quote_line_id = p_qte_line_id;
2199 
2200 --    l_Line_Attr_Ext_Rec		ASO_QUOTE_PUB.Line_Attribs_Ext_Rec_Type;
2201 
2202     l_line_attr_ext_count     NUMBER;
2203 
2204 BEGIN
2205 --Fix for bug 5714535.  Setting the output table structure directly instead of
2206 --setting it through  the local record structure.
2207 
2208       FOR Line_Attr_Ext_rec IN c_Line_Attr_Ext LOOP
2209 	   l_line_attr_ext_count := lx_line_attr_ext_tbl.COUNT+1;
2210 	   lx_line_attr_ext_tbl(l_line_attr_ext_count).LINE_ATTRIBUTE_ID := line_attr_ext_rec.LINE_ATTRIBUTE_ID;
2211 	   lx_line_attr_ext_tbl(l_line_attr_ext_count).QUOTE_LINE_ID := line_attr_ext_rec.QUOTE_LINE_ID;
2212 	   lx_line_attr_ext_tbl(l_line_attr_ext_count).CREATION_DATE := line_attr_ext_rec.CREATION_DATE;
2213 	   lx_line_attr_ext_tbl(l_line_attr_ext_count).CREATED_BY := line_attr_ext_rec.CREATED_BY;
2214 	   lx_line_attr_ext_tbl(l_line_attr_ext_count).LAST_UPDATE_DATE := line_attr_ext_rec.LAST_UPDATE_DATE;
2215 	   lx_line_attr_ext_tbl(l_line_attr_ext_count).LAST_UPDATED_BY := line_attr_ext_rec.LAST_UPDATED_BY;
2216 	   lx_line_attr_ext_tbl(l_line_attr_ext_count).LAST_UPDATE_LOGIN := line_attr_ext_rec.LAST_UPDATE_LOGIN;
2217 	   lx_line_attr_ext_tbl(l_line_attr_ext_count).REQUEST_ID := line_attr_ext_rec.REQUEST_ID;
2218 	   lx_line_attr_ext_tbl(l_line_attr_ext_count).PROGRAM_APPLICATION_ID := line_attr_ext_rec.PROGRAM_APPLICATION_ID;
2219 	   lx_line_attr_ext_tbl(l_line_attr_ext_count).PROGRAM_ID := line_attr_ext_rec.PROGRAM_ID;
2220 	   lx_line_attr_ext_tbl(l_line_attr_ext_count).PROGRAM_UPDATE_DATE := line_attr_ext_rec.PROGRAM_UPDATE_DATE;
2221 	   lx_line_attr_ext_tbl(l_line_attr_ext_count).ATTRIBUTE_TYPE_CODE := line_attr_ext_rec.ATTRIBUTE_TYPE_CODE;
2222 	   lx_line_attr_ext_tbl(l_line_attr_ext_count).NAME := line_attr_ext_rec.NAME;
2223 	   lx_line_attr_ext_tbl(l_line_attr_ext_count).VALUE := line_attr_ext_rec.VALUE;
2224 	   lx_line_attr_ext_tbl(l_line_attr_ext_count).START_DATE_ACTIVE := line_attr_ext_rec.START_DATE_ACTIVE;
2225 	   lx_line_attr_ext_tbl(l_line_attr_ext_count).END_DATE_ACTIVE := line_attr_ext_rec.END_DATE_ACTIVE;
2226 	   lx_line_attr_ext_tbl(l_line_attr_ext_count).QUOTE_HEADER_ID := line_attr_ext_rec.QUOTE_HEADER_ID;
2227 	   lx_line_attr_ext_tbl(l_line_attr_ext_count).QUOTE_SHIPMENT_ID := line_attr_ext_rec.QUOTE_SHIPMENT_ID;
2228 	   lx_line_attr_ext_tbl(l_line_attr_ext_count).APPLICATION_ID := line_attr_ext_rec.APPLICATION_ID;
2229 	   lx_line_attr_ext_tbl(l_line_attr_ext_count).STATUS := line_attr_ext_rec.STATUS;
2230 	   lx_line_attr_ext_tbl(l_line_attr_ext_count).VALUE_TYPE := line_attr_ext_rec.VALUE_TYPE;
2231 	   lx_line_attr_ext_tbl(l_line_attr_ext_count).QTE_LINE_INDEX := P_Line_Index;
2232 
2233 --	  lx_line_attr_ext_tbl(lx_line_attr_ext_tbl.COUNT+1) := l_line_attr_ext_rec;
2234 
2235       END LOOP;
2236       RETURN lx_line_attr_ext_tbl;
2237 
2238 END Query_Line_Attribs_Ext_Rows;
2239 
2240 
2241 FUNCTION Query_Price_Attr_Rows (
2242     P_Qte_Header_Id		IN  NUMBER := FND_API.G_MISS_NUM,
2243     P_Qte_Line_Id		IN  NUMBER := FND_API.G_MISS_NUM,
2244     P_Line_Index         IN  NUMBER,
2245     lx_price_attr_tbl    IN OUT NOCOPY /* file.sql.39 change */  ASO_QUOTE_PUB.Price_Attributes_Tbl_Type
2246     ) RETURN ASO_QUOTE_PUB.Price_Attributes_Tbl_Type
2247 IS
2248     CURSOR c_price_attr IS
2249 	SELECT
2250 PRICE_ATTRIBUTE_ID,
2251 CREATION_DATE,
2252 CREATED_BY,
2253 LAST_UPDATE_DATE,
2254 LAST_UPDATED_BY,
2255 LAST_UPDATE_LOGIN,
2256 PROGRAM_APPLICATION_ID,
2257 PROGRAM_ID,
2258 PROGRAM_UPDATE_DATE,
2259 REQUEST_ID,
2260 QUOTE_HEADER_ID,
2261 QUOTE_LINE_ID,
2262 FLEX_TITLE,
2263 PRICING_CONTEXT,
2264 PRICING_ATTRIBUTE1,
2265 PRICING_ATTRIBUTE2,
2266 PRICING_ATTRIBUTE3,
2267 PRICING_ATTRIBUTE4,
2268 PRICING_ATTRIBUTE5,
2269 PRICING_ATTRIBUTE6,
2270 PRICING_ATTRIBUTE7,
2271 PRICING_ATTRIBUTE8,
2272 PRICING_ATTRIBUTE9,
2273 PRICING_ATTRIBUTE10,
2274 PRICING_ATTRIBUTE11,
2275 PRICING_ATTRIBUTE12,
2276 PRICING_ATTRIBUTE13,
2277 PRICING_ATTRIBUTE14,
2278 PRICING_ATTRIBUTE15,
2279 PRICING_ATTRIBUTE16,
2280 PRICING_ATTRIBUTE17,
2281 PRICING_ATTRIBUTE18,
2282 PRICING_ATTRIBUTE19,
2283 PRICING_ATTRIBUTE20,
2284 PRICING_ATTRIBUTE21,
2285 PRICING_ATTRIBUTE22,
2286 PRICING_ATTRIBUTE23,
2287 PRICING_ATTRIBUTE24,
2288 PRICING_ATTRIBUTE25,
2289 PRICING_ATTRIBUTE26,
2290 PRICING_ATTRIBUTE27,
2291 PRICING_ATTRIBUTE28,
2292 PRICING_ATTRIBUTE29,
2293 PRICING_ATTRIBUTE30,
2294 PRICING_ATTRIBUTE31,
2295 PRICING_ATTRIBUTE32,
2296 PRICING_ATTRIBUTE33,
2297 PRICING_ATTRIBUTE34,
2298 PRICING_ATTRIBUTE35,
2299 PRICING_ATTRIBUTE36,
2300 PRICING_ATTRIBUTE37,
2301 PRICING_ATTRIBUTE38,
2302 PRICING_ATTRIBUTE39,
2303 PRICING_ATTRIBUTE40,
2304 PRICING_ATTRIBUTE41,
2305 PRICING_ATTRIBUTE42,
2306 PRICING_ATTRIBUTE43,
2307 PRICING_ATTRIBUTE44,
2308 PRICING_ATTRIBUTE45,
2309 PRICING_ATTRIBUTE46,
2310 PRICING_ATTRIBUTE47,
2311 PRICING_ATTRIBUTE48,
2312 PRICING_ATTRIBUTE49,
2313 PRICING_ATTRIBUTE50,
2314 PRICING_ATTRIBUTE51,
2315 PRICING_ATTRIBUTE52,
2316 PRICING_ATTRIBUTE53,
2317 PRICING_ATTRIBUTE54,
2318 PRICING_ATTRIBUTE55,
2319 PRICING_ATTRIBUTE56,
2320 PRICING_ATTRIBUTE57,
2321 PRICING_ATTRIBUTE58,
2322 PRICING_ATTRIBUTE59,
2323 PRICING_ATTRIBUTE60,
2324 PRICING_ATTRIBUTE61,
2325 PRICING_ATTRIBUTE62,
2326 PRICING_ATTRIBUTE63,
2327 PRICING_ATTRIBUTE64,
2328 PRICING_ATTRIBUTE65,
2329 PRICING_ATTRIBUTE66,
2330 PRICING_ATTRIBUTE67,
2331 PRICING_ATTRIBUTE68,
2332 PRICING_ATTRIBUTE69,
2333 PRICING_ATTRIBUTE70,
2334 PRICING_ATTRIBUTE71,
2335 PRICING_ATTRIBUTE72,
2336 PRICING_ATTRIBUTE73,
2337 PRICING_ATTRIBUTE74,
2338 PRICING_ATTRIBUTE75,
2339 PRICING_ATTRIBUTE76,
2340 PRICING_ATTRIBUTE77,
2341 PRICING_ATTRIBUTE78,
2342 PRICING_ATTRIBUTE79,
2343 PRICING_ATTRIBUTE80,
2344 PRICING_ATTRIBUTE81,
2345 PRICING_ATTRIBUTE82,
2346 PRICING_ATTRIBUTE83,
2347 PRICING_ATTRIBUTE84,
2348 PRICING_ATTRIBUTE85,
2349 PRICING_ATTRIBUTE86,
2350 PRICING_ATTRIBUTE87,
2351 PRICING_ATTRIBUTE88,
2352 PRICING_ATTRIBUTE89,
2353 PRICING_ATTRIBUTE90,
2354 PRICING_ATTRIBUTE91,
2355 PRICING_ATTRIBUTE92,
2356 PRICING_ATTRIBUTE93,
2357 PRICING_ATTRIBUTE94,
2358 PRICING_ATTRIBUTE95,
2359 PRICING_ATTRIBUTE96,
2360 PRICING_ATTRIBUTE97,
2361 PRICING_ATTRIBUTE98,
2362 PRICING_ATTRIBUTE99,
2363 PRICING_ATTRIBUTE100,
2364 CONTEXT,
2365 ATTRIBUTE1,
2366 ATTRIBUTE2,
2367 ATTRIBUTE3,
2368 ATTRIBUTE4,
2369 ATTRIBUTE5,
2370 ATTRIBUTE6,
2371 ATTRIBUTE7,
2372 ATTRIBUTE8,
2373 ATTRIBUTE9,
2374 ATTRIBUTE10,
2375 ATTRIBUTE11,
2376 ATTRIBUTE12,
2377 ATTRIBUTE13,
2378 ATTRIBUTE14,
2379 ATTRIBUTE15
2380      FROM ASO_PRICE_ATTRIBUTES
2381 	WHERE quote_header_id = p_qte_header_id AND
2382 	   (quote_line_id = p_qte_line_id OR
2383 		(quote_line_id IS NULL AND p_qte_line_id IS NULL));
2384 
2385 --    l_price_attr_rec             ASO_QUOTE_PUB.Price_Attributes_Rec_Type;
2386 	l_price_attr_count  NUMBER;
2387 
2388 BEGIN
2389 --Fix for bug 5714535.  Setting the output table structure directly instead of
2390 --setting it through  the local record structure.
2391 
2392       FOR price_attr_rec IN c_price_attr LOOP
2393 	   l_price_attr_count := lx_price_attr_tbl.COUNT+1;
2394 
2395 	   lx_price_attr_tbl(l_price_attr_count).PRICE_ATTRIBUTE_ID := price_attr_rec.PRICE_ATTRIBUTE_ID;
2396 	   lx_price_attr_tbl(l_price_attr_count).CREATION_DATE := price_attr_rec.CREATION_DATE;
2397 	   lx_price_attr_tbl(l_price_attr_count).CREATED_BY := price_attr_rec.CREATED_BY;
2398 	   lx_price_attr_tbl(l_price_attr_count).LAST_UPDATE_DATE := price_attr_rec.LAST_UPDATE_DATE;
2399 	   lx_price_attr_tbl(l_price_attr_count).LAST_UPDATED_BY := price_attr_rec.LAST_UPDATED_BY;
2400 	   lx_price_attr_tbl(l_price_attr_count).LAST_UPDATE_LOGIN := price_attr_rec.LAST_UPDATE_LOGIN;
2401 	   lx_price_attr_tbl(l_price_attr_count).REQUEST_ID := price_attr_rec.REQUEST_ID;
2402 	   lx_price_attr_tbl(l_price_attr_count).PROGRAM_APPLICATION_ID := price_attr_rec.PROGRAM_APPLICATION_ID;
2403 	   lx_price_attr_tbl(l_price_attr_count).PROGRAM_ID := price_attr_rec.PROGRAM_ID;
2404 	   lx_price_attr_tbl(l_price_attr_count).PROGRAM_UPDATE_DATE := price_attr_rec.PROGRAM_UPDATE_DATE;
2405 	   lx_price_attr_tbl(l_price_attr_count).QUOTE_HEADER_ID := price_attr_rec.QUOTE_HEADER_ID;
2406 	   lx_price_attr_tbl(l_price_attr_count).QUOTE_LINE_ID := price_attr_rec.QUOTE_LINE_ID;
2407 	   lx_price_attr_tbl(l_price_attr_count).FLEX_TITLE := price_attr_rec.FLEX_TITLE;
2408  	  lx_price_attr_tbl(l_price_attr_count).PRICING_CONTEXT := price_attr_rec.PRICING_CONTEXT;
2409  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE1 := price_attr_rec.PRICING_ATTRIBUTE1;
2410  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE2 := price_attr_rec.PRICING_ATTRIBUTE2;
2411  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE3 := price_attr_rec.PRICING_ATTRIBUTE3;
2412  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE4 := price_attr_rec.PRICING_ATTRIBUTE4;
2413  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE5 := price_attr_rec.PRICING_ATTRIBUTE5;
2414  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE6 := price_attr_rec.PRICING_ATTRIBUTE6;
2415  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE7 := price_attr_rec.PRICING_ATTRIBUTE7;
2416  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE8 := price_attr_rec.PRICING_ATTRIBUTE8;
2417  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE9 := price_attr_rec.PRICING_ATTRIBUTE9;
2418  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE10 := price_attr_rec.PRICING_ATTRIBUTE10;
2419  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE11 := price_attr_rec.PRICING_ATTRIBUTE11;
2420  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE12 := price_attr_rec.PRICING_ATTRIBUTE12;
2421  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE13 := price_attr_rec.PRICING_ATTRIBUTE13;
2422  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE14 := price_attr_rec.PRICING_ATTRIBUTE14;
2423  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE15 := price_attr_rec.PRICING_ATTRIBUTE15;
2424  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE16 := price_attr_rec.PRICING_ATTRIBUTE16;
2425  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE17 := price_attr_rec.PRICING_ATTRIBUTE17;
2426  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE18 := price_attr_rec.PRICING_ATTRIBUTE18;
2427  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE19 := price_attr_rec.PRICING_ATTRIBUTE19;
2428  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE20 := price_attr_rec.PRICING_ATTRIBUTE20;
2429  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE21 := price_attr_rec.PRICING_ATTRIBUTE21;
2430  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE22 := price_attr_rec.PRICING_ATTRIBUTE22;
2431  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE23 := price_attr_rec.PRICING_ATTRIBUTE23;
2432  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE24 := price_attr_rec.PRICING_ATTRIBUTE24;
2433  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE25 := price_attr_rec.PRICING_ATTRIBUTE25;
2434  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE26 := price_attr_rec.PRICING_ATTRIBUTE26;
2435  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE27 := price_attr_rec.PRICING_ATTRIBUTE27;
2436  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE28 := price_attr_rec.PRICING_ATTRIBUTE28;
2437  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE29 := price_attr_rec.PRICING_ATTRIBUTE29;
2438  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE30 := price_attr_rec.PRICING_ATTRIBUTE30;
2439  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE31 := price_attr_rec.PRICING_ATTRIBUTE31;
2440  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE32 := price_attr_rec.PRICING_ATTRIBUTE32;
2441  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE33 := price_attr_rec.PRICING_ATTRIBUTE33;
2442  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE34 := price_attr_rec.PRICING_ATTRIBUTE34;
2443  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE35 := price_attr_rec.PRICING_ATTRIBUTE35;
2444  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE36 := price_attr_rec.PRICING_ATTRIBUTE36;
2445  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE37 := price_attr_rec.PRICING_ATTRIBUTE37;
2446  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE38 := price_attr_rec.PRICING_ATTRIBUTE38;
2447  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE39 := price_attr_rec.PRICING_ATTRIBUTE39;
2448  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE40 := price_attr_rec.PRICING_ATTRIBUTE40;
2449  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE41 := price_attr_rec.PRICING_ATTRIBUTE41;
2450  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE42 := price_attr_rec.PRICING_ATTRIBUTE42;
2451  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE43 := price_attr_rec.PRICING_ATTRIBUTE43;
2452  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE44 := price_attr_rec.PRICING_ATTRIBUTE44;
2453  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE45 := price_attr_rec.PRICING_ATTRIBUTE45;
2454  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE46 := price_attr_rec.PRICING_ATTRIBUTE46;
2455  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE47 := price_attr_rec.PRICING_ATTRIBUTE47;
2456  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE48 := price_attr_rec.PRICING_ATTRIBUTE48;
2457  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE49 := price_attr_rec.PRICING_ATTRIBUTE49;
2458  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE50 := price_attr_rec.PRICING_ATTRIBUTE50;
2459  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE51 := price_attr_rec.PRICING_ATTRIBUTE51;
2460  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE52 := price_attr_rec.PRICING_ATTRIBUTE52;
2461  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE53 := price_attr_rec.PRICING_ATTRIBUTE53;
2462  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE54 := price_attr_rec.PRICING_ATTRIBUTE54;
2463  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE55 := price_attr_rec.PRICING_ATTRIBUTE55;
2464  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE56 := price_attr_rec.PRICING_ATTRIBUTE56;
2465  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE57 := price_attr_rec.PRICING_ATTRIBUTE57;
2466  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE58 := price_attr_rec.PRICING_ATTRIBUTE58;
2467  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE59 := price_attr_rec.PRICING_ATTRIBUTE59;
2468  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE60 := price_attr_rec.PRICING_ATTRIBUTE60;
2469  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE61 := price_attr_rec.PRICING_ATTRIBUTE61;
2470  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE62 := price_attr_rec.PRICING_ATTRIBUTE62;
2471  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE63 := price_attr_rec.PRICING_ATTRIBUTE63;
2472  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE64 := price_attr_rec.PRICING_ATTRIBUTE64;
2473  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE65 := price_attr_rec.PRICING_ATTRIBUTE65;
2474  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE66 := price_attr_rec.PRICING_ATTRIBUTE66;
2475  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE67 := price_attr_rec.PRICING_ATTRIBUTE67;
2476  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE68 := price_attr_rec.PRICING_ATTRIBUTE68;
2477  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE69 := price_attr_rec.PRICING_ATTRIBUTE69;
2478  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE70 := price_attr_rec.PRICING_ATTRIBUTE70;
2479  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE71 := price_attr_rec.PRICING_ATTRIBUTE71;
2480  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE72 := price_attr_rec.PRICING_ATTRIBUTE72;
2481  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE73 := price_attr_rec.PRICING_ATTRIBUTE73;
2482  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE74 := price_attr_rec.PRICING_ATTRIBUTE74;
2483  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE75 := price_attr_rec.PRICING_ATTRIBUTE75;
2484  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE76 := price_attr_rec.PRICING_ATTRIBUTE76;
2485  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE77 := price_attr_rec.PRICING_ATTRIBUTE77;
2486  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE78 := price_attr_rec.PRICING_ATTRIBUTE78;
2487  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE79 := price_attr_rec.PRICING_ATTRIBUTE79;
2488  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE80 := price_attr_rec.PRICING_ATTRIBUTE80;
2489  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE81 := price_attr_rec.PRICING_ATTRIBUTE81;
2490  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE82 := price_attr_rec.PRICING_ATTRIBUTE82;
2491  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE83 := price_attr_rec.PRICING_ATTRIBUTE83;
2492  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE84 := price_attr_rec.PRICING_ATTRIBUTE84;
2493  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE85 := price_attr_rec.PRICING_ATTRIBUTE85;
2494  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE86 := price_attr_rec.PRICING_ATTRIBUTE86;
2495  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE87 := price_attr_rec.PRICING_ATTRIBUTE87;
2496  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE88 := price_attr_rec.PRICING_ATTRIBUTE88;
2497  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE89 := price_attr_rec.PRICING_ATTRIBUTE89;
2498  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE90 := price_attr_rec.PRICING_ATTRIBUTE90;
2499  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE91 := price_attr_rec.PRICING_ATTRIBUTE91;
2500  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE92 := price_attr_rec.PRICING_ATTRIBUTE92;
2501  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE93 := price_attr_rec.PRICING_ATTRIBUTE93;
2502  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE94 := price_attr_rec.PRICING_ATTRIBUTE94;
2503  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE95 := price_attr_rec.PRICING_ATTRIBUTE95;
2504  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE96 := price_attr_rec.PRICING_ATTRIBUTE96;
2505  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE97 := price_attr_rec.PRICING_ATTRIBUTE97;
2506  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE98 := price_attr_rec.PRICING_ATTRIBUTE98;
2507  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE99 := price_attr_rec.PRICING_ATTRIBUTE99;
2508  	  lx_price_attr_tbl(l_price_attr_count).PRICING_ATTRIBUTE100 := price_attr_rec.PRICING_ATTRIBUTE100;
2509 	  lx_price_attr_tbl(l_price_attr_count).CONTEXT := price_attr_rec.CONTEXT;
2510 	  lx_price_attr_tbl(l_price_attr_count).ATTRIBUTE1 := price_attr_rec.ATTRIBUTE1;
2511 	  lx_price_attr_tbl(l_price_attr_count).ATTRIBUTE2 := price_attr_rec.ATTRIBUTE2;
2512 	  lx_price_attr_tbl(l_price_attr_count).ATTRIBUTE3 := price_attr_rec.ATTRIBUTE3;
2513 	  lx_price_attr_tbl(l_price_attr_count).ATTRIBUTE4 := price_attr_rec.ATTRIBUTE4;
2514 	  lx_price_attr_tbl(l_price_attr_count).ATTRIBUTE5 := price_attr_rec.ATTRIBUTE5;
2515 	  lx_price_attr_tbl(l_price_attr_count).ATTRIBUTE6 := price_attr_rec.ATTRIBUTE6;
2516 	  lx_price_attr_tbl(l_price_attr_count).ATTRIBUTE7 := price_attr_rec.ATTRIBUTE7;
2517 	  lx_price_attr_tbl(l_price_attr_count).ATTRIBUTE8 := price_attr_rec.ATTRIBUTE8;
2518 	  lx_price_attr_tbl(l_price_attr_count).ATTRIBUTE9 := price_attr_rec.ATTRIBUTE9;
2519 	  lx_price_attr_tbl(l_price_attr_count).ATTRIBUTE10 := price_attr_rec.ATTRIBUTE10;
2520 	  lx_price_attr_tbl(l_price_attr_count).ATTRIBUTE11 := price_attr_rec.ATTRIBUTE11;
2521 	  lx_price_attr_tbl(l_price_attr_count).ATTRIBUTE12 := price_attr_rec.ATTRIBUTE12;
2522 	  lx_price_attr_tbl(l_price_attr_count).ATTRIBUTE13 := price_attr_rec.ATTRIBUTE13;
2523 	  lx_price_attr_tbl(l_price_attr_count).ATTRIBUTE14 := price_attr_rec.ATTRIBUTE14;
2524 	  lx_price_attr_tbl(l_price_attr_count).ATTRIBUTE15 := price_attr_rec.ATTRIBUTE15;
2525 	  lx_price_attr_tbl(l_price_attr_count).QTE_LINE_INDEX := P_Line_Index;
2526 
2527 --	  lx_price_attr_tbl(lx_price_attr_tbl.COUNT+1) := l_price_attr_rec;
2528 
2529       END LOOP;
2530       RETURN lx_price_attr_tbl;
2531 
2532 END Query_Price_Attr_Rows;
2533 
2534 
2535 FUNCTION Query_Price_Adj_Rltship_Rows (
2536     P_Price_Adjustment_Id     IN  NUMBER,
2537     P_Line_Index              IN  NUMBER,
2538     lx_price_adj_rltd_tbl     IN OUT NOCOPY /* file.sql.39 change */  ASO_QUOTE_PUB.Price_Adj_Rltship_Tbl_Type
2539     ) RETURN ASO_QUOTE_PUB.Price_Adj_Rltship_Tbl_Type
2540 IS
2541   CURSOR C_Price_Adj_Rltd IS
2542    SELECT
2543 	ADJ_RELATIONSHIP_ID
2544 	,CREATION_DATE
2545 	,CREATED_BY
2546 	,LAST_UPDATE_DATE
2547 	,LAST_UPDATED_BY
2548 	,LAST_UPDATE_LOGIN
2549 	,PROGRAM_APPLICATION_ID
2550 	,PROGRAM_ID
2551 	,PROGRAM_UPDATE_DATE
2552 	,REQUEST_ID
2553 	,QUOTE_LINE_ID
2554 	,PRICE_ADJUSTMENT_ID
2555 	,RLTD_PRICE_ADJ_ID
2556 	,QUOTE_SHIPMENT_ID
2557 	,SECURITY_GROUP_ID
2558 	,OBJECT_VERSION_NUMBER
2559     FROM aso_price_adj_relationships
2560     WHERE price_adjustment_id = P_Price_Adjustment_Id;
2561 
2562 --	l_price_adj_rltd_rec         ASO_QUOTE_PUB.Price_Adj_Rltship_Rec_Type;
2563 	l_price_adj_rltd_count   NUMBER;
2564 
2565 BEGIN
2566 --Fix for bug 5714535.  Setting the output table structure directly instead of
2567 --setting it through  the local record structure.
2568 
2569 FOR C_Price_Adj_Rltd_Rec IN C_Price_Adj_Rltd LOOP
2570 l_price_adj_rltd_count := lx_price_adj_rltd_tbl.COUNT+1;
2571 
2572 lx_price_adj_rltd_tbl(l_price_adj_rltd_count).ADJ_RELATIONSHIP_ID := C_Price_Adj_Rltd_Rec.ADJ_RELATIONSHIP_ID;
2573 lx_price_adj_rltd_tbl(l_price_adj_rltd_count).CREATION_DATE := C_Price_Adj_Rltd_Rec.CREATION_DATE;
2574 lx_price_adj_rltd_tbl(l_price_adj_rltd_count).CREATED_BY := C_Price_Adj_Rltd_Rec.CREATED_BY;
2575 lx_price_adj_rltd_tbl(l_price_adj_rltd_count).LAST_UPDATE_DATE := C_Price_Adj_Rltd_Rec.LAST_UPDATE_DATE;
2576 lx_price_adj_rltd_tbl(l_price_adj_rltd_count).LAST_UPDATED_BY := C_Price_Adj_Rltd_Rec.LAST_UPDATED_BY;
2577 lx_price_adj_rltd_tbl(l_price_adj_rltd_count).LAST_UPDATE_LOGIN := C_Price_Adj_Rltd_Rec.LAST_UPDATE_LOGIN;
2578 lx_price_adj_rltd_tbl(l_price_adj_rltd_count).PROGRAM_APPLICATION_ID := C_Price_Adj_Rltd_Rec.PROGRAM_APPLICATION_ID;
2579 lx_price_adj_rltd_tbl(l_price_adj_rltd_count).PROGRAM_ID := C_Price_Adj_Rltd_Rec.PROGRAM_ID;
2580 lx_price_adj_rltd_tbl(l_price_adj_rltd_count).PROGRAM_UPDATE_DATE := C_Price_Adj_Rltd_Rec.PROGRAM_UPDATE_DATE;
2581 lx_price_adj_rltd_tbl(l_price_adj_rltd_count).REQUEST_ID := C_Price_Adj_Rltd_Rec.REQUEST_ID;
2582 lx_price_adj_rltd_tbl(l_price_adj_rltd_count).QUOTE_LINE_ID := C_Price_Adj_Rltd_Rec.QUOTE_LINE_ID;
2583 lx_price_adj_rltd_tbl(l_price_adj_rltd_count).PRICE_ADJUSTMENT_ID := C_Price_Adj_Rltd_Rec.PRICE_ADJUSTMENT_ID;
2584 lx_price_adj_rltd_tbl(l_price_adj_rltd_count).RLTD_PRICE_ADJ_ID := C_Price_Adj_Rltd_Rec.RLTD_PRICE_ADJ_ID;
2585 lx_price_adj_rltd_tbl(l_price_adj_rltd_count).QUOTE_SHIPMENT_ID := C_Price_Adj_Rltd_Rec.QUOTE_SHIPMENT_ID;
2586 lx_price_adj_rltd_tbl(l_price_adj_rltd_count).QTE_LINE_INDEX := P_Line_Index;
2587 
2588 --lx_price_adj_rltd_tbl(lx_price_adj_rltd_tbl.COUNT+1) := l_price_adj_rltd_rec;
2589 
2590 END LOOP;
2591 RETURN lx_price_adj_rltd_tbl;
2592 
2593 END  Query_Price_Adj_Rltship_Rows;
2594 
2595 
2596 FUNCTION Query_Price_Adj_Rows (
2597     P_Qte_Header_Id		IN  NUMBER := FND_API.G_MISS_NUM,
2598     P_Qte_Line_Rec		IN  ASO_QUOTE_PUB.Qte_Line_Rec_Type,
2599     P_Line_Index         IN  NUMBER,
2600     Lx_price_adj_rltship_tbl  IN OUT NOCOPY /* file.sql.39 change */  ASO_QUOTE_PUB.Price_Adj_Rltship_Tbl_Type,
2601     Lx_price_adj_tbl          IN OUT NOCOPY /* file.sql.39 change */  ASO_QUOTE_PUB.Price_Adj_Tbl_Type
2602     ) RETURN VARCHAR2
2603 IS
2604 --Begin fix for bug 5575844.
2605 --Original cursor has been split into separate cursors for
2606 --header and line adjustments for performance reasons.
2607 
2608    CURSOR c_price_adj_hdr IS
2609    SELECT
2610      PRICE_ADJUSTMENT_ID,
2611 	CREATION_DATE,
2612 	CREATED_BY,
2613 	LAST_UPDATE_DATE,
2614 	LAST_UPDATED_BY,
2615 	LAST_UPDATE_LOGIN,
2616 	PROGRAM_APPLICATION_ID,
2617 	PROGRAM_ID,
2618 	PROGRAM_UPDATE_DATE,
2619 	REQUEST_ID,
2620 	QUOTE_HEADER_ID,
2621 	QUOTE_LINE_ID,
2622 	MODIFIER_HEADER_ID,
2623 	MODIFIER_LINE_ID,
2624 	MODIFIER_LINE_TYPE_CODE,
2625 	MODIFIER_MECHANISM_TYPE_CODE,
2626 	MODIFIED_FROM,
2627      MODIFIED_TO,
2628 	OPERAND,
2629 	ARITHMETIC_OPERATOR,
2630 	AUTOMATIC_FLAG,
2631 	UPDATE_ALLOWABLE_FLAG,
2632      UPDATED_FLAG,
2633 	APPLIED_FLAG,
2634 	ON_INVOICE_FLAG,
2635 	PRICING_PHASE_ID,
2636 	ATTRIBUTE_CATEGORY,
2637 	ATTRIBUTE1,
2638 	ATTRIBUTE2,
2639 	ATTRIBUTE3,
2640 	ATTRIBUTE4,
2641 	ATTRIBUTE5,
2642 	ATTRIBUTE6,
2643 	ATTRIBUTE7,
2644 	ATTRIBUTE8,
2645 	ATTRIBUTE9,
2646 	ATTRIBUTE10,
2647 	ATTRIBUTE11,
2648 	ATTRIBUTE12,
2649 	ATTRIBUTE13,
2650 	ATTRIBUTE14,
2651 	ATTRIBUTE15,
2652 	TAX_CODE,
2653 	TAX_EXEMPT_FLAG,
2654 	TAX_EXEMPT_NUMBER,
2655 	TAX_EXEMPT_REASON_CODE,
2656 	PARENT_ADJUSTMENT_ID,
2657 	INVOICED_FLAG,
2658 	ESTIMATED_FLAG,
2659 	INC_IN_SALES_PERFORMANCE,
2660 	SPLIT_ACTION_CODE,
2661 	ADJUSTED_AMOUNT,
2662 	CHARGE_TYPE_CODE,
2663 	CHARGE_SUBTYPE_CODE,
2664 	RANGE_BREAK_QUANTITY,
2665 	ACCRUAL_CONVERSION_RATE,
2666 	PRICING_GROUP_SEQUENCE,
2667 	ACCRUAL_FLAG,
2668 	LIST_LINE_NO,
2669 	SOURCE_SYSTEM_CODE,
2670 	BENEFIT_QTY,
2671 	BENEFIT_UOM_CODE,
2672 	PRINT_ON_INVOICE_FLAG,
2673 	EXPIRATION_DATE,
2674 	REBATE_TRANSACTION_TYPE_CODE,
2675 	REBATE_TRANSACTION_REFERENCE,
2676 	REBATE_PAYMENT_SYSTEM_CODE,
2677 	REDEEMED_DATE,
2678 	REDEEMED_FLAG,
2679 	MODIFIER_LEVEL_CODE,
2680 	PRICE_BREAK_TYPE_CODE,
2681 	SUBSTITUTION_ATTRIBUTE,
2682 	PRORATION_TYPE_CODE,
2683 	INCLUDE_ON_RETURNS_FLAG,
2684 	CREDIT_OR_CHARGE_FLAG,
2685 	ORIG_SYS_DISCOUNT_REF,
2686 	CHANGE_REASON_CODE,
2687 	CHANGE_REASON_TEXT,
2688 	COST_ID,
2689 	LIST_LINE_TYPE_CODE,
2690 	UPDATE_ALLOWED,
2691 	CHANGE_SEQUENCE,
2692 	LIST_HEADER_ID,
2693 	LIST_LINE_ID,
2694 	QUOTE_SHIPMENT_ID
2695     FROM ASO_PRICE_ADJUSTMENTS
2696     WHERE quote_header_id = p_qte_header_id AND
2697 	   quote_line_id is null AND
2698 	   (applied_flag IS NOT NULL AND applied_flag = 'Y')
2699     UNION ALL
2700     SELECT
2701      PRICE_ADJUSTMENT_ID,
2702      CREATION_DATE,
2703      CREATED_BY,
2704      LAST_UPDATE_DATE,
2705      LAST_UPDATED_BY,
2706      LAST_UPDATE_LOGIN,
2707      PROGRAM_APPLICATION_ID,
2708      PROGRAM_ID,
2709      PROGRAM_UPDATE_DATE,
2710      REQUEST_ID,
2711      QUOTE_HEADER_ID,
2712      QUOTE_LINE_ID,
2713      MODIFIER_HEADER_ID,
2714      MODIFIER_LINE_ID,
2715      MODIFIER_LINE_TYPE_CODE,
2716      MODIFIER_MECHANISM_TYPE_CODE,
2717      MODIFIED_FROM,
2718      MODIFIED_TO,
2719      OPERAND,
2720      ARITHMETIC_OPERATOR,
2721      AUTOMATIC_FLAG,
2722      UPDATE_ALLOWABLE_FLAG,
2723      UPDATED_FLAG,
2724      APPLIED_FLAG,
2725      ON_INVOICE_FLAG,
2726      PRICING_PHASE_ID,
2727      ATTRIBUTE_CATEGORY,
2728      ATTRIBUTE1,
2729      ATTRIBUTE2,
2730      ATTRIBUTE3,
2731      ATTRIBUTE4,
2732      ATTRIBUTE5,
2733      ATTRIBUTE6,
2734      ATTRIBUTE7,
2735      ATTRIBUTE8,
2736      ATTRIBUTE9,
2737      ATTRIBUTE10,
2738      ATTRIBUTE11,
2739 	ATTRIBUTE12,
2740      ATTRIBUTE13,
2741      ATTRIBUTE14,
2742      ATTRIBUTE15,
2743      TAX_CODE,
2744      TAX_EXEMPT_FLAG,
2745      TAX_EXEMPT_NUMBER,
2746      TAX_EXEMPT_REASON_CODE,
2747      PARENT_ADJUSTMENT_ID,
2748      INVOICED_FLAG,
2749      ESTIMATED_FLAG,
2750      INC_IN_SALES_PERFORMANCE,
2751      SPLIT_ACTION_CODE,
2752      ADJUSTED_AMOUNT,
2753      CHARGE_TYPE_CODE,
2754      CHARGE_SUBTYPE_CODE,
2755      RANGE_BREAK_QUANTITY,
2756      ACCRUAL_CONVERSION_RATE,
2757      PRICING_GROUP_SEQUENCE,
2758      ACCRUAL_FLAG,
2759      LIST_LINE_NO,
2760      SOURCE_SYSTEM_CODE,
2761      BENEFIT_QTY,
2762      BENEFIT_UOM_CODE,
2763      PRINT_ON_INVOICE_FLAG,
2764      EXPIRATION_DATE,
2765      REBATE_TRANSACTION_TYPE_CODE,
2766      REBATE_TRANSACTION_REFERENCE,
2767      REBATE_PAYMENT_SYSTEM_CODE,
2768      REDEEMED_DATE,
2769      REDEEMED_FLAG,
2770      MODIFIER_LEVEL_CODE,
2771      PRICE_BREAK_TYPE_CODE,
2772      SUBSTITUTION_ATTRIBUTE,
2773      PRORATION_TYPE_CODE,
2774      INCLUDE_ON_RETURNS_FLAG,
2775      CREDIT_OR_CHARGE_FLAG,
2776      ORIG_SYS_DISCOUNT_REF,
2777      CHANGE_REASON_CODE,
2778      CHANGE_REASON_TEXT,
2779      COST_ID,
2780      LIST_LINE_TYPE_CODE,
2781      UPDATE_ALLOWED,
2782      CHANGE_SEQUENCE,
2783      LIST_HEADER_ID,
2784 	LIST_LINE_ID,
2785      QUOTE_SHIPMENT_ID
2786     FROM ASO_PRICE_ADJUSTMENTS c
2787     WHERE quote_header_id = p_qte_header_id AND
2788           quote_line_id IS NULL AND
2789 		 EXISTS
2790 		   (select NULL
2791 		    from aso_price_adjustments a, aso_price_adj_relationships b
2792 			where a.price_adjustment_id = b.price_adjustment_id
2793 			and c.price_adjustment_id = b.rltd_price_adj_id
2794                         and a.quote_header_id = p_qte_header_id
2795                         and a.quote_line_id IS NULL
2796 			and a.modifier_line_type_code = 'PBH'
2797 			and (a.applied_flag IS NOT NULL AND a.applied_flag = 'Y'));
2798 
2799    CURSOR c_price_adj_line IS
2800     SELECT
2801      PRICE_ADJUSTMENT_ID,
2802 	CREATION_DATE,
2803 	CREATED_BY,
2804 	LAST_UPDATE_DATE,
2805 	LAST_UPDATED_BY,
2806 	LAST_UPDATE_LOGIN,
2807 	PROGRAM_APPLICATION_ID,
2808 	PROGRAM_ID,
2809 	PROGRAM_UPDATE_DATE,
2810 	REQUEST_ID,
2811 	QUOTE_HEADER_ID,
2812 	QUOTE_LINE_ID,
2813 	MODIFIER_HEADER_ID,
2814 	MODIFIER_LINE_ID,
2815 	MODIFIER_LINE_TYPE_CODE,
2816 	MODIFIER_MECHANISM_TYPE_CODE,
2817 	MODIFIED_FROM,
2818      MODIFIED_TO,
2819 	OPERAND,
2820 	ARITHMETIC_OPERATOR,
2821 	AUTOMATIC_FLAG,
2822 	UPDATE_ALLOWABLE_FLAG,
2823      UPDATED_FLAG,
2824 	APPLIED_FLAG,
2825 	ON_INVOICE_FLAG,
2826 	PRICING_PHASE_ID,
2827 	ATTRIBUTE_CATEGORY,
2828 	ATTRIBUTE1,
2829 	ATTRIBUTE2,
2830 	ATTRIBUTE3,
2831 	ATTRIBUTE4,
2832 	ATTRIBUTE5,
2833 	ATTRIBUTE6,
2834 	ATTRIBUTE7,
2835 	ATTRIBUTE8,
2836 	ATTRIBUTE9,
2837 	ATTRIBUTE10,
2838 	ATTRIBUTE11,
2839 	ATTRIBUTE12,
2840 	ATTRIBUTE13,
2841 	ATTRIBUTE14,
2842 	ATTRIBUTE15,
2843 	TAX_CODE,
2844 	TAX_EXEMPT_FLAG,
2845 	TAX_EXEMPT_NUMBER,
2846 	TAX_EXEMPT_REASON_CODE,
2847 	PARENT_ADJUSTMENT_ID,
2848 	INVOICED_FLAG,
2849 	ESTIMATED_FLAG,
2850 	INC_IN_SALES_PERFORMANCE,
2851 	SPLIT_ACTION_CODE,
2852 	ADJUSTED_AMOUNT,
2853 	CHARGE_TYPE_CODE,
2854 	CHARGE_SUBTYPE_CODE,
2855 	RANGE_BREAK_QUANTITY,
2856 	ACCRUAL_CONVERSION_RATE,
2857 	PRICING_GROUP_SEQUENCE,
2858 	ACCRUAL_FLAG,
2859 	LIST_LINE_NO,
2860 	SOURCE_SYSTEM_CODE,
2861 	BENEFIT_QTY,
2862 	BENEFIT_UOM_CODE,
2863 	PRINT_ON_INVOICE_FLAG,
2864 	EXPIRATION_DATE,
2865 	REBATE_TRANSACTION_TYPE_CODE,
2866 	REBATE_TRANSACTION_REFERENCE,
2867 	REBATE_PAYMENT_SYSTEM_CODE,
2868 	REDEEMED_DATE,
2869 	REDEEMED_FLAG,
2870 	MODIFIER_LEVEL_CODE,
2871 	PRICE_BREAK_TYPE_CODE,
2872 	SUBSTITUTION_ATTRIBUTE,
2873 	PRORATION_TYPE_CODE,
2874 	INCLUDE_ON_RETURNS_FLAG,
2875 	CREDIT_OR_CHARGE_FLAG,
2876 	ORIG_SYS_DISCOUNT_REF,
2877 	CHANGE_REASON_CODE,
2878 	CHANGE_REASON_TEXT,
2879 	COST_ID,
2880 	LIST_LINE_TYPE_CODE,
2881 	UPDATE_ALLOWED,
2882 	CHANGE_SEQUENCE,
2883 	LIST_HEADER_ID,
2884 	LIST_LINE_ID,
2885 	QUOTE_SHIPMENT_ID
2886     FROM ASO_PRICE_ADJUSTMENTS
2887     WHERE quote_header_id = p_qte_header_id AND
2888           quote_line_id = p_qte_line_rec.quote_line_id AND
2889           (applied_flag IS NOT NULL AND applied_flag = 'Y')
2890     UNION ALL
2891     SELECT
2892      PRICE_ADJUSTMENT_ID,
2893      CREATION_DATE,
2894      CREATED_BY,
2895      LAST_UPDATE_DATE,
2896      LAST_UPDATED_BY,
2897      LAST_UPDATE_LOGIN,
2898      PROGRAM_APPLICATION_ID,
2899      PROGRAM_ID,
2900      PROGRAM_UPDATE_DATE,
2901      REQUEST_ID,
2902      QUOTE_HEADER_ID,
2903      QUOTE_LINE_ID,
2904      MODIFIER_HEADER_ID,
2905      MODIFIER_LINE_ID,
2906      MODIFIER_LINE_TYPE_CODE,
2907      MODIFIER_MECHANISM_TYPE_CODE,
2908      MODIFIED_FROM,
2909      MODIFIED_TO,
2910      OPERAND,
2911      ARITHMETIC_OPERATOR,
2912      AUTOMATIC_FLAG,
2913      UPDATE_ALLOWABLE_FLAG,
2914      UPDATED_FLAG,
2915      APPLIED_FLAG,
2916      ON_INVOICE_FLAG,
2917      PRICING_PHASE_ID,
2918      ATTRIBUTE_CATEGORY,
2919      ATTRIBUTE1,
2920      ATTRIBUTE2,
2921      ATTRIBUTE3,
2922      ATTRIBUTE4,
2923      ATTRIBUTE5,
2924      ATTRIBUTE6,
2925      ATTRIBUTE7,
2926      ATTRIBUTE8,
2927      ATTRIBUTE9,
2928      ATTRIBUTE10,
2929      ATTRIBUTE11,
2930 	ATTRIBUTE12,
2931      ATTRIBUTE13,
2932      ATTRIBUTE14,
2933      ATTRIBUTE15,
2934      TAX_CODE,
2935      TAX_EXEMPT_FLAG,
2936      TAX_EXEMPT_NUMBER,
2937      TAX_EXEMPT_REASON_CODE,
2938      PARENT_ADJUSTMENT_ID,
2939      INVOICED_FLAG,
2940      ESTIMATED_FLAG,
2941      INC_IN_SALES_PERFORMANCE,
2942      SPLIT_ACTION_CODE,
2943      ADJUSTED_AMOUNT,
2944      CHARGE_TYPE_CODE,
2945      CHARGE_SUBTYPE_CODE,
2946      RANGE_BREAK_QUANTITY,
2947      ACCRUAL_CONVERSION_RATE,
2948      PRICING_GROUP_SEQUENCE,
2949      ACCRUAL_FLAG,
2950      LIST_LINE_NO,
2951      SOURCE_SYSTEM_CODE,
2952      BENEFIT_QTY,
2953      BENEFIT_UOM_CODE,
2954      PRINT_ON_INVOICE_FLAG,
2955      EXPIRATION_DATE,
2956      REBATE_TRANSACTION_TYPE_CODE,
2957      REBATE_TRANSACTION_REFERENCE,
2958      REBATE_PAYMENT_SYSTEM_CODE,
2959      REDEEMED_DATE,
2960      REDEEMED_FLAG,
2961      MODIFIER_LEVEL_CODE,
2962      PRICE_BREAK_TYPE_CODE,
2963      SUBSTITUTION_ATTRIBUTE,
2964      PRORATION_TYPE_CODE,
2965      INCLUDE_ON_RETURNS_FLAG,
2966      CREDIT_OR_CHARGE_FLAG,
2967      ORIG_SYS_DISCOUNT_REF,
2968      CHANGE_REASON_CODE,
2969      CHANGE_REASON_TEXT,
2970      COST_ID,
2971      LIST_LINE_TYPE_CODE,
2972      UPDATE_ALLOWED,
2973      CHANGE_SEQUENCE,
2974      LIST_HEADER_ID,
2975      LIST_LINE_ID,
2976      QUOTE_SHIPMENT_ID
2977     FROM ASO_PRICE_ADJUSTMENTS c
2978     WHERE quote_header_id = p_qte_header_id AND
2979           quote_line_id = p_qte_line_rec.quote_line_id AND
2980 		 EXISTS
2981 		   (select NULL
2982 		    from aso_price_adjustments a, aso_price_adj_relationships b
2983 			where a.price_adjustment_id = b.price_adjustment_id
2984 			and c.price_adjustment_id = b.rltd_price_adj_id
2985                         and a.quote_header_id = p_qte_header_id
2986                         and a.quote_line_id = p_qte_line_rec.quote_line_id
2987 			and a.modifier_line_type_code = 'PBH'
2988 			and (a.applied_flag IS NOT NULL AND a.applied_flag = 'Y'));
2989 
2990 --End fix for bug 5575844.
2991 
2992 	l_price_adj_count	NUMBER;
2993 	l_status	VARCHAR2(1) := 'S';
2994 
2995 BEGIN
2996 --Fix for bug 5736820.  Setting the output table structure directly instead of
2997 --setting it through  the local record structure.
2998 
2999 --Begin fix for bug 5575844.
3000 	IF p_qte_line_rec.quote_line_id IS NULL THEN
3001       FOR price_adj_rec IN c_price_adj_hdr LOOP
3002 	  l_price_adj_count := lx_price_adj_tbl.COUNT+1;
3003 
3004 	  lx_price_adj_tbl(l_price_adj_count).PRICE_ADJUSTMENT_ID := price_adj_rec.PRICE_ADJUSTMENT_ID;
3005 	  lx_price_adj_tbl(l_price_adj_count).CREATION_DATE := price_adj_rec.CREATION_DATE;
3006 	  lx_price_adj_tbl(l_price_adj_count).CREATED_BY := price_adj_rec.CREATED_BY;
3007 	  lx_price_adj_tbl(l_price_adj_count).LAST_UPDATE_DATE := price_adj_rec.LAST_UPDATE_DATE;
3008 	  lx_price_adj_tbl(l_price_adj_count).LAST_UPDATED_BY := price_adj_rec.LAST_UPDATED_BY;
3009 	  lx_price_adj_tbl(l_price_adj_count).LAST_UPDATE_LOGIN := price_adj_rec.LAST_UPDATE_LOGIN;
3010 	  lx_price_adj_tbl(l_price_adj_count).REQUEST_ID := price_adj_rec.REQUEST_ID;
3011 	  lx_price_adj_tbl(l_price_adj_count).PROGRAM_APPLICATION_ID := price_adj_rec.PROGRAM_APPLICATION_ID;
3012 	  lx_price_adj_tbl(l_price_adj_count).PROGRAM_ID := price_adj_rec.PROGRAM_ID;
3013 	  lx_price_adj_tbl(l_price_adj_count).PROGRAM_UPDATE_DATE := price_adj_rec.PROGRAM_UPDATE_DATE;
3014 	  lx_price_adj_tbl(l_price_adj_count).QUOTE_HEADER_ID := price_adj_rec.QUOTE_HEADER_ID;
3015 	  lx_price_adj_tbl(l_price_adj_count).QUOTE_LINE_ID := price_adj_rec.QUOTE_LINE_ID;
3016 	  lx_price_adj_tbl(l_price_adj_count).MODIFIER_HEADER_ID := price_adj_rec.MODIFIER_HEADER_ID;
3017 	  lx_price_adj_tbl(l_price_adj_count).MODIFIER_LINE_ID := price_adj_rec.MODIFIER_LINE_ID;
3018 	  lx_price_adj_tbl(l_price_adj_count).MODIFIER_LINE_TYPE_CODE := price_adj_rec.MODIFIER_LINE_TYPE_CODE;
3019 	  lx_price_adj_tbl(l_price_adj_count).MODIFIER_MECHANISM_TYPE_CODE
3020 	  	  	  	  	:= price_adj_rec.MODIFIER_MECHANISM_TYPE_CODE;
3021 	  lx_price_adj_tbl(l_price_adj_count).MODIFIED_FROM := price_adj_rec.MODIFIED_FROM;
3022 	  lx_price_adj_tbl(l_price_adj_count).MODIFIED_TO := price_adj_rec.MODIFIED_TO;
3023 	  lx_price_adj_tbl(l_price_adj_count).OPERAND := price_adj_rec.OPERAND;
3024 	  lx_price_adj_tbl(l_price_adj_count).ARITHMETIC_OPERATOR := price_adj_rec.ARITHMETIC_OPERATOR;
3025 	  lx_price_adj_tbl(l_price_adj_count).AUTOMATIC_FLAG := price_adj_rec.AUTOMATIC_FLAG;
3026 	  lx_price_adj_tbl(l_price_adj_count).UPDATE_ALLOWABLE_FLAG := price_adj_rec.UPDATE_ALLOWABLE_FLAG;
3027 	  lx_price_adj_tbl(l_price_adj_count).UPDATED_FLAG := price_adj_rec.UPDATED_FLAG;
3028 	  lx_price_adj_tbl(l_price_adj_count).APPLIED_FLAG := price_adj_rec.APPLIED_FLAG;
3029 	  lx_price_adj_tbl(l_price_adj_count).ON_INVOICE_FLAG := price_adj_rec.ON_INVOICE_FLAG;
3030 	  lx_price_adj_tbl(l_price_adj_count).PRICING_PHASE_ID := price_adj_rec.PRICING_PHASE_ID;
3031 	  lx_price_adj_tbl(l_price_adj_count).QUOTE_SHIPMENT_ID := price_adj_rec.QUOTE_SHIPMENT_ID;
3032 	  lx_price_adj_tbl(l_price_adj_count).ATTRIBUTE_CATEGORY := price_adj_rec.ATTRIBUTE_CATEGORY;
3033 	  lx_price_adj_tbl(l_price_adj_count).ATTRIBUTE1 := price_adj_rec.ATTRIBUTE1;
3034 	  lx_price_adj_tbl(l_price_adj_count).ATTRIBUTE2 := price_adj_rec.ATTRIBUTE2;
3035 	  lx_price_adj_tbl(l_price_adj_count).ATTRIBUTE3 := price_adj_rec.ATTRIBUTE3;
3036 	  lx_price_adj_tbl(l_price_adj_count).ATTRIBUTE4 := price_adj_rec.ATTRIBUTE4;
3037 	  lx_price_adj_tbl(l_price_adj_count).ATTRIBUTE5 := price_adj_rec.ATTRIBUTE5;
3038 	  lx_price_adj_tbl(l_price_adj_count).ATTRIBUTE6 := price_adj_rec.ATTRIBUTE6;
3039 	  lx_price_adj_tbl(l_price_adj_count).ATTRIBUTE7 := price_adj_rec.ATTRIBUTE7;
3040 	  lx_price_adj_tbl(l_price_adj_count).ATTRIBUTE8 := price_adj_rec.ATTRIBUTE8;
3041 	  lx_price_adj_tbl(l_price_adj_count).ATTRIBUTE9 := price_adj_rec.ATTRIBUTE9;
3042 	  lx_price_adj_tbl(l_price_adj_count).ATTRIBUTE10 := price_adj_rec.ATTRIBUTE10;
3043 	  lx_price_adj_tbl(l_price_adj_count).ATTRIBUTE11 := price_adj_rec.ATTRIBUTE11;
3044 	  lx_price_adj_tbl(l_price_adj_count).ATTRIBUTE12 := price_adj_rec.ATTRIBUTE12;
3045 	  lx_price_adj_tbl(l_price_adj_count).ATTRIBUTE13 := price_adj_rec.ATTRIBUTE13;
3046 	  lx_price_adj_tbl(l_price_adj_count).ATTRIBUTE14 := price_adj_rec.ATTRIBUTE14;
3047 	  lx_price_adj_tbl(l_price_adj_count).ATTRIBUTE15 := price_adj_rec.ATTRIBUTE15;
3048      lx_price_adj_tbl(l_price_adj_count).TAX_CODE   := price_adj_rec.TAX_CODE;
3049 	lx_price_adj_tbl(l_price_adj_count).TAX_EXEMPT_FLAG := price_adj_rec.TAX_EXEMPT_FLAG;
3050 	lx_price_adj_tbl(l_price_adj_count).TAX_EXEMPT_NUMBER := price_adj_rec.TAX_EXEMPT_NUMBER;
3051 	lx_price_adj_tbl(l_price_adj_count).TAX_EXEMPT_REASON_CODE := price_adj_rec.TAX_EXEMPT_REASON_CODE;
3052 	lx_price_adj_tbl(l_price_adj_count).PARENT_ADJUSTMENT_ID := price_adj_rec.PARENT_ADJUSTMENT_ID;
3053 	lx_price_adj_tbl(l_price_adj_count).INVOICED_FLAG := price_adj_rec.INVOICED_FLAG;
3054 	lx_price_adj_tbl(l_price_adj_count).ESTIMATED_FLAG := price_adj_rec.ESTIMATED_FLAG;
3055 	lx_price_adj_tbl(l_price_adj_count).INC_IN_SALES_PERFORMANCE := price_adj_rec.INC_IN_SALES_PERFORMANCE;
3056 	lx_price_adj_tbl(l_price_adj_count).SPLIT_ACTION_CODE := price_adj_rec.SPLIT_ACTION_CODE;
3057 	lx_price_adj_tbl(l_price_adj_count).ADJUSTED_AMOUNT := price_adj_rec.ADJUSTED_AMOUNT;
3058 	lx_price_adj_tbl(l_price_adj_count).CHARGE_TYPE_CODE := price_adj_rec.CHARGE_TYPE_CODE;
3059 	lx_price_adj_tbl(l_price_adj_count).CHARGE_SUBTYPE_CODE := price_adj_rec.CHARGE_SUBTYPE_CODE;
3060 	lx_price_adj_tbl(l_price_adj_count).RANGE_BREAK_QUANTITY := price_adj_rec.RANGE_BREAK_QUANTITY;
3061 	lx_price_adj_tbl(l_price_adj_count).ACCRUAL_CONVERSION_RATE := price_adj_rec.ACCRUAL_CONVERSION_RATE;
3062 	lx_price_adj_tbl(l_price_adj_count).PRICING_GROUP_SEQUENCE := price_adj_rec.PRICING_GROUP_SEQUENCE;
3063 	lx_price_adj_tbl(l_price_adj_count).ACCRUAL_FLAG := price_adj_rec.ACCRUAL_FLAG;
3064 	lx_price_adj_tbl(l_price_adj_count).LIST_LINE_NO := price_adj_rec.LIST_LINE_NO;
3065 	lx_price_adj_tbl(l_price_adj_count).SOURCE_SYSTEM_CODE := price_adj_rec.SOURCE_SYSTEM_CODE;
3066 	lx_price_adj_tbl(l_price_adj_count).BENEFIT_QTY := price_adj_rec.BENEFIT_QTY;
3067 	lx_price_adj_tbl(l_price_adj_count).BENEFIT_UOM_CODE := price_adj_rec.BENEFIT_UOM_CODE;
3068 	lx_price_adj_tbl(l_price_adj_count).PRINT_ON_INVOICE_FLAG := price_adj_rec.PRINT_ON_INVOICE_FLAG;
3069 	lx_price_adj_tbl(l_price_adj_count).EXPIRATION_DATE := price_adj_rec.EXPIRATION_DATE;
3070 	lx_price_adj_tbl(l_price_adj_count).REBATE_TRANSACTION_TYPE_CODE := price_adj_rec.REBATE_TRANSACTION_TYPE_CODE;
3071 	lx_price_adj_tbl(l_price_adj_count).REBATE_TRANSACTION_REFERENCE := price_adj_rec.REBATE_TRANSACTION_REFERENCE;
3072 	lx_price_adj_tbl(l_price_adj_count).REBATE_PAYMENT_SYSTEM_CODE := price_adj_rec.REBATE_PAYMENT_SYSTEM_CODE;
3073 	lx_price_adj_tbl(l_price_adj_count).REDEEMED_DATE := price_adj_rec.REDEEMED_DATE;
3074 	lx_price_adj_tbl(l_price_adj_count).REDEEMED_FLAG := price_adj_rec.REDEEMED_FLAG;
3075 	lx_price_adj_tbl(l_price_adj_count).MODIFIER_LEVEL_CODE := price_adj_rec.MODIFIER_LEVEL_CODE;
3076 	lx_price_adj_tbl(l_price_adj_count).PRICE_BREAK_TYPE_CODE := price_adj_rec.PRICE_BREAK_TYPE_CODE;
3077 	lx_price_adj_tbl(l_price_adj_count).SUBSTITUTION_ATTRIBUTE := price_adj_rec.SUBSTITUTION_ATTRIBUTE;
3078 	lx_price_adj_tbl(l_price_adj_count).PRORATION_TYPE_CODE := price_adj_rec.PRORATION_TYPE_CODE;
3079 	lx_price_adj_tbl(l_price_adj_count).INCLUDE_ON_RETURNS_FLAG := price_adj_rec.INCLUDE_ON_RETURNS_FLAG;
3080 	lx_price_adj_tbl(l_price_adj_count).CREDIT_OR_CHARGE_FLAG := price_adj_rec.CREDIT_OR_CHARGE_FLAG;
3081 	lx_price_adj_tbl(l_price_adj_count).ORIG_SYS_DISCOUNT_REF := price_adj_rec.ORIG_SYS_DISCOUNT_REF;
3082 	lx_price_adj_tbl(l_price_adj_count).CHANGE_REASON_CODE := price_adj_rec.CHANGE_REASON_CODE;
3083 	lx_price_adj_tbl(l_price_adj_count).CHANGE_REASON_TEXT := price_adj_rec.CHANGE_REASON_TEXT;
3084 	lx_price_adj_tbl(l_price_adj_count).COST_ID := price_adj_rec.COST_ID;
3085 	--lx_price_adj_tbl(l_price_adj_count).LIST_LINE_TYPE_CODE := price_adj_rec.LIST_LINE_TYPE_CODE;
3086 	lx_price_adj_tbl(l_price_adj_count).UPDATE_ALLOWED := price_adj_rec.UPDATE_ALLOWED;
3087 	lx_price_adj_tbl(l_price_adj_count).CHANGE_SEQUENCE := price_adj_rec.CHANGE_SEQUENCE;
3088 	--lx_price_adj_tbl(l_price_adj_count).LIST_HEADER_ID := price_adj_rec.LIST_HEADER_ID;
3089 	--lx_price_adj_tbl(l_price_adj_count).LIST_LINE_ID := price_adj_rec.LIST_LINE_ID;
3090 	lx_price_adj_tbl(l_price_adj_count).QTE_LINE_INDEX := P_Line_Index;
3091 
3092      -- 2800749 vtariker
3093      IF p_qte_line_rec.line_category_code = 'RETURN' AND
3094         lx_price_adj_tbl(l_price_adj_count).modifier_line_type_code = 'FREIGHT_CHARGE' THEN
3095          lx_price_adj_tbl(l_price_adj_count).Credit_Or_Charge_Flag := 'C';
3096      END IF;
3097      -- 2800749 vtariker
3098 
3099      lx_price_adj_rltship_tbl := ASO_SUBMIT_QUOTE_PVT.Query_Price_Adj_Rltship_Rows(
3100                                          lx_price_adj_tbl(l_price_adj_count).price_adjustment_id,
3101                                          P_Line_Index,
3102                                          lx_price_adj_rltship_tbl);
3103 
3104 --	lx_price_adj_tbl(lx_price_adj_tbl.COUNT+1) := l_price_adj_rec;
3105 
3106    END LOOP;
3107   ELSE
3108       FOR price_adj_rec IN c_price_adj_line LOOP
3109 	  l_price_adj_count := lx_price_adj_tbl.COUNT+1;
3110 
3111 	  lx_price_adj_tbl(l_price_adj_count).PRICE_ADJUSTMENT_ID := price_adj_rec.PRICE_ADJUSTMENT_ID;
3112 	  lx_price_adj_tbl(l_price_adj_count).CREATION_DATE := price_adj_rec.CREATION_DATE;
3113 	  lx_price_adj_tbl(l_price_adj_count).CREATED_BY := price_adj_rec.CREATED_BY;
3114 	  lx_price_adj_tbl(l_price_adj_count).LAST_UPDATE_DATE := price_adj_rec.LAST_UPDATE_DATE;
3115 	  lx_price_adj_tbl(l_price_adj_count).LAST_UPDATED_BY := price_adj_rec.LAST_UPDATED_BY;
3116 	  lx_price_adj_tbl(l_price_adj_count).LAST_UPDATE_LOGIN := price_adj_rec.LAST_UPDATE_LOGIN;
3117 	  lx_price_adj_tbl(l_price_adj_count).REQUEST_ID := price_adj_rec.REQUEST_ID;
3118 	  lx_price_adj_tbl(l_price_adj_count).PROGRAM_APPLICATION_ID := price_adj_rec.PROGRAM_APPLICATION_ID;
3119 	  lx_price_adj_tbl(l_price_adj_count).PROGRAM_ID := price_adj_rec.PROGRAM_ID;
3120 	  lx_price_adj_tbl(l_price_adj_count).PROGRAM_UPDATE_DATE := price_adj_rec.PROGRAM_UPDATE_DATE;
3121 	  lx_price_adj_tbl(l_price_adj_count).QUOTE_HEADER_ID := price_adj_rec.QUOTE_HEADER_ID;
3122 	  lx_price_adj_tbl(l_price_adj_count).QUOTE_LINE_ID := price_adj_rec.QUOTE_LINE_ID;
3123 	  lx_price_adj_tbl(l_price_adj_count).MODIFIER_HEADER_ID := price_adj_rec.MODIFIER_HEADER_ID;
3124 	  lx_price_adj_tbl(l_price_adj_count).MODIFIER_LINE_ID := price_adj_rec.MODIFIER_LINE_ID;
3125 	  lx_price_adj_tbl(l_price_adj_count).MODIFIER_LINE_TYPE_CODE := price_adj_rec.MODIFIER_LINE_TYPE_CODE;
3126 	  lx_price_adj_tbl(l_price_adj_count).MODIFIER_MECHANISM_TYPE_CODE
3127 	  	  	  	  	:= price_adj_rec.MODIFIER_MECHANISM_TYPE_CODE;
3128 	  lx_price_adj_tbl(l_price_adj_count).MODIFIED_FROM := price_adj_rec.MODIFIED_FROM;
3129 	  lx_price_adj_tbl(l_price_adj_count).MODIFIED_TO := price_adj_rec.MODIFIED_TO;
3130 	  lx_price_adj_tbl(l_price_adj_count).OPERAND := price_adj_rec.OPERAND;
3131 	  lx_price_adj_tbl(l_price_adj_count).ARITHMETIC_OPERATOR := price_adj_rec.ARITHMETIC_OPERATOR;
3132 	  lx_price_adj_tbl(l_price_adj_count).AUTOMATIC_FLAG := price_adj_rec.AUTOMATIC_FLAG;
3133 	  lx_price_adj_tbl(l_price_adj_count).UPDATE_ALLOWABLE_FLAG := price_adj_rec.UPDATE_ALLOWABLE_FLAG;
3134 	  lx_price_adj_tbl(l_price_adj_count).UPDATED_FLAG := price_adj_rec.UPDATED_FLAG;
3135 	  lx_price_adj_tbl(l_price_adj_count).APPLIED_FLAG := price_adj_rec.APPLIED_FLAG;
3136 	  lx_price_adj_tbl(l_price_adj_count).ON_INVOICE_FLAG := price_adj_rec.ON_INVOICE_FLAG;
3137 	  lx_price_adj_tbl(l_price_adj_count).PRICING_PHASE_ID := price_adj_rec.PRICING_PHASE_ID;
3138 	  lx_price_adj_tbl(l_price_adj_count).QUOTE_SHIPMENT_ID := price_adj_rec.QUOTE_SHIPMENT_ID;
3139 	  lx_price_adj_tbl(l_price_adj_count).ATTRIBUTE_CATEGORY := price_adj_rec.ATTRIBUTE_CATEGORY;
3140 	  lx_price_adj_tbl(l_price_adj_count).ATTRIBUTE1 := price_adj_rec.ATTRIBUTE1;
3141 	  lx_price_adj_tbl(l_price_adj_count).ATTRIBUTE2 := price_adj_rec.ATTRIBUTE2;
3142 	  lx_price_adj_tbl(l_price_adj_count).ATTRIBUTE3 := price_adj_rec.ATTRIBUTE3;
3143 	  lx_price_adj_tbl(l_price_adj_count).ATTRIBUTE4 := price_adj_rec.ATTRIBUTE4;
3144 	  lx_price_adj_tbl(l_price_adj_count).ATTRIBUTE5 := price_adj_rec.ATTRIBUTE5;
3145 	  lx_price_adj_tbl(l_price_adj_count).ATTRIBUTE6 := price_adj_rec.ATTRIBUTE6;
3146 	  lx_price_adj_tbl(l_price_adj_count).ATTRIBUTE7 := price_adj_rec.ATTRIBUTE7;
3147 	  lx_price_adj_tbl(l_price_adj_count).ATTRIBUTE8 := price_adj_rec.ATTRIBUTE8;
3148 	  lx_price_adj_tbl(l_price_adj_count).ATTRIBUTE9 := price_adj_rec.ATTRIBUTE9;
3149 	  lx_price_adj_tbl(l_price_adj_count).ATTRIBUTE10 := price_adj_rec.ATTRIBUTE10;
3150 	  lx_price_adj_tbl(l_price_adj_count).ATTRIBUTE11 := price_adj_rec.ATTRIBUTE11;
3151 	  lx_price_adj_tbl(l_price_adj_count).ATTRIBUTE12 := price_adj_rec.ATTRIBUTE12;
3152 	  lx_price_adj_tbl(l_price_adj_count).ATTRIBUTE13 := price_adj_rec.ATTRIBUTE13;
3153 	  lx_price_adj_tbl(l_price_adj_count).ATTRIBUTE14 := price_adj_rec.ATTRIBUTE14;
3154 	  lx_price_adj_tbl(l_price_adj_count).ATTRIBUTE15 := price_adj_rec.ATTRIBUTE15;
3155      lx_price_adj_tbl(l_price_adj_count).TAX_CODE   := price_adj_rec.TAX_CODE;
3156 	lx_price_adj_tbl(l_price_adj_count).TAX_EXEMPT_FLAG := price_adj_rec.TAX_EXEMPT_FLAG;
3157 	lx_price_adj_tbl(l_price_adj_count).TAX_EXEMPT_NUMBER := price_adj_rec.TAX_EXEMPT_NUMBER;
3158 	lx_price_adj_tbl(l_price_adj_count).TAX_EXEMPT_REASON_CODE := price_adj_rec.TAX_EXEMPT_REASON_CODE;
3159 	lx_price_adj_tbl(l_price_adj_count).PARENT_ADJUSTMENT_ID := price_adj_rec.PARENT_ADJUSTMENT_ID;
3160 	lx_price_adj_tbl(l_price_adj_count).INVOICED_FLAG := price_adj_rec.INVOICED_FLAG;
3161 	lx_price_adj_tbl(l_price_adj_count).ESTIMATED_FLAG := price_adj_rec.ESTIMATED_FLAG;
3162 	lx_price_adj_tbl(l_price_adj_count).INC_IN_SALES_PERFORMANCE := price_adj_rec.INC_IN_SALES_PERFORMANCE;
3163 	lx_price_adj_tbl(l_price_adj_count).SPLIT_ACTION_CODE := price_adj_rec.SPLIT_ACTION_CODE;
3164 	lx_price_adj_tbl(l_price_adj_count).ADJUSTED_AMOUNT := price_adj_rec.ADJUSTED_AMOUNT;
3165 	lx_price_adj_tbl(l_price_adj_count).CHARGE_TYPE_CODE := price_adj_rec.CHARGE_TYPE_CODE;
3166 	lx_price_adj_tbl(l_price_adj_count).CHARGE_SUBTYPE_CODE := price_adj_rec.CHARGE_SUBTYPE_CODE;
3167 	lx_price_adj_tbl(l_price_adj_count).RANGE_BREAK_QUANTITY := price_adj_rec.RANGE_BREAK_QUANTITY;
3168 	lx_price_adj_tbl(l_price_adj_count).ACCRUAL_CONVERSION_RATE := price_adj_rec.ACCRUAL_CONVERSION_RATE;
3169 	lx_price_adj_tbl(l_price_adj_count).PRICING_GROUP_SEQUENCE := price_adj_rec.PRICING_GROUP_SEQUENCE;
3170 	lx_price_adj_tbl(l_price_adj_count).ACCRUAL_FLAG := price_adj_rec.ACCRUAL_FLAG;
3171 	lx_price_adj_tbl(l_price_adj_count).LIST_LINE_NO := price_adj_rec.LIST_LINE_NO;
3172 	lx_price_adj_tbl(l_price_adj_count).SOURCE_SYSTEM_CODE := price_adj_rec.SOURCE_SYSTEM_CODE;
3173 	lx_price_adj_tbl(l_price_adj_count).BENEFIT_QTY := price_adj_rec.BENEFIT_QTY;
3174 	lx_price_adj_tbl(l_price_adj_count).BENEFIT_UOM_CODE := price_adj_rec.BENEFIT_UOM_CODE;
3175 	lx_price_adj_tbl(l_price_adj_count).PRINT_ON_INVOICE_FLAG := price_adj_rec.PRINT_ON_INVOICE_FLAG;
3176 	lx_price_adj_tbl(l_price_adj_count).EXPIRATION_DATE := price_adj_rec.EXPIRATION_DATE;
3177 	lx_price_adj_tbl(l_price_adj_count).REBATE_TRANSACTION_TYPE_CODE := price_adj_rec.REBATE_TRANSACTION_TYPE_CODE;
3178 	lx_price_adj_tbl(l_price_adj_count).REBATE_TRANSACTION_REFERENCE := price_adj_rec.REBATE_TRANSACTION_REFERENCE;
3179 	lx_price_adj_tbl(l_price_adj_count).REBATE_PAYMENT_SYSTEM_CODE := price_adj_rec.REBATE_PAYMENT_SYSTEM_CODE;
3180 	lx_price_adj_tbl(l_price_adj_count).REDEEMED_DATE := price_adj_rec.REDEEMED_DATE;
3181 	lx_price_adj_tbl(l_price_adj_count).REDEEMED_FLAG := price_adj_rec.REDEEMED_FLAG;
3182 	lx_price_adj_tbl(l_price_adj_count).MODIFIER_LEVEL_CODE := price_adj_rec.MODIFIER_LEVEL_CODE;
3183 	lx_price_adj_tbl(l_price_adj_count).PRICE_BREAK_TYPE_CODE := price_adj_rec.PRICE_BREAK_TYPE_CODE;
3184 	lx_price_adj_tbl(l_price_adj_count).SUBSTITUTION_ATTRIBUTE := price_adj_rec.SUBSTITUTION_ATTRIBUTE;
3185 	lx_price_adj_tbl(l_price_adj_count).PRORATION_TYPE_CODE := price_adj_rec.PRORATION_TYPE_CODE;
3186 	lx_price_adj_tbl(l_price_adj_count).INCLUDE_ON_RETURNS_FLAG := price_adj_rec.INCLUDE_ON_RETURNS_FLAG;
3187 	lx_price_adj_tbl(l_price_adj_count).CREDIT_OR_CHARGE_FLAG := price_adj_rec.CREDIT_OR_CHARGE_FLAG;
3188 	lx_price_adj_tbl(l_price_adj_count).ORIG_SYS_DISCOUNT_REF := price_adj_rec.ORIG_SYS_DISCOUNT_REF;
3189 	lx_price_adj_tbl(l_price_adj_count).CHANGE_REASON_CODE := price_adj_rec.CHANGE_REASON_CODE;
3190 	lx_price_adj_tbl(l_price_adj_count).CHANGE_REASON_TEXT := price_adj_rec.CHANGE_REASON_TEXT;
3191 	lx_price_adj_tbl(l_price_adj_count).COST_ID := price_adj_rec.COST_ID;
3192 	--lx_price_adj_tbl(l_price_adj_count).LIST_LINE_TYPE_CODE := price_adj_rec.LIST_LINE_TYPE_CODE;
3193 	lx_price_adj_tbl(l_price_adj_count).UPDATE_ALLOWED := price_adj_rec.UPDATE_ALLOWED;
3194 	lx_price_adj_tbl(l_price_adj_count).CHANGE_SEQUENCE := price_adj_rec.CHANGE_SEQUENCE;
3195 	--lx_price_adj_tbl(l_price_adj_count).LIST_HEADER_ID := price_adj_rec.LIST_HEADER_ID;
3196 	--lx_price_adj_tbl(l_price_adj_count).LIST_LINE_ID := price_adj_rec.LIST_LINE_ID;
3197 	lx_price_adj_tbl(l_price_adj_count).QTE_LINE_INDEX := P_Line_Index;
3198 
3199      -- 2800749 vtariker
3200      IF p_qte_line_rec.line_category_code = 'RETURN' AND
3201         lx_price_adj_tbl(l_price_adj_count).modifier_line_type_code = 'FREIGHT_CHARGE' THEN
3202          lx_price_adj_tbl(l_price_adj_count).Credit_Or_Charge_Flag := 'C';
3203      END IF;
3204      -- 2800749 vtariker
3205 
3206      lx_price_adj_rltship_tbl := ASO_SUBMIT_QUOTE_PVT.Query_Price_Adj_Rltship_Rows(
3207                                          lx_price_adj_tbl(l_price_adj_count).price_adjustment_id,
3208                                          P_Line_Index,
3209                                          lx_price_adj_rltship_tbl);
3210 
3211    END LOOP;
3212   END IF;
3213 --End fix for bug 5575844.
3214 
3215    RETURN l_status;
3216 
3217 END Query_Price_Adj_Rows;
3218 
3219 
3220 FUNCTION Query_Price_Adj_Hdr_Rows (
3221     P_Qte_Header_Id		IN  NUMBER := FND_API.G_MISS_NUM,
3222     P_Qte_Line_Id		IN  NUMBER := FND_API.G_MISS_NUM
3223     ) RETURN ASO_QUOTE_PUB.Price_Adj_Tbl_Type
3224 IS
3225    CURSOR c_price_adj IS
3226     SELECT
3227      PRICE_ADJUSTMENT_ID,
3228 	CREATION_DATE,
3229 	CREATED_BY,
3230 	LAST_UPDATE_DATE,
3231 	LAST_UPDATED_BY,
3232 	LAST_UPDATE_LOGIN,
3233 	PROGRAM_APPLICATION_ID,
3234 	PROGRAM_ID,
3235 	PROGRAM_UPDATE_DATE,
3236 	REQUEST_ID,
3237 	QUOTE_HEADER_ID,
3238 	QUOTE_LINE_ID,
3239 	MODIFIER_HEADER_ID,
3240 	MODIFIER_LINE_ID,
3241 	MODIFIER_LINE_TYPE_CODE,
3242 	MODIFIER_MECHANISM_TYPE_CODE,
3243 	MODIFIED_FROM,
3244      MODIFIED_TO,
3245 	OPERAND,
3246 	ARITHMETIC_OPERATOR,
3247 	AUTOMATIC_FLAG,
3248 	UPDATE_ALLOWABLE_FLAG,
3249      UPDATED_FLAG,
3250 	APPLIED_FLAG,
3251 	ON_INVOICE_FLAG,
3252 	PRICING_PHASE_ID,
3253 	ATTRIBUTE_CATEGORY,
3254 	ATTRIBUTE1,
3255 	ATTRIBUTE2,
3256 	ATTRIBUTE3,
3257 	ATTRIBUTE4,
3258 	ATTRIBUTE5,
3259 	ATTRIBUTE6,
3260 	ATTRIBUTE7,
3261 	ATTRIBUTE8,
3262 	ATTRIBUTE9,
3263 	ATTRIBUTE10,
3264 	ATTRIBUTE11,
3265 	ATTRIBUTE12,
3266 	ATTRIBUTE13,
3267 	ATTRIBUTE14,
3268 	ATTRIBUTE15,
3269 	TAX_CODE,
3270 	TAX_EXEMPT_FLAG,
3271 	TAX_EXEMPT_NUMBER,
3272 	TAX_EXEMPT_REASON_CODE,
3273 	PARENT_ADJUSTMENT_ID,
3274 	INVOICED_FLAG,
3275 	ESTIMATED_FLAG,
3276 	INC_IN_SALES_PERFORMANCE,
3277 	SPLIT_ACTION_CODE,
3278 	ADJUSTED_AMOUNT,
3279 	CHARGE_TYPE_CODE,
3280 	CHARGE_SUBTYPE_CODE,
3281 	RANGE_BREAK_QUANTITY,
3282 	ACCRUAL_CONVERSION_RATE,
3283 	PRICING_GROUP_SEQUENCE,
3284 	ACCRUAL_FLAG,
3285 	LIST_LINE_NO,
3286 	SOURCE_SYSTEM_CODE,
3287 	BENEFIT_QTY,
3288 	BENEFIT_UOM_CODE,
3289 	PRINT_ON_INVOICE_FLAG,
3290 	EXPIRATION_DATE,
3291 	REBATE_TRANSACTION_TYPE_CODE,
3292 	REBATE_TRANSACTION_REFERENCE,
3293 	REBATE_PAYMENT_SYSTEM_CODE,
3294 	REDEEMED_DATE,
3295 	REDEEMED_FLAG,
3296 	MODIFIER_LEVEL_CODE,
3297 	PRICE_BREAK_TYPE_CODE,
3298 	SUBSTITUTION_ATTRIBUTE,
3299 	PRORATION_TYPE_CODE,
3300 	INCLUDE_ON_RETURNS_FLAG,
3301 	CREDIT_OR_CHARGE_FLAG,
3302 	ORIG_SYS_DISCOUNT_REF,
3303 	CHANGE_REASON_CODE,
3304 	CHANGE_REASON_TEXT,
3305 	COST_ID,
3306 	LIST_LINE_TYPE_CODE,
3307 	UPDATE_ALLOWED,
3308 	CHANGE_SEQUENCE,
3309 	LIST_HEADER_ID,
3310 	LIST_LINE_ID,
3311 	QUOTE_SHIPMENT_ID
3312     FROM ASO_PRICE_ADJUSTMENTS
3313     WHERE quote_header_id = p_qte_header_id AND
3314           (quote_line_id = p_qte_line_id OR
3315           (quote_line_id IS NULL AND p_qte_line_id IS NULL)) AND
3316           (applied_flag IS NOT NULL AND applied_flag = 'Y');
3317     l_price_adj_rec             ASO_QUOTE_PUB.Price_Adj_Rec_Type;
3318     l_price_adj_tbl             ASO_QUOTE_PUB.Price_Adj_Tbl_Type;
3319 BEGIN
3320       FOR price_adj_rec IN c_price_adj LOOP
3321 	  l_price_adj_rec.PRICE_ADJUSTMENT_ID := price_adj_rec.PRICE_ADJUSTMENT_ID;
3322 	   l_price_adj_rec.CREATION_DATE := price_adj_rec.CREATION_DATE;
3323 	   l_price_adj_rec.CREATED_BY := price_adj_rec.CREATED_BY;
3324 	   l_price_adj_rec.LAST_UPDATE_DATE := price_adj_rec.LAST_UPDATE_DATE;
3325 	   l_price_adj_rec.LAST_UPDATED_BY := price_adj_rec.LAST_UPDATED_BY;
3326 	   l_price_adj_rec.LAST_UPDATE_LOGIN := price_adj_rec.LAST_UPDATE_LOGIN;
3327 	   l_price_adj_rec.REQUEST_ID := price_adj_rec.REQUEST_ID;
3328 	   l_price_adj_rec.PROGRAM_APPLICATION_ID := price_adj_rec.PROGRAM_APPLICATION_ID;
3329 	   l_price_adj_rec.PROGRAM_ID := price_adj_rec.PROGRAM_ID;
3330 	   l_price_adj_rec.PROGRAM_UPDATE_DATE := price_adj_rec.PROGRAM_UPDATE_DATE;
3331 	  l_price_adj_rec.QUOTE_HEADER_ID := price_adj_rec.QUOTE_HEADER_ID;
3332 	  l_price_adj_rec.QUOTE_LINE_ID := price_adj_rec.QUOTE_LINE_ID;
3333 	  l_price_adj_rec.MODIFIER_HEADER_ID := price_adj_rec.MODIFIER_HEADER_ID;
3334 	  l_price_adj_rec.MODIFIER_LINE_ID := price_adj_rec.MODIFIER_LINE_ID;
3335 	  l_price_adj_rec.MODIFIER_LINE_TYPE_CODE := price_adj_rec.MODIFIER_LINE_TYPE_CODE;
3336 	  l_price_adj_rec.MODIFIER_MECHANISM_TYPE_CODE
3337 	  	  	  	  	:= price_adj_rec.MODIFIER_MECHANISM_TYPE_CODE;
3338 	  l_price_adj_rec.MODIFIED_FROM := price_adj_rec.MODIFIED_FROM;
3339 	  l_price_adj_rec.MODIFIED_TO := price_adj_rec.MODIFIED_TO;
3340 	  l_price_adj_rec.OPERAND := price_adj_rec.OPERAND;
3341 	  l_price_adj_rec.ARITHMETIC_OPERATOR := price_adj_rec.ARITHMETIC_OPERATOR;
3342 	  l_price_adj_rec.AUTOMATIC_FLAG := price_adj_rec.AUTOMATIC_FLAG;
3343 	  l_price_adj_rec.UPDATE_ALLOWABLE_FLAG := price_adj_rec.UPDATE_ALLOWABLE_FLAG;
3344 	  l_price_adj_rec.UPDATED_FLAG := price_adj_rec.UPDATED_FLAG;
3345 	  l_price_adj_rec.APPLIED_FLAG := price_adj_rec.APPLIED_FLAG;
3346 	  l_price_adj_rec.ON_INVOICE_FLAG := price_adj_rec.ON_INVOICE_FLAG;
3347 	  l_price_adj_rec.PRICING_PHASE_ID := price_adj_rec.PRICING_PHASE_ID;
3348 	  l_price_adj_rec.QUOTE_SHIPMENT_ID := price_adj_rec.QUOTE_SHIPMENT_ID;
3349 	  l_price_adj_rec.ATTRIBUTE_CATEGORY := price_adj_rec.ATTRIBUTE_CATEGORY;
3350 	  l_price_adj_rec.ATTRIBUTE1 := price_adj_rec.ATTRIBUTE1;
3351 	  l_price_adj_rec.ATTRIBUTE2 := price_adj_rec.ATTRIBUTE2;
3352 	  l_price_adj_rec.ATTRIBUTE3 := price_adj_rec.ATTRIBUTE3;
3353 	  l_price_adj_rec.ATTRIBUTE4 := price_adj_rec.ATTRIBUTE4;
3354 	  l_price_adj_rec.ATTRIBUTE5 := price_adj_rec.ATTRIBUTE5;
3355 	  l_price_adj_rec.ATTRIBUTE6 := price_adj_rec.ATTRIBUTE6;
3356 	  l_price_adj_rec.ATTRIBUTE7 := price_adj_rec.ATTRIBUTE7;
3357 	  l_price_adj_rec.ATTRIBUTE8 := price_adj_rec.ATTRIBUTE8;
3358 	  l_price_adj_rec.ATTRIBUTE9 := price_adj_rec.ATTRIBUTE9;
3359 	  l_price_adj_rec.ATTRIBUTE10 := price_adj_rec.ATTRIBUTE10;
3360 	  l_price_adj_rec.ATTRIBUTE11 := price_adj_rec.ATTRIBUTE11;
3361 	  l_price_adj_rec.ATTRIBUTE12 := price_adj_rec.ATTRIBUTE12;
3362 	  l_price_adj_rec.ATTRIBUTE13 := price_adj_rec.ATTRIBUTE13;
3363 	  l_price_adj_rec.ATTRIBUTE14 := price_adj_rec.ATTRIBUTE14;
3364 	  l_price_adj_rec.ATTRIBUTE15 := price_adj_rec.ATTRIBUTE15;
3365           l_price_adj_rec.TAX_CODE   := price_adj_rec.TAX_CODE;
3366 	l_price_adj_rec.TAX_EXEMPT_FLAG := price_adj_rec.TAX_EXEMPT_FLAG;
3367 	l_price_adj_rec.TAX_EXEMPT_NUMBER := price_adj_rec.TAX_EXEMPT_NUMBER;
3368 	l_price_adj_rec.TAX_EXEMPT_REASON_CODE := price_adj_rec.TAX_EXEMPT_REASON_CODE;
3369 	l_price_adj_rec.PARENT_ADJUSTMENT_ID := price_adj_rec.PARENT_ADJUSTMENT_ID;
3370 	l_price_adj_rec.INVOICED_FLAG := price_adj_rec.INVOICED_FLAG;
3371 	l_price_adj_rec.ESTIMATED_FLAG := price_adj_rec.ESTIMATED_FLAG;
3372 	l_price_adj_rec.INC_IN_SALES_PERFORMANCE := price_adj_rec.INC_IN_SALES_PERFORMANCE;
3373 	l_price_adj_rec.SPLIT_ACTION_CODE := price_adj_rec.SPLIT_ACTION_CODE;
3374 	l_price_adj_rec.ADJUSTED_AMOUNT := price_adj_rec.ADJUSTED_AMOUNT;
3375 	l_price_adj_rec.CHARGE_TYPE_CODE := price_adj_rec.CHARGE_TYPE_CODE;
3376 	l_price_adj_rec.CHARGE_SUBTYPE_CODE := price_adj_rec.CHARGE_SUBTYPE_CODE;
3377 	l_price_adj_rec.RANGE_BREAK_QUANTITY := price_adj_rec.RANGE_BREAK_QUANTITY;
3378 	l_price_adj_rec.ACCRUAL_CONVERSION_RATE := price_adj_rec.ACCRUAL_CONVERSION_RATE;
3379 	l_price_adj_rec.PRICING_GROUP_SEQUENCE := price_adj_rec.PRICING_GROUP_SEQUENCE;
3380 	l_price_adj_rec.ACCRUAL_FLAG := price_adj_rec.ACCRUAL_FLAG;
3381 	l_price_adj_rec.LIST_LINE_NO := price_adj_rec.LIST_LINE_NO;
3382 	l_price_adj_rec.SOURCE_SYSTEM_CODE := price_adj_rec.SOURCE_SYSTEM_CODE;
3383 	l_price_adj_rec.BENEFIT_QTY := price_adj_rec.BENEFIT_QTY;
3384 	l_price_adj_rec.BENEFIT_UOM_CODE := price_adj_rec.BENEFIT_UOM_CODE;
3385 	l_price_adj_rec.PRINT_ON_INVOICE_FLAG := price_adj_rec.PRINT_ON_INVOICE_FLAG;
3386 	l_price_adj_rec.EXPIRATION_DATE := price_adj_rec.EXPIRATION_DATE;
3387 	l_price_adj_rec.REBATE_TRANSACTION_TYPE_CODE := price_adj_rec.REBATE_TRANSACTION_TYPE_CODE;
3388 	l_price_adj_rec.REBATE_TRANSACTION_REFERENCE := price_adj_rec.REBATE_TRANSACTION_REFERENCE;
3389 	l_price_adj_rec.REBATE_PAYMENT_SYSTEM_CODE := price_adj_rec.REBATE_PAYMENT_SYSTEM_CODE;
3390 	l_price_adj_rec.REDEEMED_DATE := price_adj_rec.REDEEMED_DATE;
3391 	l_price_adj_rec.REDEEMED_FLAG := price_adj_rec.REDEEMED_FLAG;
3392 	l_price_adj_rec.MODIFIER_LEVEL_CODE := price_adj_rec.MODIFIER_LEVEL_CODE;
3393 	l_price_adj_rec.PRICE_BREAK_TYPE_CODE := price_adj_rec.PRICE_BREAK_TYPE_CODE;
3394 	l_price_adj_rec.SUBSTITUTION_ATTRIBUTE := price_adj_rec.SUBSTITUTION_ATTRIBUTE;
3395 	l_price_adj_rec.PRORATION_TYPE_CODE := price_adj_rec.PRORATION_TYPE_CODE;
3396 	l_price_adj_rec.INCLUDE_ON_RETURNS_FLAG := price_adj_rec.INCLUDE_ON_RETURNS_FLAG;
3397 	l_price_adj_rec.CREDIT_OR_CHARGE_FLAG := price_adj_rec.CREDIT_OR_CHARGE_FLAG;
3398 	l_price_adj_rec.ORIG_SYS_DISCOUNT_REF := price_adj_rec.ORIG_SYS_DISCOUNT_REF;
3399 	l_price_adj_rec.CHANGE_REASON_CODE := price_adj_rec.CHANGE_REASON_CODE;
3400 	l_price_adj_rec.CHANGE_REASON_TEXT := price_adj_rec.CHANGE_REASON_TEXT;
3401 	l_price_adj_rec.COST_ID := price_adj_rec.COST_ID;
3402 	--l_price_adj_rec.LIST_LINE_TYPE_CODE := price_adj_rec.LIST_LINE_TYPE_CODE;
3403 	l_price_adj_rec.UPDATE_ALLOWED := price_adj_rec.UPDATE_ALLOWED;
3404 	l_price_adj_rec.CHANGE_SEQUENCE := price_adj_rec.CHANGE_SEQUENCE;
3405 	--l_price_adj_rec.LIST_HEADER_ID := price_adj_rec.LIST_HEADER_ID;
3406 	--l_price_adj_rec.LIST_LINE_ID := price_adj_rec.LIST_LINE_ID;
3407 	  l_price_adj_tbl(l_price_adj_tbl.COUNT+1) := l_price_adj_rec;
3408      END LOOP;
3409    RETURN l_price_adj_tbl;
3410 
3411 END Query_Price_Adj_Hdr_Rows;
3412 
3413 
3414 
3415 PROCEDURE Raise_Quote_Event(
3416                         P_Quote_Header_id       IN      NUMBER,
3417                         P_Control_Rec           IN      ASO_QUOTE_PUB.SUBMIT_Control_Rec_Type,
3418                         X_Return_Status         OUT NOCOPY /* file.sql.39 change */     VARCHAR2 )
3419 IS
3420 
3421 l_Event wf_event_t;
3422 
3423 BEGIN
3424 
3425 IF aso_debug_pub.g_debug_flag = 'Y' THEN
3426 aso_debug_pub.add('Raise_Quote_Event: P_Quote_Header_id: '||P_Quote_Header_id, 1, 'N');
3427 aso_debug_pub.add('Raise_Quote_Event: P_Control_Rec.Calculate_Price: '||P_Control_Rec.Calculate_Price, 1, 'N');
3428 aso_debug_pub.add('Raise_Quote_Event: P_Control_Rec.Book_Flag: '||P_Control_Rec.Book_Flag, 1, 'N');
3429 aso_debug_pub.add('Raise_Quote_Event: P_Control_Rec.Server_Id: '||P_Control_Rec.Server_Id, 1, 'N');
3430 END IF;
3431 
3432 X_Return_Status := FND_API.G_RET_STS_SUCCESS;
3433 
3434 wf_event_t.initialize(l_Event);
3435 
3436 l_Event.AddParameterToList(
3437                                 pname   =>      'ECX_MAP_CODE',
3438                                 pvalue  =>      'ASOQuoteOutBoundPVT' );
3439 
3440 l_event.AddParameterToList(
3441                                 pname   =>      'ECX_DOCUMENT_ID',
3442                                 pvalue  =>      P_Quote_Header_Id );
3443 
3444 l_event.AddParameterToList(
3445                                 pname   =>      'ECX_PARAMETER1',
3446                                 pvalue  =>      P_Control_Rec.Calculate_Price );
3447 
3448 l_event.AddParameterToList(
3449                                 pname   =>      'ECX_PARAMETER2',
3450                                 pvalue  =>      P_Control_Rec.Book_Flag );
3451 
3452 l_event.AddParameterToList(
3453                                 pname   =>      'ECX_PARAMETER3',
3454                                 pvalue  =>      P_Control_Rec.Server_Id );
3455 
3456 l_event.AddParameterToList(
3457                                 pname   =>      'ECX_PARAMETER4',
3458                                 pvalue  =>      FND_GLOBAL.Resp_Id );
3459 
3460 l_event.AddParameterToList(
3461                                 pname   =>      'ECX_PARAMETER5',
3462                                 pvalue  =>      FND_GLOBAL.Resp_Appl_Id );
3463 
3464 wf_event.raise(
3465                     p_event_name    =>      'oracle.apps.wf.replay.aso.submitquote',
3466                     p_event_key     =>      to_char(P_Quote_Header_Id),
3467                     p_parameters    =>      l_event.getParameterList );
3468 
3469 EXCEPTION
3470      WHEN OTHERS THEN
3471           x_return_Status :=FND_API.G_RET_STS_ERROR;
3472 
3473 END Raise_Quote_Event;
3474 
3475 
3476 PROCEDURE Quote_Order_High_Availability(
3477      P_Quote_Header_Id        IN   NUMBER,
3478      P_Book_Flag              IN   VARCHAR2,
3479      P_Calculate_Flag         IN   VARCHAR2,
3480      P_Server_Id              IN   NUMBER,
3481      X_Return_Status          OUT NOCOPY /* file.sql.39 change */      VARCHAR2,
3482      X_Msg_Count              OUT NOCOPY /* file.sql.39 change */      NUMBER,
3483      X_Msg_Data               OUT NOCOPY /* file.sql.39 change */      VARCHAR2
3484 )
3485 IS
3486 
3487      l_Control_Rec            ASO_QUOTE_PUB.SUBMIT_Control_Rec_Type
3488                                    :=  ASO_QUOTE_PUB.G_MISS_SUBMIT_CONTROL_REC;
3489      lx_Order_Header_Rec      ASO_QUOTE_PUB.Order_Header_Rec_Type;
3490      l_Qte_Header_Rec         ASO_QUOTE_PUB.Qte_Header_Rec_Type := ASO_QUOTE_PUB.G_MISS_Qte_Header_Rec;
3491 
3492 BEGIN
3493 
3494 IF aso_debug_pub.g_debug_flag = 'Y' THEN
3495 aso_debug_pub.add('Quote_Order_High_Availability: P_Quote_Header_id: '||P_Quote_Header_id, 1, 'N');
3496 aso_debug_pub.add('Quote_Order_High_Availability: P_Book_Flag: '||P_Book_Flag, 1, 'N');
3497 aso_debug_pub.add('Quote_Order_High_Availability: P_Calculate_Flag: '||P_Calculate_Flag, 1, 'N');
3498 aso_debug_pub.add('Quote_Order_High_Availability: P_Server_Id: '||P_Server_Id, 1, 'N');
3499 END IF;
3500 
3501      l_Control_Rec.Book_Flag := P_Book_Flag;
3502      l_Control_Rec.Calculate_Price := P_Calculate_Flag;
3503      l_Control_Rec.Server_Id := P_Server_Id;
3504 	l_Qte_Header_Rec.Quote_Header_Id := P_Quote_Header_Id;
3505 
3506      ASO_SUBMIT_QUOTE_PVT.Submit_Quote(
3507           P_Api_Version_Number     =>   1.0,
3508           P_Control_Rec            =>   l_Control_Rec,
3509           P_Qte_Header_Rec         =>   l_Qte_Header_Rec,
3510           X_Order_Header_Rec       =>   lx_Order_Header_Rec,
3511           X_Return_Status          =>   X_Return_Status,
3512           X_Msg_Count              =>   X_Msg_Count,
3513           X_Msg_Data               =>   X_Msg_Data );
3514 
3515 END Quote_Order_High_Availability;
3516 
3517 
3518 End ASO_SUBMIT_QUOTE_PVT;