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