[Home] [Help]
PACKAGE BODY: APPS.ASO_QUOTE_PUB
Source
1 PACKAGE BODY ASO_QUOTE_PUB as
2 /* $Header: asopqteb.pls 120.3 2006/05/02 13:21:46 hagrawal ship $ */
3 -- Start of Comments
4 -- Package name : ASO_QUOTE_PUB
5 -- Purpose :
6 -- History :
7 -- 12-16-04 skulkarn: fixed bug 4046692
8 -- NOTE :
9 -- End of Comments
10
11
12 G_PKG_NAME CONSTANT VARCHAR2(30):= 'ASO_QUOTE_PUB';
13 G_FILE_NAME CONSTANT VARCHAR2(12) := 'asopqteb.pls';
14
15
16 x_msg_count number;
17 x_msg_data varchar2(1000);
18
19 PROCEDURE Convert_Party_To_Id (
20 p_column_name IN VARCHAR2,
21 p_party_type IN VARCHAR2,
22 p_party_id IN NUMBER,
23 p_party_name IN VARCHAR2,
24 p_person_first_name IN VARCHAR2,
25 p_person_middle_name IN VARCHAR2,
26 p_person_last_name IN VARCHAR2,
27 x_party_id OUT NOCOPY /* file.sql.39 change */ NUMBER,
28 x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2)
29 IS
30 l_party_rec ASO_PARTY_INT.Party_Rec_Type;
31 BEGIN
32
33 aso_debug_pub.g_debug_flag := nvl(fnd_profile.value('ASO_ENABLE_DEBUG'),'N');
34
35 x_party_id := p_party_id;
36 x_return_status := FND_API.G_RET_STS_SUCCESS;
37 IF (p_party_id IS NOT NULL
38 AND p_party_id <> FND_API.G_MISS_NUM) THEN
39 ASO_UTILITY_PVT.Set_Message(
40 p_msg_level => FND_MSG_PUB.G_MSG_LVL_SUCCESS,
41 p_msg_name => 'ASO_API_ATTRIBUTE_IGNORED',
42 p_token1 => 'COLUMN',
43 p_token1_value => p_column_name);
44 ELSIF (p_person_first_name <> FND_API.G_MISS_CHAR
45 AND p_person_first_name IS NOT NULL)
46 OR (p_party_name <> FND_API.G_MISS_CHAR
47 AND p_party_name IS NOT NULL) THEN
48 l_party_rec.party_id := p_party_id;
49 l_party_rec.party_type := p_party_type;
50 l_party_rec.party_name := p_party_name;
51 l_party_rec.person_first_name := p_person_first_name;
52 l_party_rec.person_middle_name := p_person_middle_name;
53 l_party_rec.person_last_name := p_person_last_name;
54 ASO_PARTY_INT.Create_Party(
55 p_party_rec => l_party_rec,
56 x_party_id => x_party_id,
57 x_return_status => x_return_status,
58 x_msg_count => x_msg_count,
59 x_msg_data => x_msg_data );
60 END IF;
61 END;
62
63 PROCEDURE Convert_Site_To_Id (
64 p_column_name IN VARCHAR2,
65 p_party_id IN NUMBER,
66 p_party_site_id IN NUMBER,
67 p_site_use_type IN VARCHAR2,
68 p_address1 IN VARCHAR2,
69 p_address2 IN VARCHAR2,
70 p_address3 IN VARCHAR2,
71 p_address4 IN VARCHAR2,
72 p_country_code IN VARCHAR2,
73 p_country IN VARCHAR2,
74 p_city IN VARCHAR2,
75 p_postal_code IN VARCHAR2,
76 p_province IN VARCHAR2,
77 p_county IN VARCHAR2,
78 x_party_site_id OUT NOCOPY /* file.sql.39 change */ NUMBER,
79 x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2)
80 IS
81 l_party_site_rec ASO_PARTY_INT.Party_Site_Rec_Type;
82 l_msg_data VARCHAR2(2000);
83 l_msg_count NUMBER;
84
85 BEGIN
86
87 aso_debug_pub.g_debug_flag := nvl(fnd_profile.value('ASO_ENABLE_DEBUG'),'N');
88
89 x_party_site_id := p_party_site_id;
90 x_return_status := FND_API.G_RET_STS_SUCCESS;
91 IF (p_party_site_id IS NOT NULL
92 AND p_party_site_id <> FND_API.G_MISS_NUM) THEN
93 ASO_UTILITY_PVT.Set_Message(
94 p_msg_level => FND_MSG_PUB.G_MSG_LVL_SUCCESS,
95 p_msg_name => 'ASO_API_ATTRIBUTE_IGNORED',
96 p_token1 => 'COLUMN',
97 p_token1_value => p_column_name);
98 ELSIF (p_address1 <> FND_API.G_MISS_CHAR AND
99 p_address1 IS NOT NULL AND
100 p_country <> FND_API.G_MISS_CHAR AND
101 p_country IS NOT NULL AND
102 p_party_id <> FND_API.G_MISS_NUM AND -- bug 4046692 changed from G_MISS_CHAR to G_MISS_NUM
103 p_party_id IS NULL) THEN
104 l_party_site_rec.party_id := p_party_id;
105 l_party_site_rec.party_site_use_type := p_site_use_type;
106 l_party_site_rec.location.address1 := p_address1;
107 l_party_site_rec.location.address2 := p_address2;
108 l_party_site_rec.location.address3 := p_address3;
109 l_party_site_rec.location.address4 := p_address4;
110 l_party_site_rec.location.city := p_city;
111 l_party_site_rec.location.postal_code := p_postal_code;
112 l_party_site_rec.location.province := p_province;
113 l_party_site_rec.location.county := p_county;
114 l_party_site_rec.location.country := p_country;
115 ASO_PARTY_INT.Create_Party_Site(
116 p_party_site_rec => l_party_site_rec,
117 x_party_site_id => x_party_site_id,
118 x_return_status => x_return_status,
119 x_msg_data => l_msg_data,
120 x_msg_count => l_msg_count);
121 END IF;
122 END;
123
124
125 PROCEDURE Convert_Header_Values_To_Ids(
126 P_Qte_Header_rec IN Qte_Header_Rec_Type,
127 x_qte_header_rec OUT NOCOPY /* file.sql.39 change */ Qte_Header_Rec_Type
128 )
129 IS
130 l_any_errors BOOLEAN := FALSE;
131 l_return_status VARCHAR2(1);
132 BEGIN
133
134 aso_debug_pub.g_debug_flag := nvl(fnd_profile.value('ASO_ENABLE_DEBUG'),'N');
135
136 x_qte_header_rec := p_qte_header_rec;
137 -- party_id
138 Convert_Party_To_Id (
139 p_column_name => 'PARTY_NAME',
140 p_party_id => p_qte_header_rec.party_id,
141 p_party_type => p_qte_header_rec.party_type,
142 p_party_name => p_qte_header_rec.party_name,
143 p_person_first_name => p_qte_header_rec.person_first_name,
144 p_person_middle_name => p_qte_header_rec.person_middle_name,
145 p_person_last_name => p_qte_header_rec.person_last_name,
146 x_party_id => x_qte_header_rec.party_id,
147 x_return_status => l_return_status);
148 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
149 l_any_errors := TRUE;
150 END IF;
151 -- invoice_to_party_id
152 Convert_Party_To_Id (
153 p_column_name => 'INVOICE_TO_PARTY_NAME',
154 p_party_id => p_qte_header_rec.invoice_to_party_id,
155 p_party_name => p_qte_header_rec.invoice_to_party_name,
156 p_party_type => 'PERSON',
157 p_person_first_name => p_qte_header_rec.invoice_to_contact_first_name,
158 p_person_middle_name => p_qte_header_rec.invoice_to_contact_middle_name,
159 p_person_last_name => p_qte_header_rec.invoice_to_contact_last_name,
160 x_party_id => x_qte_header_rec.invoice_to_party_id,
161 x_return_status => l_return_status);
162 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
163 l_any_errors := TRUE;
164 END IF;
165 -- invoice_to_site_id
166 Convert_Site_To_Id (
167 p_column_name => 'INVOICE_TO_SITE_LOCATION',
168 p_party_id => p_qte_header_rec.invoice_to_party_id,
169 p_party_site_id => p_qte_header_rec.invoice_to_party_site_id,
170 p_site_use_type => 'INVOICE_TO',
171 p_address1 => p_qte_header_rec.invoice_to_address1,
172 p_address2 => p_qte_header_rec.invoice_to_address2,
173 p_address3 => p_qte_header_rec.invoice_to_address3,
174 p_address4 => p_qte_header_rec.invoice_to_address4,
175 p_country_code => p_qte_header_rec.invoice_to_country_code,
176 p_country => p_qte_header_rec.invoice_to_country,
177 p_city => p_qte_header_rec.invoice_to_city,
178 p_postal_code => p_qte_header_rec.invoice_to_postal_code,
179 p_province => p_qte_header_rec.invoice_to_province,
180 p_county => p_qte_header_rec.invoice_to_county,
181 x_party_site_id => x_qte_header_rec.invoice_to_party_site_id,
182 x_return_status => l_return_status);
183 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
184 l_any_errors := TRUE;
185 END IF;
186 -- no value-to-id conversion for the following fields. If the user wants
187 -- to input any related data, the ID must be passed in.
188 -- status_id
189 -- org_contact_id
190 -- source_campaign_id
191 -- compaign_id
192 -- order_type_id
193 -- employee_person_id
194 -- price_list_id
195 IF l_any_errors THEN
196 raise FND_API.G_EXC_ERROR;
197 END IF;
198 END;
199
200 PROCEDURE Convert_Shipment_Values_To_Ids(
201 P_shipment_Rec IN shipment_Rec_Type,
202 x_shipment_rec OUT NOCOPY /* file.sql.39 change */ shipment_Rec_Type
203 )
204 IS
205 l_any_errors BOOLEAN := FALSE;
206 l_return_status VARCHAR2(1);
207 BEGIN
208
209 aso_debug_pub.g_debug_flag := nvl(fnd_profile.value('ASO_ENABLE_DEBUG'),'N');
210
211 x_shipment_rec := p_shipment_rec;
212 -- ship_to_party_id
213 Convert_Party_To_Id (
214 p_column_name => 'SHIP_TO_PARTY_NAME',
215 p_party_id => p_shipment_rec.ship_to_party_id,
216 p_party_name => p_shipment_rec.ship_to_party_name,
217 p_party_type => 'PERSON',
218 p_person_first_name => p_shipment_rec.ship_to_contact_first_name,
219 p_person_middle_name => p_shipment_rec.ship_to_contact_middle_name,
220 p_person_last_name => p_shipment_rec.ship_to_contact_last_name,
221 x_party_id => x_shipment_rec.ship_to_party_id,
222 x_return_status => l_return_status);
223 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
224 l_any_errors := TRUE;
225 END IF;
226 -- ship_to_site_id
227 Convert_Site_To_Id (
228 p_column_name => 'SHIP_TO_SITE_LOCATION',
229 p_party_id => p_shipment_rec.ship_to_party_id,
230 p_party_site_id => p_shipment_rec.ship_to_party_site_id,
231 p_site_use_type => 'INVOICE_TO',
232 p_address1 => p_shipment_rec.ship_to_address1,
233 p_address2 => p_shipment_rec.ship_to_address2,
234 p_address3 => p_shipment_rec.ship_to_address3,
235 p_address4 => p_shipment_rec.ship_to_address4,
236 p_country_code => p_shipment_rec.ship_to_country_code,
237 p_country => p_shipment_rec.ship_to_country,
238 p_city => p_shipment_rec.ship_to_city,
239 p_postal_code => p_shipment_rec.ship_to_postal_code,
240 p_province => p_shipment_rec.ship_to_province,
241 p_county => p_shipment_rec.ship_to_county,
242 x_party_site_id => x_shipment_rec.ship_to_party_site_id,
243 x_return_status => l_return_status);
244 IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
245 l_any_errors := TRUE;
246 END IF;
247 -- no value-to-id conversion for the following fields. If the user wants
248 -- to input any related data, the CODE must be passed in.
249 -- SHIP_METHOD_CODE
250 -- FREIGHT_TERMS_CODE
251 -- FREIGHT_CARRIER_CODE
252 -- FOB_CODE
253 IF l_any_errors THEN
254 raise FND_API.G_EXC_ERROR;
255 END IF;
256 END;
257
258 PROCEDURE Convert_Line_Values_To_Ids(
259 P_QTE_Line_Rec IN QTE_Line_Rec_Type,
260 x_QTE_Line_rec OUT NOCOPY /* file.sql.39 change */ QTE_Line_Rec_Type
261 )
262 IS
263 BEGIN
264 aso_debug_pub.g_debug_flag := nvl(fnd_profile.value('ASO_ENABLE_DEBUG'),'N');
265 x_qte_line_rec := p_qte_line_rec;
266 null;
267 END;
268
269 PROCEDURE Create_quote(
270 P_Api_Version_Number IN NUMBER,
271 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
272 P_Commit IN VARCHAR2 := FND_API.G_FALSE,
273 P_Control_Rec IN Control_Rec_Type := G_Miss_Control_Rec,
274 P_Qte_Header_Rec IN Qte_Header_Rec_Type := G_MISS_Qte_Header_Rec,
275 P_hd_Price_Attributes_Tbl IN ASO_QUOTE_PUB.Price_Attributes_Tbl_Type := G_Miss_Price_Attributes_Tbl,
276 P_hd_Payment_Tbl IN ASO_QUOTE_PUB.Payment_Tbl_Type := G_MISS_PAYMENT_TBL,
277 P_hd_Shipment_Rec IN ASO_QUOTE_PUB.Shipment_Rec_Type := G_MISS_SHIPMENT_REC,
278 P_hd_Freight_Charge_Tbl IN ASO_QUOTE_PUB.Freight_Charge_Tbl_Type := G_Miss_Freight_Charge_Tbl,
279 P_hd_Tax_Detail_Tbl IN ASO_QUOTE_PUB.Tax_Detail_Tbl_Type := G_Miss_Tax_Detail_Tbl,
280 P_Qte_Line_Tbl IN Qte_Line_Tbl_Type := G_MISS_QTE_LINE_TBL,
281 P_Qte_Line_Dtl_Tbl IN Qte_Line_Dtl_Tbl_Type := G_MISS_QTE_LINE_DTL_TBL,
282 P_Line_Attr_Ext_Tbl IN Line_Attribs_Ext_Tbl_Type := G_MISS_Line_Attribs_Ext_TBL,
283 P_line_rltship_tbl IN Line_Rltship_Tbl_Type := G_MISS_Line_Rltship_Tbl,
284 P_Price_Adjustment_Tbl IN Price_Adj_Tbl_Type := G_Miss_Price_Adj_Tbl,
285 P_Price_Adj_Attr_Tbl IN Price_Adj_Attr_Tbl_Type := G_Miss_PRICE_ADJ_ATTR_Tbl,
286 P_Price_Adj_Rltship_Tbl IN Price_Adj_Rltship_Tbl_Type := G_Miss_Price_Adj_Rltship_Tbl,
287 P_Ln_Price_Attributes_Tbl IN Price_Attributes_Tbl_Type := G_Miss_Price_Attributes_Tbl,
288 P_Ln_Payment_Tbl IN Payment_Tbl_Type := G_MISS_PAYMENT_TBL,
289 P_Ln_Shipment_Tbl IN Shipment_Tbl_Type := G_MISS_SHIPMENT_TBL,
290 P_Ln_Freight_Charge_Tbl IN Freight_Charge_Tbl_Type := G_Miss_Freight_Charge_Tbl,
291 P_Ln_Tax_Detail_Tbl IN Tax_Detail_Tbl_Type := G_Miss_Tax_Detail_Tbl,
292 x_Qte_Header_Rec OUT NOCOPY /* file.sql.39 change */ Qte_Header_Rec_Type,
293 X_Qte_Line_Tbl OUT NOCOPY /* file.sql.39 change */ Qte_Line_Tbl_Type,
294 X_Qte_Line_Dtl_Tbl OUT NOCOPY /* file.sql.39 change */ Qte_Line_Dtl_Tbl_Type,
295 X_Hd_Price_Attributes_Tbl OUT NOCOPY /* file.sql.39 change */ Price_Attributes_Tbl_Type,
296 X_Hd_Payment_Tbl OUT NOCOPY /* file.sql.39 change */ Payment_Tbl_Type,
297 X_Hd_Shipment_Rec OUT NOCOPY /* file.sql.39 change */ Shipment_Rec_Type,
298 X_Hd_Freight_Charge_Tbl OUT NOCOPY /* file.sql.39 change */ Freight_Charge_Tbl_Type,
299 X_Hd_Tax_Detail_Tbl OUT NOCOPY /* file.sql.39 change */ Tax_Detail_Tbl_Type,
300 x_Line_Attr_Ext_Tbl OUT NOCOPY /* file.sql.39 change */ Line_Attribs_Ext_Tbl_Type,
301 X_line_rltship_tbl OUT NOCOPY /* file.sql.39 change */ Line_Rltship_Tbl_Type,
302 X_Price_Adjustment_Tbl OUT NOCOPY /* file.sql.39 change */ Price_Adj_Tbl_Type,
303 X_Price_Adj_Attr_Tbl OUT NOCOPY /* file.sql.39 change */ Price_Adj_Attr_Tbl_Type,
304 X_Price_Adj_Rltship_Tbl OUT NOCOPY /* file.sql.39 change */ Price_Adj_Rltship_Tbl_Type,
305 X_Ln_Price_Attributes_Tbl OUT NOCOPY /* file.sql.39 change */ Price_Attributes_Tbl_Type,
306 X_Ln_Payment_Tbl OUT NOCOPY /* file.sql.39 change */ Payment_Tbl_Type,
307 X_Ln_Shipment_Tbl OUT NOCOPY /* file.sql.39 change */ Shipment_Tbl_Type,
308 X_Ln_Freight_Charge_Tbl OUT NOCOPY /* file.sql.39 change */ Freight_Charge_Tbl_Type,
309 X_Ln_Tax_Detail_Tbl OUT NOCOPY /* file.sql.39 change */ Tax_Detail_Tbl_Type,
310 X_Return_Status OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
311 X_Msg_Count OUT NOCOPY /* file.sql.39 change */ NUMBER,
312 X_Msg_Data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
313 )
314 IS
315
316 x_hd_Attr_Ext_Tbl Line_Attribs_Ext_Tbl_Type;
317 x_hd_Sales_Credit_Tbl Sales_Credit_Tbl_Type ;
318 x_hd_Quote_Party_Tbl Quote_Party_Tbl_Type;
319 x_ln_Sales_Credit_Tbl Sales_Credit_Tbl_Type ;
320 x_ln_Quote_Party_Tbl Quote_Party_Tbl_Type;
321
322 BEGIN
323 aso_debug_pub.g_debug_flag := nvl(fnd_profile.value('ASO_ENABLE_DEBUG'),'N');
324
325 Create_quote(
326 P_Api_Version_Number => 1.0,
327 P_Init_Msg_List => p_init_msg_list,
328 P_Commit => p_commit,
329 P_Control_Rec => p_control_rec,
330 P_qte_header_rec => p_qte_header_rec,
331 P_Hd_Price_Attributes_Tbl => p_Hd_Price_Attributes_Tbl,
332 P_Hd_Payment_Tbl => p_Hd_Payment_Tbl,
333 P_Hd_Shipment_Rec => p_Hd_Shipment_Rec,
334 P_Hd_Freight_Charge_Tbl => p_Hd_Freight_Charge_Tbl,
335 P_Hd_Tax_Detail_Tbl => p_Hd_Tax_Detail_Tbl,
336 P_Qte_Line_Tbl => p_Qte_Line_Tbl,
337 P_Qte_Line_Dtl_Tbl => p_Qte_Line_Dtl_Tbl,
338 P_Line_Attr_Ext_Tbl => P_Line_Attr_Ext_Tbl,
339 P_Line_rltship_tbl => p_Line_Rltship_Tbl,
340 P_Price_Adjustment_Tbl => p_Price_Adjustment_Tbl,
341 P_Price_Adj_Attr_Tbl => P_Price_Adj_Attr_Tbl,
342 P_Price_Adj_Rltship_Tbl => p_Price_Adj_Rltship_Tbl,
343 P_Ln_Price_Attributes_Tbl => p_Ln_Price_Attributes_Tbl,
344 P_Ln_Payment_Tbl => p_Ln_Payment_Tbl,
345 P_Ln_Shipment_Tbl => p_Ln_Shipment_Tbl,
346 P_Ln_Freight_Charge_Tbl => p_Ln_Freight_Charge_Tbl,
347 P_Ln_Tax_Detail_Tbl => p_Ln_Tax_Detail_Tbl,
348 x_qte_header_rec => x_qte_header_rec,
349 X_Hd_Price_Attributes_Tbl => x_Hd_Price_Attributes_Tbl,
350 X_Hd_Payment_Tbl => x_Hd_Payment_Tbl,
351 X_Hd_Shipment_Rec => x_Hd_Shipment_Rec,
352 X_Hd_Freight_Charge_Tbl => x_Hd_Freight_Charge_Tbl,
353 X_Hd_Tax_Detail_Tbl => x_Hd_Tax_Detail_Tbl,
354 X_hd_Attr_Ext_Tbl => X_hd_Attr_Ext_Tbl,
355 X_hd_Sales_Credit_Tbl => X_hd_Sales_Credit_Tbl,
356 X_hd_Quote_Party_Tbl => X_hd_Quote_Party_Tbl,
357 X_Qte_Line_Tbl => x_Qte_Line_Tbl,
358 X_Qte_Line_Dtl_Tbl => x_Qte_Line_Dtl_Tbl,
359 x_Line_Attr_Ext_Tbl => x_Line_Attr_Ext_Tbl,
360 X_Line_rltship_tbl => x_Line_Rltship_Tbl,
361 X_Price_Adjustment_Tbl => x_Price_Adjustment_Tbl,
362 x_Price_Adj_Attr_Tbl => x_Price_Adj_Attr_Tbl,
363 X_Price_Adj_Rltship_Tbl => x_Price_Adj_Rltship_Tbl,
364 X_Ln_Price_Attributes_Tbl => x_Ln_Price_Attributes_Tbl,
365 X_Ln_Payment_Tbl => x_Ln_Payment_Tbl,
366 X_Ln_Shipment_Tbl => x_Ln_Shipment_Tbl,
367 X_Ln_Freight_Charge_Tbl => x_Ln_Freight_Charge_Tbl,
368 X_Ln_Tax_Detail_Tbl => x_Ln_Tax_Detail_Tbl,
369 X_Ln_Sales_Credit_Tbl => X_ln_Sales_Credit_Tbl,
370 X_Ln_Quote_Party_Tbl => X_ln_Quote_Party_Tbl,
371 X_Return_Status => x_return_status,
372 X_Msg_Count => x_msg_count,
373 X_Msg_Data => x_msg_data);
374
375 END Create_Quote;
376
377
378 PROCEDURE Update_quote(
379 P_Api_Version_Number IN NUMBER,
380 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
381 P_Commit IN VARCHAR2 := FND_API.G_FALSE,
382 P_Control_Rec IN Control_Rec_Type := G_Miss_Control_Rec,
383 P_Qte_Header_Rec IN Qte_Header_Rec_Type := G_MISS_Qte_Header_Rec,
384 P_hd_Price_Attributes_Tbl IN ASO_QUOTE_PUB.Price_Attributes_Tbl_Type := G_Miss_Price_Attributes_Tbl,
385 P_hd_Payment_Tbl IN ASO_QUOTE_PUB.Payment_Tbl_Type := G_MISS_PAYMENT_TBL,
386 P_hd_Shipment_Tbl IN ASO_QUOTE_PUB.Shipment_Tbl_Type := G_MISS_SHIPMENT_TBL,
387 P_hd_Freight_Charge_Tbl IN ASO_QUOTE_PUB.Freight_Charge_Tbl_Type := G_Miss_Freight_Charge_Tbl,
388 P_hd_Tax_Detail_Tbl IN ASO_QUOTE_PUB.Tax_Detail_Tbl_Type := G_Miss_Tax_Detail_Tbl,
389 P_Qte_Line_Tbl IN Qte_Line_Tbl_Type := G_MISS_QTE_LINE_TBL,
390 P_Qte_Line_Dtl_Tbl IN Qte_Line_Dtl_Tbl_Type := G_MISS_QTE_LINE_DTL_TBL,
391 P_Line_Attr_Ext_Tbl IN Line_Attribs_Ext_Tbl_Type := G_MISS_Line_Attribs_Ext_TBL,
392 P_line_rltship_tbl IN Line_Rltship_Tbl_Type := G_MISS_Line_Rltship_Tbl,
393 P_Price_Adjustment_Tbl IN Price_Adj_Tbl_Type := G_Miss_Price_Adj_Tbl,
394 P_Price_Adj_Attr_Tbl IN Price_Adj_Attr_Tbl_Type := G_Miss_PRICE_ADJ_ATTR_Tbl,
395 P_Price_Adj_Rltship_Tbl IN Price_Adj_Rltship_Tbl_Type := G_Miss_Price_Adj_Rltship_Tbl,
396 P_Ln_Price_Attributes_Tbl IN Price_Attributes_Tbl_Type := G_Miss_Price_Attributes_Tbl,
397 P_Ln_Payment_Tbl IN Payment_Tbl_Type := G_MISS_PAYMENT_TBL,
398 P_Ln_Shipment_Tbl IN Shipment_Tbl_Type := G_MISS_SHIPMENT_TBL,
399 P_Ln_Freight_Charge_Tbl IN Freight_Charge_Tbl_Type := G_Miss_Freight_Charge_Tbl,
400 P_Ln_Tax_Detail_Tbl IN Tax_Detail_Tbl_Type := G_Miss_Tax_Detail_Tbl,
401 x_Qte_Header_Rec OUT NOCOPY /* file.sql.39 change */ Qte_Header_Rec_Type,
402 X_Qte_Line_Tbl OUT NOCOPY /* file.sql.39 change */ Qte_Line_Tbl_Type,
403 X_Qte_Line_Dtl_Tbl OUT NOCOPY /* file.sql.39 change */ Qte_Line_Dtl_Tbl_Type,
404 X_Hd_Price_Attributes_Tbl OUT NOCOPY /* file.sql.39 change */ Price_Attributes_Tbl_Type,
405 X_Hd_Payment_Tbl OUT NOCOPY /* file.sql.39 change */ Payment_Tbl_Type,
406 X_Hd_Shipment_Tbl OUT NOCOPY /* file.sql.39 change */ Shipment_Tbl_Type,
407 X_Hd_Freight_Charge_Tbl OUT NOCOPY /* file.sql.39 change */ Freight_Charge_Tbl_Type,
408 X_Hd_Tax_Detail_Tbl OUT NOCOPY /* file.sql.39 change */ Tax_Detail_Tbl_Type,
409 x_Line_Attr_Ext_Tbl OUT NOCOPY /* file.sql.39 change */ Line_Attribs_Ext_Tbl_Type,
410 X_line_rltship_tbl OUT NOCOPY /* file.sql.39 change */ Line_Rltship_Tbl_Type,
411 X_Price_Adjustment_Tbl OUT NOCOPY /* file.sql.39 change */ Price_Adj_Tbl_Type,
412 X_Price_Adj_Attr_Tbl OUT NOCOPY /* file.sql.39 change */ Price_Adj_Attr_Tbl_Type,
413 X_Price_Adj_Rltship_Tbl OUT NOCOPY /* file.sql.39 change */ Price_Adj_Rltship_Tbl_Type,
414 X_Ln_Price_Attributes_Tbl OUT NOCOPY /* file.sql.39 change */ Price_Attributes_Tbl_Type,
415 X_Ln_Payment_Tbl OUT NOCOPY /* file.sql.39 change */ Payment_Tbl_Type,
416 X_Ln_Shipment_Tbl OUT NOCOPY /* file.sql.39 change */ Shipment_Tbl_Type,
417 X_Ln_Freight_Charge_Tbl OUT NOCOPY /* file.sql.39 change */ Freight_Charge_Tbl_Type,
418 X_Ln_Tax_Detail_Tbl OUT NOCOPY /* file.sql.39 change */ Tax_Detail_Tbl_Type,
419 X_Return_Status OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
420 X_Msg_Count OUT NOCOPY /* file.sql.39 change */ NUMBER,
421 X_Msg_Data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
422 )
423 IS
424
425 x_hd_Attr_Ext_Tbl Line_Attribs_Ext_Tbl_Type;
426 x_hd_Sales_Credit_Tbl Sales_Credit_Tbl_Type ;
427 x_hd_Quote_Party_Tbl Quote_Party_Tbl_Type;
428 x_ln_Sales_Credit_Tbl Sales_Credit_Tbl_Type ;
429 x_ln_Quote_Party_Tbl Quote_Party_Tbl_Type;
430
431 BEGIN
432 aso_debug_pub.g_debug_flag := nvl(fnd_profile.value('ASO_ENABLE_DEBUG'),'N');
433
434 Update_quote(
435 P_Api_Version_Number => 1.0,
436 P_Init_Msg_List => p_init_msg_list,
437 P_Commit => p_commit,
438 P_Control_Rec => p_control_rec,
439 P_qte_header_rec => p_qte_header_rec,
440 P_Hd_Price_Attributes_Tbl => p_Hd_Price_Attributes_Tbl,
441 P_Hd_Payment_Tbl => p_Hd_Payment_Tbl,
442 P_Hd_Shipment_Tbl => p_Hd_Shipment_Tbl,
443 P_Hd_Freight_Charge_Tbl => p_Hd_Freight_Charge_Tbl,
444 P_Hd_Tax_Detail_Tbl => p_Hd_Tax_Detail_Tbl,
445 P_Qte_Line_Tbl => p_Qte_Line_Tbl,
446 P_Qte_Line_Dtl_Tbl => p_Qte_Line_Dtl_Tbl,
447 P_Line_Attr_Ext_Tbl => P_Line_Attr_Ext_Tbl,
448 P_Line_rltship_tbl => p_Line_Rltship_Tbl,
449 P_Price_Adjustment_Tbl => p_Price_Adjustment_Tbl,
450 P_Price_Adj_Attr_Tbl => P_Price_Adj_Attr_Tbl,
451 P_Price_Adj_Rltship_Tbl => p_Price_Adj_Rltship_Tbl,
452 P_Ln_Price_Attributes_Tbl => p_Ln_Price_Attributes_Tbl,
453 P_Ln_Payment_Tbl => p_Ln_Payment_Tbl,
454 P_Ln_Shipment_Tbl => p_Ln_Shipment_Tbl,
455 P_Ln_Freight_Charge_Tbl => p_Ln_Freight_Charge_Tbl,
456 P_Ln_Tax_Detail_Tbl => p_Ln_Tax_Detail_Tbl,
457 x_qte_header_rec => x_qte_header_rec,
458 X_Hd_Price_Attributes_Tbl => x_Hd_Price_Attributes_Tbl,
459 X_Hd_Payment_Tbl => x_Hd_Payment_Tbl,
460 X_Hd_Shipment_tbl => x_Hd_Shipment_tbl,
461 X_Hd_Freight_Charge_Tbl => x_Hd_Freight_Charge_Tbl,
462 X_Hd_Tax_Detail_Tbl => x_Hd_Tax_Detail_Tbl,
463 X_hd_Attr_Ext_Tbl => X_hd_Attr_Ext_Tbl,
464 X_hd_Sales_Credit_Tbl => X_hd_Sales_Credit_Tbl,
465 X_hd_Quote_Party_Tbl => X_hd_Quote_Party_Tbl,
466 X_Qte_Line_Tbl => x_Qte_Line_Tbl,
467 X_Qte_Line_Dtl_Tbl => x_Qte_Line_Dtl_Tbl,
468 x_Line_Attr_Ext_Tbl => x_Line_Attr_Ext_Tbl,
469 X_Line_rltship_tbl => x_Line_Rltship_Tbl,
470 X_Price_Adjustment_Tbl => x_Price_Adjustment_Tbl,
471 x_Price_Adj_Attr_Tbl => x_Price_Adj_Attr_Tbl,
472 X_Price_Adj_Rltship_Tbl => x_Price_Adj_Rltship_Tbl,
473 X_Ln_Price_Attributes_Tbl => x_Ln_Price_Attributes_Tbl,
474 X_Ln_Payment_Tbl => x_Ln_Payment_Tbl,
475 X_Ln_Shipment_Tbl => x_Ln_Shipment_Tbl,
476 X_Ln_Freight_Charge_Tbl => x_Ln_Freight_Charge_Tbl,
477 X_Ln_Tax_Detail_Tbl => x_Ln_Tax_Detail_Tbl,
478 X_Ln_Sales_Credit_Tbl => X_ln_Sales_Credit_Tbl,
479 X_Ln_Quote_Party_Tbl => X_ln_Quote_Party_Tbl,
480 X_Return_Status => x_return_status,
481 X_Msg_Count => x_msg_count,
482 X_Msg_Data => x_msg_data);
483
484 End Update_quote;
485
486
487 -- Hint: Add corresponding delete detail table procedures if it's master-detail relationship.
488 -- The Master delete procedure may not be needed depends on different business requirements.
489
490 PROCEDURE Delete_quote(
491 P_Api_Version_Number IN NUMBER,
492 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
493 P_Commit IN VARCHAR2 := FND_API.G_FALSE,
494 P_Qte_Header_Id IN NUMBER,
495 X_Return_Status OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
496 X_Msg_Count OUT NOCOPY /* file.sql.39 change */ NUMBER,
497 X_Msg_Data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
498 )
499
500 IS
501 l_api_name CONSTANT VARCHAR2(30) := 'DELETE_QUOTE';
502 l_api_version_number CONSTANT NUMBER := 1.0;
503 l_qte_header_id NUMBER;
504 BEGIN
505 -- Standard Start of API savepoint
506 SAVEPOINT DELETE_QUOTE_PUB;
507
508 aso_debug_pub.g_debug_flag := nvl(fnd_profile.value('ASO_ENABLE_DEBUG'),'N');
509
510 -- Standard call to check for call compatibility.
511 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
512 p_api_version_number,
513 l_api_name,
514 G_PKG_NAME) THEN
515 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
516 END IF;
517
518 -- Initialize message list if p_init_msg_list is set to TRUE.
519 IF FND_API.to_Boolean( p_init_msg_list ) THEN
520 FND_MSG_PUB.initialize;
521 END IF;
522
523 -- Initialize API return status to SUCCESS
524 x_return_status := FND_API.G_RET_STS_SUCCESS;
525 l_qte_header_id := P_qte_header_id;
526
527 --
528 -- API body
529 --
530 -- call user hooks
531 -- customer pre processing
532
533 IF (JTF_USR_HKS.ok_to_execute(G_PKG_NAME, l_api_name, 'B', 'C')) THEN
534
535 ASO_QUOTE_CUHK.Delete_quote_PRE( P_Qte_Header_Id => l_qte_header_id,
536 X_Return_Status => x_return_status,
537 X_Msg_Count => x_msg_count ,
538 X_Msg_Data => x_msg_data );
539
540 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
541
542 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
543 FND_MESSAGE.Set_Name('ASO', 'ERROR_RETURNED');
544 FND_MESSAGE.Set_Token('API', 'ASO_QUOTE_CUHK.Delete_Quote_PRE', FALSE);
545 FND_MSG_PUB.ADD;
546 END IF;
547
548 IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
549 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
550 ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
551 RAISE FND_API.G_EXC_ERROR;
552 END IF;
553
554 END IF;
555
556 END IF; -- customer hook
557
558 -- vertical hook
559 IF (JTF_USR_HKS.ok_to_execute(G_PKG_NAME, l_api_name, 'B', 'V')) THEN
560
561 ASO_QUOTE_VUHK.Delete_quote_PRE( P_Qte_Header_Id => l_qte_header_id,
562 X_Return_Status => x_return_status,
563 X_Msg_Count => x_msg_count,
564 x_Msg_Data => x_msg_data );
565
566 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
567
568 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
569 FND_MESSAGE.Set_Name('ASO', 'ERROR_RETURNED');
570 FND_MESSAGE.Set_Token('API', 'ASO_QUOTE_VUHK.Delete_Quote_PRE', FALSE);
571 FND_MSG_PUB.ADD;
572 END IF;
573
574 IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
575 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
576 ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
577 RAISE FND_API.G_EXC_ERROR;
578 END IF;
579
580 END IF;
581
582 END IF; -- vertical hook
583
584 ASO_QUOTE_HEADERS_PVT.Delete_quote( P_Api_Version_Number => 1.0,
585 P_Init_Msg_List => FND_API.G_FALSE,
586 P_Commit => p_commit,
587 P_Qte_Header_ID => l_Qte_Header_Id,
588 X_Return_Status => x_return_status,
589 X_Msg_Count => x_msg_count,
590 X_Msg_Data => x_msg_data);
591
592 -- Check return status from the above procedure call
593 IF x_return_status = FND_API.G_RET_STS_ERROR then
594 raise FND_API.G_EXC_ERROR;
595 elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
596 raise FND_API.G_EXC_UNEXPECTED_ERROR;
597 END IF;
598
599 IF (JTF_USR_HKS.ok_to_execute(G_PKG_NAME, l_api_name, 'A', 'C')) THEN
600
601 ASO_QUOTE_CUHK.Delete_quote_POST( P_Qte_Header_Id => l_qte_header_id,
602 X_Return_Status => x_return_status,
603 X_Msg_Count => x_msg_count,
604 X_Msg_Data => x_msg_data );
605
606 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
607
608 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
609 FND_MESSAGE.Set_Name('ASO', 'ERROR_RETURNED');
610 FND_MESSAGE.Set_Token('API', 'ASO_QUOTE_CUHK.Delete_Quote_POST', FALSE);
611 FND_MSG_PUB.ADD;
612 END IF;
613
614 IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
615 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
616 ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
617 RAISE FND_API.G_EXC_ERROR;
618 END IF;
619
620 END IF;
621
622 END IF; -- customer hook
623
624 -- vertical hook
625 IF (JTF_USR_HKS.ok_to_execute(G_PKG_NAME, l_api_name, 'A', 'V')) THEN
626
627 ASO_QUOTE_VUHK.Delete_quote_POST( P_Qte_Header_Id => l_qte_header_id,
628 X_Return_Status => x_return_status,
629 X_Msg_Count => x_msg_count,
630 X_Msg_Data => x_msg_data );
631
632 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
633
634 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
635 FND_MESSAGE.Set_Name('ASO', 'ERROR_RETURNED');
636 FND_MESSAGE.Set_Token('API', 'ASO_QUOTE_VUHK.Delete_Quote_POST', FALSE);
637 FND_MSG_PUB.ADD;
638 END IF;
639
640 IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
641 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
642 ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
643 RAISE FND_API.G_EXC_ERROR;
644 END IF;
645
646 END IF;
647
648 END IF; -- vertical hook
649
650 --
651 -- End of API body
652 --
653
654 -- Standard check for p_commit
655 IF FND_API.to_Boolean( p_commit ) THEN
656 COMMIT WORK;
657 END IF;
658
659 -- Standard call to get message count and if count is 1, get message info.
660 FND_MSG_PUB.Count_And_Get( p_count => x_msg_count,
661 p_data => x_msg_data );
662
663 EXCEPTION
664
665 WHEN FND_API.G_EXC_ERROR THEN
666
667 ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
668 P_API_NAME => L_API_NAME
669 ,P_PKG_NAME => G_PKG_NAME
670 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
671 ,P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PUB
672 ,X_MSG_COUNT => X_MSG_COUNT
673 ,X_MSG_DATA => X_MSG_DATA
674 ,X_RETURN_STATUS => X_RETURN_STATUS);
675
676 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
677
678 ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
679 P_API_NAME => L_API_NAME
680 ,P_PKG_NAME => G_PKG_NAME
681 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
682 ,P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PUB
683 ,X_MSG_COUNT => X_MSG_COUNT
684 ,X_MSG_DATA => X_MSG_DATA
685 ,X_RETURN_STATUS => X_RETURN_STATUS);
686
687 WHEN OTHERS THEN
688 ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
689 P_API_NAME => L_API_NAME
690 ,P_PKG_NAME => G_PKG_NAME
691 ,P_EXCEPTION_LEVEL => ASO_UTILITY_PVT.G_EXC_OTHERS
692 ,P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PUB
693 ,X_MSG_COUNT => X_MSG_COUNT
694 ,X_MSG_DATA => X_MSG_DATA
695 ,X_RETURN_STATUS => X_RETURN_STATUS);
696
697 End Delete_quote;
698
699
700 PROCEDURE Get_quote(
701 P_Api_Version_Number IN NUMBER,
702 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
703 P_Qte_Header_Rec IN Qte_Header_Rec_Type,
704 -- Hint: Add list of bind variables here
705 p_rec_requested IN NUMBER := G_DEFAULT_NUM_REC_FETCH,
706 p_start_rec_prt IN NUMBER := 1,
707 p_return_tot_count IN NUMBER := FND_API.G_FALSE,
708 -- Hint: user defined record type
709 p_order_by_rec IN QTE_sort_rec_type,
710 x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
711 x_msg_count OUT NOCOPY /* file.sql.39 change */ NUMBER,
712 x_msg_data OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
713 X_QTE_Header_Tbl OUT NOCOPY /* file.sql.39 change */ QTE_Header_Tbl_Type,
714 x_returned_rec_count OUT NOCOPY /* file.sql.39 change */ NUMBER,
715 x_next_rec_ptr OUT NOCOPY /* file.sql.39 change */ NUMBER,
716 x_tot_rec_count OUT NOCOPY /* file.sql.39 change */ NUMBER
717 -- other optional parameters
718 -- x_tot_rec_amount OUT NOCOPY /* file.sql.39 change */ NUMBER
719 )
720
721 IS
722 l_api_name CONSTANT VARCHAR2(30) := 'GET_QUOTE';
723 l_api_version_number CONSTANT NUMBER := 1.0;
724 BEGIN
725 -- Standard Start of API savepoint
726 SAVEPOINT GET_QUOTE_PUB;
727
728 aso_debug_pub.g_debug_flag := nvl(fnd_profile.value('ASO_ENABLE_DEBUG'),'N');
729
730 -- Standard call to check for call compatibility.
731 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
732 p_api_version_number,
733 l_api_name,
734 G_PKG_NAME)
735 THEN
736 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
737 END IF;
738
739
740 -- Initialize message list if p_init_msg_list is set to TRUE.
741 IF FND_API.to_Boolean( p_init_msg_list )
742 THEN
743 FND_MSG_PUB.initialize;
744 END IF;
745
746
747
748
749 -- Initialize API return status to SUCCESS
750 x_return_status := FND_API.G_RET_STS_SUCCESS;
751
752 --
753 -- API body
754 --
755 ASO_QUOTE_HEADERS_PVT.Get_quote(
756 P_Api_Version_Number => 1.0,
757 P_Init_Msg_List => FND_API.G_FALSE,
758 P_Qte_Header_Rec => P_Qte_Header_Rec,
759 p_rec_requested => p_rec_requested,
760 p_start_rec_prt => p_start_rec_prt,
761 p_return_tot_count => p_return_tot_count,
762 p_order_by_rec => p_order_by_rec,
763 X_Return_Status => x_return_status,
764 X_Msg_Count => x_msg_count,
765 X_Msg_Data => x_msg_data,
766 X_Qte_Header_Tbl => X_Qte_Header_Tbl,
767 x_returned_rec_count => x_returned_rec_count,
768 x_next_rec_ptr => x_next_rec_ptr,
769 x_tot_rec_count => x_tot_rec_count
770 );
771
772
773
774
775 -- Check return status from the above procedure call
776 IF x_return_status = FND_API.G_RET_STS_ERROR then
777 raise FND_API.G_EXC_ERROR;
778 elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
779 raise FND_API.G_EXC_UNEXPECTED_ERROR;
780 END IF;
781
782 --
783 -- End of API body
784 --
785
786
787
788 -- Standard call to get message count and if count is 1, get message info.
789 FND_MSG_PUB.Count_And_Get
790 ( p_count => x_msg_count,
791 p_data => x_msg_data
792 );
793
794 EXCEPTION
795 WHEN FND_API.G_EXC_ERROR THEN
796 ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
797 P_API_NAME => L_API_NAME
798 ,P_PKG_NAME => G_PKG_NAME
799 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
800 ,P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PUB
801 ,X_MSG_COUNT => X_MSG_COUNT
802 ,X_MSG_DATA => X_MSG_DATA
803 ,X_RETURN_STATUS => X_RETURN_STATUS);
804
805 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
806 ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
807 P_API_NAME => L_API_NAME
808 ,P_PKG_NAME => G_PKG_NAME
809 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
810 ,P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PUB
811 ,X_MSG_COUNT => X_MSG_COUNT
812 ,X_MSG_DATA => X_MSG_DATA
813 ,X_RETURN_STATUS => X_RETURN_STATUS);
814
815 WHEN OTHERS THEN
816 ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
817 P_API_NAME => L_API_NAME
818 ,P_PKG_NAME => G_PKG_NAME
819 ,P_EXCEPTION_LEVEL => ASO_UTILITY_PVT.G_EXC_OTHERS
820 ,P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PUB
821 ,X_MSG_COUNT => X_MSG_COUNT
822 ,X_MSG_DATA => X_MSG_DATA
823 ,X_RETURN_STATUS => X_RETURN_STATUS);
824 End Get_quote;
825
826 PROCEDURE Validate_quote(
827 P_Api_Version_Number IN NUMBER,
828 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
829 P_Qte_Header_Id IN NUMBER,
830 X_Return_Status OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
831 X_Msg_Count OUT NOCOPY /* file.sql.39 change */ NUMBER,
832 X_Msg_Data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
833 )
834 IS
835 l_api_name CONSTANT VARCHAR2(30) := 'VALIDATE_QUOTE';
836 l_api_version_number CONSTANT NUMBER := 1.0;
837 BEGIN
838 -- Standard Start of API savepoint
839 SAVEPOINT validate_QUOTE_PUB;
840
841 aso_debug_pub.g_debug_flag := nvl(fnd_profile.value('ASO_ENABLE_DEBUG'),'N');
842
843 -- Standard call to check for call compatibility.
844 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
845 p_api_version_number,
846 l_api_name,
847 G_PKG_NAME)
848 THEN
849 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
850 END IF;
851
852
853 -- Initialize message list if p_init_msg_list is set to TRUE.
854 IF FND_API.to_Boolean( p_init_msg_list )
855 THEN
856 FND_MSG_PUB.initialize;
857 END IF;
858
859
860
861
862 -- Initialize API return status to SUCCESS
863 x_return_status := FND_API.G_RET_STS_SUCCESS;
864
865 --
866 -- API body
867 --
868
869
870 ASO_QUOTE_HEADERS_PVT.Validate_Quote(
871 P_Api_Version_Number => 1.0,
872 P_Init_Msg_List => FND_API.G_FALSE,
873 P_Qte_Header_Id => p_qte_header_id,
874 X_Return_Status => x_return_status,
875 X_Msg_Count => x_msg_count,
876 X_Msg_Data => x_msg_data);
877
878 -- Check return status from the above procedure call
879 IF x_return_status = FND_API.G_RET_STS_ERROR then
880 raise FND_API.G_EXC_ERROR;
881 elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
882 raise FND_API.G_EXC_UNEXPECTED_ERROR;
883 END IF;
884
885 --
886 -- End of API body
887 --
888
889
890
891 -- Standard call to get message count and if count is 1, get message info.
892 FND_MSG_PUB.Count_And_Get
893 ( p_count => x_msg_count,
894 p_data => x_msg_data
895 );
896
897 EXCEPTION
898 WHEN FND_API.G_EXC_ERROR THEN
899 ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
900 P_API_NAME => L_API_NAME
901 ,P_PKG_NAME => G_PKG_NAME
902 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
903 ,P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PUB
904 ,X_MSG_COUNT => X_MSG_COUNT
905 ,X_MSG_DATA => X_MSG_DATA
906 ,X_RETURN_STATUS => X_RETURN_STATUS);
907
908 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
909 ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
910 P_API_NAME => L_API_NAME
911 ,P_PKG_NAME => G_PKG_NAME
912 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
913 ,P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PUB
914 ,X_MSG_COUNT => X_MSG_COUNT
915 ,X_MSG_DATA => X_MSG_DATA
916 ,X_RETURN_STATUS => X_RETURN_STATUS);
917
918 WHEN OTHERS THEN
919 ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
920 P_API_NAME => L_API_NAME
921 ,P_PKG_NAME => G_PKG_NAME
922 ,P_EXCEPTION_LEVEL => ASO_UTILITY_PVT.G_EXC_OTHERS
923 ,P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PUB
924 ,X_MSG_COUNT => X_MSG_COUNT
925 ,X_MSG_DATA => X_MSG_DATA
926 ,X_RETURN_STATUS => X_RETURN_STATUS);
927 END Validate_Quote;
928
929 PROCEDURE Submit_quote(
930 P_Api_Version_Number IN NUMBER,
931 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
932 P_control_rec IN Submit_Control_Rec_Type
933 := g_miss_Submit_Control_Rec,
934 P_Qte_Header_Id IN NUMBER,
935 x_order_header_rec OUT NOCOPY /* file.sql.39 change */ Order_Header_Rec_Type,
936 X_Return_Status OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
937 X_Msg_Count OUT NOCOPY /* file.sql.39 change */ NUMBER,
938 X_Msg_Data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
939 )
940 IS
941 l_api_name CONSTANT VARCHAR2(30) := 'SUBMIT_QUOTE';
942 l_api_version_number CONSTANT NUMBER := 1.0;
943 l_control_rec Submit_Control_Rec_Type := P_control_rec;
944 l_Qte_Header_Id NUMBER;
945 l_qte_header_rec ASO_QUOTE_PUB.qte_Header_Rec_Type;
946 BEGIN
947 -- Standard Start of API savepoint
948 SAVEPOINT SUBMIT_QUOTE_PUB;
949
950 aso_debug_pub.g_debug_flag := nvl(fnd_profile.value('ASO_ENABLE_DEBUG'),'N');
951
952 -- Standard call to check for call compatibility.
953 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
954 p_api_version_number,
955 l_api_name,
956 G_PKG_NAME)
957 THEN
958 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
959 END IF;
960
961
962 -- Initialize message list if p_init_msg_list is set to TRUE.
963 IF FND_API.to_Boolean( p_init_msg_list )
964 THEN
965 FND_MSG_PUB.initialize;
966 END IF;
967
968
969
970
971 -- Initialize API return status to SUCCESS
972 x_return_status := FND_API.G_RET_STS_SUCCESS;
973 l_Qte_Header_Id := P_Qte_Header_Id;
974
975 --
976 -- API body
977 --
978
979 IF (JTF_USR_HKS.ok_to_execute(G_PKG_NAME, l_api_name, 'B', 'C')) THEN
980 ASO_QUOTE_CUHK.Submit_quote_PRE(
981 p_control_rec => l_control_rec,
982 P_Qte_Header_Id => l_Qte_Header_Id,
983 X_Return_Status => X_Return_Status,
984 X_Msg_Count => X_Msg_Count,
985 X_Msg_Data => X_Msg_Data );
986 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
987 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
988 FND_MESSAGE.Set_Name('ASO', 'ERROR_RETURNED');
989 FND_MESSAGE.Set_Token('API', 'ASO_QUOTE_CUHK.Submit_Quote_PRE', FALSE);
990 FND_MSG_PUB.ADD;
991 END IF;
992 IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
993 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
994 ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
995 RAISE FND_API.G_EXC_ERROR;
996 END IF;
997 END IF;
998 END IF; -- customer hook
999 -- vertical hook
1000 IF (JTF_USR_HKS.ok_to_execute(G_PKG_NAME, l_api_name, 'B', 'V')) THEN
1001 ASO_QUOTE_VUHK.Submit_quote_PRE(
1002 p_control_rec => l_control_rec,
1003 P_Qte_Header_Id => l_Qte_Header_Id,
1004 X_Return_Status => X_Return_Status,
1005 X_Msg_Count => X_Msg_Count,
1006 X_Msg_Data => X_Msg_Data );
1007 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1008 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
1009 FND_MESSAGE.Set_Name('ASO', 'ERROR_RETURNED');
1010 FND_MESSAGE.Set_Token('API', 'ASO_QUOTE_VUHK.Submit_Quote_PRE', FALSE);
1011 FND_MSG_PUB.ADD;
1012 END IF;
1013 IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1014 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1015 ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
1016 RAISE FND_API.G_EXC_ERROR;
1017 END IF;
1018 END IF;
1019 END IF;
1020
1021 l_qte_header_rec.quote_header_id := l_Qte_Header_Id;
1022 l_qte_header_rec.last_update_date := FND_API.G_MISS_DATE;
1023
1024 ASO_SUBMIT_QUOTE_PVT.Submit_Quote(
1025 P_Api_Version_Number => 1.0,
1026 P_Init_Msg_List => p_init_msg_list,
1027 P_Control_Rec => l_control_rec,
1028 P_Qte_Header_Rec => l_qte_header_rec,
1029 x_order_header_rec => x_Order_Header_Rec,
1030 X_Return_Status => x_return_status,
1031 X_Msg_Count => x_msg_count,
1032 X_Msg_Data => x_msg_data);
1033
1034 -- Check return status from the above procedure call
1035 IF x_return_status = FND_API.G_RET_STS_ERROR then
1036 raise FND_API.G_EXC_ERROR;
1037 elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
1038 raise FND_API.G_EXC_UNEXPECTED_ERROR;
1039 END IF;
1040
1041 -- call user hooks
1042 -- customer post processing
1043
1044 IF (JTF_USR_HKS.ok_to_execute(G_PKG_NAME, l_api_name, 'A', 'C')) THEN
1045 ASO_QUOTE_CUHK.Submit_quote_POST(
1046 p_control_rec => l_control_rec,
1047 P_Qte_Header_Id => l_Qte_Header_Id,
1048 p_order_header_rec => x_order_header_rec,
1049 X_Return_Status => X_Return_Status,
1050 X_Msg_Count => X_Msg_Count,
1051 X_Msg_Data => X_Msg_Data );
1052
1053 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1054 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
1055 FND_MESSAGE.Set_Name('ASO', 'ERROR_RETURNED');
1056 FND_MESSAGE.Set_Token('API', 'ASO_QUOTE_CUHK.Submit_Quote_POST', FALSE);
1057 FND_MSG_PUB.ADD;
1058 END IF;
1059 IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1060 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1061 ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
1062 RAISE FND_API.G_EXC_ERROR;
1063 END IF;
1064 END IF;
1065 END IF; -- customer hook
1066
1067 IF (JTF_USR_HKS.ok_to_execute(G_PKG_NAME, l_api_name, 'A', 'V')) THEN
1068 ASO_QUOTE_VUHK.Submit_quote_POST(
1069 p_control_rec => l_control_rec,
1070 P_Qte_Header_Id => l_Qte_Header_Id,
1071 p_order_header_rec => x_order_header_rec,
1072 X_Return_Status => X_Return_Status,
1073 X_Msg_Count => X_Msg_Count,
1074 X_Msg_Data => X_Msg_Data );
1075 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1076 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
1077 FND_MESSAGE.Set_Name('ASO', 'ERROR_RETURNED');
1078 FND_MESSAGE.Set_Token('API', 'ASO_QUOTE_VUHK.Submit_Quote_POST', FALSE);
1079 FND_MSG_PUB.ADD;
1080 END IF;
1081 IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1082 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1083 ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
1084 RAISE FND_API.G_EXC_ERROR;
1085 END IF;
1086 END IF;
1087 END IF; -- vertical hook
1088 --
1089 -- End of API body
1090 --
1091
1092
1093
1094
1095 -- Standard call to get message count and if count is 1, get message info.
1096 FND_MSG_PUB.Count_And_Get
1097 ( p_count => x_msg_count,
1098 p_data => x_msg_data
1099 );
1100
1101 EXCEPTION
1102 WHEN FND_API.G_EXC_ERROR THEN
1103 ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
1104 P_API_NAME => L_API_NAME
1105 ,P_PKG_NAME => G_PKG_NAME
1106 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
1107 ,P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PUB
1108 ,X_MSG_COUNT => X_MSG_COUNT
1109 ,X_MSG_DATA => X_MSG_DATA
1110 ,X_RETURN_STATUS => X_RETURN_STATUS);
1111
1112 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1113 ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
1114 P_API_NAME => L_API_NAME
1115 ,P_PKG_NAME => G_PKG_NAME
1116 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
1117 ,P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PUB
1118 ,X_MSG_COUNT => X_MSG_COUNT
1119 ,X_MSG_DATA => X_MSG_DATA
1120 ,X_RETURN_STATUS => X_RETURN_STATUS);
1121
1122 WHEN OTHERS THEN
1123 ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
1124 P_API_NAME => L_API_NAME
1125 ,P_PKG_NAME => G_PKG_NAME
1126 ,P_EXCEPTION_LEVEL => ASO_UTILITY_PVT.G_EXC_OTHERS
1127 ,P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PUB
1128 ,X_MSG_COUNT => X_MSG_COUNT
1129 ,X_MSG_DATA => X_MSG_DATA
1130 ,X_RETURN_STATUS => X_RETURN_STATUS);
1131 END Submit_Quote;
1132
1133
1134 PROCEDURE Copy_quote(
1135 P_Api_Version_Number IN NUMBER,
1136 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
1137 P_Commit IN VARCHAR2 := FND_API.G_FALSE,
1138 P_Qte_Header_Id IN NUMBER,
1139 P_Last_Update_Date IN DATE,
1140 P_Copy_Only_Header IN VARCHAR2 := FND_API.G_FALSE,
1141 P_New_Version IN VARCHAR2 := FND_API.G_FALSE,
1142 P_Qte_Status_Id IN NUMBER := NULL,
1143 P_Qte_Number IN NUMBER := NULL,
1144 X_Qte_Header_Id OUT NOCOPY /* file.sql.39 change */ NUMBER,
1145 X_Return_Status OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
1146 X_Msg_Count OUT NOCOPY /* file.sql.39 change */ NUMBER,
1147 X_Msg_Data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1148 )
1149 IS
1150 l_api_name CONSTANT VARCHAR2(30) := 'COPY_QUOTE';
1151 l_api_version_number CONSTANT NUMBER := 1.0;
1152 l_Qte_Header_Id NUMBER;
1153 l_Last_Update_Date DATE;
1154 l_Copy_Only_Header VARCHAR2(30);
1155 l_New_Version VARCHAR2(30);
1156 l_Qte_Status_Id NUMBER;
1157 l_Qte_Number NUMBER;
1158 l_NEW_Qte_Header_Id NUMBER;
1159 l_control_rec ASO_QUOTE_PUB.control_rec_type := G_MISS_Control_Rec ;
1160 BEGIN
1161 -- Standard Start of API savepoint
1162 SAVEPOINT COPY_QUOTE_PUB;
1163
1164 aso_debug_pub.g_debug_flag := nvl(fnd_profile.value('ASO_ENABLE_DEBUG'),'N');
1165
1166 -- Standard call to check for call compatibility.
1167 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
1168 p_api_version_number,
1169 l_api_name,
1170 G_PKG_NAME)
1171 THEN
1172 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1173 END IF;
1174
1175
1176 -- Initialize message list if p_init_msg_list is set to TRUE.
1177 IF FND_API.to_Boolean( p_init_msg_list )
1178 THEN
1179 FND_MSG_PUB.initialize;
1180 END IF;
1181
1182
1183
1184
1185 -- Initialize API return status to SUCCESS
1186 x_return_status := FND_API.G_RET_STS_SUCCESS;
1187
1188 --
1189 -- API body
1190 --
1191
1192 -- mapping to local variables
1193 l_Qte_Header_Id := P_Qte_Header_Id ;
1194 l_Last_Update_Date := P_Last_Update_Date;
1195 l_Copy_Only_Header := P_Copy_Only_Header;
1196 l_New_Version := P_New_Version;
1197 l_Qte_Status_Id := P_Qte_Status_Id;
1198 l_Qte_Number := P_Qte_Number ;
1199
1200 IF (JTF_USR_HKS.ok_to_execute(G_PKG_NAME, l_api_name, 'B', 'C')) THEN
1201 ASO_QUOTE_CUHK.Copy_quote_PRE(
1202 P_Qte_Header_Id => l_Qte_Header_Id,
1203 P_Last_Update_Date => l_Last_Update_Date,
1204 P_Copy_Only_Header => l_Copy_Only_Header,
1205 P_New_Version => l_New_Version,
1206 P_Qte_Status_Id => l_Qte_Status_Id ,
1207 P_Qte_Number => l_Qte_Number ,
1208 X_Return_Status => X_Return_Status ,
1209 X_Msg_Count => X_Msg_Count,
1210 X_Msg_Data => X_Msg_Data
1211 );
1212 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1213 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
1214 FND_MESSAGE.Set_Name('ASO', 'ERROR_RETURNED');
1215 FND_MESSAGE.Set_Token('API', 'ASO_QUOTE_CUHK.Copy_Quote_PRE', FALSE);
1216 FND_MSG_PUB.ADD;
1217 END IF;
1218 IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1219 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1220 ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
1221 RAISE FND_API.G_EXC_ERROR;
1222 END IF;
1223 END IF;
1224 END IF; -- customer hook
1225 -- vertical hook
1226 IF (JTF_USR_HKS.ok_to_execute(G_PKG_NAME, l_api_name, 'B', 'V')) THEN
1227 ASO_QUOTE_VUHK.Copy_quote_PRE(
1228 P_Qte_Header_Id => l_Qte_Header_Id,
1229 P_Last_Update_Date => l_Last_Update_Date,
1230 P_Copy_Only_Header => l_Copy_Only_Header,
1231 P_New_Version => l_New_Version,
1232 P_Qte_Status_Id => l_Qte_Status_Id ,
1233 P_Qte_Number => l_Qte_Number ,
1234 X_Return_Status => X_Return_Status ,
1235 X_Msg_Count => X_Msg_Count,
1236 X_Msg_Data => X_Msg_Data
1237 );
1238 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1239 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
1240 FND_MESSAGE.Set_Name('ASO', 'ERROR_RETURNED');
1241 FND_MESSAGE.Set_Token('API', 'ASO_QUOTE_VUHK.Copy_Quote_PRE', FALSE);
1242 FND_MSG_PUB.ADD;
1243 END IF;
1244 IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1245 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1246 ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
1247 RAISE FND_API.G_EXC_ERROR;
1248 END IF;
1249 END IF;
1250 END IF;
1251
1252
1253 ASO_QUOTE_HEADERS_PVT.Copy_Quote(
1254 P_Api_Version_Number => 1.0,
1255 P_Init_Msg_List => FND_API.G_FALSE,
1256 P_Commit => p_commit,
1257 P_Qte_Header_Id => p_qte_header_id,
1258 P_control_rec => l_control_rec,
1259 P_Last_Update_Date => p_last_update_date,
1260 P_Copy_Only_Header => p_copy_only_header,
1261 P_New_Version => p_new_version,
1262 P_Qte_Status_Id => p_qte_status_id,
1263 P_Qte_Number => p_qte_number,
1264 X_Qte_Header_Id => x_qte_header_id,
1265 X_Return_Status => x_return_status,
1266 X_Msg_Count => x_msg_count,
1267 X_Msg_Data => x_msg_data);
1268
1269
1270
1271 -- Check return status from the above procedure call
1272 IF x_return_status = FND_API.G_RET_STS_ERROR then
1273 raise FND_API.G_EXC_ERROR;
1274 elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
1275 raise FND_API.G_EXC_UNEXPECTED_ERROR;
1276 END IF;
1277
1278 l_NEW_Qte_Header_Id := x_qte_header_id;
1279
1280 IF (JTF_USR_HKS.ok_to_execute(G_PKG_NAME, l_api_name, 'A', 'C')) THEN
1281 ASO_QUOTE_CUHK.Copy_quote_POST(
1282 P_Qte_Header_Id => l_Qte_Header_Id,
1283 P_Last_Update_Date => l_Last_Update_Date,
1284 P_Copy_Only_Header => l_Copy_Only_Header,
1285 P_New_Version => l_New_Version,
1286 P_Qte_Status_Id => l_Qte_Status_Id ,
1287 P_Qte_Number => l_Qte_Number ,
1288 P_NEW_Qte_Header_Id => l_NEW_Qte_Header_Id,
1289 X_Return_Status => X_Return_Status ,
1290 X_Msg_Count => X_Msg_Count,
1291 X_Msg_Data => X_Msg_Data
1292 );
1293 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1294 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
1295 FND_MESSAGE.Set_Name('ASO', 'ERROR_RETURNED');
1296 FND_MESSAGE.Set_Token('API', 'ASO_QUOTE_CUHK.Copy_Quote_POST', FALSE);
1297 FND_MSG_PUB.ADD;
1298 END IF;
1299 IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1300 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1301 ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
1302 RAISE FND_API.G_EXC_ERROR;
1303 END IF;
1304 END IF;
1305 END IF; -- customer hook
1306 IF (JTF_USR_HKS.ok_to_execute(G_PKG_NAME, l_api_name, 'A', 'V')) THEN
1307 ASO_QUOTE_VUHK.Copy_quote_POST(
1308 P_Qte_Header_Id => l_Qte_Header_Id,
1309 P_Last_Update_Date => l_Last_Update_Date,
1310 P_Copy_Only_Header => l_Copy_Only_Header,
1311 P_New_Version => l_New_Version,
1312 P_Qte_Status_Id => l_Qte_Status_Id ,
1313 P_Qte_Number => l_Qte_Number ,
1314 P_NEW_Qte_Header_Id => l_NEW_Qte_Header_Id,
1315 X_Return_Status => X_Return_Status ,
1316 X_Msg_Count => X_Msg_Count,
1317 X_Msg_Data => X_Msg_Data
1318 );
1319 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1320 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
1321 FND_MESSAGE.Set_Name('ASO', 'ERROR_RETURNED');
1322 FND_MESSAGE.Set_Token('API', 'ASO_QUOTE_VUHK.Copy_Quote_POST', FALSE);
1323 FND_MSG_PUB.ADD;
1324 END IF;
1325 IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1326 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1327 ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
1328 RAISE FND_API.G_EXC_ERROR;
1329 END IF;
1330 END IF;
1331 END IF;
1332 --
1333 -- End of API body
1334 --
1335
1336 -- Standard check for p_commit
1337 IF FND_API.to_Boolean( p_commit )
1338 THEN
1339 COMMIT WORK;
1340 END IF;
1341
1342
1343
1344
1345 -- Standard call to get message count and if count is 1, get message info.
1346 FND_MSG_PUB.Count_And_Get
1347 ( p_count => x_msg_count,
1348 p_data => x_msg_data
1349 );
1350
1351 EXCEPTION
1352 WHEN FND_API.G_EXC_ERROR THEN
1353 ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
1354 P_API_NAME => L_API_NAME
1355 ,P_PKG_NAME => G_PKG_NAME
1356 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
1357 ,P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PUB
1358 ,X_MSG_COUNT => X_MSG_COUNT
1359 ,X_MSG_DATA => X_MSG_DATA
1360 ,X_RETURN_STATUS => X_RETURN_STATUS);
1361
1362 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1363 ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
1364 P_API_NAME => L_API_NAME
1365 ,P_PKG_NAME => G_PKG_NAME
1366 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
1367 ,P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PUB
1368 ,X_MSG_COUNT => X_MSG_COUNT
1369 ,X_MSG_DATA => X_MSG_DATA
1370 ,X_RETURN_STATUS => X_RETURN_STATUS);
1371
1372 WHEN OTHERS THEN
1373 ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
1374 P_API_NAME => L_API_NAME
1375 ,P_PKG_NAME => G_PKG_NAME
1376 ,P_EXCEPTION_LEVEL => ASO_UTILITY_PVT.G_EXC_OTHERS
1377 ,P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PUB
1378 ,X_MSG_COUNT => X_MSG_COUNT
1379 ,X_MSG_DATA => X_MSG_DATA
1380 ,X_RETURN_STATUS => X_RETURN_STATUS);
1381 END Copy_Quote;
1382
1383
1384 -- Overloaded Copy_quote
1385
1386 PROCEDURE Copy_quote(
1387 P_Api_Version_Number IN NUMBER,
1388 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
1389 P_Commit IN VARCHAR2 := FND_API.G_FALSE,
1390 P_control_rec IN Control_Rec_Type,
1391 P_Qte_Header_Id IN NUMBER,
1392 P_Last_Update_Date IN DATE,
1393 P_Copy_Only_Header IN VARCHAR2 := FND_API.G_FALSE,
1394 P_New_Version IN VARCHAR2 := FND_API.G_FALSE,
1395 P_Qte_Status_Id IN NUMBER := NULL,
1396 P_Qte_Number IN NUMBER := NULL,
1397 X_Qte_Header_Id OUT NOCOPY /* file.sql.39 change */ NUMBER,
1398 X_Return_Status OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
1399 X_Msg_Count OUT NOCOPY /* file.sql.39 change */ NUMBER,
1400 X_Msg_Data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1401 )
1402 IS
1403
1404 l_api_name CONSTANT VARCHAR2(30) := 'COPY_QUOTE';
1405 l_api_version_number CONSTANT NUMBER := 1.0;
1406 l_Qte_Header_Id NUMBER;
1407 l_Last_Update_Date DATE;
1408 l_Copy_Only_Header VARCHAR2(30);
1409 l_New_Version VARCHAR2(30);
1410 l_Qte_Status_Id NUMBER;
1411 l_Qte_Number NUMBER;
1412 l_NEW_Qte_Header_Id NUMBER;
1413 BEGIN
1414
1415 aso_debug_pub.g_debug_flag := nvl(fnd_profile.value('ASO_ENABLE_DEBUG'),'N');
1416
1417 ASO_QUOTE_HEADERS_PVT.Copy_Quote(
1418 P_Api_Version_Number => 1.0,
1419 P_Init_Msg_List => FND_API.G_FALSE,
1420 P_Commit => p_commit,
1421 P_control_rec => P_control_rec,
1422 P_Qte_Header_Id => p_qte_header_id,
1423 P_Last_Update_Date => p_last_update_date,
1424 P_Copy_Only_Header => p_copy_only_header,
1425 P_New_Version => p_new_version,
1426 P_Qte_Status_Id => p_qte_status_id,
1427 P_Qte_Number => p_qte_number,
1428 X_Qte_Header_Id => x_qte_header_id,
1429 X_Return_Status => x_return_status,
1430 X_Msg_Count => x_msg_count,
1431 X_Msg_Data => x_msg_data);
1432
1433
1434 END;
1435
1436 -- *******************************************************
1437 -- Start of Comments
1438 -- *******************************************************
1439 -- API Name: Create_Quote_Line
1440 -- Type : Public
1441 -- Pre-Req :
1442 -- Parameters:
1443 -- IN
1444 -- p_api_version_number IN NUMBER Required
1445 -- p_init_msg_list IN VARCHAR2 Optional Default = FND_API_G_FALSE
1446 -- p_commit IN VARCHAR2 Optional Default = FND_API.G_FALSE
1447 -- P_qte_lines_Rec IN qte_line_Rec_Type Required
1448 -- P_quote_header_id IN NUMBER Required
1449 -- P_header_last_update_date IN DATE Required
1450 -- P_Payment_Tbl IN Payment_Tbl_Type
1451 -- P_Price_Adj_Tbl IN Price_Adj_Tbl_Type
1452 -- P_Qte_Line_Dtl_Rec IN Qte_Line_Dtl_Rec_Type
1453 -- P_Shipment_Tbl IN Shipment_Tbl_Type
1454 -- P_Tax_Detail_Tbl IN Tax_Detail_Tbl_Type
1455 -- P_Freight_Charge_Tbl IN Freight_Charge_Tbl_Type
1456 -- P_Line_Rltship_Tbl IN Line_Rltship_Tbl_Type
1457 -- P_Price_Attributes_Tbl IN Price_Attributes_Tbl_Type
1458 -- P_Price_Adj_Rltship_Tbl IN Price_Adj_Rltship_Tbl_Type
1459 -- P_Update_Header_Flag IN VARCHAR2 Optional Default = FND_API.G_TRUE
1460
1461 -- OUT:
1462 -- X_quote_line_id OUT NOCOPY /* file.sql.39 change */ NUMBER,
1463 -- x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1464 -- x_msg_count OUT NOCOPY /* file.sql.39 change */ NUMBER
1465 -- x_msg_data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1466 -- Version : Current version 2.0
1467 -- Note: This automatic generated procedure definition, it includes standard IN/OUT parameters
1468 -- and basic operation, developer must manually add parameters and business logic as necessary.
1469 --
1470 -- End of Comments
1471 --
1472
1473
1474 PROCEDURE Create_Quote_Line(
1475 P_Api_Version_Number IN NUMBER,
1476 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
1477 P_Commit IN VARCHAR2 := FND_API.G_FALSE,
1478 P_Qte_Line_Rec IN Qte_Line_Rec_Type := G_MISS_qte_line_REC,
1479 P_Control_Rec IN Control_rec_Type := G_MISS_control_REC,
1480 P_Qte_Line_Dtl_TBL IN Qte_Line_Dtl_Tbl_Type := G_MISS_qte_line_dtl_TBL,
1481 P_Line_Attribs_Ext_Tbl IN Line_Attribs_Ext_Tbl_type
1482 := G_Miss_Line_Attribs_Ext_Tbl,
1483 P_Payment_Tbl IN Payment_Tbl_Type := G_MISS_Payment_TBL,
1484 P_Price_Adj_Tbl IN Price_Adj_Tbl_Type := G_MISS_Price_Adj_TBL,
1485 P_Price_Attributes_Tbl IN Price_Attributes_Tbl_Type := G_MISS_Price_attributes_TBL,
1486 P_Price_Adj_Attr_Tbl IN Price_Adj_Attr_Tbl_Type
1487 := G_Miss_PRICE_ADJ_ATTR_Tbl,
1488 P_Shipment_Tbl IN Shipment_Tbl_Type := G_MISS_shipment_TBL,
1489 P_Tax_Detail_Tbl IN Tax_Detail_Tbl_Type:= G_MISS_tax_detail_TBL,
1490 P_Freight_Charge_Tbl IN Freight_Charge_Tbl_Type := G_MISS_freight_charge_TBL,
1491 P_Update_Header_Flag IN VARCHAR2 := FND_API.G_TRUE,
1492 X_Qte_Line_Rec OUT NOCOPY /* file.sql.39 change */ Qte_Line_Rec_Type,
1493 X_Qte_Line_Dtl_TBL OUT NOCOPY /* file.sql.39 change */ Qte_Line_Dtl_TBL_Type,
1494 X_Line_Attribs_Ext_Tbl OUT NOCOPY /* file.sql.39 change */ Line_Attribs_Ext_Tbl_type,
1495 X_Payment_Tbl OUT NOCOPY /* file.sql.39 change */ Payment_Tbl_Type,
1496 X_Price_Adj_Tbl OUT NOCOPY /* file.sql.39 change */ Price_Adj_Tbl_Type,
1497 X_Price_Attributes_Tbl OUT NOCOPY /* file.sql.39 change */ Price_Attributes_Tbl_Type ,
1498 X_Price_Adj_Attr_Tbl OUT NOCOPY /* file.sql.39 change */ Price_Adj_Attr_Tbl_Type,
1499 X_Shipment_Tbl OUT NOCOPY /* file.sql.39 change */ Shipment_Tbl_Type,
1500 X_Tax_Detail_Tbl OUT NOCOPY /* file.sql.39 change */ Tax_Detail_Tbl_Type,
1501 X_Freight_Charge_Tbl OUT NOCOPY /* file.sql.39 change */ Freight_Charge_Tbl_Type ,
1502 X_Return_Status OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
1503 X_Msg_Count OUT NOCOPY /* file.sql.39 change */ NUMBER,
1504 X_Msg_Data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1505 )
1506 IS
1507 X_Sales_Credit_Tbl Sales_Credit_Tbl_Type;
1508 X_Quote_Party_Tbl Quote_Party_Tbl_Type;
1509 BEGIN
1510
1511 aso_debug_pub.g_debug_flag := nvl(fnd_profile.value('ASO_ENABLE_DEBUG'),'N');
1512
1513 Create_Quote_Line(
1514 P_Api_Version_Number => p_api_version_number,
1515 P_Init_Msg_List => p_init_msg_list,
1516 P_Commit => p_commit,
1517 P_Qte_Line_Rec => p_qte_line_rec,
1518 P_Control_REC => p_control_rec ,
1519 P_Payment_Tbl => p_payment_tbl ,
1520 P_Price_Adj_Tbl => p_price_adj_tbl ,
1521 P_Qte_Line_Dtl_Tbl => p_Qte_Line_Dtl_Tbl,
1522 P_Shipment_Tbl => p_Shipment_Tbl ,
1523 P_Tax_Detail_Tbl => p_Tax_Detail_Tbl ,
1524 P_Freight_Charge_Tbl => p_Freight_Charge_Tbl,
1525 P_Price_Attributes_Tbl => p_Price_Attributes_Tbl,
1526 P_Price_Adj_Attr_Tbl =>p_Price_Adj_Attr_Tbl,
1527 P_Line_Attribs_Ext_Tbl =>p_Line_Attribs_Ext_Tbl,
1528 P_Update_Header_Flag =>p_Update_Header_Flag ,
1529 X_qte_line_rec => X_qte_line_rec,
1530 X_payment_tbl => x_payment_tbl,
1531 X_Price_Adj_Tbl => x_price_adj_tbl,
1532 X_Qte_Line_Dtl_Tbl => x_qte_line_dtl_tbl,
1533 X_Shipment_Tbl => x_shipment_tbl,
1534 X_Tax_Detail_Tbl => x_tax_detail_tbl,
1535 X_Freight_Charge_Tbl => x_freight_charge_tbl,
1536 X_Price_Attributes_Tbl => x_price_attributes_tbl,
1537 X_Price_Adj_Attr_Tbl => x_Price_Adj_Attr_Tbl,
1538 X_Line_Attribs_Ext_Tbl => x_Line_Attribs_Ext_Tbl,
1539 X_Sales_Credit_Tbl => X_Sales_Credit_Tbl ,
1540 X_Quote_Party_Tbl => X_Quote_Party_Tbl,
1541 X_Return_Status => x_return_status,
1542 X_Msg_Count => x_msg_count,
1543 X_Msg_Data => x_msg_data
1544 );
1545
1546 END Create_Quote_Line;
1547
1548
1549
1550 -- *******************************************************
1551 -- Start of Comments
1552 -- *******************************************************
1553 -- API Name: Update_Quote_Line
1554 -- Type : Public
1555 -- Pre-Req :
1556 -- Parameters:
1557 -- IN
1558 -- p_api_version_number IN NUMBER Required
1559 -- p_init_msg_list IN VARCHAR2 Optional Default = FND_API_G_FALSE
1560 -- p_commit IN VARCHAR2 Optional Default = FND_API.G_FALSE
1561 -- p_identity_salesforce_id IN NUMBER Optional Default = NULL
1562 -- P_qte_lines_Rec IN qte_line_Rec_Type Required
1563 -- P_quote_header_id IN NUMBER Required
1564 -- P_header_last_update_date IN DATE Required
1565 -- P_Payment_Tbl IN Payment_Tbl_Type
1566 -- P_Price_Adj_Tbl IN Price_Adj_Tbl_Type
1567 -- P_Qte_Line_Dtl_Rec IN Qte_Line_Dtl_Rec_Type
1568 -- P_Shipment_Tbl IN Shipment_Tbl_Type
1569 -- P_Tax_Detail_Tbl IN Tax_Detail_Tbl_Type
1570 -- P_Freight_Charge_Tbl IN Freight_Charge_Tbl_Type
1571 -- P_Line_Rltship_Tbl IN Line_Rltship_Tbl_Type
1572 -- P_Price_Attributes_Tbl IN Price_Attributes_Tbl_Type
1573 -- P_Price_Adj_Rltship_Tbl IN Price_Adj_Rltship_Tbl_Type
1574 -- P_Update_Header_Flag IN VARCHAR2 Optional Default = FND_API.G_TRUE
1575 -- OUT:
1576 -- X_quote_line_id OUT NOCOPY /* file.sql.39 change */ NUMBER,
1577 -- x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1578 -- x_msg_count OUT NOCOPY /* file.sql.39 change */ NUMBER
1579 -- x_msg_data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1580 -- Version : Current version 2.0
1581 -- Note: This automatic generated procedure definition, it includes standard IN/OUT parameters
1582 -- and basic operation, developer must manually add parameters and business logic as necessary.
1583 --
1584 -- End of Comments
1585 --
1586 -- Hint: Add corresponding update detail table procedures if it's master-detail relationship.
1587
1588 PROCEDURE Update_Quote_Line(
1589 P_Api_Version_Number IN NUMBER,
1590 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
1591 P_Commit IN VARCHAR2 := FND_API.G_FALSE,
1592 P_Qte_Line_Rec IN Qte_Line_Rec_Type := G_MISS_qte_line_REC,
1593 P_Control_Rec IN Control_rec_Type := G_MISS_control_REC,
1594 P_Qte_Line_Dtl_Tbl IN Qte_Line_Dtl_Tbl_Type := G_MISS_qte_line_dtl_TBL,
1595 P_Line_Attribs_Ext_Tbl IN Line_Attribs_Ext_Tbl_type
1596 := G_Miss_Line_Attribs_Ext_Tbl,
1597 P_Payment_Tbl IN Payment_Tbl_Type := G_MISS_Payment_TBL,
1598 P_Price_Adj_Tbl IN Price_Adj_Tbl_Type := G_MISS_Price_Adj_TBL,
1599 P_Price_Attributes_Tbl IN Price_Attributes_Tbl_Type := G_MISS_Price_attributes_TBL,
1600 P_Price_Adj_Attr_Tbl IN Price_Adj_Attr_Tbl_Type
1601 := G_Miss_PRICE_ADJ_ATTR_Tbl,
1602 P_Shipment_Tbl IN Shipment_Tbl_Type := G_MISS_shipment_TBL,
1603 P_Tax_Detail_Tbl IN Tax_Detail_Tbl_Type:= G_MISS_tax_detail_TBL,
1604 P_Freight_Charge_Tbl IN Freight_Charge_Tbl_Type := G_MISS_freight_charge_TBL,
1605 P_Update_Header_Flag IN VARCHAR2 := FND_API.G_TRUE,
1606 X_Qte_Line_Rec OUT NOCOPY /* file.sql.39 change */ Qte_Line_Rec_Type,
1607 X_Qte_Line_Dtl_Tbl OUT NOCOPY /* file.sql.39 change */ Qte_Line_Dtl_Tbl_Type,
1608 X_Line_Attribs_Ext_Tbl OUT NOCOPY /* file.sql.39 change */ Line_Attribs_Ext_Tbl_type,
1609 X_Payment_Tbl OUT NOCOPY /* file.sql.39 change */ Payment_Tbl_Type,
1610 X_Price_Adj_Tbl OUT NOCOPY /* file.sql.39 change */ Price_Adj_Tbl_Type,
1611 X_Price_Attributes_Tbl OUT NOCOPY /* file.sql.39 change */ Price_Attributes_Tbl_Type ,
1612 X_Price_Adj_Attr_Tbl OUT NOCOPY /* file.sql.39 change */ Price_Adj_Attr_Tbl_Type,
1613 X_Shipment_Tbl OUT NOCOPY /* file.sql.39 change */ Shipment_Tbl_Type,
1614 X_Tax_Detail_Tbl OUT NOCOPY /* file.sql.39 change */ Tax_Detail_Tbl_Type,
1615 X_Freight_Charge_Tbl OUT NOCOPY /* file.sql.39 change */ Freight_Charge_Tbl_Type ,
1616 X_Return_Status OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
1617 X_Msg_Count OUT NOCOPY /* file.sql.39 change */ NUMBER,
1618 X_Msg_Data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1619 )
1620 IS
1621
1622 X_Sales_Credit_Tbl Sales_Credit_Tbl_Type;
1623 X_Quote_Party_Tbl Quote_Party_Tbl_Type;
1624 BEGIN
1625
1626 aso_debug_pub.g_debug_flag := nvl(fnd_profile.value('ASO_ENABLE_DEBUG'),'N');
1627
1628 Update_Quote_Line(
1629 P_Api_Version_Number => 1.0,
1630 P_Init_Msg_List => p_init_msg_list,
1631 P_Commit => p_commit,
1632 P_Qte_Line_Rec => p_qte_line_rec,
1633 P_Control_REC => p_control_rec ,
1634 P_Payment_Tbl => p_payment_tbl ,
1635 P_Price_Adj_Tbl => p_price_adj_tbl ,
1636 P_Qte_Line_Dtl_TBL => p_Qte_Line_Dtl_TBL ,
1637 P_Shipment_Tbl => p_Shipment_Tbl ,
1638 P_Tax_Detail_Tbl => p_Tax_Detail_Tbl ,
1639 P_Freight_Charge_Tbl => p_Freight_Charge_Tbl,
1640 P_Price_Attributes_Tbl => p_Price_Attributes_Tbl,
1641 P_Price_Adj_Attr_Tbl =>p_Price_Adj_Attr_Tbl,
1642 P_Line_Attribs_Ext_Tbl =>p_Line_Attribs_Ext_Tbl,
1643 P_Update_Header_Flag =>p_Update_Header_Flag ,
1644 X_qte_line_rec => X_qte_line_rec,
1645 X_payment_tbl => x_payment_tbl,
1646 X_Price_Adj_Tbl => x_price_adj_tbl,
1647 X_Qte_Line_Dtl_tbl => x_qte_line_dtl_tbl,
1648 X_Shipment_Tbl => x_shipment_tbl,
1649 X_Tax_Detail_Tbl => x_tax_detail_tbl,
1650 X_Freight_Charge_Tbl => x_freight_charge_tbl,
1651 X_Price_Attributes_Tbl => x_price_attributes_tbl,
1652 X_Price_Adj_Attr_Tbl =>x_Price_Adj_Attr_Tbl,
1653 X_Line_Attribs_Ext_Tbl =>x_Line_Attribs_Ext_Tbl,
1654 X_Sales_Credit_Tbl => X_Sales_Credit_Tbl,
1655 X_Quote_Party_Tbl => X_Quote_Party_Tbl,
1656 X_Return_Status => x_return_status,
1657 X_Msg_Count => x_msg_count,
1658 X_Msg_Data => x_msg_data
1659 );
1660
1661 END Update_Quote_Line;
1662
1663
1664 -- *******************************************************
1665 -- Start of Comments
1666 -- *******************************************************
1667 -- API Name: Delete_Quote_Line
1668 -- Type : Public
1669 -- Pre-Req :
1670 -- Parameters:
1671 -- IN
1672 -- p_api_version_number IN NUMBER Required
1673 -- p_init_msg_list IN VARCHAR2 Optional Default = FND_API_G_FALSE
1674 -- p_commit IN VARCHAR2 Optional Default = FND_API.G_FALSE
1675 -- p_identity_salesforce_id IN NUMBER Optional Default = NULL
1676 -- P_qte_line_Rec IN qte_line_Rec_Type Required
1677 -- P_quote_header_id IN NUMBER Required
1678 -- P_header_last_update_date IN DATE Required
1679 --
1680 -- OUT:
1681 -- x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1682 -- x_msg_count OUT NOCOPY /* file.sql.39 change */ NUMBER
1683 -- x_msg_data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1684 -- Version : Current version 2.0
1685 -- Note: This automatic generated procedure definition, it includes standard IN/OUT parameters
1686 -- and basic operation, developer must manually add parameters and business logic as necessary.
1687 --
1688 -- End of Comments
1689 --
1690 -- Hint: Add corresponding delete detail table procedures if it's master-detail relationship.
1691 -- The Master delete procedure may not be needed depends on different business requirements.
1692
1693 PROCEDURE Delete_Quote_Line(
1694 P_Api_Version_Number IN NUMBER,
1695 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
1696 P_Commit IN VARCHAR2 := FND_API.G_FALSE,
1697 P_qte_line_Rec IN qte_line_Rec_Type,
1698 P_Control_Rec IN Control_rec_Type := G_MISS_control_REC,
1699 X_Return_Status OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
1700 X_Msg_Count OUT NOCOPY /* file.sql.39 change */ NUMBER,
1701 X_Msg_Data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1702 )
1703 IS
1704
1705 BEGIN
1706 aso_debug_pub.g_debug_flag := nvl(fnd_profile.value('ASO_ENABLE_DEBUG'),'N');
1707 Delete_Quote_Line(
1708 P_Api_Version_Number => 1.0,
1709 P_Init_Msg_List => P_Init_Msg_List ,
1710 P_Commit => p_commit,
1711 P_qte_line_Rec => P_qte_line_Rec,
1712 P_Control_Rec => p_control_rec,
1713 P_Update_Header_Flag => 'N',
1714 X_Return_Status => X_Return_Status,
1715 X_Msg_Count => x_msg_count,
1716 X_Msg_Data => x_msg_data
1717 );
1718 End Delete_quote_line;
1719
1720
1721 -- added by kchervel 06/26/00
1722
1723
1724 -- *******************************************************
1725 -- Start of Comments
1726 -- *******************************************************
1727 -- API Name: Create_quote
1728 -- Type : Public
1729 -- Pre-Req :
1730 -- Parameters:
1731
1732 -- Version : Current version 2.0
1733 -- Note: This is an overloaded procedure. It takes additional attributes
1734 -- which include the hd_attributes, sales credits and quote party record
1735 -- types
1736 --
1737 -- End of Comments
1738 --
1739
1740 PROCEDURE Create_quote(
1741 P_Api_Version_Number IN NUMBER,
1742 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
1743 P_Commit IN VARCHAR2 := FND_API.G_FALSE,
1744 P_Validation_Level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1745 P_Control_Rec IN Control_Rec_Type := G_Miss_Control_Rec,
1746 P_Qte_Header_Rec IN Qte_Header_Rec_Type := G_MISS_Qte_Header_Rec,
1747 P_hd_Price_Attributes_Tbl IN ASO_QUOTE_PUB.Price_Attributes_Tbl_Type := G_Miss_Price_Attributes_Tbl,
1748 P_hd_Payment_Tbl IN ASO_QUOTE_PUB.Payment_Tbl_Type := G_MISS_PAYMENT_TBL,
1749 P_hd_Shipment_Rec IN ASO_QUOTE_PUB.Shipment_Rec_Type := G_MISS_SHIPMENT_REC,
1750 P_hd_Freight_Charge_Tbl IN ASO_QUOTE_PUB.Freight_Charge_Tbl_Type := G_Miss_Freight_Charge_Tbl,
1751 P_hd_Tax_Detail_Tbl IN ASO_QUOTE_PUB.Tax_Detail_Tbl_Type := G_Miss_Tax_Detail_Tbl,
1752 P_hd_Attr_Ext_Tbl IN Line_Attribs_Ext_Tbl_Type := G_MISS_Line_Attribs_Ext_TBL,
1753 P_hd_Sales_Credit_Tbl IN Sales_Credit_Tbl_Type := G_MISS_Sales_Credit_Tbl,
1754 P_hd_Quote_Party_Tbl IN Quote_Party_Tbl_Type := G_MISS_Quote_Party_Tbl,
1755 P_Qte_Line_Tbl IN Qte_Line_Tbl_Type := G_MISS_QTE_LINE_TBL,
1756 P_Qte_Line_Dtl_Tbl IN Qte_Line_Dtl_Tbl_Type := G_MISS_QTE_LINE_DTL_TBL,
1757 P_Line_Attr_Ext_Tbl IN Line_Attribs_Ext_Tbl_Type := G_MISS_Line_Attribs_Ext_TBL,
1758 P_line_rltship_tbl IN Line_Rltship_Tbl_Type := G_MISS_Line_Rltship_Tbl,
1759 P_Price_Adjustment_Tbl IN Price_Adj_Tbl_Type := G_Miss_Price_Adj_Tbl,
1760 P_Price_Adj_Attr_Tbl IN Price_Adj_Attr_Tbl_Type := G_Miss_PRICE_ADJ_ATTR_Tbl,
1761 P_Price_Adj_Rltship_Tbl IN Price_Adj_Rltship_Tbl_Type := G_Miss_Price_Adj_Rltship_Tbl,
1762 P_Ln_Price_Attributes_Tbl IN Price_Attributes_Tbl_Type := G_Miss_Price_Attributes_Tbl,
1763 P_Ln_Payment_Tbl IN Payment_Tbl_Type := G_MISS_PAYMENT_TBL,
1764 P_Ln_Shipment_Tbl IN Shipment_Tbl_Type := G_MISS_SHIPMENT_TBL,
1765 P_Ln_Freight_Charge_Tbl IN Freight_Charge_Tbl_Type := G_Miss_Freight_Charge_Tbl,
1766 P_Ln_Tax_Detail_Tbl IN Tax_Detail_Tbl_Type := G_Miss_Tax_Detail_Tbl,
1767 P_ln_Sales_Credit_Tbl IN Sales_Credit_Tbl_Type := G_MISS_Sales_Credit_Tbl,
1768 P_ln_Quote_Party_Tbl IN Quote_Party_Tbl_Type := G_MISS_Quote_Party_Tbl,
1769 x_Qte_Header_Rec OUT NOCOPY /* file.sql.39 change */ Qte_Header_Rec_Type,
1770 X_Qte_Line_Tbl OUT NOCOPY /* file.sql.39 change */ Qte_Line_Tbl_Type,
1771 X_Qte_Line_Dtl_Tbl OUT NOCOPY /* file.sql.39 change */ Qte_Line_Dtl_Tbl_Type,
1772 X_Hd_Price_Attributes_Tbl OUT NOCOPY /* file.sql.39 change */ Price_Attributes_Tbl_Type,
1773 X_Hd_Payment_Tbl OUT NOCOPY /* file.sql.39 change */ Payment_Tbl_Type,
1774 X_Hd_Shipment_Rec OUT NOCOPY /* file.sql.39 change */ Shipment_Rec_Type,
1775 X_Hd_Freight_Charge_Tbl OUT NOCOPY /* file.sql.39 change */ Freight_Charge_Tbl_Type,
1776 X_Hd_Tax_Detail_Tbl OUT NOCOPY /* file.sql.39 change */ Tax_Detail_Tbl_Type,
1777 X_hd_Attr_Ext_Tbl OUT NOCOPY /* file.sql.39 change */ Line_Attribs_Ext_Tbl_Type,
1778 X_hd_Sales_Credit_Tbl OUT NOCOPY /* file.sql.39 change */ Sales_Credit_Tbl_Type,
1779 X_hd_Quote_Party_Tbl OUT NOCOPY /* file.sql.39 change */ Quote_Party_Tbl_Type,
1780 x_Line_Attr_Ext_Tbl OUT NOCOPY /* file.sql.39 change */ Line_Attribs_Ext_Tbl_Type,
1781 X_line_rltship_tbl OUT NOCOPY /* file.sql.39 change */ Line_Rltship_Tbl_Type,
1782 X_Price_Adjustment_Tbl OUT NOCOPY /* file.sql.39 change */ Price_Adj_Tbl_Type,
1783 X_Price_Adj_Attr_Tbl OUT NOCOPY /* file.sql.39 change */ Price_Adj_Attr_Tbl_Type,
1784 X_Price_Adj_Rltship_Tbl OUT NOCOPY /* file.sql.39 change */ Price_Adj_Rltship_Tbl_Type,
1785 X_Ln_Price_Attributes_Tbl OUT NOCOPY /* file.sql.39 change */ Price_Attributes_Tbl_Type,
1786 X_Ln_Payment_Tbl OUT NOCOPY /* file.sql.39 change */ Payment_Tbl_Type,
1787 X_Ln_Shipment_Tbl OUT NOCOPY /* file.sql.39 change */ Shipment_Tbl_Type,
1788 X_Ln_Freight_Charge_Tbl OUT NOCOPY /* file.sql.39 change */ Freight_Charge_Tbl_Type,
1789 X_Ln_Tax_Detail_Tbl OUT NOCOPY /* file.sql.39 change */ Tax_Detail_Tbl_Type,
1790 X_Ln_Sales_Credit_Tbl OUT NOCOPY /* file.sql.39 change */ Sales_Credit_Tbl_Type,
1791 X_Ln_Quote_Party_Tbl OUT NOCOPY /* file.sql.39 change */ Quote_Party_Tbl_Type,
1792 X_Return_Status OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
1793 X_Msg_Count OUT NOCOPY /* file.sql.39 change */ NUMBER,
1794 X_Msg_Data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1795 )
1796 IS
1797 x_Qte_Access_Tbl Qte_Access_Tbl_Type;
1798 x_Template_Tbl Template_Tbl_Type;
1799 X_Related_Obj_Tbl Related_Obj_Tbl_Type;
1800 BEGIN
1801 aso_debug_pub.g_debug_flag := nvl(fnd_profile.value('ASO_ENABLE_DEBUG'),'N');
1802
1803 if aso_debug_pub.g_debug_flag = 'Y' then
1804 aso_debug_pub.add('Before call to the second overloaded create_quote procedure.',1, 'Y');
1805 end if;
1806
1807 Create_quote(
1808 P_Api_Version_Number => 1.0,
1809 P_Init_Msg_List => p_init_msg_list,
1810 P_Commit => p_commit,
1811 P_Control_Rec => p_control_rec,
1812 P_qte_header_rec => p_qte_header_rec,
1813 P_Hd_Price_Attributes_Tbl => p_Hd_Price_Attributes_Tbl,
1814 P_Hd_Payment_Tbl => p_Hd_Payment_Tbl,
1815 P_Hd_Shipment_Rec => p_Hd_Shipment_Rec,
1816 P_Hd_Freight_Charge_Tbl => p_Hd_Freight_Charge_Tbl,
1817 P_Hd_Tax_Detail_Tbl => p_Hd_Tax_Detail_Tbl,
1818 P_Qte_Line_Tbl => p_Qte_Line_Tbl,
1819 P_Qte_Line_Dtl_Tbl => p_Qte_Line_Dtl_Tbl,
1820 P_Line_Attr_Ext_Tbl => P_Line_Attr_Ext_Tbl,
1821 P_Line_rltship_tbl => p_Line_Rltship_Tbl,
1822 P_Price_Adjustment_Tbl => p_Price_Adjustment_Tbl,
1823 P_Price_Adj_Attr_Tbl => P_Price_Adj_Attr_Tbl,
1824 P_Price_Adj_Rltship_Tbl => p_Price_Adj_Rltship_Tbl,
1825 P_Ln_Price_Attributes_Tbl => p_Ln_Price_Attributes_Tbl,
1826 P_Ln_Payment_Tbl => p_Ln_Payment_Tbl,
1827 P_Ln_Shipment_Tbl => p_Ln_Shipment_Tbl,
1828 P_Ln_Freight_Charge_Tbl => p_Ln_Freight_Charge_Tbl,
1829 P_Ln_Tax_Detail_Tbl => p_Ln_Tax_Detail_Tbl,
1830 x_qte_header_rec => x_qte_header_rec,
1831 X_Hd_Price_Attributes_Tbl => x_Hd_Price_Attributes_Tbl,
1832 X_Hd_Payment_Tbl => x_Hd_Payment_Tbl,
1833 X_Hd_Shipment_Rec => x_Hd_Shipment_Rec,
1834 X_Hd_Freight_Charge_Tbl => x_Hd_Freight_Charge_Tbl,
1835 X_Hd_Tax_Detail_Tbl => x_Hd_Tax_Detail_Tbl,
1836 X_hd_Attr_Ext_Tbl => x_hd_Attr_Ext_Tbl,
1837 X_hd_Sales_Credit_Tbl => x_hd_Sales_Credit_Tbl,
1838 X_hd_Quote_Party_Tbl => x_hd_Quote_Party_Tbl,
1839 X_Qte_Line_Tbl => x_Qte_Line_Tbl,
1840 X_Qte_Line_Dtl_Tbl => x_Qte_Line_Dtl_Tbl,
1841 x_Line_Attr_Ext_Tbl => x_Line_Attr_Ext_Tbl,
1842 X_Line_rltship_tbl => x_Line_Rltship_Tbl,
1843 X_Price_Adjustment_Tbl => x_Price_Adjustment_Tbl,
1844 x_Price_Adj_Attr_Tbl => x_Price_Adj_Attr_Tbl,
1845 X_Price_Adj_Rltship_Tbl => x_Price_Adj_Rltship_Tbl,
1846 X_Ln_Price_Attributes_Tbl => x_Ln_Price_Attributes_Tbl,
1847 X_Ln_Payment_Tbl => x_Ln_Payment_Tbl,
1848 X_Ln_Shipment_Tbl => x_Ln_Shipment_Tbl,
1849 X_Ln_Freight_Charge_Tbl => x_Ln_Freight_Charge_Tbl,
1850 X_Ln_Tax_Detail_Tbl => x_Ln_Tax_Detail_Tbl,
1851 X_Ln_Sales_Credit_Tbl => x_ln_Sales_Credit_Tbl,
1852 X_Ln_Quote_Party_Tbl => x_ln_Quote_Party_Tbl,
1853 x_Qte_Access_Tbl => x_Qte_Access_Tbl,
1854 x_Template_Tbl => x_Template_Tbl,
1855 X_Related_Obj_Tbl => X_Related_Obj_Tbl,
1856 X_Return_Status => x_return_status,
1857 X_Msg_Count => x_msg_count,
1858 X_Msg_Data => x_msg_data);
1859
1860 if aso_debug_pub.g_debug_flag = 'Y' then
1861 aso_debug_pub.add('After call to the second overloaded create_quote procedure: x_return_status: '|| x_return_status, 1, 'Y');
1862 end if;
1863
1864 END Create_Quote;
1865
1866
1867 -- *******************************************************
1868 -- Start of Comments
1869 -- *******************************************************
1870 -- API Name: Update_quote
1871 -- Type : Public
1872 -- Pre-Req :
1873 -- Parameters:
1874
1875 -- This is an overloaded procedure. It takes additional attributes
1876 -- which include the hd_attributes, sales credits and quote party record types
1877
1878
1879 PROCEDURE Update_quote(
1880 P_Api_Version_Number IN NUMBER,
1881 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
1882 P_Commit IN VARCHAR2 := FND_API.G_FALSE,
1883 P_Validation_Level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1884 P_Control_Rec IN Control_Rec_Type := G_Miss_Control_Rec,
1885 P_Qte_Header_Rec IN Qte_Header_Rec_Type := G_MISS_Qte_Header_Rec,
1886 P_hd_Price_Attributes_Tbl IN ASO_QUOTE_PUB.Price_Attributes_Tbl_Type := G_Miss_Price_Attributes_Tbl,
1887 P_hd_Payment_Tbl IN ASO_QUOTE_PUB.Payment_Tbl_Type := G_MISS_PAYMENT_TBL,
1888 P_hd_Shipment_Tbl IN ASO_QUOTE_PUB.Shipment_Tbl_Type := G_MISS_SHIPMENT_TBL,
1889 P_hd_Freight_Charge_Tbl IN ASO_QUOTE_PUB.Freight_Charge_Tbl_Type := G_Miss_Freight_Charge_Tbl,
1890 P_hd_Tax_Detail_Tbl IN ASO_QUOTE_PUB.Tax_Detail_Tbl_Type := G_Miss_Tax_Detail_Tbl,
1891 P_hd_Attr_Ext_Tbl IN Line_Attribs_Ext_Tbl_Type := G_MISS_Line_Attribs_Ext_TBL,
1892 P_hd_Sales_Credit_Tbl IN Sales_Credit_Tbl_Type := G_MISS_Sales_Credit_Tbl,
1893 P_hd_Quote_Party_Tbl IN Quote_Party_Tbl_Type := G_MISS_Quote_Party_Tbl,
1894 P_Qte_Line_Tbl IN Qte_Line_Tbl_Type := G_MISS_QTE_LINE_TBL,
1895 P_Qte_Line_Dtl_Tbl IN Qte_Line_Dtl_Tbl_Type := G_MISS_QTE_LINE_DTL_TBL,
1896 P_Line_Attr_Ext_Tbl IN Line_Attribs_Ext_Tbl_Type := G_MISS_Line_Attribs_Ext_TBL,
1897 P_line_rltship_tbl IN Line_Rltship_Tbl_Type := G_MISS_Line_Rltship_Tbl,
1898 P_Price_Adjustment_Tbl IN Price_Adj_Tbl_Type := G_Miss_Price_Adj_Tbl,
1899 P_Price_Adj_Attr_Tbl IN Price_Adj_Attr_Tbl_Type := G_Miss_PRICE_ADJ_ATTR_Tbl,
1900 P_Price_Adj_Rltship_Tbl IN Price_Adj_Rltship_Tbl_Type := G_Miss_Price_Adj_Rltship_Tbl,
1901 P_Ln_Price_Attributes_Tbl IN Price_Attributes_Tbl_Type := G_Miss_Price_Attributes_Tbl,
1902 P_Ln_Payment_Tbl IN Payment_Tbl_Type := G_MISS_PAYMENT_TBL,
1903 P_Ln_Shipment_Tbl IN Shipment_Tbl_Type := G_MISS_SHIPMENT_TBL,
1904 P_Ln_Freight_Charge_Tbl IN Freight_Charge_Tbl_Type := G_Miss_Freight_Charge_Tbl,
1905 P_Ln_Tax_Detail_Tbl IN Tax_Detail_Tbl_Type := G_Miss_Tax_Detail_Tbl,
1906 P_ln_Sales_Credit_Tbl IN Sales_Credit_Tbl_Type := G_MISS_Sales_Credit_Tbl,
1907 P_ln_Quote_Party_Tbl IN Quote_Party_Tbl_Type := G_MISS_Quote_Party_Tbl,
1908 x_Qte_Header_Rec OUT NOCOPY /* file.sql.39 change */ Qte_Header_Rec_Type,
1909 X_Qte_Line_Tbl OUT NOCOPY /* file.sql.39 change */ Qte_Line_Tbl_Type,
1910 X_Qte_Line_Dtl_Tbl OUT NOCOPY /* file.sql.39 change */ Qte_Line_Dtl_Tbl_Type,
1911 X_Hd_Price_Attributes_Tbl OUT NOCOPY /* file.sql.39 change */ Price_Attributes_Tbl_Type,
1912 X_Hd_Payment_Tbl OUT NOCOPY /* file.sql.39 change */ Payment_Tbl_Type,
1913 X_Hd_Shipment_Tbl OUT NOCOPY /* file.sql.39 change */ Shipment_Tbl_Type,
1914 X_Hd_Freight_Charge_Tbl OUT NOCOPY /* file.sql.39 change */ Freight_Charge_Tbl_Type,
1915 X_Hd_Tax_Detail_Tbl OUT NOCOPY /* file.sql.39 change */ Tax_Detail_Tbl_Type,
1916 X_hd_Attr_Ext_Tbl OUT NOCOPY /* file.sql.39 change */ Line_Attribs_Ext_Tbl_Type,
1917 X_hd_Sales_Credit_Tbl OUT NOCOPY /* file.sql.39 change */ Sales_Credit_Tbl_Type,
1918 X_hd_Quote_Party_Tbl OUT NOCOPY /* file.sql.39 change */ Quote_Party_Tbl_Type,
1919 x_Line_Attr_Ext_Tbl OUT NOCOPY /* file.sql.39 change */ Line_Attribs_Ext_Tbl_Type,
1920 X_line_rltship_tbl OUT NOCOPY /* file.sql.39 change */ Line_Rltship_Tbl_Type,
1921 X_Price_Adjustment_Tbl OUT NOCOPY /* file.sql.39 change */ Price_Adj_Tbl_Type,
1922 X_Price_Adj_Attr_Tbl OUT NOCOPY /* file.sql.39 change */ Price_Adj_Attr_Tbl_Type,
1923 X_Price_Adj_Rltship_Tbl OUT NOCOPY /* file.sql.39 change */ Price_Adj_Rltship_Tbl_Type,
1924 X_Ln_Price_Attributes_Tbl OUT NOCOPY /* file.sql.39 change */ Price_Attributes_Tbl_Type,
1925 X_Ln_Payment_Tbl OUT NOCOPY /* file.sql.39 change */ Payment_Tbl_Type,
1926 X_Ln_Shipment_Tbl OUT NOCOPY /* file.sql.39 change */ Shipment_Tbl_Type,
1927 X_Ln_Freight_Charge_Tbl OUT NOCOPY /* file.sql.39 change */ Freight_Charge_Tbl_Type,
1928 X_Ln_Tax_Detail_Tbl OUT NOCOPY /* file.sql.39 change */ Tax_Detail_Tbl_Type,
1929 X_Ln_Sales_Credit_Tbl OUT NOCOPY /* file.sql.39 change */ Sales_Credit_Tbl_Type,
1930 X_Ln_Quote_Party_Tbl OUT NOCOPY /* file.sql.39 change */ Quote_Party_Tbl_Type,
1931 X_Return_Status OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
1932 X_Msg_Count OUT NOCOPY /* file.sql.39 change */ NUMBER,
1933 X_Msg_Data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1934 )
1935 IS
1936 x_Qte_Access_Tbl Qte_Access_Tbl_Type;
1937 x_Template_Tbl Template_Tbl_Type;
1938 X_Related_Obj_Tbl Related_Obj_Tbl_Type;
1939 BEGIN
1940 aso_debug_pub.g_debug_flag := nvl(fnd_profile.value('ASO_ENABLE_DEBUG'),'N');
1941
1942 if aso_debug_pub.g_debug_flag = 'Y' then
1943 aso_debug_pub.add('Before call to the second overloaded update_quote procedure.',1, 'Y');
1944 end if;
1945
1946 Update_quote(
1947 P_Api_Version_Number => 1.0,
1948 P_Init_Msg_List => p_init_msg_list,
1949 P_Commit => p_commit,
1950 P_Control_Rec => p_control_rec,
1951 P_qte_header_rec => p_qte_header_rec,
1952 P_Hd_Price_Attributes_Tbl => p_Hd_Price_Attributes_Tbl,
1953 P_Hd_Payment_Tbl => p_Hd_Payment_Tbl,
1954 P_Hd_Shipment_Tbl => p_Hd_Shipment_Tbl,
1955 P_hd_Sales_Credit_Tbl => P_hd_Sales_Credit_Tbl, --Yogeshwar(# Added parameter to address sales credit allocation issue)
1956 P_ln_Sales_Credit_Tbl => P_ln_Sales_Credit_Tbl, --Yogeshwar(# Added parameter to address sales credit allocation issue)
1957 P_Hd_Freight_Charge_Tbl => p_Hd_Freight_Charge_Tbl,
1958 P_Hd_Tax_Detail_Tbl => p_Hd_Tax_Detail_Tbl,
1959 P_Qte_Line_Tbl => p_Qte_Line_Tbl,
1960 P_Qte_Line_Dtl_Tbl => p_Qte_Line_Dtl_Tbl,
1961 P_Line_Attr_Ext_Tbl => P_Line_Attr_Ext_Tbl,
1962 P_Line_rltship_tbl => p_Line_Rltship_Tbl,
1963 P_Price_Adjustment_Tbl => p_Price_Adjustment_Tbl,
1964 P_Price_Adj_Attr_Tbl => P_Price_Adj_Attr_Tbl,
1965 P_Price_Adj_Rltship_Tbl => p_Price_Adj_Rltship_Tbl,
1966 P_Ln_Price_Attributes_Tbl => p_Ln_Price_Attributes_Tbl,
1967 P_Ln_Payment_Tbl => p_Ln_Payment_Tbl,
1968 P_Ln_Shipment_Tbl => p_Ln_Shipment_Tbl,
1969 P_Ln_Freight_Charge_Tbl => p_Ln_Freight_Charge_Tbl,
1970 P_Ln_Tax_Detail_Tbl => p_Ln_Tax_Detail_Tbl,
1971 x_qte_header_rec => x_qte_header_rec,
1972 X_Hd_Price_Attributes_Tbl => x_Hd_Price_Attributes_Tbl,
1973 X_Hd_Payment_Tbl => x_Hd_Payment_Tbl,
1974 X_Hd_Shipment_tbl => x_Hd_Shipment_tbl,
1975 X_Hd_Freight_Charge_Tbl => x_Hd_Freight_Charge_Tbl,
1976 X_Hd_Tax_Detail_Tbl => x_Hd_Tax_Detail_Tbl,
1977 X_hd_Attr_Ext_Tbl => X_hd_Attr_Ext_Tbl,
1978 X_hd_Sales_Credit_Tbl => X_hd_Sales_Credit_Tbl,
1979 X_hd_Quote_Party_Tbl => X_hd_Quote_Party_Tbl,
1980 X_Qte_Line_Tbl => x_Qte_Line_Tbl,
1981 X_Qte_Line_Dtl_Tbl => x_Qte_Line_Dtl_Tbl,
1982 x_Line_Attr_Ext_Tbl => x_Line_Attr_Ext_Tbl,
1983 X_Line_rltship_tbl => x_Line_Rltship_Tbl,
1984 X_Price_Adjustment_Tbl => x_Price_Adjustment_Tbl,
1985 x_Price_Adj_Attr_Tbl => x_Price_Adj_Attr_Tbl,
1986 X_Price_Adj_Rltship_Tbl => x_Price_Adj_Rltship_Tbl,
1987 X_Ln_Price_Attributes_Tbl => x_Ln_Price_Attributes_Tbl,
1988 X_Ln_Payment_Tbl => x_Ln_Payment_Tbl,
1989 X_Ln_Shipment_Tbl => x_Ln_Shipment_Tbl,
1990 X_Ln_Freight_Charge_Tbl => x_Ln_Freight_Charge_Tbl,
1991 X_Ln_Tax_Detail_Tbl => x_Ln_Tax_Detail_Tbl,
1992 X_Ln_Sales_Credit_Tbl => X_ln_Sales_Credit_Tbl,
1993 X_Ln_Quote_Party_Tbl => X_ln_Quote_Party_Tbl,
1994 x_Qte_Access_Tbl => x_Qte_Access_Tbl,
1995 x_Template_Tbl => x_Template_Tbl,
1996 X_Related_Obj_Tbl => X_Related_Obj_Tbl,
1997 X_Return_Status => x_return_status,
1998 X_Msg_Count => x_msg_count,
1999 X_Msg_Data => x_msg_data);
2000
2001 if aso_debug_pub.g_debug_flag = 'Y' then
2002 aso_debug_pub.add('After call to the second overloaded update_quote procedure: x_return_status: '|| x_return_status, 1, 'Y');
2003 end if;
2004
2005 End Update_quote;
2006
2007
2008
2009
2010
2011 -- *******************************************************
2012 -- Start of Comments
2013 -- *******************************************************
2014 -- API Name: Submit_Quote
2015 -- Type : Public
2016 -- Pre-Req :
2017 -- Parameters:
2018 -- overloaded function includes the p_commit flag
2019 --
2020 -- End of Comments
2021 --
2022 PROCEDURE Submit_quote(
2023 P_Api_Version_Number IN NUMBER,
2024 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
2025 P_commit IN VARCHAR2 ,
2026 p_control_rec IN Submit_Control_Rec_Type
2027 := G_MISS_Submit_Control_Rec,
2028 P_Qte_Header_Id IN NUMBER,
2029 x_order_header_rec OUT NOCOPY /* file.sql.39 change */ Order_Header_Rec_Type,
2030 X_Return_Status OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
2031 X_Msg_Count OUT NOCOPY /* file.sql.39 change */ NUMBER,
2032 X_Msg_Data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
2033 )
2034 IS
2035 BEGIN
2036 aso_debug_pub.g_debug_flag := nvl(fnd_profile.value('ASO_ENABLE_DEBUG'),'N');
2037 Submit_quote(
2038 P_Api_Version_Number => P_Api_Version_Number,
2039 P_Init_Msg_List => P_Init_Msg_List ,
2040 P_control_rec => P_control_rec,
2041 P_Qte_Header_Id => P_Qte_Header_Id,
2042 x_order_header_rec => x_order_header_rec,
2043 X_Return_Status => X_Return_Status,
2044 X_Msg_Count => X_Msg_Count,
2045 X_Msg_Data => X_Msg_Data
2046 );
2047 IF FND_API.to_Boolean( p_commit )
2048 THEN
2049 COMMIT WORK;
2050 END IF;
2051 END;
2052
2053
2054 -- *******************************************************
2055 -- Start of Comments
2056 -- *******************************************************
2057 -- API Name: Create_Quote_Line
2058 -- Type : Public
2059 -- Pre-Req :
2060 -- Parameters:
2061
2062
2063 --
2064 -- End of Comments
2065 --
2066 PROCEDURE Create_Quote_Line(
2067
2068 P_Api_Version_Number IN NUMBER,
2069 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
2070 P_Commit IN VARCHAR2 := FND_API.G_FALSE,
2071 P_Validation_Level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
2072 P_Qte_Header_Rec IN Qte_Header_Rec_Type := G_MISS_Qte_Header_Rec,
2073 P_Qte_Line_Rec IN Qte_Line_Rec_Type := G_MISS_qte_line_REC,
2074 P_Control_Rec IN Control_rec_Type := G_MISS_control_REC,
2075 P_Qte_Line_Dtl_Tbl IN Qte_Line_Dtl_Tbl_Type:= G_MISS_qte_line_dtl_TBL,
2076 P_Line_Attribs_Ext_Tbl IN Line_Attribs_Ext_Tbl_type
2077 := G_Miss_Line_Attribs_Ext_Tbl,
2078 P_Payment_Tbl IN Payment_Tbl_Type := G_MISS_Payment_TBL,
2079 P_Price_Adj_Tbl IN Price_Adj_Tbl_Type := G_MISS_Price_Adj_TBL,
2080 P_Price_Attributes_Tbl IN Price_Attributes_Tbl_Type := G_MISS_Price_attributes_TBL,
2081 P_Price_Adj_Attr_Tbl IN Price_Adj_Attr_Tbl_Type
2082 := G_Miss_PRICE_ADJ_ATTR_Tbl,
2083 P_Shipment_Tbl IN Shipment_Tbl_Type := G_MISS_shipment_TBL,
2084 P_Tax_Detail_Tbl IN Tax_Detail_Tbl_Type:= G_MISS_tax_detail_TBL,
2085 P_Freight_Charge_Tbl IN Freight_Charge_Tbl_Type := G_MISS_freight_charge_TBL,
2086 P_Sales_Credit_Tbl IN Sales_Credit_Tbl_Type
2087 := G_MISS_Sales_Credit_Tbl,
2088 P_Quote_Party_Tbl IN Quote_Party_Tbl_Type
2089 := G_MISS_Quote_Party_Tbl,
2090 P_Update_Header_Flag IN VARCHAR2 := FND_API.G_TRUE,
2091 X_Qte_Line_Rec OUT NOCOPY /* file.sql.39 change */ Qte_Line_Rec_Type,
2092 X_Qte_Line_Dtl_TBL OUT NOCOPY /* file.sql.39 change */ Qte_Line_Dtl_TBL_Type,
2093 X_Line_Attribs_Ext_Tbl OUT NOCOPY /* file.sql.39 change */ Line_Attribs_Ext_Tbl_type,
2094 X_Payment_Tbl OUT NOCOPY /* file.sql.39 change */ Payment_Tbl_Type,
2095 X_Price_Adj_Tbl OUT NOCOPY /* file.sql.39 change */ Price_Adj_Tbl_Type,
2096 X_Price_Attributes_Tbl OUT NOCOPY /* file.sql.39 change */ Price_Attributes_Tbl_Type ,
2097 X_Price_Adj_Attr_Tbl OUT NOCOPY /* file.sql.39 change */ Price_Adj_Attr_Tbl_Type,
2098 X_Shipment_Tbl OUT NOCOPY /* file.sql.39 change */ Shipment_Tbl_Type,
2099 X_Tax_Detail_Tbl OUT NOCOPY /* file.sql.39 change */ Tax_Detail_Tbl_Type,
2100 X_Freight_Charge_Tbl OUT NOCOPY /* file.sql.39 change */ Freight_Charge_Tbl_Type ,
2101 X_Sales_Credit_Tbl OUT NOCOPY /* file.sql.39 change */ Sales_Credit_Tbl_Type,
2102 X_Quote_Party_Tbl OUT NOCOPY /* file.sql.39 change */ Quote_Party_Tbl_Type,
2103 X_Return_Status OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
2104 X_Msg_Count OUT NOCOPY /* file.sql.39 change */ NUMBER,
2105 X_Msg_Data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
2106 )
2107 IS
2108 l_api_name CONSTANT VARCHAR2(30) := 'CREATE_QUOTE_LINE';
2109 l_api_version_number CONSTANT NUMBER := 1.0;
2110
2111
2112 l_Qte_Line_Rec Qte_Line_Rec_Type ;
2113 l_Qte_Line_Rec_out Qte_Line_Rec_Type ;
2114 l_Payment_Tbl Payment_Tbl_Type ;
2115 l_Price_Adj_Tbl Price_Adj_Tbl_Type;
2116 l_Qte_Line_Dtl_rec Qte_Line_Dtl_rec_Type ;
2117 l_Shipment_Tbl Shipment_Tbl_Type;
2118 l_Tax_Detail_Tbl Tax_Detail_Tbl_Type;
2119 l_Freight_Charge_Tbl Freight_Charge_Tbl_Type;
2120 l_Line_Rltship_Tbl Line_Rltship_Tbl_Type;
2121 l_Price_Attributes_Tbl Price_Attributes_Tbl_Type;
2122 l_Price_Adj_rltship_Tbl Price_Adj_Rltship_Tbl_Type;
2123 l_Price_Adj_Attr_Tbl Price_Adj_Attr_Tbl_Type;
2124 l_Line_Attribs_Ext_Tbl Line_Attribs_Ext_Tbl_type;
2125 l_Qte_Line_Dtl_tbl Qte_Line_Dtl_tbl_Type;
2126 l_Sales_Credit_Tbl Sales_Credit_Tbl_Type ;
2127 l_Quote_Party_Tbl Quote_Party_Tbl_Type;
2128 l_Control_Rec Control_rec_Type;
2129 l_update_header_flag VARCHAR2(10);
2130
2131 my_message VARCHAR2(2000);
2132
2133 BEGIN
2134
2135 -- Standard Start of API savepoint
2136 SAVEPOINT CREATE_QUOTE_LINE_PUB;
2137
2138 aso_debug_pub.g_debug_flag := nvl(fnd_profile.value('ASO_ENABLE_DEBUG'),'N');
2139
2140 -- Standard call to check for call compatibility.
2141 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
2142 p_api_version_number,
2143 l_api_name,
2144 G_PKG_NAME)
2145 THEN
2146 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2147 END IF;
2148
2149
2150 -- Initialize message list if p_init_msg_list is set to TRUE.
2151 IF FND_API.to_Boolean( p_init_msg_list )
2152 THEN
2153 FND_MSG_PUB.initialize;
2154 END IF;
2155
2156
2157
2158
2159 -- Initialize API return status to SUCCESS
2160 x_return_status := FND_API.G_RET_STS_SUCCESS;
2161
2162 --
2163 -- API body
2164 --
2165
2166 -- mapping to local variables
2167
2168 l_Qte_Line_Rec := p_Qte_Line_Rec ;
2169 l_Payment_Tbl := p_Payment_Tbl ;
2170 l_Price_Adj_Tbl := p_Price_Adj_Tbl ;
2171 l_Shipment_Tbl := p_Shipment_Tbl ;
2172 l_Tax_Detail_Tbl := p_Tax_Detail_Tbl;
2173 l_Freight_Charge_Tbl := p_Freight_Charge_Tbl ;
2174 -- l_Line_Rltship_Tbl := p_Line_Rltship_Tbl ;
2175 l_Price_Attributes_Tbl := p_Price_Attributes_Tbl ;
2176 -- l_Price_Adj_rltship_Tbl := p_Price_Adj_Rltship_Tbl;
2177 l_Price_Adj_Attr_Tbl := p_Price_Adj_Attr_Tbl ;
2178 l_Line_Attribs_Ext_Tbl := p_Line_Attribs_Ext_Tbl ;
2179 l_Qte_Line_Dtl_tbl := p_Qte_Line_Dtl_tbl ;
2180 l_control_rec := p_control_rec ;
2181 l_update_header_flag := p_update_header_flag ;
2182 l_Quote_Party_Tbl := P_Quote_Party_Tbl ;
2183 l_Sales_Credit_Tbl := P_Sales_Credit_Tbl ;
2184
2185
2186 -- call user hooks
2187 -- customer pre processing
2188
2189 IF (JTF_USR_HKS.ok_to_execute(G_PKG_NAME, l_api_name, 'B', 'C')) THEN
2190 ASO_QUOTE_CUHK.Create_Quote_Line_PRE(
2191 P_Qte_Line_Rec => l_qte_line_rec ,
2192 P_Control_Rec => l_control_rec ,
2193 P_Qte_Line_Dtl_Tbl => l_qte_line_dtl_tbl ,
2194 P_Line_Attribs_Ext_Tbl =>l_line_attribs_ext_tbl,
2195 P_Payment_Tbl => l_payment_tbl,
2196 P_Price_Adj_Tbl => l_price_adj_tbl,
2197 P_Price_Attributes_Tbl =>l_price_attributes_tbl,
2198 P_Price_Adj_Attr_Tbl => l_price_adj_attr_tbl,
2199 P_Shipment_Tbl => l_shipment_tbl ,
2200 P_Tax_Detail_Tbl => l_tax_detail_tbl ,
2201 P_Freight_Charge_Tbl => l_freight_charge_tbl,
2202 P_Sales_Credit_Tbl => l_Sales_Credit_Tbl ,
2203 P_Quote_Party_Tbl => l_Quote_Party_Tbl,
2204 P_Update_Header_Flag => l_update_header_flag,
2205 X_Return_Status => x_return_status ,
2206 X_Msg_Count => x_msg_count ,
2207 X_Msg_Data => x_msg_data
2208 );
2209
2210 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2211 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
2212 FND_MESSAGE.Set_Name('ASO', 'ERROR_RETURNED');
2213 FND_MESSAGE.Set_Token('API', 'ASO_QUOTE_CUHK.Create_Quote_Line_PRE', FALSE);
2214 FND_MSG_PUB.ADD;
2215 END IF;
2216 IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2217 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2218 ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2219 RAISE FND_API.G_EXC_ERROR;
2220 END IF;
2221 END IF;
2222 END IF; -- customer hook
2223
2224
2225 -- vertical hook
2226 IF (JTF_USR_HKS.ok_to_execute(G_PKG_NAME, l_api_name, 'B', 'V')) THEN
2227 ASO_QUOTE_VUHK.Create_Quote_Line_PRE(
2228 P_Qte_Line_Rec => l_qte_line_rec ,
2229 P_Control_Rec => l_control_rec ,
2230 P_Qte_Line_Dtl_Tbl => l_qte_line_dtl_tbl ,
2231 P_Line_Attribs_Ext_Tbl =>l_line_attribs_ext_tbl,
2232 P_Payment_Tbl => l_payment_tbl,
2233 P_Price_Adj_Tbl => l_price_adj_tbl,
2234 P_Price_Attributes_Tbl =>l_price_attributes_tbl,
2235 P_Price_Adj_Attr_Tbl => l_price_adj_attr_tbl,
2236 P_Shipment_Tbl => l_shipment_tbl ,
2237 P_Tax_Detail_Tbl => l_tax_detail_tbl ,
2238 P_Freight_Charge_Tbl => l_freight_charge_tbl,
2239 P_Sales_Credit_Tbl => l_Sales_Credit_Tbl ,
2240 P_Quote_Party_Tbl => l_Quote_Party_Tbl,
2241 P_Update_Header_Flag => l_update_header_flag,
2242 X_Return_Status => x_return_status ,
2243 X_Msg_Count => x_msg_count ,
2244 X_Msg_Data => x_msg_data
2245 );
2246
2247 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2248 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
2249 FND_MESSAGE.Set_Name('ASO', 'ERROR_RETURNED');
2250 FND_MESSAGE.Set_Token('API', 'ASO_QUOTE_VUHK.Create_Quote_Line_PRE', FALSE);
2251 FND_MSG_PUB.ADD;
2252 END IF;
2253 IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2254 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2255 ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2256 RAISE FND_API.G_EXC_ERROR;
2257 END IF;
2258 END IF;
2259 END IF; -- vertical hook
2260
2261
2262
2263
2264 -- Convert the values to ids
2265 Convert_Line_Values_To_Ids (
2266 p_qte_line_rec => l_qte_line_rec,
2267 x_qte_line_rec => l_qte_line_rec_out);
2268
2269 l_qte_line_rec := l_qte_line_rec_out;
2270
2271
2272 /* FOR i IN 1..p_shipment_tbl.count LOOP
2273 Convert_Shipment_Values_To_Ids (
2274 p_shipment_rec => p_shipment_tbl(i),
2275 x_shipment_rec => l_shipment_tbl(i));
2276 END LOOP;
2277 */
2278
2279 -- Call Private API
2280 ASO_QUOTE_LINES_PVT.Create_Quote_Lines(
2281 P_Api_Version_Number => 1.0,
2282 P_Init_Msg_List => p_init_msg_list,
2283 P_Commit => p_commit,
2284 -- P_Validation_Level => ASO_UTILITY_PVT.G_VALID_LEVEL_ITEM,
2285 P_Validation_Level => FND_API.G_VALID_LEVEL_FULL,
2286 p_qte_header_rec => p_qte_header_rec,
2287 P_Qte_Line_Rec => l_qte_line_rec,
2288 P_Control_REC => l_control_rec ,
2289 P_Payment_Tbl => l_payment_tbl ,
2290 P_Price_Adj_Tbl => l_price_adj_tbl ,
2291 P_Qte_Line_Dtl_Tbl => l_Qte_Line_Dtl_Tbl,
2292 P_Shipment_Tbl => l_Shipment_Tbl ,
2293 P_Tax_Detail_Tbl => l_Tax_Detail_Tbl ,
2294 P_Freight_Charge_Tbl => l_Freight_Charge_Tbl,
2295 P_Price_Attributes_Tbl => l_Price_Attributes_Tbl,
2296 P_Price_Adj_Attr_Tbl =>l_Price_Adj_Attr_Tbl,
2297 P_Line_Attribs_Ext_Tbl =>l_Line_Attribs_Ext_Tbl,
2298 P_Sales_Credit_Tbl => l_Sales_Credit_Tbl ,
2299 P_Quote_Party_Tbl => l_Quote_Party_Tbl,
2300 P_Update_Header_Flag =>l_Update_Header_Flag ,
2301 X_qte_line_rec => X_qte_line_rec,
2302 X_payment_tbl => x_payment_tbl,
2303 X_Price_Adj_Tbl => x_price_adj_tbl,
2304 X_Qte_Line_Dtl_Tbl => x_qte_line_dtl_tbl,
2305 X_Shipment_Tbl => x_shipment_tbl,
2306 X_Tax_Detail_Tbl => x_tax_detail_tbl,
2307 X_Freight_Charge_Tbl => x_freight_charge_tbl,
2308 X_Price_Attributes_Tbl => x_price_attributes_tbl,
2309 X_Price_Adj_Attr_Tbl => x_Price_Adj_Attr_Tbl,
2310 X_Line_Attribs_Ext_Tbl => x_Line_Attribs_Ext_Tbl,
2311 X_Sales_Credit_Tbl => X_Sales_Credit_Tbl,
2312 X_Quote_Party_Tbl => X_Quote_Party_Tbl,
2313 X_Return_Status => x_return_status,
2314 X_Msg_Count => x_msg_count,
2315 X_Msg_Data => x_msg_data
2316 );
2317
2318
2319 -- Check return status from the above procedure call
2320 IF x_return_status = FND_API.G_RET_STS_ERROR then
2321 raise FND_API.G_EXC_ERROR;
2322 elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
2323 raise FND_API.G_EXC_UNEXPECTED_ERROR;
2324 END IF;
2325 my_message := fnd_msg_pub.get(p_encoded => FND_API.g_false);
2326 while (my_message is not null) loop
2327 my_message := fnd_msg_pub.get(p_encoded => FND_API.g_false);
2328 end loop;
2329
2330 --
2331 -- End of API body.
2332 --
2333
2334
2335
2336 -- call user hooks
2337 -- customer post processing
2338
2339 IF (JTF_USR_HKS.ok_to_execute(G_PKG_NAME, l_api_name, 'A', 'C')) THEN
2340 ASO_QUOTE_CUHK.Create_Quote_Line_POST(
2341 P_Qte_Line_Rec => x_qte_line_rec ,
2342 P_Control_Rec => l_control_rec ,
2343 P_Qte_Line_Dtl_Tbl => x_qte_line_dtl_tbl ,
2344 P_Line_Attribs_Ext_Tbl =>x_line_attribs_ext_tbl,
2345 P_Payment_Tbl => x_payment_tbl,
2346 P_Price_Adj_Tbl => x_price_adj_tbl,
2347 P_Price_Attributes_Tbl =>x_price_attributes_tbl,
2348 P_Price_Adj_Attr_Tbl => x_price_adj_attr_tbl,
2349 P_Shipment_Tbl => x_shipment_tbl ,
2350 P_Tax_Detail_Tbl => x_tax_detail_tbl ,
2351 P_Freight_Charge_Tbl => x_freight_charge_tbl,
2352 P_Sales_Credit_Tbl => x_Sales_Credit_Tbl ,
2353 P_Quote_Party_Tbl => x_Quote_Party_Tbl,
2354 P_Update_Header_Flag => l_update_header_flag,
2355 X_Return_Status => x_return_status ,
2356 X_Msg_Count => x_msg_count ,
2357 X_Msg_Data => x_msg_data
2358 );
2359
2360 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2361 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
2362 FND_MESSAGE.Set_Name('ASO', 'ERROR_RETURNED');
2363 FND_MESSAGE.Set_Token('API', 'ASO_QUOTE_CUHK.Create_Quote_Line_POST', FALSE);
2364 FND_MSG_PUB.ADD;
2365 END IF;
2366 IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2367 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2368 ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2369 RAISE FND_API.G_EXC_ERROR;
2370 END IF;
2371 END IF;
2372 END IF; -- customer hook
2373
2374 IF aso_debug_pub.g_debug_flag = 'Y' THEN
2375 aso_debug_pub.add('aso_quote_vuhk: before if create quote line post (1) '||x_return_status,1, 'N');
2376 END IF;
2377
2378 -- vertical hook
2379 IF (JTF_USR_HKS.ok_to_execute(G_PKG_NAME, l_api_name, 'A', 'V')) THEN
2380 IF aso_debug_pub.g_debug_flag = 'Y' THEN
2381 aso_debug_pub.add('aso_quote_vuhk: inside if create quote line post (1)'||x_return_status,1, 'N');
2382 END IF;
2383 ASO_QUOTE_VUHK.Create_Quote_Line_POST(
2384 P_Qte_Line_Rec => x_qte_line_rec ,
2385 P_Control_Rec => l_control_rec ,
2386 P_Qte_Line_Dtl_Tbl => x_qte_line_dtl_tbl ,
2387 P_Line_Attribs_Ext_Tbl =>x_line_attribs_ext_tbl,
2388 P_Payment_Tbl => x_payment_tbl,
2389 P_Price_Adj_Tbl => x_price_adj_tbl,
2390 P_Price_Attributes_Tbl =>x_price_attributes_tbl,
2391 P_Price_Adj_Attr_Tbl => x_price_adj_attr_tbl,
2392 P_Shipment_Tbl => x_shipment_tbl ,
2393 P_Tax_Detail_Tbl => x_tax_detail_tbl ,
2394 P_Freight_Charge_Tbl => x_freight_charge_tbl,
2395 P_Sales_Credit_Tbl => x_Sales_Credit_Tbl ,
2396 P_Quote_Party_Tbl => x_Quote_Party_Tbl,
2397 P_Update_Header_Flag => l_update_header_flag,
2398 X_Return_Status => x_return_status ,
2399 X_Msg_Count => x_msg_count ,
2400 X_Msg_Data => x_msg_data
2401 );
2402
2403 IF aso_debug_pub.g_debug_flag = 'Y' THEN
2404 aso_debug_pub.add('aso_quote_vuhk: after if create quote line post (1)'||x_return_status,1, 'N');
2405 END IF;
2406
2407
2408 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2409 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
2410 FND_MESSAGE.Set_Name('ASO', 'ERROR_RETURNED');
2411 FND_MESSAGE.Set_Token('API', 'ASO_QUOTE_VUHK.Create_Quote_Line_POST', FALSE);
2412 FND_MSG_PUB.ADD;
2413 END IF;
2414 IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2415 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2416 ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2417 RAISE FND_API.G_EXC_ERROR;
2418 END IF;
2419 END IF;
2420 END IF; -- vertical hook
2421
2422
2423
2424
2425 -- Standard check for p_commit
2426 IF FND_API.to_Boolean( p_commit )
2427 THEN
2428 COMMIT WORK;
2429 END IF;
2430
2431
2432
2433
2434 -- Standard call to get message count and if count is 1, get message info.
2435 FND_MSG_PUB.Count_And_Get
2436 ( p_count => x_msg_count,
2437 p_data => x_msg_data
2438 );
2439
2440 EXCEPTION
2441 WHEN FND_API.G_EXC_ERROR THEN
2442 ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
2443 P_API_NAME => L_API_NAME
2444 ,P_PKG_NAME => G_PKG_NAME
2445 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
2446 ,P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PUB
2447 ,P_SQLCODE => SQLCODE
2448 ,P_SQLERRM => SQLERRM
2449 ,X_MSG_COUNT => X_MSG_COUNT
2450 ,X_MSG_DATA => X_MSG_DATA
2451 ,X_RETURN_STATUS => X_RETURN_STATUS);
2452
2453 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2454 ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
2455 P_API_NAME => L_API_NAME
2456 ,P_PKG_NAME => G_PKG_NAME
2457 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
2458 ,P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PUB
2459 ,P_SQLCODE => SQLCODE
2460 ,P_SQLERRM => SQLERRM
2461 ,X_MSG_COUNT => X_MSG_COUNT
2462 ,X_MSG_DATA => X_MSG_DATA
2463 ,X_RETURN_STATUS => X_RETURN_STATUS);
2464
2465 WHEN OTHERS THEN
2466 ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
2467 P_API_NAME => L_API_NAME
2468 ,P_PKG_NAME => G_PKG_NAME
2469 ,P_EXCEPTION_LEVEL => ASO_UTILITY_PVT.G_EXC_OTHERS
2470 ,P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PUB
2471 ,P_SQLCODE => SQLCODE
2472 ,P_SQLERRM => SQLERRM
2473 ,X_MSG_COUNT => X_MSG_COUNT
2474 ,X_MSG_DATA => X_MSG_DATA
2475 ,X_RETURN_STATUS => X_RETURN_STATUS);
2476 END;
2477
2478
2479 -- *******************************************************
2480 -- Start of Comments
2481 -- *******************************************************
2482 -- API Name: Update_Quote_Line
2483 -- Type : Public
2484 -- Pre-Req :
2485 -- Parameters:
2486 -- IN
2487
2488 PROCEDURE Update_Quote_Line(
2489 P_Api_Version_Number IN NUMBER,
2490 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
2491 P_Commit IN VARCHAR2 := FND_API.G_FALSE,
2492 P_Validation_Level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
2493 P_Qte_Header_Rec IN Qte_Header_Rec_Type := G_MISS_Qte_Header_Rec,
2494 P_Qte_Line_Rec IN Qte_Line_Rec_Type := G_MISS_qte_line_REC,
2495 P_Control_Rec IN Control_rec_Type := G_MISS_control_REC,
2496 P_Qte_Line_Dtl_TBL IN Qte_Line_Dtl_tbl_Type:= G_MISS_qte_line_dtl_TBL,
2497 P_Line_Attribs_Ext_Tbl IN Line_Attribs_Ext_Tbl_type
2498 := G_Miss_Line_Attribs_Ext_Tbl,
2499 P_Payment_Tbl IN Payment_Tbl_Type := G_MISS_Payment_TBL,
2500 P_Price_Adj_Tbl IN Price_Adj_Tbl_Type := G_MISS_Price_Adj_TBL,
2501 P_Price_Attributes_Tbl IN Price_Attributes_Tbl_Type := G_MISS_Price_attributes_TBL,
2502 P_Price_Adj_Attr_Tbl IN Price_Adj_Attr_Tbl_Type
2503 := G_Miss_PRICE_ADJ_ATTR_Tbl,
2504 P_Shipment_Tbl IN Shipment_Tbl_Type := G_MISS_shipment_TBL,
2505 P_Tax_Detail_Tbl IN Tax_Detail_Tbl_Type:= G_MISS_tax_detail_TBL,
2506 P_Freight_Charge_Tbl IN Freight_Charge_Tbl_Type := G_MISS_freight_charge_TBL,
2507 P_Sales_Credit_Tbl IN Sales_Credit_Tbl_Type
2508 := G_MISS_Sales_Credit_Tbl,
2509 P_Quote_Party_Tbl IN Quote_Party_Tbl_Type
2510 := G_MISS_Quote_Party_Tbl,
2511 P_Update_Header_Flag IN VARCHAR2 := FND_API.G_TRUE,
2512 X_Qte_Line_Rec OUT NOCOPY /* file.sql.39 change */ Qte_Line_Rec_Type,
2513 X_Qte_Line_Dtl_TBL OUT NOCOPY /* file.sql.39 change */ Qte_Line_Dtl_TBL_Type,
2514 X_Line_Attribs_Ext_Tbl OUT NOCOPY /* file.sql.39 change */ Line_Attribs_Ext_Tbl_type,
2515 X_Payment_Tbl OUT NOCOPY /* file.sql.39 change */ Payment_Tbl_Type,
2516 X_Price_Adj_Tbl OUT NOCOPY /* file.sql.39 change */ Price_Adj_Tbl_Type,
2517 X_Price_Attributes_Tbl OUT NOCOPY /* file.sql.39 change */ Price_Attributes_Tbl_Type ,
2518 X_Price_Adj_Attr_Tbl OUT NOCOPY /* file.sql.39 change */ Price_Adj_Attr_Tbl_Type,
2519 X_Shipment_Tbl OUT NOCOPY /* file.sql.39 change */ Shipment_Tbl_Type,
2520 X_Tax_Detail_Tbl OUT NOCOPY /* file.sql.39 change */ Tax_Detail_Tbl_Type,
2521 X_Freight_Charge_Tbl OUT NOCOPY /* file.sql.39 change */ Freight_Charge_Tbl_Type ,
2522 X_Sales_Credit_Tbl OUT NOCOPY /* file.sql.39 change */ Sales_Credit_Tbl_Type,
2523 X_Quote_Party_Tbl OUT NOCOPY /* file.sql.39 change */ Quote_Party_Tbl_Type,
2524 X_Return_Status OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
2525 X_Msg_Count OUT NOCOPY /* file.sql.39 change */ NUMBER,
2526 X_Msg_Data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
2527 )
2528 IS
2529
2530 l_api_name CONSTANT VARCHAR2(30) := 'UPDATE_QUOTE_LINE';
2531 l_api_version_number CONSTANT NUMBER := 1.0;
2532
2533
2534 l_Qte_Line_Rec Qte_Line_Rec_Type ;
2535 l_Qte_Line_Rec_out Qte_Line_Rec_Type ;
2536 l_Payment_Tbl Payment_Tbl_Type ;
2537 l_Price_Adj_Tbl Price_Adj_Tbl_Type;
2538 l_Qte_Line_Dtl_rec Qte_Line_Dtl_rec_Type ;
2539 l_Shipment_Tbl Shipment_Tbl_Type;
2540 l_Tax_Detail_Tbl Tax_Detail_Tbl_Type;
2541 l_Freight_Charge_Tbl Freight_Charge_Tbl_Type;
2542 l_Line_Rltship_Tbl Line_Rltship_Tbl_Type;
2543 l_Price_Attributes_Tbl Price_Attributes_Tbl_Type;
2544 l_Price_Adj_rltship_Tbl Price_Adj_Rltship_Tbl_Type;
2545 l_Price_Adj_Attr_Tbl Price_Adj_Attr_Tbl_Type;
2546 l_Line_Attribs_Ext_Tbl Line_Attribs_Ext_Tbl_type;
2547 l_Qte_Line_Dtl_tbl Qte_Line_Dtl_tbl_Type;
2548 l_Control_Rec Control_rec_Type;
2549 l_update_header_flag VARCHAR2(10);
2550 l_Sales_Credit_Tbl Sales_Credit_Tbl_Type ;
2551 l_Quote_Party_Tbl Quote_Party_Tbl_Type;
2552
2553
2554 BEGIN
2555 -- Standard Start of API savepoint
2556 SAVEPOINT UPDATE_QUOTE_LINE_PUB;
2557
2558 aso_debug_pub.g_debug_flag := nvl(fnd_profile.value('ASO_ENABLE_DEBUG'),'N');
2559
2560 -- Standard call to check for call compatibility.
2561 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
2562 p_api_version_number,
2563 l_api_name,
2564 G_PKG_NAME)
2565 THEN
2566 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2567 END IF;
2568
2569
2570 -- Initialize message list if p_init_msg_list is set to TRUE.
2571 IF FND_API.to_Boolean( p_init_msg_list )
2572 THEN
2573 FND_MSG_PUB.initialize;
2574 END IF;
2575
2576
2577
2578
2579 -- Initialize API return status to SUCCESS
2580 x_return_status := FND_API.G_RET_STS_SUCCESS;
2581
2582 --
2583 -- API body
2584 --
2585
2586 -- mapping to local variables
2587
2588 l_Qte_Line_Rec := p_Qte_Line_Rec ;
2589 l_Payment_Tbl := p_Payment_Tbl ;
2590 l_Price_Adj_Tbl := p_Price_Adj_Tbl ;
2591 l_Shipment_Tbl := p_Shipment_Tbl ;
2592 l_Tax_Detail_Tbl := p_Tax_Detail_Tbl;
2593 l_Freight_Charge_Tbl := p_Freight_Charge_Tbl ;
2594 -- l_Line_Rltship_Tbl := p_Line_Rltship_Tbl ;
2595 l_Price_Attributes_Tbl := p_Price_Attributes_Tbl ;
2596 -- l_Price_Adj_rltship_Tbl := p_Price_Adj_Rltship_Tbl;
2597 l_Price_Adj_Attr_Tbl := p_Price_Adj_Attr_Tbl ;
2598 l_Line_Attribs_Ext_Tbl := p_Line_Attribs_Ext_Tbl ;
2599 l_Qte_Line_Dtl_tbl := p_Qte_Line_Dtl_tbl ;
2600 l_control_rec := p_control_rec ;
2601 l_update_header_flag := p_update_header_flag ;
2602 l_Quote_Party_Tbl := P_Quote_Party_Tbl ;
2603 l_Sales_Credit_Tbl := P_Sales_Credit_Tbl ;
2604
2605
2606
2607
2608
2609 -- call user hooks
2610 -- customer pre processing
2611
2612 IF (JTF_USR_HKS.ok_to_execute(G_PKG_NAME, l_api_name, 'B', 'C')) THEN
2613 ASO_QUOTE_CUHK.Update_Quote_Line_PRE(
2614 P_Qte_Line_Rec => l_qte_line_rec ,
2615 P_Control_Rec => l_control_rec ,
2616 P_Qte_Line_Dtl_Tbl => l_qte_line_dtl_tbl ,
2617 P_Line_Attribs_Ext_Tbl =>l_line_attribs_ext_tbl,
2618 P_Payment_Tbl => l_payment_tbl,
2619 P_Price_Adj_Tbl => l_price_adj_tbl,
2620 P_Price_Attributes_Tbl =>l_price_attributes_tbl,
2621 P_Price_Adj_Attr_Tbl => l_price_adj_attr_tbl,
2622 P_Shipment_Tbl => l_shipment_tbl ,
2623 P_Tax_Detail_Tbl => l_tax_detail_tbl ,
2624 P_Freight_Charge_Tbl => l_freight_charge_tbl,
2625 P_Sales_Credit_Tbl => l_Sales_Credit_Tbl ,
2626 P_Quote_Party_Tbl => l_Quote_Party_Tbl,
2627 P_Update_Header_Flag => l_update_header_flag,
2628 X_Return_Status => x_return_status ,
2629 X_Msg_Count => x_msg_count ,
2630 X_Msg_Data => x_msg_data
2631 );
2632
2633 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2634 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
2635 FND_MESSAGE.Set_Name('ASO', 'ERROR_RETURNED');
2636 FND_MESSAGE.Set_Token('API', 'ASO_QUOTE_CUHK.Update_Quote_Line_PRE', FALSE);
2637 FND_MSG_PUB.ADD;
2638 END IF;
2639 IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2640 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2641 ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2642 RAISE FND_API.G_EXC_ERROR;
2643 END IF;
2644 END IF;
2645 END IF; -- customer hook
2646
2647
2648 -- vertical hook
2649 IF (JTF_USR_HKS.ok_to_execute(G_PKG_NAME, l_api_name, 'B', 'V')) THEN
2650 ASO_QUOTE_VUHK.Update_Quote_Line_PRE(
2651 P_Qte_Line_Rec => l_qte_line_rec ,
2652 P_Control_Rec => l_control_rec ,
2653 P_Qte_Line_Dtl_Tbl => l_qte_line_dtl_tbl ,
2654 P_Line_Attribs_Ext_Tbl =>l_line_attribs_ext_tbl,
2655 P_Payment_Tbl => l_payment_tbl,
2656 P_Price_Adj_Tbl => l_price_adj_tbl,
2657 P_Price_Attributes_Tbl =>l_price_attributes_tbl,
2658 P_Price_Adj_Attr_Tbl => l_price_adj_attr_tbl,
2659 P_Shipment_Tbl => l_shipment_tbl ,
2660 P_Tax_Detail_Tbl => l_tax_detail_tbl ,
2661 P_Freight_Charge_Tbl => l_freight_charge_tbl,
2662 P_Sales_Credit_Tbl => l_Sales_Credit_Tbl ,
2663 P_Quote_Party_Tbl => l_Quote_Party_Tbl,
2664 P_Update_Header_Flag => l_update_header_flag,
2665 X_Return_Status => x_return_status ,
2666 X_Msg_Count => x_msg_count ,
2667 X_Msg_Data => x_msg_data
2668 );
2669
2670 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2671 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
2672 FND_MESSAGE.Set_Name('ASO', 'ERROR_RETURNED');
2673 FND_MESSAGE.Set_Token('API', 'ASO_QUOTE_VUHK.Update_Quote_Line_PRE', FALSE);
2674 FND_MSG_PUB.ADD;
2675 END IF;
2676 IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2677 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2678 ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2679 RAISE FND_API.G_EXC_ERROR;
2680 END IF;
2681 END IF;
2682 END IF; -- vertical hook
2683
2684
2685
2686
2687
2688
2689
2690
2691 -- Convert the values to ids
2692 Convert_Line_Values_To_Ids (
2693 p_qte_line_rec => l_qte_line_rec,
2694 x_qte_line_rec => l_qte_line_rec_out);
2695
2696 l_qte_line_rec := l_qte_line_rec_out;
2697
2698 /* FOR i IN 1..p_shipment_tbl.count LOOP
2699 Convert_Shipment_Values_To_Ids (
2700 p_shipment_rec => p_shipment_tbl(i),
2701 x_shipment_rec => l_shipment_tbl(i));
2702 END LOOP;
2703 */
2704
2705 -- Call Private API
2706 ASO_QUOTE_LINES_PVT.Update_Quote_Line(
2707 P_Api_Version_Number => 1.0,
2708 P_Init_Msg_List => p_init_msg_list,
2709 P_Commit => p_commit,
2710 P_Validation_Level => p_validation_level,
2711 p_qte_header_rec => p_qte_header_rec,
2712 P_Qte_Line_Rec => l_qte_line_rec,
2713 P_Control_REC => l_control_rec ,
2714 P_Payment_Tbl => l_payment_tbl ,
2715 P_Price_Adj_Tbl => l_price_adj_tbl ,
2716 P_Qte_Line_Dtl_TBL => l_Qte_Line_Dtl_TBL ,
2717 P_Shipment_Tbl => l_Shipment_Tbl ,
2718 P_Tax_Detail_Tbl => l_Tax_Detail_Tbl ,
2719 P_Freight_Charge_Tbl => l_Freight_Charge_Tbl,
2720 P_Price_Attributes_Tbl => l_Price_Attributes_Tbl,
2721 P_Price_Adj_Attr_Tbl =>l_Price_Adj_Attr_Tbl,
2722 P_Line_Attribs_Ext_Tbl =>l_Line_Attribs_Ext_Tbl,
2723 P_Sales_Credit_Tbl => l_Sales_Credit_Tbl ,
2724 P_Quote_Party_Tbl => l_Quote_Party_Tbl,
2725 P_Update_Header_Flag =>l_Update_Header_Flag ,
2726 X_qte_line_rec => X_qte_line_rec,
2727 X_payment_tbl => x_payment_tbl,
2728 X_Price_Adj_Tbl => x_price_adj_tbl,
2729 X_Qte_Line_Dtl_tbl => x_qte_line_dtl_tbl,
2730 X_Shipment_Tbl => x_shipment_tbl,
2731 X_Tax_Detail_Tbl => x_tax_detail_tbl,
2732 X_Freight_Charge_Tbl => x_freight_charge_tbl,
2733 X_Price_Attributes_Tbl => x_price_attributes_tbl,
2734 X_Price_Adj_Attr_Tbl =>x_Price_Adj_Attr_Tbl,
2735 X_Line_Attribs_Ext_Tbl =>x_Line_Attribs_Ext_Tbl,
2736 X_Sales_Credit_Tbl => X_Sales_Credit_Tbl,
2737 X_Quote_Party_Tbl => X_Quote_Party_Tbl,
2738 X_Return_Status => x_return_status,
2739 X_Msg_Count => x_msg_count,
2740 X_Msg_Data => x_msg_data
2741 );
2742
2743
2744
2745 -- Check return status from the above procedure call
2746 IF x_return_status = FND_API.G_RET_STS_ERROR then
2747 raise FND_API.G_EXC_ERROR;
2748 elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
2749 raise FND_API.G_EXC_UNEXPECTED_ERROR;
2750 END IF;
2751
2752 --
2753 -- End of API body.
2754 --
2755
2756
2757
2758 -- call user hooks
2759 -- customer post processing
2760
2761 IF (JTF_USR_HKS.ok_to_execute(G_PKG_NAME, l_api_name, 'A', 'C')) THEN
2762 ASO_QUOTE_CUHK.Update_Quote_Line_POST(
2763 P_Qte_Line_Rec => x_qte_line_rec ,
2764 P_Control_Rec => l_control_rec ,
2765 P_Qte_Line_Dtl_Tbl => x_qte_line_dtl_tbl ,
2766 P_Line_Attribs_Ext_Tbl =>x_line_attribs_ext_tbl,
2767 P_Payment_Tbl => x_payment_tbl,
2768 P_Price_Adj_Tbl => x_price_adj_tbl,
2769 P_Price_Attributes_Tbl =>x_price_attributes_tbl,
2770 P_Price_Adj_Attr_Tbl => x_price_adj_attr_tbl,
2771 P_Shipment_Tbl => x_shipment_tbl ,
2772 P_Tax_Detail_Tbl => x_tax_detail_tbl ,
2773 P_Freight_Charge_Tbl => x_freight_charge_tbl,
2774 P_Sales_Credit_Tbl => x_Sales_Credit_Tbl ,
2775 P_Quote_Party_Tbl => x_Quote_Party_Tbl,
2776 P_Update_Header_Flag => l_update_header_flag,
2777 X_Return_Status => x_return_status ,
2778 X_Msg_Count => x_msg_count ,
2779 X_Msg_Data => x_msg_data
2780 );
2781
2782 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2783 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
2784 FND_MESSAGE.Set_Name('ASO', 'ERROR_RETURNED');
2785 FND_MESSAGE.Set_Token('API', 'ASO_QUOTE_CUHK.Update_Quote_Line_POST', FALSE);
2786 FND_MSG_PUB.ADD;
2787 END IF;
2788 IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2789 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2790 ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2791 RAISE FND_API.G_EXC_ERROR;
2792 END IF;
2793 END IF;
2794 END IF; -- customer hook
2795
2796 IF aso_debug_pub.g_debug_flag = 'Y' THEN
2797 aso_debug_pub.add('aso_quote_vuhk: before if update quote line post (1)'||x_return_status,1, 'N');
2798 END IF;
2799
2800 -- vertical hook
2801 IF (JTF_USR_HKS.ok_to_execute(G_PKG_NAME, l_api_name, 'A', 'V')) THEN
2802 IF aso_debug_pub.g_debug_flag = 'Y' THEN
2803 aso_debug_pub.add('aso_quote_vuhk: inside if update quote line post (1)'||x_return_status,1, 'N');
2804 END IF;
2805 ASO_QUOTE_VUHK.Update_Quote_Line_POST(
2806 P_Qte_Line_Rec => x_qte_line_rec ,
2807 P_Control_Rec => l_control_rec ,
2808 P_Qte_Line_Dtl_Tbl => x_qte_line_dtl_tbl ,
2809 P_Line_Attribs_Ext_Tbl =>x_line_attribs_ext_tbl,
2810 P_Payment_Tbl => x_payment_tbl,
2811 P_Price_Adj_Tbl => x_price_adj_tbl,
2812 P_Price_Attributes_Tbl =>x_price_attributes_tbl,
2813 P_Price_Adj_Attr_Tbl => x_price_adj_attr_tbl,
2814 P_Shipment_Tbl => x_shipment_tbl ,
2815 P_Tax_Detail_Tbl => x_tax_detail_tbl ,
2816 P_Freight_Charge_Tbl => x_freight_charge_tbl,
2817 P_Sales_Credit_Tbl => x_Sales_Credit_Tbl ,
2818 P_Quote_Party_Tbl => x_Quote_Party_Tbl,
2819 P_Update_Header_Flag => l_update_header_flag,
2820 X_Return_Status => x_return_status ,
2821 X_Msg_Count => x_msg_count ,
2822 X_Msg_Data => x_msg_data
2823 );
2824
2825 IF aso_debug_pub.g_debug_flag = 'Y' THEN
2826 aso_debug_pub.add('aso_quote_vuhk: after if update quote line post (1)'||x_return_status,1, 'N');
2827 END IF;
2828
2829 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2830 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
2831 FND_MESSAGE.Set_Name('ASO', 'ERROR_RETURNED');
2832 FND_MESSAGE.Set_Token('API', 'ASO_QUOTE_VUHK.Update_Quote_Line_POST', FALSE);
2833 FND_MSG_PUB.ADD;
2834 END IF;
2835 IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2836 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2837 ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2838 RAISE FND_API.G_EXC_ERROR;
2839 END IF;
2840 END IF;
2841 END IF; -- vertical hook
2842
2843
2844
2845
2846
2847 -- Standard check for p_commit
2848 IF FND_API.to_Boolean( p_commit )
2849 THEN
2850 COMMIT WORK;
2851 END IF;
2852
2853
2854
2855
2856 -- Standard call to get message count and if count is 1, get message info.
2857 FND_MSG_PUB.Count_And_Get
2858 ( p_count => x_msg_count,
2859 p_data => x_msg_data
2860 );
2861
2862 EXCEPTION
2863 WHEN FND_API.G_EXC_ERROR THEN
2864 ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
2865 P_API_NAME => L_API_NAME
2866 ,P_PKG_NAME => G_PKG_NAME
2867 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
2868 ,P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PUB
2869 ,P_SQLCODE => SQLCODE
2870 ,P_SQLERRM => SQLERRM
2871 ,X_MSG_COUNT => X_MSG_COUNT
2872 ,X_MSG_DATA => X_MSG_DATA
2873 ,X_RETURN_STATUS => X_RETURN_STATUS);
2874
2875 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2876 ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
2877 P_API_NAME => L_API_NAME
2878 ,P_PKG_NAME => G_PKG_NAME
2879 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
2880 ,P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PUB
2881 ,P_SQLCODE => SQLCODE
2882 ,P_SQLERRM => SQLERRM
2883 ,X_MSG_COUNT => X_MSG_COUNT
2884 ,X_MSG_DATA => X_MSG_DATA
2885 ,X_RETURN_STATUS => X_RETURN_STATUS);
2886
2887 WHEN OTHERS THEN
2888 ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
2889 P_API_NAME => L_API_NAME
2890 ,P_PKG_NAME => G_PKG_NAME
2891 ,P_EXCEPTION_LEVEL => ASO_UTILITY_PVT.G_EXC_OTHERS
2892 ,P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PUB
2893 ,P_SQLCODE => SQLCODE
2894 ,P_SQLERRM => SQLERRM
2895 ,X_MSG_COUNT => X_MSG_COUNT
2896 ,X_MSG_DATA => X_MSG_DATA
2897 ,X_RETURN_STATUS => X_RETURN_STATUS);
2898 END;
2899
2900
2901 PROCEDURE Delete_Quote_Line(
2902 P_Api_Version_Number IN NUMBER,
2903 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
2904 P_Commit IN VARCHAR2 := FND_API.G_FALSE,
2905 P_qte_line_Rec IN qte_line_Rec_Type,
2906 P_Control_REC IN Control_Rec_Type := G_MISS_Control_Rec,
2907 P_Update_Header_Flag IN VARCHAR2,
2908 X_Return_Status OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
2909 X_Msg_Count OUT NOCOPY /* file.sql.39 change */ NUMBER,
2910 X_Msg_Data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
2911 )
2912 IS
2913 l_api_name CONSTANT VARCHAR2(30) := 'DELETE_QUOTE_LINE';
2914 l_api_version_number CONSTANT NUMBER := 1.0;
2915
2916 l_Qte_Line_Rec Qte_Line_Rec_Type ;
2917 l_Control_Rec Control_rec_Type;
2918
2919 BEGIN
2920 -- Standard Start of API savepoint
2921 SAVEPOINT DELETE_QUOTE_LINE_PUB;
2922
2923 aso_debug_pub.g_debug_flag := nvl(fnd_profile.value('ASO_ENABLE_DEBUG'),'N');
2924
2925 -- Standard call to check for call compatibility.
2926 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
2927 p_api_version_number,
2928 l_api_name,
2929 G_PKG_NAME)
2930 THEN
2931 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2932 END IF;
2933
2934
2935 -- Initialize message list if p_init_msg_list is set to TRUE.
2936 IF FND_API.to_Boolean( p_init_msg_list )
2937 THEN
2938 FND_MSG_PUB.initialize;
2939 END IF;
2940
2941
2942
2943
2944 -- Initialize API return status to SUCCESS
2945 x_return_status := FND_API.G_RET_STS_SUCCESS;
2946
2947 l_Qte_Line_Rec := p_qte_line_rec;
2948 l_control_rec := p_control_rec ;
2949
2950 --
2951 -- API body
2952 --
2953
2954
2955 -- call user hooks
2956 -- customer pre processing
2957
2958 IF (JTF_USR_HKS.ok_to_execute(G_PKG_NAME, l_api_name, 'B', 'C')) THEN
2959 ASO_QUOTE_CUHK.Delete_Quote_Line_PRE(
2960 P_qte_line_Rec => l_qte_line_rec,
2961 P_Control_Rec => l_control_rec,
2962 X_Return_Status => x_return_status,
2963 X_Msg_Count => x_msg_count ,
2964 X_Msg_Data => x_msg_data
2965 );
2966
2967 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2968 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
2969 FND_MESSAGE.Set_Name('ASO', 'ERROR_RETURNED');
2970 FND_MESSAGE.Set_Token('API', 'ASO_QUOTE_CUHK.Delete_Quote_Line_PRE', FALSE);
2971 FND_MSG_PUB.ADD;
2972 END IF;
2973 IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2974 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2975 ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
2976 RAISE FND_API.G_EXC_ERROR;
2977 END IF;
2978 END IF;
2979 END IF; -- customer hook
2980
2981
2982 -- vertical hook
2983 IF (JTF_USR_HKS.ok_to_execute(G_PKG_NAME, l_api_name, 'B', 'V')) THEN
2984 ASO_QUOTE_VUHK.Delete_Quote_Line_PRE(
2985 P_qte_line_Rec => l_qte_line_rec,
2986 P_Control_Rec => l_control_rec,
2987 X_Return_Status => x_return_status,
2988 X_Msg_Count => x_msg_count ,
2989 X_Msg_Data => x_msg_data
2990 );
2991 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2992 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
2993 FND_MESSAGE.Set_Name('ASO', 'ERROR_RETURNED');
2994 FND_MESSAGE.Set_Token('API', 'ASO_QUOTE_VUHK.Delete_Quote_Line_PRE', FALSE);
2995 FND_MSG_PUB.ADD;
2996 END IF;
2997 IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2998 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2999 ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
3000 RAISE FND_API.G_EXC_ERROR;
3001 END IF;
3002 END IF;
3003 END IF; -- vertical hook
3004
3005
3006
3007
3008 ASO_QUOTE_LINES_PVT.Delete_quote_line(
3009 P_Api_Version_Number => 1.0,
3010 P_Init_Msg_List => FND_API.G_FALSE,
3011 P_Commit => p_commit,
3012 P_qte_line_Rec => l_qte_line_Rec,
3013 P_Control_Rec => l_Control_Rec ,
3014 P_Update_Header_Flag => P_Update_Header_Flag ,
3015 X_Return_Status => x_return_status,
3016 X_Msg_Count => x_msg_count,
3017 X_Msg_Data => x_msg_data );
3018
3019
3020
3021 -- Check return status from the above procedure call
3022 IF x_return_status = FND_API.G_RET_STS_ERROR then
3023 raise FND_API.G_EXC_ERROR;
3024 elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
3025 raise FND_API.G_EXC_UNEXPECTED_ERROR;
3026 END IF;
3027
3028 --
3029 -- End of API body
3030 --
3031
3032
3033
3034 -- call user hooks
3035 -- customer pre processing
3036
3037 IF (JTF_USR_HKS.ok_to_execute(G_PKG_NAME, l_api_name, 'A', 'C')) THEN
3038 ASO_QUOTE_CUHK.Delete_Quote_Line_POST(
3039 P_qte_line_Rec => l_qte_line_rec,
3040 P_Control_Rec => l_control_rec,
3041 X_Return_Status => x_return_status,
3042 X_Msg_Count => x_msg_count ,
3043 X_Msg_Data => x_msg_data
3044 );
3045
3046 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3047 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
3048 FND_MESSAGE.Set_Name('ASO', 'ERROR_RETURNED');
3049 FND_MESSAGE.Set_Token('API', 'ASO_QUOTE_CUHK.Delete_Quote_Line_POST', FALSE);
3050 FND_MSG_PUB.ADD;
3051 END IF;
3052 IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
3053 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3054 ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
3055 RAISE FND_API.G_EXC_ERROR;
3056 END IF;
3057 END IF;
3058 END IF; -- customer hook
3059
3060 IF aso_debug_pub.g_debug_flag = 'Y' THEN
3061 aso_debug_pub.add('aso_quote_vuhk: before if delete quote line post (1)'||x_return_status,1, 'N');
3062 END IF;
3063
3064 -- vertical hook
3065 IF (JTF_USR_HKS.ok_to_execute(G_PKG_NAME, l_api_name, 'A', 'V')) THEN
3066 IF aso_debug_pub.g_debug_flag = 'Y' THEN
3067 aso_debug_pub.add('aso_quote_vuhk: inside if delete quote line post (1)'||x_return_status,1, 'N');
3068 END IF;
3069 ASO_QUOTE_VUHK.Delete_Quote_Line_POST(
3070 P_qte_line_Rec => l_qte_line_rec,
3071 P_Control_Rec => l_control_rec,
3072 X_Return_Status => x_return_status,
3073 X_Msg_Count => x_msg_count ,
3074 X_Msg_Data => x_msg_data
3075 );
3076 IF aso_debug_pub.g_debug_flag = 'Y' THEN
3077 aso_debug_pub.add('aso_quote_vuhk: after if delete quote line post (1)'||x_return_status,1, 'N');
3078 END IF;
3079
3080
3081 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3082 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
3083 FND_MESSAGE.Set_Name('ASO', 'ERROR_RETURNED');
3084 FND_MESSAGE.Set_Token('API', 'ASO_QUOTE_VUHK.Delete_Quote_Line_POST', FALSE);
3085 FND_MSG_PUB.ADD;
3086 END IF;
3087 IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
3088 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3089 ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
3090 RAISE FND_API.G_EXC_ERROR;
3091 END IF;
3092 END IF;
3093 END IF; -- vertical hook
3094
3095
3096
3097
3098
3099
3100 -- Standard check for p_commit
3101 IF FND_API.to_Boolean( p_commit )
3102 THEN
3103 COMMIT WORK;
3104 END IF;
3105
3106
3107
3108
3109 -- Standard call to get message count and if count is 1, get message info.
3110 FND_MSG_PUB.Count_And_Get
3111 ( p_count => x_msg_count,
3112 p_data => x_msg_data
3113 );
3114
3115 EXCEPTION
3116 WHEN FND_API.G_EXC_ERROR THEN
3117 ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
3118 P_API_NAME => L_API_NAME
3119 ,P_PKG_NAME => G_PKG_NAME
3120 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
3121 ,P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PUB
3122 ,P_SQLCODE => SQLCODE
3123 ,P_SQLERRM => SQLERRM
3124 ,X_MSG_COUNT => X_MSG_COUNT
3125 ,X_MSG_DATA => X_MSG_DATA
3126 ,X_RETURN_STATUS => X_RETURN_STATUS);
3127
3128 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3129 ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
3130 P_API_NAME => L_API_NAME
3131 ,P_PKG_NAME => G_PKG_NAME
3132 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
3133 ,P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PUB
3134 ,P_SQLCODE => SQLCODE
3135 ,P_SQLERRM => SQLERRM
3136 ,X_MSG_COUNT => X_MSG_COUNT
3137 ,X_MSG_DATA => X_MSG_DATA
3138 ,X_RETURN_STATUS => X_RETURN_STATUS);
3139
3140 WHEN OTHERS THEN
3141 ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
3142 P_API_NAME => L_API_NAME
3143 ,P_PKG_NAME => G_PKG_NAME
3144 ,P_EXCEPTION_LEVEL => ASO_UTILITY_PVT.G_EXC_OTHERS
3145 ,P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PUB
3146 ,P_SQLCODE => SQLCODE
3147 ,P_SQLERRM => SQLERRM
3148 ,X_MSG_COUNT => X_MSG_COUNT
3149 ,X_MSG_DATA => X_MSG_DATA
3150 ,X_RETURN_STATUS => X_RETURN_STATUS);
3151
3152 End Delete_quote_line;
3153
3154 PROCEDURE Quote_Security_Check(
3155 P_Api_Version_Number IN NUMBER,
3156 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
3157 P_User_Id IN NUMBER,
3158 X_Resource_Id OUT NOCOPY /* file.sql.39 change */ NUMBER,
3159 X_Security_Flag OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
3160 X_Return_Status OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
3161 X_Msg_Count OUT NOCOPY /* file.sql.39 change */ NUMBER,
3162 X_Msg_Data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
3163 )
3164 IS
3165
3166 BEGIN
3167
3168 aso_debug_pub.g_debug_flag := nvl(fnd_profile.value('ASO_ENABLE_DEBUG'),'N');
3169 ASO_QUOTE_HEADERS_PVT.Quote_Security_Check(
3170 P_Api_Version_Number => P_Api_Version_Number,
3171 P_Init_Msg_List => P_Init_Msg_List,
3172 P_User_Id => P_User_Id,
3173 X_Resource_Id => X_Resource_Id,
3174 X_Security_Flag => X_Security_Flag,
3175 X_Return_Status => X_Return_Status,
3176 X_Msg_Count => X_Msg_Count,
3177 X_Msg_Data => X_Msg_Data
3178 );
3179
3180 IF aso_debug_pub.g_debug_flag = 'Y' THEN
3181 aso_debug_pub.add('ASO_QUOTE_PUB: Quote_Security_Check(): End: Resource_Id: '||X_Resource_Id, 1, 'Y');
3182 aso_debug_pub.add('ASO_QUOTE_PUB: Quote_Security_Check(): End: Security_Flag: '||X_Security_Flag, 1, 'Y');
3183 END IF;
3184
3185 End Quote_Security_Check;
3186
3187
3188 -- *******************************************************
3189 -- Start of Comments
3190 -- *******************************************************
3191 -- API Name: Submit_Quote
3192 -- Type : Public
3193 -- Pre-Req :
3194 -- Parameters:
3195 -- overloaded function includes Qte_Header_Rec to check for last_update_date
3196 --
3197 -- End of Comments
3198 --
3199 PROCEDURE Submit_quote(
3200 P_Api_Version_Number IN NUMBER,
3201 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
3202 P_Commit IN VARCHAR2 := FND_API.G_FALSE,
3203 p_control_rec IN ASO_QUOTE_PUB.Submit_Control_Rec_Type
3204 := ASO_QUOTE_PUB.G_MISS_Submit_Control_Rec,
3205 P_Qte_Header_Rec IN ASO_QUOTE_PUB.Qte_Header_Rec_Type,
3206 x_order_header_rec OUT NOCOPY /* file.sql.39 change */ ASO_QUOTE_PUB.Order_Header_Rec_Type,
3207 X_Return_Status OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
3208 X_Msg_Count OUT NOCOPY /* file.sql.39 change */ NUMBER,
3209 X_Msg_Data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
3210 )
3211 IS
3212 l_api_name CONSTANT VARCHAR2(30) := 'SUBMIT_QUOTE';
3213 l_api_version_number CONSTANT NUMBER := 1.0;
3214 l_control_rec Submit_Control_Rec_Type := P_control_rec;
3215 l_Qte_Header_Id NUMBER;
3216 BEGIN
3217
3218 -- Standard Start of API savepoint
3219 SAVEPOINT SUBMIT_QUOTE_PUB;
3220
3221 aso_debug_pub.g_debug_flag := nvl(fnd_profile.value('ASO_ENABLE_DEBUG'),'N');
3222
3223 -- Standard call to check for call compatibility.
3224 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
3225 p_api_version_number,
3226 l_api_name,
3227 G_PKG_NAME)
3228 THEN
3229 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3230 END IF;
3231
3232 -- Initialize message list if p_init_msg_list is set to TRUE.
3233 IF FND_API.to_Boolean( p_init_msg_list )
3234 THEN
3235 FND_MSG_PUB.initialize;
3236 END IF;
3237
3238
3239 -- Initialize API return status to SUCCESS
3240 x_return_status := FND_API.G_RET_STS_SUCCESS;
3241 l_Qte_Header_Id := P_Qte_Header_Rec.Quote_Header_Id;
3242
3243 --
3244 -- API body
3245 --
3246
3247
3248 IF (JTF_USR_HKS.ok_to_execute(G_PKG_NAME, l_api_name, 'B', 'C')) THEN
3249 ASO_QUOTE_CUHK.Submit_quote_PRE(
3250 p_control_rec => l_control_rec,
3251 P_Qte_Header_Id => l_Qte_Header_Id,
3252 X_Return_Status => X_Return_Status,
3253 X_Msg_Count => X_Msg_Count,
3254 X_Msg_Data => X_Msg_Data );
3255
3256 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3257 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
3258 FND_MESSAGE.Set_Name('ASO', 'ERROR_RETURNED');
3259 FND_MESSAGE.Set_Token('API', 'ASO_QUOTE_CUHK.Submit_Quote_PRE', FALSE);
3260 FND_MSG_PUB.ADD;
3261 END IF;
3262
3263 IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
3264 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3265 ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
3266 RAISE FND_API.G_EXC_ERROR;
3267 END IF;
3268 END IF;
3269
3270 END IF; -- customer hook
3271
3272 -- vertical hook
3273 IF (JTF_USR_HKS.ok_to_execute(G_PKG_NAME, l_api_name, 'B', 'V')) THEN
3274 ASO_QUOTE_VUHK.Submit_quote_PRE(
3275 p_control_rec => l_control_rec,
3276 P_Qte_Header_Id => l_Qte_Header_Id,
3277 X_Return_Status => X_Return_Status,
3278 X_Msg_Count => X_Msg_Count,
3279 X_Msg_Data => X_Msg_Data );
3280
3281 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3282 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
3283 FND_MESSAGE.Set_Name('ASO', 'ERROR_RETURNED');
3284 FND_MESSAGE.Set_Token('API', 'ASO_QUOTE_VUHK.Submit_Quote_PRE', FALSE);
3285 FND_MSG_PUB.ADD;
3286 END IF;
3287 IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
3288 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3289 ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
3290 RAISE FND_API.G_EXC_ERROR;
3291 END IF;
3292 END IF;
3293
3294 END IF;
3295
3296 ASO_SUBMIT_QUOTE_PVT.Submit_quote(
3297 P_Api_Version_Number => 1.0,
3298 P_Init_Msg_List => P_Init_Msg_List,
3299 P_control_rec => l_control_rec,
3300 P_Qte_Header_Rec => P_Qte_Header_Rec,
3301 x_order_header_rec => X_order_header_rec,
3302 X_Return_Status => X_Return_Status,
3303 X_Msg_Count => X_Msg_Count,
3304 X_Msg_Data => X_Msg_Data
3305 );
3306
3307 -- Check return status from the above procedure call
3308 IF x_return_status = FND_API.G_RET_STS_ERROR then
3309 raise FND_API.G_EXC_ERROR;
3310 elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
3311 raise FND_API.G_EXC_UNEXPECTED_ERROR;
3312 END IF;
3313
3314 -- call user hooks
3315 -- customer post processing
3316
3317 IF (JTF_USR_HKS.ok_to_execute(G_PKG_NAME, l_api_name, 'A', 'C')) THEN
3318 ASO_QUOTE_CUHK.Submit_quote_POST(
3319 p_control_rec => l_control_rec,
3320 P_Qte_Header_Id => l_Qte_Header_Id,
3321 p_order_header_rec => x_order_header_rec,
3322 X_Return_Status => X_Return_Status,
3323 X_Msg_Count => X_Msg_Count,
3324 X_Msg_Data => X_Msg_Data );
3325
3326 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3327 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
3328 FND_MESSAGE.Set_Name('ASO', 'ERROR_RETURNED');
3329 FND_MESSAGE.Set_Token('API', 'ASO_QUOTE_CUHK.Submit_Quote_POST', FALSE);
3330 FND_MSG_PUB.ADD;
3331 END IF;
3332 IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
3333 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3334 ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
3335 RAISE FND_API.G_EXC_ERROR;
3336 END IF;
3337 END IF;
3338
3339 END IF; -- customer hook
3340
3341 IF (JTF_USR_HKS.ok_to_execute(G_PKG_NAME, l_api_name, 'A', 'V')) THEN
3342 ASO_QUOTE_VUHK.Submit_quote_POST(
3343 p_control_rec => l_control_rec,
3344 P_Qte_Header_Id => l_Qte_Header_Id,
3345 p_order_header_rec => x_order_header_rec,
3346 X_Return_Status => X_Return_Status,
3347 X_Msg_Count => X_Msg_Count,
3348 X_Msg_Data => X_Msg_Data );
3349
3350 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3351 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
3352 FND_MESSAGE.Set_Name('ASO', 'ERROR_RETURNED');
3353 FND_MESSAGE.Set_Token('API', 'ASO_QUOTE_VUHK.Submit_Quote_POST', FALSE);
3354 FND_MSG_PUB.ADD;
3355 END IF;
3356 IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
3357 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3358 ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
3359 RAISE FND_API.G_EXC_ERROR;
3360 END IF;
3361 END IF;
3362
3363 END IF; -- vertical hook
3364 --
3365 -- End of API body
3366 --
3367
3368
3369
3370 -- Standard call to get message count and if count is 1, get message info.
3371 FND_MSG_PUB.Count_And_Get
3372 ( p_count => x_msg_count,
3373 p_data => x_msg_data
3374 );
3375
3376 EXCEPTION
3377 WHEN FND_API.G_EXC_ERROR THEN
3378 ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
3379 P_API_NAME => L_API_NAME
3380 ,P_PKG_NAME => G_PKG_NAME
3381 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
3382 ,P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PUB
3383 ,X_MSG_COUNT => X_MSG_COUNT
3384 ,X_MSG_DATA => X_MSG_DATA
3385 ,X_RETURN_STATUS => X_RETURN_STATUS);
3386
3387 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3388 ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
3389 P_API_NAME => L_API_NAME
3390 ,P_PKG_NAME => G_PKG_NAME
3391 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
3392 ,P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PUB
3393 ,X_MSG_COUNT => X_MSG_COUNT
3394 ,X_MSG_DATA => X_MSG_DATA
3395 ,X_RETURN_STATUS => X_RETURN_STATUS);
3396
3397 WHEN OTHERS THEN
3398 ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
3399 P_API_NAME => L_API_NAME
3400 ,P_PKG_NAME => G_PKG_NAME
3401 ,P_EXCEPTION_LEVEL => ASO_UTILITY_PVT.G_EXC_OTHERS
3402 ,P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PUB
3403 ,X_MSG_COUNT => X_MSG_COUNT
3404 ,X_MSG_DATA => X_MSG_DATA
3405 ,X_RETURN_STATUS => X_RETURN_STATUS);
3406
3407 END Submit_Quote;
3408
3409
3410 -- vtariker: Sales Credit Allocation Public API
3411 PROCEDURE Allocate_Sales_Credits
3412 (
3413 P_Api_Version_Number IN NUMBER,
3414 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
3415 P_Commit IN VARCHAR2 := FND_API.G_FALSE,
3416 p_control_rec IN ASO_QUOTE_PUB.SALES_ALLOC_CONTROL_REC_TYPE
3417 := ASO_QUOTE_PUB.G_MISS_SALES_ALLOC_CONTROL_REC,
3418 P_Qte_Header_Rec IN ASO_QUOTE_PUB.Qte_Header_Rec_Type,
3419 X_Qte_Header_Rec OUT NOCOPY /* file.sql.39 change */ ASO_QUOTE_PUB.Qte_Header_Rec_Type,
3420 X_Return_Status OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
3421 X_Msg_Count OUT NOCOPY /* file.sql.39 change */ NUMBER,
3422 X_Msg_Data OUT NOCOPY /* file.sql.39 change */ VARCHAR2)
3423 IS
3424
3425 l_api_name CONSTANT VARCHAR2 ( 30 ) := 'Allocate_Sales_Credits';
3426 l_api_version_number CONSTANT NUMBER := 1.0;
3427
3428 BEGIN
3429
3430 aso_debug_pub.g_debug_flag := nvl(fnd_profile.value('ASO_ENABLE_DEBUG'),'N');
3431
3432 -- Standard Start of API savepoint
3433 SAVEPOINT ALLOCATE_SALES_CREDITS_PUB;
3434
3435 -- Standard call to check for call compatibility.
3436 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
3437 1.0,
3438 l_api_name,
3439 G_PKG_NAME)
3440 THEN
3441 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3442 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3443 END IF;
3444
3445 -- Initialize message list if p_init_msg_list is set to TRUE.
3446 IF FND_API.to_Boolean( p_init_msg_list )
3447 THEN
3448 FND_MSG_PUB.initialize;
3449 END IF;
3450
3451 -- Initialize API return status to SUCCESS
3452 x_return_status := FND_API.G_RET_STS_SUCCESS;
3453
3454 --
3455 -- API body
3456 --
3457
3458 -- New PRE-Customer and Verical Hooks
3459
3460 IF (JTF_USR_HKS.ok_to_execute(G_PKG_NAME, l_api_name, 'B', 'C')) THEN
3461 ASO_QUOTE_CUHK.Allocate_Sales_Credits_PRE(
3462 p_control_rec => p_control_rec,
3463 P_Qte_Header_Id => p_qte_header_rec.quote_header_id,
3464 X_Return_Status => X_Return_Status,
3465 X_Msg_Count => X_Msg_Count,
3466 X_Msg_Data => X_Msg_Data );
3467
3468 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3469 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
3470 FND_MESSAGE.Set_Name('ASO', 'ERROR_RETURNED');
3471 FND_MESSAGE.Set_Token('API', 'ASO_QUOTE_CUHK.Allocate_Sales_Credits_PRE', FALSE);
3472 FND_MSG_PUB.ADD;
3473 END IF;
3474
3475 IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
3476 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3477 ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
3478 RAISE FND_API.G_EXC_ERROR;
3479 END IF;
3480 END IF;
3481
3482 END IF; -- customer hook
3483
3484 -- vertical hook
3485 IF (JTF_USR_HKS.ok_to_execute(G_PKG_NAME, l_api_name, 'B', 'V')) THEN
3486 ASO_QUOTE_VUHK.Allocate_Sales_Credits_PRE(
3487 p_control_rec => p_control_rec,
3488 P_Qte_Header_Id => p_qte_header_rec.quote_header_id,
3489 X_Return_Status => X_Return_Status,
3490 X_Msg_Count => X_Msg_Count,
3491 X_Msg_Data => X_Msg_Data );
3492
3493 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3494 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
3495 FND_MESSAGE.Set_Name('ASO', 'ERROR_RETURNED');
3496 FND_MESSAGE.Set_Token('API', 'ASO_QUOTE_VUHK.Allocate_Sales_Credits_PRE', FALSE);
3497 FND_MSG_PUB.ADD;
3498 END IF;
3499 IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
3500 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3501 ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
3502 RAISE FND_API.G_EXC_ERROR;
3503 END IF;
3504 END IF;
3505
3506 END IF;
3507
3508
3509 -- Allocate Sales Credits
3510 ASO_SALES_CREDIT_PVT.Allocate_Sales_Credits (
3511 P_Api_Version_Number => 1.0,
3512 P_Init_Msg_List => FND_API.G_FALSE,
3513 P_Commit => FND_API.G_FALSE,
3514 P_control_rec => p_control_rec,
3515 P_Qte_Header_Rec => p_qte_header_rec,
3516 X_Qte_Header_Rec => x_qte_header_rec,
3517 X_Return_Status => x_return_status,
3518 X_Msg_Count => x_msg_count,
3519 X_Msg_Data => x_msg_data
3520 );
3521
3522 IF aso_debug_pub.g_debug_flag = 'Y' THEN
3523 aso_debug_pub.add('After ASO_SALES_TEAM_PVT.Assign_Sales_Team: '||x_return_status,1,'Y');
3524 END IF;
3525
3526 IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3527 RAISE FND_API.G_EXC_ERROR;
3528 END IF;
3529 IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3530 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3531 END IF;
3532
3533 -- Added new post Customer and Verical POST hooks
3534
3535 -- customer post processing
3536
3537 IF (JTF_USR_HKS.ok_to_execute(G_PKG_NAME, l_api_name, 'A', 'C')) THEN
3538 ASO_QUOTE_CUHK.Allocate_Sales_Credits_POST(
3539 p_control_rec => p_control_rec,
3540 P_Qte_Header_Rec => x_qte_header_rec,
3541 X_Return_Status => X_Return_Status,
3542 X_Msg_Count => X_Msg_Count,
3543 X_Msg_Data => X_Msg_Data );
3544
3545 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3546 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
3547 FND_MESSAGE.Set_Name('ASO', 'ERROR_RETURNED');
3548 FND_MESSAGE.Set_Token('API', 'ASO_QUOTE_CUHK.Allocate_Sales_Credits_POST', FALSE);
3549 FND_MSG_PUB.ADD;
3550 END IF;
3551 IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
3552 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3553 ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
3554 RAISE FND_API.G_EXC_ERROR;
3555 END IF;
3556 END IF;
3557
3558 END IF; -- customer hook
3559
3560
3561
3562 IF (JTF_USR_HKS.ok_to_execute(G_PKG_NAME, l_api_name, 'A', 'V')) THEN
3563 ASO_QUOTE_VUHK.Allocate_Sales_Credits_POST(
3564 p_control_rec => p_control_rec,
3565 P_Qte_Header_Rec => x_qte_header_rec,
3566 X_Return_Status => X_Return_Status,
3567 X_Msg_Count => X_Msg_Count,
3568 X_Msg_Data => X_Msg_Data );
3569
3570 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3571 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
3572 FND_MESSAGE.Set_Name('ASO', 'ERROR_RETURNED');
3573 FND_MESSAGE.Set_Token('API', 'ASO_QUOTE_VUHK.Allocate_Sales_Credits_POST', FALSE);
3574 FND_MSG_PUB.ADD;
3575 END IF;
3576 IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
3577 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3578 ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
3579 RAISE FND_API.G_EXC_ERROR;
3580 END IF;
3581 END IF;
3582
3583 END IF; -- vertical hook
3584
3585 -- Standard check for p_commit
3586 IF FND_API.to_Boolean( p_commit )
3587 THEN
3588 COMMIT WORK;
3589 END IF;
3590
3591
3592 -- Standard call to get message count and if count is 1, get message info.
3593 FND_MSG_PUB.Count_And_Get
3594 ( p_count => x_msg_count,
3595 p_data => x_msg_data
3596 );
3597
3598 EXCEPTION
3599
3600 WHEN FND_API.G_EXC_ERROR THEN
3601 ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
3602 P_API_NAME => L_API_NAME,
3603 P_PKG_NAME => G_PKG_NAME,
3604 P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR,
3605 P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PUB,
3606 P_SQLCODE => SQLCODE,
3607 P_SQLERRM => SQLERRM,
3608 X_MSG_COUNT => X_MSG_COUNT,
3609 X_MSG_DATA => X_MSG_DATA,
3610 X_RETURN_STATUS => X_RETURN_STATUS
3611 );
3612
3613 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3614 ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
3615 P_API_NAME => L_API_NAME,
3616 P_PKG_NAME => G_PKG_NAME,
3617 P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR,
3618 P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PUB,
3619 P_SQLCODE => SQLCODE,
3620 P_SQLERRM => SQLERRM,
3621 X_MSG_COUNT => X_MSG_COUNT,
3622 X_MSG_DATA => X_MSG_DATA,
3623 X_RETURN_STATUS => X_RETURN_STATUS
3624 );
3625
3626 WHEN OTHERS THEN
3627 ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
3628 P_API_NAME => L_API_NAME,
3629 P_PKG_NAME => G_PKG_NAME,
3630 P_EXCEPTION_LEVEL => ASO_UTILITY_PVT.G_EXC_OTHERS,
3631 P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PUB,
3632 P_SQLCODE => SQLCODE,
3633 P_SQLERRM => SQLERRM,
3634 X_MSG_COUNT => X_MSG_COUNT,
3635 X_MSG_DATA => X_MSG_DATA,
3636 X_RETURN_STATUS => X_RETURN_STATUS
3637 );
3638
3639 END Allocate_Sales_Credits;
3640
3641
3642 PROCEDURE Sales_Credit_Event_Pre (
3643 P_Qte_Header_Id IN NUMBER,
3644 X_Return_Status OUT NOCOPY /* file.sql.39 change */ VARCHAR2 )
3645 IS
3646
3647 l_list WF_PARAMETER_LIST_T := wf_parameter_list_t();
3648 l_event_name VARCHAR2(255) := 'oracle.apps.aso.quote.allocatecredit.pre';
3649 l_event_key VARCHAR2(255);
3650
3651 BEGIN
3652
3653 X_Return_Status := FND_API.G_RET_STS_SUCCESS;
3654
3655 l_event_key := to_char(sysdate,'MMDDYYYY HH24MISS');
3656
3657 wf_event.AddParameterToList (
3658 p_name => 'USER_ID',
3659 p_value => fnd_profile.value( 'USER_ID'),
3660 p_parameterlist => l_list );
3661
3662 wf_event.AddParameterToList (
3663 p_name => 'RESP_ID',
3664 p_value => fnd_profile.value( 'RESP_ID'),
3665 p_parameterlist => l_list );
3666
3667 wf_event.AddParameterToList (
3668 p_name => 'RESP_APPL_ID',
3669 p_value => fnd_profile.value( 'RESP_APPL_ID'),
3670 p_parameterlist => l_list );
3671
3672 wf_event.AddParameterToList (
3673 p_name => 'ORG_ID',
3674 p_value => fnd_profile.value( 'ORG_ID'),
3675 p_parameterlist => l_list );
3676
3677 wf_event.AddParameterToList (
3678 p_name => 'DOCUMENT_ID',
3679 p_value => P_Qte_Header_Id,
3680 p_parameterlist => l_list );
3681
3682 wf_event.raise (
3683 p_event_name => l_event_name,
3684 p_event_key => l_event_key,
3685 p_parameters => l_list );
3686
3687 l_list.DELETE;
3688
3689 EXCEPTION
3690
3691 WHEN OTHERS THEN
3692
3693 x_return_Status :=FND_API.G_RET_STS_ERROR;
3694
3695 END Sales_Credit_Event_Pre;
3696
3697
3698 PROCEDURE Sales_Credit_Event_Post (
3699 P_Qte_Header_Id IN NUMBER,
3700 X_Return_Status OUT NOCOPY /* file.sql.39 change */ VARCHAR2 )
3701 IS
3702
3703 l_list WF_PARAMETER_LIST_T := wf_parameter_list_t();
3704 l_event_name VARCHAR2(255) := 'oracle.apps.aso.quote.allocatecredit.post';
3705 l_event_key VARCHAR2(255);
3706
3707 BEGIN
3708
3709 X_Return_Status := FND_API.G_RET_STS_SUCCESS;
3710
3711 l_event_key := to_char(sysdate,'MMDDYYYY HH24MISS');
3712
3713 wf_event.AddParameterToList (
3714 p_name => 'USER_ID',
3715 p_value => fnd_profile.value( 'USER_ID'),
3716 p_parameterlist => l_list );
3717
3718 wf_event.AddParameterToList (
3719 p_name => 'RESP_ID',
3720 p_value => fnd_profile.value( 'RESP_ID'),
3721 p_parameterlist => l_list );
3722
3723 wf_event.AddParameterToList (
3724 p_name => 'RESP_APPL_ID',
3725 p_value => fnd_profile.value( 'RESP_APPL_ID'),
3726 p_parameterlist => l_list );
3727
3728 wf_event.AddParameterToList (
3729 p_name => 'ORG_ID',
3730 p_value => fnd_profile.value( 'ORG_ID'),
3731 p_parameterlist => l_list );
3732
3733 wf_event.AddParameterToList (
3734 p_name => 'DOCUMENT_ID',
3735 p_value => P_Qte_Header_Id,
3736 p_parameterlist => l_list );
3737
3738 wf_event.raise (
3739 p_event_name => l_event_name,
3740 p_event_key => l_event_key,
3741 p_parameters => l_list );
3742
3743 l_list.DELETE;
3744
3745
3746 EXCEPTION
3747
3748 WHEN OTHERS THEN
3749
3750 x_return_Status :=FND_API.G_RET_STS_ERROR;
3751
3752 END Sales_Credit_Event_Post;
3753
3754
3755
3756 -- *******************************************************
3757 -- Start of Comments
3758 -- *******************************************************
3759 -- API Name: Create_quote
3760 -- Type : Public
3761 -- Pre-Req :
3762 -- Parameters:
3763
3764 -- Version : Current version 2.0
3765 -- Note: This is an overloaded procedure. It takes additional attributes
3766 -- which include the p_template_tbl, P_Qte_Access_Tbl and P_Related_Obj_Tbl record
3767 -- types
3768 --
3769 -- End of Comments
3770 --
3771
3772
3773 PROCEDURE Create_quote(
3774 P_Api_Version_Number IN NUMBER,
3775 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
3776 P_Commit IN VARCHAR2 := FND_API.G_FALSE,
3777 P_Validation_Level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
3778 P_Control_Rec IN Control_Rec_Type := G_Miss_Control_Rec,
3779 P_Qte_Header_Rec IN Qte_Header_Rec_Type := G_MISS_Qte_Header_Rec,
3780 P_hd_Price_Attributes_Tbl IN ASO_QUOTE_PUB.Price_Attributes_Tbl_Type := G_Miss_Price_Attributes_Tbl,
3781 P_hd_Payment_Tbl IN ASO_QUOTE_PUB.Payment_Tbl_Type := G_MISS_PAYMENT_TBL,
3782 P_hd_Shipment_Rec IN ASO_QUOTE_PUB.Shipment_Rec_Type := G_MISS_SHIPMENT_REC,
3783 P_hd_Freight_Charge_Tbl IN ASO_QUOTE_PUB.Freight_Charge_Tbl_Type := G_Miss_Freight_Charge_Tbl,
3784 P_hd_Tax_Detail_Tbl IN ASO_QUOTE_PUB.Tax_Detail_Tbl_Type := G_Miss_Tax_Detail_Tbl,
3785 P_hd_Attr_Ext_Tbl IN Line_Attribs_Ext_Tbl_Type := G_MISS_Line_Attribs_Ext_TBL,
3786 P_hd_Sales_Credit_Tbl IN Sales_Credit_Tbl_Type := G_MISS_Sales_Credit_Tbl,
3787 P_hd_Quote_Party_Tbl IN Quote_Party_Tbl_Type := G_MISS_Quote_Party_Tbl,
3788 P_Qte_Line_Tbl IN Qte_Line_Tbl_Type := G_MISS_QTE_LINE_TBL,
3789 P_Qte_Line_Dtl_Tbl IN Qte_Line_Dtl_Tbl_Type := G_MISS_QTE_LINE_DTL_TBL,
3790 P_Line_Attr_Ext_Tbl IN Line_Attribs_Ext_Tbl_Type := G_MISS_Line_Attribs_Ext_TBL,
3791 P_line_rltship_tbl IN Line_Rltship_Tbl_Type := G_MISS_Line_Rltship_Tbl,
3792 P_Price_Adjustment_Tbl IN Price_Adj_Tbl_Type := G_Miss_Price_Adj_Tbl,
3793 P_Price_Adj_Attr_Tbl IN Price_Adj_Attr_Tbl_Type := G_Miss_PRICE_ADJ_ATTR_Tbl,
3794 P_Price_Adj_Rltship_Tbl IN Price_Adj_Rltship_Tbl_Type := G_Miss_Price_Adj_Rltship_Tbl,
3795 P_Ln_Price_Attributes_Tbl IN Price_Attributes_Tbl_Type := G_Miss_Price_Attributes_Tbl,
3796 P_Ln_Payment_Tbl IN Payment_Tbl_Type := G_MISS_PAYMENT_TBL,
3797 P_Ln_Shipment_Tbl IN Shipment_Tbl_Type := G_MISS_SHIPMENT_TBL,
3798 P_Ln_Freight_Charge_Tbl IN Freight_Charge_Tbl_Type := G_Miss_Freight_Charge_Tbl,
3799 P_Ln_Tax_Detail_Tbl IN Tax_Detail_Tbl_Type := G_Miss_Tax_Detail_Tbl,
3800 P_ln_Sales_Credit_Tbl IN Sales_Credit_Tbl_Type := G_MISS_Sales_Credit_Tbl,
3801 P_ln_Quote_Party_Tbl IN Quote_Party_Tbl_Type := G_MISS_Quote_Party_Tbl,
3802 P_Qte_Access_Tbl IN Qte_Access_Tbl_Type := G_MISS_QTE_ACCESS_TBL,
3803 P_Template_Tbl IN Template_Tbl_Type := G_MISS_TEMPLATE_TBL,
3804 P_Related_Obj_Tbl IN Related_Obj_Tbl_Type := G_MISS_RELATED_OBJ_TBL,
3805 x_Qte_Header_Rec OUT NOCOPY /* file.sql.39 change */ Qte_Header_Rec_Type,
3806 X_Qte_Line_Tbl OUT NOCOPY /* file.sql.39 change */ Qte_Line_Tbl_Type,
3807 X_Qte_Line_Dtl_Tbl OUT NOCOPY /* file.sql.39 change */ Qte_Line_Dtl_Tbl_Type,
3808 X_Hd_Price_Attributes_Tbl OUT NOCOPY /* file.sql.39 change */ Price_Attributes_Tbl_Type,
3809 X_Hd_Payment_Tbl OUT NOCOPY /* file.sql.39 change */ Payment_Tbl_Type,
3810 X_Hd_Shipment_Rec OUT NOCOPY /* file.sql.39 change */ Shipment_Rec_Type,
3811 X_Hd_Freight_Charge_Tbl OUT NOCOPY /* file.sql.39 change */ Freight_Charge_Tbl_Type,
3812 X_Hd_Tax_Detail_Tbl OUT NOCOPY /* file.sql.39 change */ Tax_Detail_Tbl_Type,
3813 X_hd_Attr_Ext_Tbl OUT NOCOPY /* file.sql.39 change */ Line_Attribs_Ext_Tbl_Type,
3814 X_hd_Sales_Credit_Tbl OUT NOCOPY /* file.sql.39 change */ Sales_Credit_Tbl_Type,
3815 X_hd_Quote_Party_Tbl OUT NOCOPY /* file.sql.39 change */ Quote_Party_Tbl_Type,
3816 x_Line_Attr_Ext_Tbl OUT NOCOPY /* file.sql.39 change */ Line_Attribs_Ext_Tbl_Type,
3817 X_line_rltship_tbl OUT NOCOPY /* file.sql.39 change */ Line_Rltship_Tbl_Type,
3818 X_Price_Adjustment_Tbl OUT NOCOPY /* file.sql.39 change */ Price_Adj_Tbl_Type,
3819 X_Price_Adj_Attr_Tbl OUT NOCOPY /* file.sql.39 change */ Price_Adj_Attr_Tbl_Type,
3820 X_Price_Adj_Rltship_Tbl OUT NOCOPY /* file.sql.39 change */ Price_Adj_Rltship_Tbl_Type,
3821 X_Ln_Price_Attributes_Tbl OUT NOCOPY /* file.sql.39 change */ Price_Attributes_Tbl_Type,
3822 X_Ln_Payment_Tbl OUT NOCOPY /* file.sql.39 change */ Payment_Tbl_Type,
3823 X_Ln_Shipment_Tbl OUT NOCOPY /* file.sql.39 change */ Shipment_Tbl_Type,
3824 X_Ln_Freight_Charge_Tbl OUT NOCOPY /* file.sql.39 change */ Freight_Charge_Tbl_Type,
3825 X_Ln_Tax_Detail_Tbl OUT NOCOPY /* file.sql.39 change */ Tax_Detail_Tbl_Type,
3826 X_Ln_Sales_Credit_Tbl OUT NOCOPY /* file.sql.39 change */ Sales_Credit_Tbl_Type,
3827 X_Ln_Quote_Party_Tbl OUT NOCOPY /* file.sql.39 change */ Quote_Party_Tbl_Type,
3828 X_Qte_Access_Tbl OUT NOCOPY /* file.sql.39 change */ Qte_Access_Tbl_Type,
3829 X_Template_Tbl OUT NOCOPY /* file.sql.39 change */ Template_Tbl_Type,
3830 X_Related_Obj_Tbl OUT NOCOPY /* file.sql.39 change */ Related_Obj_Tbl_Type,
3831 X_Return_Status OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
3832 X_Msg_Count OUT NOCOPY /* file.sql.39 change */ NUMBER,
3833 X_Msg_Data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
3834 )
3835 IS
3836 l_api_name CONSTANT VARCHAR2(30) := 'CREATE_QUOTE';
3837 l_api_version_number CONSTANT NUMBER := 1.0;
3838 l_qte_header_rec Qte_Header_Rec_Type;
3839 l_qte_header_rec_out Qte_Header_Rec_Type;
3840 l_Qte_Line_Tbl Qte_Line_Tbl_Type;
3841 l_Qte_Line_rec_out Qte_Line_Rec_Type;
3842 l_hd_shipment_rec Shipment_Rec_Type;
3843 l_hd_shipment_rec_out Shipment_Rec_Type;
3844 l_ln_shipment_tbl Shipment_Tbl_Type;
3845 l_ln_shipment_rec_out Shipment_Rec_Type;
3846 l_hd_Payment_Tbl Payment_Tbl_Type;
3847 l_ln_Payment_Tbl Payment_Tbl_Type;
3848 l_Price_Adj_Tbl Price_Adj_Tbl_Type;
3849 l_Qte_Line_Dtl_rec Qte_Line_Dtl_rec_Type;
3850 l_hd_Tax_Detail_Tbl Tax_Detail_Tbl_Type;
3851 l_ln_Tax_Detail_Tbl Tax_Detail_Tbl_Type;
3852 l_hd_Freight_Charge_Tbl Freight_Charge_Tbl_Type;
3853 l_ln_Freight_Charge_Tbl Freight_Charge_Tbl_Type;
3854 l_Line_Rltship_Tbl Line_Rltship_Tbl_Type;
3855 l_hd_Price_Attributes_Tbl Price_Attributes_Tbl_Type;
3856 l_ln_Price_Attributes_Tbl Price_Attributes_Tbl_Type;
3857 l_Price_Adj_rltship_Tbl Price_Adj_Rltship_Tbl_Type;
3858 l_Price_Adj_Attr_Tbl Price_Adj_Attr_Tbl_Type;
3859 l_hd_Attribs_Ext_Tbl Line_Attribs_Ext_Tbl_type;
3860 l_Line_Attribs_Ext_Tbl Line_Attribs_Ext_Tbl_type;
3861 l_Qte_Line_Dtl_tbl Qte_Line_Dtl_tbl_Type;
3862 l_hd_Sales_Credit_Tbl Sales_Credit_Tbl_Type;
3863 l_ln_Sales_Credit_Tbl Sales_Credit_Tbl_Type;
3864 l_hd_Quote_Party_Tbl Quote_Party_Tbl_Type;
3865 l_ln_Quote_Party_Tbl Quote_Party_Tbl_Type;
3866 l_Control_Rec Control_rec_Type;
3867 l_validation_level NUMBER;
3868 l_Qte_Access_Tbl Qte_Access_Tbl_Type;
3869 l_Template_Tbl Template_Tbl_Type;
3870 l_Related_Obj_Tbl Related_Obj_Tbl_Type;
3871
3872 BEGIN
3873 -- Standard Start of API savepoint
3874 SAVEPOINT CREATE_QUOTE_PUB;
3875
3876 aso_debug_pub.g_debug_flag := nvl(fnd_profile.value('ASO_ENABLE_DEBUG'),'N');
3877
3878 -- Standard call to check for call compatibility.
3879 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
3880 p_api_version_number,
3881 l_api_name,
3882 G_PKG_NAME) THEN
3883 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3884 END IF;
3885
3886 -- Initialize message list if p_init_msg_list is set to TRUE.
3887 IF FND_API.to_Boolean( p_init_msg_list ) THEN
3888 FND_MSG_PUB.initialize;
3889 END IF;
3890
3891 -- Initialize API return status to SUCCESS
3892 x_return_status := FND_API.G_RET_STS_SUCCESS;
3893
3894 --
3895 -- API body
3896 --
3897
3898 -- mapping to local variables
3899 l_qte_header_rec := P_Qte_Header_Rec;
3900 l_hd_Price_Attributes_Tbl := P_hd_Price_Attributes_Tbl;
3901 l_hd_Payment_Tbl := P_hd_Payment_Tbl;
3902 l_hd_shipment_rec := P_hd_Shipment_Rec;
3903 l_hd_Freight_Charge_Tbl := P_hd_Freight_Charge_Tbl;
3904 l_hd_Tax_Detail_Tbl := P_hd_Tax_Detail_Tbl;
3905 l_hd_Attribs_Ext_Tbl := P_hd_Attr_Ext_Tbl;
3906 l_hd_Sales_Credit_Tbl := P_hd_Sales_Credit_Tbl;
3907 l_hd_Quote_Party_Tbl := P_hd_Quote_Party_Tbl;
3908 l_Qte_Line_tbl := p_Qte_Line_tbl;
3909 l_hd_Payment_Tbl := p_hd_Payment_Tbl;
3910 l_Price_Adj_Tbl := P_Price_Adjustment_Tbl;
3911 l_Line_Rltship_Tbl := p_Line_Rltship_Tbl;
3912 l_Price_Adj_rltship_Tbl := p_Price_Adj_Rltship_Tbl;
3913 l_ln_Price_Attributes_Tbl := P_Ln_Price_Attributes_Tbl;
3914 l_Price_Adj_Attr_Tbl := p_Price_Adj_Attr_Tbl;
3915 l_ln_Payment_Tbl := P_Ln_Payment_Tbl;
3916 l_ln_shipment_tbl := P_Ln_Shipment_Tbl;
3917 l_ln_Freight_Charge_Tbl := P_Ln_Freight_Charge_Tbl;
3918 l_ln_Tax_Detail_Tbl := P_Ln_Tax_Detail_Tbl;
3919 l_ln_Sales_Credit_Tbl := P_ln_Sales_Credit_Tbl;
3920 l_ln_Quote_Party_Tbl := P_ln_Quote_Party_Tbl;
3921 l_Line_Attribs_Ext_Tbl := P_Line_Attr_Ext_Tbl;
3922 l_Qte_Line_Dtl_tbl := p_Qte_Line_Dtl_tbl;
3923 l_control_rec := p_control_rec;
3924 l_validation_level := P_Validation_Level;
3925 l_Qte_Access_Tbl := P_Qte_Access_Tbl;
3926 l_Template_Tbl := P_Template_Tbl;
3927 l_Related_Obj_Tbl := P_Related_Obj_Tbl;
3928
3929 -- call user hooks
3930 -- customer pre processing
3931
3932 IF (JTF_USR_HKS.ok_to_execute(G_PKG_NAME, l_api_name, 'B', 'C')) THEN
3933
3934 ASO_QUOTE_CUHK.Create_quote_PRE(
3935 P_Validation_Level => l_validation_level ,
3936 P_Control_Rec => l_control_rec ,
3937 P_Qte_Header_Rec => l_qte_header_rec ,
3938 P_hd_Price_Attributes_Tbl => l_hd_Price_Attributes_Tbl ,
3939 P_hd_Payment_Tbl => l_hd_Payment_Tbl ,
3940 P_hd_Shipment_Rec => l_hd_shipment_rec,
3941 P_hd_Freight_Charge_Tbl => l_hd_Freight_Charge_Tbl,
3942 P_hd_Tax_Detail_Tbl => l_hd_Tax_Detail_Tbl ,
3943 P_hd_Attr_Ext_Tbl => l_hd_Attribs_Ext_Tbl,
3944 P_hd_Sales_Credit_Tbl => l_hd_Sales_Credit_Tbl ,
3945 P_hd_Quote_Party_Tbl => l_hd_Quote_Party_Tbl ,
3946 P_Qte_Line_Tbl => l_Qte_Line_Tbl,
3947 P_Qte_Line_Dtl_Tbl => l_Qte_Line_Dtl_tbl,
3948 P_Line_Attr_Ext_Tbl => l_Line_Attribs_Ext_Tbl,
3949 P_line_rltship_tbl => l_Line_Rltship_Tbl,
3950 P_Price_Adjustment_Tbl => l_Price_Adj_Tbl ,
3951 P_Price_Adj_Attr_Tbl => l_Price_Adj_Attr_Tbl ,
3952 P_Price_Adj_Rltship_Tbl => l_Price_Adj_rltship_Tbl,
3953 P_Ln_Price_Attributes_Tbl => l_ln_Price_Attributes_Tbl ,
3954 P_Ln_Payment_Tbl => l_ln_Payment_Tbl ,
3955 P_Ln_Shipment_Tbl => l_ln_shipment_tbl ,
3956 P_Ln_Freight_Charge_Tbl => l_ln_Freight_Charge_Tbl,
3957 P_Ln_Tax_Detail_Tbl => l_ln_Tax_Detail_Tbl,
3958 P_ln_Sales_Credit_Tbl => l_ln_Sales_Credit_Tbl ,
3959 P_ln_Quote_Party_Tbl => l_ln_Quote_Party_Tbl,
3960 /*
3961 P_Qte_Access_Tbl => l_Qte_Access_Tbl,
3962 P_Template_Tbl => l_Template_Tbl,
3963 P_Related_Obj_Tbl => l_Related_Obj_Tbl,
3964 */
3965 X_Return_Status => X_Return_Status,
3966 X_Msg_Count => X_Msg_Count,
3967 X_Msg_Data => X_Msg_Data);
3968
3969 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3970
3971 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
3972 FND_MESSAGE.Set_Name('ASO', 'ERROR_RETURNED');
3973 FND_MESSAGE.Set_Token('API', 'ASO_QUOTE_CUHK.Create_Quote_PRE', FALSE);
3974 FND_MSG_PUB.ADD;
3975 END IF;
3976
3977 IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
3978 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3979 ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
3980 RAISE FND_API.G_EXC_ERROR;
3981 END IF;
3982
3983 END IF;
3984
3985 END IF; -- customer hook
3986
3987 -- vertical hook
3988 IF (JTF_USR_HKS.ok_to_execute(G_PKG_NAME, l_api_name, 'B', 'V')) THEN
3989
3990 ASO_QUOTE_VUHK.Create_quote_PRE(
3991 P_Validation_Level => l_validation_level ,
3992 P_Control_Rec => l_control_rec ,
3993 P_Qte_Header_Rec => l_qte_header_rec ,
3994 P_hd_Price_Attributes_Tbl => l_hd_Price_Attributes_Tbl ,
3995 P_hd_Payment_Tbl => l_hd_Payment_Tbl ,
3996 P_hd_Shipment_Rec => l_hd_shipment_rec,
3997 P_hd_Freight_Charge_Tbl => l_hd_Freight_Charge_Tbl,
3998 P_hd_Tax_Detail_Tbl => l_hd_Tax_Detail_Tbl ,
3999 P_hd_Attr_Ext_Tbl => l_hd_Attribs_Ext_Tbl,
4000 P_hd_Sales_Credit_Tbl => l_hd_Sales_Credit_Tbl ,
4001 P_hd_Quote_Party_Tbl => l_hd_Quote_Party_Tbl ,
4002 P_Qte_Line_Tbl => l_Qte_Line_Tbl,
4003 P_Qte_Line_Dtl_Tbl => l_Qte_Line_Dtl_tbl,
4004 P_Line_Attr_Ext_Tbl => l_Line_Attribs_Ext_Tbl,
4005 P_line_rltship_tbl => l_Line_Rltship_Tbl,
4006 P_Price_Adjustment_Tbl => l_Price_Adj_Tbl ,
4007 P_Price_Adj_Attr_Tbl => l_Price_Adj_Attr_Tbl ,
4008 P_Price_Adj_Rltship_Tbl => l_Price_Adj_rltship_Tbl,
4009 P_Ln_Price_Attributes_Tbl => l_ln_Price_Attributes_Tbl ,
4010 P_Ln_Payment_Tbl => l_ln_Payment_Tbl ,
4011 P_Ln_Shipment_Tbl => l_ln_shipment_tbl ,
4012 P_Ln_Freight_Charge_Tbl => l_ln_Freight_Charge_Tbl,
4013 P_Ln_Tax_Detail_Tbl => l_ln_Tax_Detail_Tbl,
4014 P_ln_Sales_Credit_Tbl => l_ln_Sales_Credit_Tbl ,
4015 P_ln_Quote_Party_Tbl => l_ln_Quote_Party_Tbl,
4016 /*
4017 P_Qte_Access_Tbl => l_Qte_Access_Tbl,
4018 P_Template_Tbl => l_Template_Tbl,
4019 P_Related_Obj_Tbl => l_Related_Obj_Tbl,
4020 */
4021 X_Return_Status => X_Return_Status,
4022 X_Msg_Count => X_Msg_Count,
4023 X_Msg_Data => X_Msg_Data );
4024
4025 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
4026
4027 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
4028 FND_MESSAGE.Set_Name('ASO', 'ERROR_RETURNED');
4029 FND_MESSAGE.Set_Token('API', 'ASO_QUOTE_VUHK.Create_Quote_PRE', FALSE);
4030 FND_MSG_PUB.ADD;
4031 END IF;
4032
4033 IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
4034 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4035 ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
4036 RAISE FND_API.G_EXC_ERROR;
4037 END IF;
4038
4039 END IF;
4040
4041 END IF;
4042
4043 -- Convert the values to ids
4044 --
4045
4046 Convert_Header_Values_To_Ids ( p_qte_header_rec => l_qte_header_rec,
4047 x_qte_header_rec => l_qte_header_rec_out);
4048
4049 l_qte_header_rec := l_qte_header_rec_out;
4050
4051 FOR i IN 1..p_qte_line_tbl.count LOOP
4052
4053 Convert_Line_Values_To_Ids ( p_qte_line_rec => l_qte_line_tbl(i),
4054 x_qte_line_rec => l_qte_line_rec_out );
4055
4056 l_qte_line_tbl(i) := l_qte_line_rec_out;
4057
4058 END LOOP;
4059
4060 Convert_Shipment_Values_To_Ids ( p_shipment_rec => l_hd_shipment_rec,
4061 x_shipment_rec => l_hd_shipment_rec_out);
4062
4063 l_hd_shipment_rec := l_hd_shipment_rec_out;
4064
4065 FOR i IN 1..p_ln_shipment_tbl.count LOOP
4066
4067 Convert_Shipment_Values_To_Ids ( p_shipment_rec => l_ln_shipment_tbl(i),
4068 x_shipment_rec => l_ln_shipment_rec_out );
4069
4070 l_ln_shipment_tbl(i) := l_ln_shipment_rec_out;
4071
4072 END LOOP;
4073
4074 ASO_QUOTE_HEADERS_PVT.Create_quote(
4075 P_Api_Version_Number => 1.0,
4076 P_Init_Msg_List => FND_API.G_FALSE,
4077 P_Commit => FND_API.G_FALSE,
4078 p_validation_level => p_validation_level,
4079 P_Control_Rec => l_control_rec,
4080 P_qte_header_rec => l_qte_header_rec,
4081 P_Hd_Price_Attributes_Tbl => l_hd_Price_Attributes_Tbl,
4082 P_Hd_Payment_Tbl => l_hd_Payment_Tbl,
4083 P_Hd_Shipment_Rec => l_Hd_Shipment_Rec,
4084 P_Hd_Freight_Charge_Tbl => l_hd_Freight_Charge_Tbl,
4085 P_Hd_Tax_Detail_Tbl => l_hd_Tax_Detail_Tbl ,
4086 P_hd_Attr_Ext_Tbl => l_hd_Attribs_Ext_Tbl,
4087 P_hd_Sales_Credit_Tbl => l_hd_Sales_Credit_Tbl ,
4088 P_hd_Quote_Party_Tbl => l_hd_Quote_Party_Tbl,
4089 P_Qte_Line_Tbl => l_Qte_Line_Tbl,
4090 P_Qte_Line_Dtl_Tbl => l_Qte_Line_Dtl_tbl,
4091 P_Line_Attr_Ext_Tbl => l_Line_Attribs_Ext_Tbl,
4092 P_Line_rltship_tbl => l_Line_Rltship_Tbl,
4093 P_Price_Adjustment_Tbl => l_Price_Adj_Tbl,
4094 P_Price_Adj_Attr_Tbl => l_Price_Adj_Attr_Tbl,
4095 P_Price_Adj_Rltship_Tbl => l_Price_Adj_rltship_Tbl ,
4096 P_Ln_Price_Attributes_Tbl => l_ln_Price_Attributes_Tbl ,
4097 P_Ln_Payment_Tbl => l_Ln_Payment_Tbl,
4098 P_Ln_Shipment_Tbl => l_Ln_Shipment_Tbl,
4099 P_Ln_Freight_Charge_Tbl => l_Ln_Freight_Charge_Tbl,
4100 P_Ln_Tax_Detail_Tbl => l_Ln_Tax_Detail_Tbl,
4101 P_ln_Sales_Credit_Tbl => l_ln_Sales_Credit_Tbl ,
4102 P_ln_Quote_Party_Tbl => l_ln_Quote_Party_Tbl,
4103 P_Qte_Access_Tbl => l_Qte_Access_Tbl,
4104 P_Template_Tbl => l_Template_Tbl,
4105 P_Related_Obj_Tbl => l_Related_Obj_Tbl,
4106 x_qte_header_rec => x_qte_header_rec,
4107 X_Hd_Price_Attributes_Tbl => x_Hd_Price_Attributes_Tbl,
4108 X_Hd_Payment_Tbl => x_Hd_Payment_Tbl,
4109 X_Hd_Shipment_Rec => x_Hd_Shipment_Rec,
4110 X_Hd_Freight_Charge_Tbl => x_Hd_Freight_Charge_Tbl,
4111 X_Hd_Tax_Detail_Tbl => x_Hd_Tax_Detail_Tbl,
4112 X_hd_Attr_Ext_Tbl => X_hd_Attr_Ext_Tbl,
4113 X_hd_Sales_Credit_Tbl => X_hd_Sales_Credit_Tbl,
4114 X_hd_Quote_Party_Tbl => X_hd_Quote_Party_Tbl,
4115 X_Qte_Line_Tbl => x_Qte_Line_Tbl,
4116 X_Qte_Line_Dtl_Tbl => x_Qte_Line_Dtl_Tbl,
4117 x_Line_Attr_Ext_Tbl => x_Line_Attr_Ext_Tbl,
4118 X_Line_rltship_tbl => x_Line_Rltship_Tbl,
4119 X_Price_Adjustment_Tbl => x_Price_Adjustment_Tbl,
4120 x_Price_Adj_Attr_Tbl => x_Price_Adj_Attr_Tbl,
4121 X_Price_Adj_Rltship_Tbl => x_Price_Adj_Rltship_Tbl,
4122 X_Ln_Price_Attributes_Tbl => x_Ln_Price_Attributes_Tbl,
4123 X_Ln_Payment_Tbl => x_Ln_Payment_Tbl,
4124 X_Ln_Shipment_Tbl => x_Ln_Shipment_Tbl,
4125 X_Ln_Freight_Charge_Tbl => x_Ln_Freight_Charge_Tbl,
4126 X_Ln_Tax_Detail_Tbl => x_Ln_Tax_Detail_Tbl,
4127 X_Ln_Sales_Credit_Tbl => X_Ln_Sales_Credit_Tbl,
4128 X_Ln_Quote_Party_Tbl => X_Ln_Quote_Party_Tbl ,
4129 X_Qte_Access_Tbl => X_Qte_Access_Tbl,
4130 X_Template_Tbl => X_Template_Tbl,
4131 X_Related_Obj_Tbl => X_Related_Obj_Tbl,
4132 X_Return_Status => x_return_status,
4133 X_Msg_Count => x_msg_count,
4134 X_Msg_Data => x_msg_data);
4135
4136 IF aso_debug_pub.g_debug_flag = 'Y' THEN
4137 aso_debug_pub.add('create_quote_pub: after create quote, starting user hooks (1)'||x_return_status,1, 'N');
4138 END IF;
4139
4140 -- Check return status from the above procedure call
4141 IF x_return_status = FND_API.G_RET_STS_ERROR then
4142 raise FND_API.G_EXC_ERROR;
4143 elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
4144 raise FND_API.G_EXC_UNEXPECTED_ERROR;
4145 END IF;
4146
4147 --
4148 -- End of API body.
4149 --
4150
4151 -- call user hooks customer post processing
4152
4153 IF (JTF_USR_HKS.ok_to_execute(G_PKG_NAME, l_api_name, 'A', 'C')) THEN
4154
4155 ASO_QUOTE_CUHK.Create_quote_POST(
4156 P_Validation_Level => l_validation_level ,
4157 P_Control_Rec => l_control_rec ,
4158 P_Qte_Header_Rec => x_qte_header_rec ,
4159 P_hd_Price_Attributes_Tbl => x_hd_Price_Attributes_Tbl ,
4160 P_hd_Payment_Tbl => x_hd_Payment_Tbl ,
4161 P_hd_Shipment_Rec => x_hd_shipment_rec,
4162 P_hd_Freight_Charge_Tbl => x_hd_Freight_Charge_Tbl,
4163 P_hd_Tax_Detail_Tbl => x_hd_Tax_Detail_Tbl ,
4164 P_hd_Attr_Ext_Tbl => X_hd_Attr_Ext_Tbl,
4165 P_hd_Sales_Credit_Tbl => x_hd_Sales_Credit_Tbl ,
4166 P_hd_Quote_Party_Tbl => x_hd_Quote_Party_Tbl ,
4167 P_Qte_Line_Tbl => x_Qte_Line_Tbl,
4168 P_Qte_Line_Dtl_Tbl => x_Qte_Line_Dtl_tbl,
4169 P_Line_Attr_Ext_Tbl => x_Line_Attr_Ext_Tbl,
4170 P_line_rltship_tbl => x_Line_Rltship_Tbl,
4171 P_Price_Adjustment_Tbl => x_Price_Adjustment_Tbl ,
4172 P_Price_Adj_Attr_Tbl => x_Price_Adj_Attr_Tbl ,
4173 P_Price_Adj_Rltship_Tbl => x_Price_Adj_rltship_Tbl,
4174 P_Ln_Price_Attributes_Tbl => x_ln_Price_Attributes_Tbl ,
4175 P_Ln_Payment_Tbl => x_ln_Payment_Tbl ,
4176 P_Ln_Shipment_Tbl => x_ln_shipment_tbl ,
4177 P_Ln_Freight_Charge_Tbl => x_ln_Freight_Charge_Tbl,
4178 P_Ln_Tax_Detail_Tbl => x_ln_Tax_Detail_Tbl,
4179 P_ln_Sales_Credit_Tbl => x_ln_Sales_Credit_Tbl ,
4180 P_ln_Quote_Party_Tbl => x_ln_Quote_Party_Tbl,
4181 /*
4182 P_Qte_Access_Tbl => x_Qte_Access_Tbl,
4183 P_Template_Tbl => x_Template_Tbl,
4184 P_Related_Obj_Tbl => l_Related_Obj_Tbl,
4185 */
4186 X_Return_Status => X_Return_Status,
4187 X_Msg_Count => X_Msg_Count,
4188 X_Msg_Data => X_Msg_Data
4189 );
4190
4191 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
4192
4193 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
4194 FND_MESSAGE.Set_Name('ASO', 'ERROR_RETURNED');
4195 FND_MESSAGE.Set_Token('API', 'ASO_QUOTE_CUHK.Create_Quote_POST', FALSE);
4196 FND_MSG_PUB.ADD;
4197 END IF;
4198
4199 IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
4200 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4201 ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
4202 RAISE FND_API.G_EXC_ERROR;
4203 END IF;
4204
4205 END IF;
4206
4207 END IF; -- customer hook
4208
4209
4210 IF aso_debug_pub.g_debug_flag = 'Y' THEN
4211 aso_debug_pub.add('aso_quote_vuhk: before if create quote post (1)'||x_return_status,1, 'N');
4212 END IF;
4213
4214 IF (JTF_USR_HKS.ok_to_execute(G_PKG_NAME, l_api_name, 'A', 'V')) THEN
4215
4216 IF aso_debug_pub.g_debug_flag = 'Y' THEN
4217 aso_debug_pub.add('aso_quote_vuhk: inside if create quote post (1)'||x_return_status,1, 'N');
4218 END IF;
4219
4220 ASO_QUOTE_VUHK.Create_quote_POST(
4221 P_Validation_Level => l_validation_level ,
4222 P_Control_Rec => l_control_rec ,
4223 P_Qte_Header_Rec => x_qte_header_rec ,
4224 P_hd_Price_Attributes_Tbl => x_hd_Price_Attributes_Tbl ,
4225 P_hd_Payment_Tbl => x_hd_Payment_Tbl ,
4226 P_hd_Shipment_Rec => x_hd_shipment_rec,
4227 P_hd_Freight_Charge_Tbl => x_hd_Freight_Charge_Tbl,
4228 P_hd_Tax_Detail_Tbl => x_hd_Tax_Detail_Tbl ,
4229 P_hd_Attr_Ext_Tbl => X_hd_Attr_Ext_Tbl,
4230 P_hd_Sales_Credit_Tbl => x_hd_Sales_Credit_Tbl ,
4231 P_hd_Quote_Party_Tbl => x_hd_Quote_Party_Tbl ,
4232 P_Qte_Line_Tbl => x_Qte_Line_Tbl,
4233 P_Qte_Line_Dtl_Tbl => x_Qte_Line_Dtl_tbl,
4234 P_Line_Attr_Ext_Tbl => x_Line_Attr_Ext_Tbl,
4235 P_line_rltship_tbl => x_Line_Rltship_Tbl,
4236 P_Price_Adjustment_Tbl => x_Price_Adjustment_Tbl ,
4237 P_Price_Adj_Attr_Tbl => x_Price_Adj_Attr_Tbl ,
4238 P_Price_Adj_Rltship_Tbl => x_Price_Adj_rltship_Tbl,
4239 P_Ln_Price_Attributes_Tbl => x_ln_Price_Attributes_Tbl ,
4240 P_Ln_Payment_Tbl => x_ln_Payment_Tbl ,
4241 P_Ln_Shipment_Tbl => x_ln_shipment_tbl ,
4242 P_Ln_Freight_Charge_Tbl => x_ln_Freight_Charge_Tbl,
4243 P_Ln_Tax_Detail_Tbl => x_ln_Tax_Detail_Tbl,
4244 P_ln_Sales_Credit_Tbl => x_ln_Sales_Credit_Tbl ,
4245 P_ln_Quote_Party_Tbl => x_ln_Quote_Party_Tbl,
4246 /*
4247 P_Qte_Access_Tbl => x_Qte_Access_Tbl,
4248 P_Template_Tbl => x_Template_Tbl,
4249 P_Related_Obj_Tbl => x_Related_Obj_Tbl,
4250 */
4251 X_Return_Status => X_Return_Status,
4252 X_Msg_Count => X_Msg_Count,
4253 X_Msg_Data => X_Msg_Data
4254 );
4255
4256 IF aso_debug_pub.g_debug_flag = 'Y' THEN
4257 aso_debug_pub.add('create_quote_pub: after hooks (2)'||x_return_status,1, 'N');
4258 END IF;
4259
4260 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
4261
4262 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
4263 FND_MESSAGE.Set_Name('ASO', 'ERROR_RETURNED');
4264 FND_MESSAGE.Set_Token('API', 'ASO_QUOTE_VUHK.Create_Quote_POST', FALSE);
4265 FND_MSG_PUB.ADD;
4266 END IF;
4267
4268 IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
4269 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4270 ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
4271 RAISE FND_API.G_EXC_ERROR;
4272 END IF;
4273
4274 END IF;
4275
4276 END IF; -- vertical hook
4277
4278 -- Standard check for p_commit
4279 IF FND_API.to_Boolean( p_commit ) THEN
4280 COMMIT WORK;
4281 END IF;
4282
4283 -- Standard call to get message count and if count is 1, get message info.
4284 FND_MSG_PUB.Count_And_Get
4285 ( p_count => x_msg_count,
4286 p_data => x_msg_data
4287 );
4288
4289 EXCEPTION
4290
4291 WHEN FND_API.G_EXC_ERROR THEN
4292 ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
4293 P_API_NAME => L_API_NAME
4294 ,P_PKG_NAME => G_PKG_NAME
4295 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
4296 ,P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PUB
4297 ,P_SQLCODE => SQLCODE
4298 ,P_SQLERRM => SQLERRM
4299 ,X_MSG_COUNT => X_MSG_COUNT
4300 ,X_MSG_DATA => X_MSG_DATA
4301 ,X_RETURN_STATUS => X_RETURN_STATUS);
4302
4303 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4304 ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
4305 P_API_NAME => L_API_NAME
4306 ,P_PKG_NAME => G_PKG_NAME
4307 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
4308 ,P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PUB
4309 ,P_SQLCODE => SQLCODE
4310 ,P_SQLERRM => SQLERRM
4311 ,X_MSG_COUNT => X_MSG_COUNT
4312 ,X_MSG_DATA => X_MSG_DATA
4313 ,X_RETURN_STATUS => X_RETURN_STATUS);
4314
4315 WHEN OTHERS THEN
4316 ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
4317 P_API_NAME => L_API_NAME
4318 ,P_PKG_NAME => G_PKG_NAME
4319 ,P_EXCEPTION_LEVEL => ASO_UTILITY_PVT.G_EXC_OTHERS
4320 ,P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PUB
4321 ,P_SQLCODE => SQLCODE
4322 ,P_SQLERRM => SQLERRM
4323 ,X_MSG_COUNT => X_MSG_COUNT
4324 ,X_MSG_DATA => X_MSG_DATA
4325 ,X_RETURN_STATUS => X_RETURN_STATUS);
4326 END;
4327
4328
4329 -- *******************************************************
4330 -- Start of Comments
4331 -- *******************************************************
4332 -- API Name: Update_quote
4333 -- Type : Public
4334 -- Pre-Req :
4335 -- Parameters:
4336
4337 -- This is an overloaded procedure. It takes additional attributes
4338 -- which include the hd_attributes, sales credits and quote party record types
4339
4340
4341 PROCEDURE Update_quote(
4342 P_Api_Version_Number IN NUMBER,
4343 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
4344 P_Commit IN VARCHAR2 := FND_API.G_FALSE,
4345 P_Validation_Level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
4346 P_Control_Rec IN Control_Rec_Type := G_Miss_Control_Rec,
4347 P_Qte_Header_Rec IN Qte_Header_Rec_Type := G_MISS_Qte_Header_Rec,
4348 P_hd_Price_Attributes_Tbl IN ASO_QUOTE_PUB.Price_Attributes_Tbl_Type := G_Miss_Price_Attributes_Tbl,
4349 P_hd_Payment_Tbl IN ASO_QUOTE_PUB.Payment_Tbl_Type := G_MISS_PAYMENT_TBL,
4350 P_hd_Shipment_Tbl IN ASO_QUOTE_PUB.Shipment_Tbl_Type := G_MISS_SHIPMENT_TBL,
4351 P_hd_Freight_Charge_Tbl IN ASO_QUOTE_PUB.Freight_Charge_Tbl_Type := G_Miss_Freight_Charge_Tbl,
4352 P_hd_Tax_Detail_Tbl IN ASO_QUOTE_PUB.Tax_Detail_Tbl_Type := G_Miss_Tax_Detail_Tbl,
4353 P_hd_Attr_Ext_Tbl IN Line_Attribs_Ext_Tbl_Type := G_MISS_Line_Attribs_Ext_TBL,
4354 P_hd_Sales_Credit_Tbl IN Sales_Credit_Tbl_Type := G_MISS_Sales_Credit_Tbl,
4355 P_hd_Quote_Party_Tbl IN Quote_Party_Tbl_Type := G_MISS_Quote_Party_Tbl,
4356 P_Qte_Line_Tbl IN Qte_Line_Tbl_Type := G_MISS_QTE_LINE_TBL,
4357 P_Qte_Line_Dtl_Tbl IN Qte_Line_Dtl_Tbl_Type := G_MISS_QTE_LINE_DTL_TBL,
4358 P_Line_Attr_Ext_Tbl IN Line_Attribs_Ext_Tbl_Type := G_MISS_Line_Attribs_Ext_TBL,
4359 P_line_rltship_tbl IN Line_Rltship_Tbl_Type := G_MISS_Line_Rltship_Tbl,
4360 P_Price_Adjustment_Tbl IN Price_Adj_Tbl_Type := G_Miss_Price_Adj_Tbl,
4361 P_Price_Adj_Attr_Tbl IN Price_Adj_Attr_Tbl_Type := G_Miss_PRICE_ADJ_ATTR_Tbl,
4362 P_Price_Adj_Rltship_Tbl IN Price_Adj_Rltship_Tbl_Type := G_Miss_Price_Adj_Rltship_Tbl,
4363 P_Ln_Price_Attributes_Tbl IN Price_Attributes_Tbl_Type := G_Miss_Price_Attributes_Tbl,
4364 P_Ln_Payment_Tbl IN Payment_Tbl_Type := G_MISS_PAYMENT_TBL,
4365 P_Ln_Shipment_Tbl IN Shipment_Tbl_Type := G_MISS_SHIPMENT_TBL,
4366 P_Ln_Freight_Charge_Tbl IN Freight_Charge_Tbl_Type := G_Miss_Freight_Charge_Tbl,
4367 P_Ln_Tax_Detail_Tbl IN Tax_Detail_Tbl_Type := G_Miss_Tax_Detail_Tbl,
4368 P_ln_Sales_Credit_Tbl IN Sales_Credit_Tbl_Type := G_MISS_Sales_Credit_Tbl,
4369 P_ln_Quote_Party_Tbl IN Quote_Party_Tbl_Type := G_MISS_Quote_Party_Tbl,
4370 P_Qte_Access_Tbl IN Qte_Access_Tbl_Type := G_MISS_QTE_ACCESS_TBL,
4371 P_Template_Tbl IN Template_Tbl_Type := G_MISS_TEMPLATE_TBL,
4372 P_Related_Obj_Tbl IN Related_Obj_Tbl_Type := G_MISS_RELATED_OBJ_TBL,
4373 x_Qte_Header_Rec OUT NOCOPY /* file.sql.39 change */ Qte_Header_Rec_Type,
4374 X_Qte_Line_Tbl OUT NOCOPY /* file.sql.39 change */ Qte_Line_Tbl_Type,
4375 X_Qte_Line_Dtl_Tbl OUT NOCOPY /* file.sql.39 change */ Qte_Line_Dtl_Tbl_Type,
4376 X_Hd_Price_Attributes_Tbl OUT NOCOPY /* file.sql.39 change */ Price_Attributes_Tbl_Type,
4377 X_Hd_Payment_Tbl OUT NOCOPY /* file.sql.39 change */ Payment_Tbl_Type,
4378 X_Hd_Shipment_Tbl OUT NOCOPY /* file.sql.39 change */ Shipment_Tbl_Type,
4379 X_Hd_Freight_Charge_Tbl OUT NOCOPY /* file.sql.39 change */ Freight_Charge_Tbl_Type,
4380 X_Hd_Tax_Detail_Tbl OUT NOCOPY /* file.sql.39 change */ Tax_Detail_Tbl_Type,
4381 X_hd_Attr_Ext_Tbl OUT NOCOPY /* file.sql.39 change */ Line_Attribs_Ext_Tbl_Type,
4382 X_hd_Sales_Credit_Tbl OUT NOCOPY /* file.sql.39 change */ Sales_Credit_Tbl_Type,
4383 X_hd_Quote_Party_Tbl OUT NOCOPY /* file.sql.39 change */ Quote_Party_Tbl_Type,
4384 x_Line_Attr_Ext_Tbl OUT NOCOPY /* file.sql.39 change */ Line_Attribs_Ext_Tbl_Type,
4385 X_line_rltship_tbl OUT NOCOPY /* file.sql.39 change */ Line_Rltship_Tbl_Type,
4386 X_Price_Adjustment_Tbl OUT NOCOPY /* file.sql.39 change */ Price_Adj_Tbl_Type,
4387 X_Price_Adj_Attr_Tbl OUT NOCOPY /* file.sql.39 change */ Price_Adj_Attr_Tbl_Type,
4388 X_Price_Adj_Rltship_Tbl OUT NOCOPY /* file.sql.39 change */ Price_Adj_Rltship_Tbl_Type,
4389 X_Ln_Price_Attributes_Tbl OUT NOCOPY /* file.sql.39 change */ Price_Attributes_Tbl_Type,
4390 X_Ln_Payment_Tbl OUT NOCOPY /* file.sql.39 change */ Payment_Tbl_Type,
4391 X_Ln_Shipment_Tbl OUT NOCOPY /* file.sql.39 change */ Shipment_Tbl_Type,
4392 X_Ln_Freight_Charge_Tbl OUT NOCOPY /* file.sql.39 change */ Freight_Charge_Tbl_Type,
4393 X_Ln_Tax_Detail_Tbl OUT NOCOPY /* file.sql.39 change */ Tax_Detail_Tbl_Type,
4394 X_Ln_Sales_Credit_Tbl OUT NOCOPY /* file.sql.39 change */ Sales_Credit_Tbl_Type,
4395 X_Ln_Quote_Party_Tbl OUT NOCOPY /* file.sql.39 change */ Quote_Party_Tbl_Type,
4396 X_Qte_Access_Tbl OUT NOCOPY /* file.sql.39 change */ Qte_Access_Tbl_Type,
4397 X_Template_Tbl OUT NOCOPY /* file.sql.39 change */ Template_Tbl_Type,
4398 X_Related_Obj_Tbl OUT NOCOPY /* file.sql.39 change */ Related_Obj_Tbl_Type,
4399 X_Return_Status OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
4400 X_Msg_Count OUT NOCOPY /* file.sql.39 change */ NUMBER,
4401 X_Msg_Data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
4402 )
4403 IS
4404 l_api_name CONSTANT VARCHAR2(30) := 'UPDATE_QUOTE';
4405 l_api_version_number CONSTANT NUMBER := 1.0;
4406 l_Qte_Header_Rec Qte_Header_Rec_Type;
4407 l_Qte_Header_Rec_Out Qte_Header_Rec_Type;
4408 l_Qte_Line_Tbl Qte_Line_Tbl_Type;
4409 l_Qte_Line_Rec_Out Qte_Line_Rec_Type;
4410 l_hd_shipment_tbl Shipment_Tbl_Type;
4411 l_hd_shipment_rec_out Shipment_Rec_Type;
4412 l_ln_shipment_tbl Shipment_Tbl_Type;
4413 l_ln_shipment_rec_out Shipment_Rec_Type;
4414 l_hd_Payment_Tbl Payment_Tbl_Type ;
4415 l_ln_Payment_Tbl Payment_Tbl_Type ;
4416 l_Price_Adj_Tbl Price_Adj_Tbl_Type;
4417 l_Qte_Line_Dtl_rec Qte_Line_Dtl_rec_Type ;
4418 l_hd_Tax_Detail_Tbl Tax_Detail_Tbl_Type;
4419 l_ln_Tax_Detail_Tbl Tax_Detail_Tbl_Type;
4420 l_hd_Freight_Charge_Tbl Freight_Charge_Tbl_Type;
4421 l_ln_Freight_Charge_Tbl Freight_Charge_Tbl_Type;
4422 l_Line_Rltship_Tbl Line_Rltship_Tbl_Type;
4423 l_hd_Price_Attributes_Tbl Price_Attributes_Tbl_Type;
4424 l_ln_Price_Attributes_Tbl Price_Attributes_Tbl_Type;
4425 l_Price_Adj_rltship_Tbl Price_Adj_Rltship_Tbl_Type;
4426 l_Price_Adj_Attr_Tbl Price_Adj_Attr_Tbl_Type;
4427 l_hd_Attribs_Ext_Tbl Line_Attribs_Ext_Tbl_type;
4428 l_Line_Attribs_Ext_Tbl Line_Attribs_Ext_Tbl_type;
4429 l_Qte_Line_Dtl_tbl Qte_Line_Dtl_tbl_Type;
4430 l_hd_Sales_Credit_Tbl Sales_Credit_Tbl_Type ;
4431 l_ln_Sales_Credit_Tbl Sales_Credit_Tbl_Type ;
4432 l_hd_Quote_Party_Tbl Quote_Party_Tbl_Type;
4433 l_ln_Quote_Party_Tbl Quote_Party_Tbl_Type;
4434 l_Control_Rec Control_rec_Type;
4435 l_validation_level NUMBER;
4436 l_Qte_Access_Tbl Qte_Access_Tbl_Type;
4437 l_Template_Tbl Template_Tbl_Type;
4438 l_Related_Obj_Tbl Related_Obj_Tbl_Type;
4439
4440 BEGIN
4441 -- Standard Start of API savepoint
4442 SAVEPOINT UPDATE_QUOTE_PUB;
4443
4444 aso_debug_pub.g_debug_flag := nvl(fnd_profile.value('ASO_ENABLE_DEBUG'),'N');
4445
4446 -- Standard call to check for call compatibility.
4447 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
4448 p_api_version_number,
4449 l_api_name,
4450 G_PKG_NAME) THEN
4451 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4452 END IF;
4453
4454 -- Initialize message list if p_init_msg_list is set to TRUE.
4455 IF FND_API.to_Boolean( p_init_msg_list ) THEN
4456 FND_MSG_PUB.initialize;
4457 END IF;
4458
4459 -- Initialize API return status to SUCCESS
4460 x_return_status := FND_API.G_RET_STS_SUCCESS;
4461
4462 --
4463 -- API body
4464 --
4465 -- mapping to local variables
4466 l_qte_header_rec := P_Qte_Header_Rec;
4467 l_hd_Price_Attributes_Tbl := P_hd_Price_Attributes_Tbl;
4468 l_hd_Payment_Tbl := P_hd_Payment_Tbl;
4469 l_hd_shipment_tbl := P_hd_Shipment_tbl;
4470 l_hd_Freight_Charge_Tbl := P_hd_Freight_Charge_Tbl;
4471 l_hd_Tax_Detail_Tbl := P_hd_Tax_Detail_Tbl;
4472 l_hd_Attribs_Ext_Tbl := P_hd_Attr_Ext_Tbl;
4473 l_hd_Sales_Credit_Tbl := P_hd_Sales_Credit_Tbl;
4474 l_hd_Quote_Party_Tbl := P_hd_Quote_Party_Tbl;
4475 l_Qte_Line_tbl := p_Qte_Line_tbl;
4476 l_hd_Payment_Tbl := p_hd_Payment_Tbl;
4477 l_Price_Adj_Tbl := P_Price_Adjustment_Tbl;
4478 l_Line_Rltship_Tbl := p_Line_Rltship_Tbl;
4479 l_Price_Adj_rltship_Tbl := p_Price_Adj_Rltship_Tbl;
4480 l_ln_Price_Attributes_Tbl := P_Ln_Price_Attributes_Tbl;
4481 l_Price_Adj_Attr_Tbl := p_Price_Adj_Attr_Tbl;
4482 l_ln_Payment_Tbl := P_Ln_Payment_Tbl;
4483 l_ln_shipment_tbl := P_Ln_Shipment_Tbl;
4484 l_ln_Freight_Charge_Tbl := P_Ln_Freight_Charge_Tbl;
4485 l_ln_Tax_Detail_Tbl := P_Ln_Tax_Detail_Tbl;
4486 l_ln_Sales_Credit_Tbl := P_ln_Sales_Credit_Tbl;
4487 l_ln_Quote_Party_Tbl := P_ln_Quote_Party_Tbl;
4488 l_Line_Attribs_Ext_Tbl := P_Line_Attr_Ext_Tbl ;
4489 l_Qte_Line_Dtl_tbl := p_Qte_Line_Dtl_tbl;
4490 l_control_rec := p_control_rec;
4491 l_validation_level := P_Validation_Level;
4492 l_Qte_Access_Tbl := P_Qte_Access_Tbl;
4493 l_Template_Tbl := p_Template_Tbl;
4494 l_Related_Obj_Tbl := p_Related_Obj_Tbl;
4495
4496 -- call user hooks
4497 -- customer pre processing
4498
4499 IF (JTF_USR_HKS.ok_to_execute(G_PKG_NAME, l_api_name, 'B', 'C')) THEN
4500
4501 ASO_QUOTE_CUHK.update_quote_PRE(
4502 P_Validation_Level => l_validation_level ,
4503 P_Control_Rec => l_control_rec ,
4504 P_Qte_Header_Rec => l_qte_header_rec ,
4505 P_hd_Price_Attributes_Tbl => l_hd_Price_Attributes_Tbl ,
4506 P_hd_Payment_Tbl => l_hd_Payment_Tbl ,
4507 P_hd_Shipment_tbl => l_hd_shipment_tbl,
4508 P_hd_Freight_Charge_Tbl => l_hd_Freight_Charge_Tbl,
4509 P_hd_Tax_Detail_Tbl => l_hd_Tax_Detail_Tbl ,
4510 P_hd_Attr_Ext_Tbl => l_hd_Attribs_Ext_Tbl,
4511 P_hd_Sales_Credit_Tbl => l_hd_Sales_Credit_Tbl ,
4512 P_hd_Quote_Party_Tbl => l_hd_Quote_Party_Tbl ,
4513 P_Qte_Line_Tbl => l_Qte_Line_Tbl,
4514 P_Qte_Line_Dtl_Tbl => l_Qte_Line_Dtl_tbl,
4515 P_Line_Attr_Ext_Tbl => l_Line_Attribs_Ext_Tbl,
4516 P_line_rltship_tbl => l_Line_Rltship_Tbl,
4517 P_Price_Adjustment_Tbl => l_Price_Adj_Tbl ,
4518 P_Price_Adj_Attr_Tbl => l_Price_Adj_Attr_Tbl ,
4519 P_Price_Adj_Rltship_Tbl => l_Price_Adj_rltship_Tbl,
4520 P_Ln_Price_Attributes_Tbl => l_ln_Price_Attributes_Tbl ,
4521 P_Ln_Payment_Tbl => l_ln_Payment_Tbl ,
4522 P_Ln_Shipment_Tbl => l_ln_shipment_tbl ,
4523 P_Ln_Freight_Charge_Tbl => l_ln_Freight_Charge_Tbl,
4524 P_Ln_Tax_Detail_Tbl => l_ln_Tax_Detail_Tbl,
4525 P_ln_Sales_Credit_Tbl => l_ln_Sales_Credit_Tbl ,
4526 P_ln_Quote_Party_Tbl => l_ln_Quote_Party_Tbl,
4527 /*
4528 P_Qte_Access_Tbl => l_Qte_Access_Tbl,
4529 P_Template_Tbl => l_Template_Tbl,
4530 p_Related_Obj_Tbl => l_Related_Obj_Tbl,
4531 */
4532 X_Return_Status => X_Return_Status,
4533 X_Msg_Count => X_Msg_Count,
4534 X_Msg_Data => X_Msg_Data
4535 );
4536
4537 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
4538
4539 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
4540 FND_MESSAGE.Set_Name('ASO', 'ERROR_RETURNED');
4541 FND_MESSAGE.Set_Token('API', 'ASO_QUOTE_CUHK.update_Quote_PRE', FALSE);
4542 FND_MSG_PUB.ADD;
4543 END IF;
4544
4545 IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
4546 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4547 ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
4548 RAISE FND_API.G_EXC_ERROR;
4549 END IF;
4550
4551 END IF;
4552
4553 END IF; -- customer hook
4554
4555 -- vertical hook
4556 IF (JTF_USR_HKS.ok_to_execute(G_PKG_NAME, l_api_name, 'B', 'V')) THEN
4557
4558 ASO_QUOTE_VUHK.update_quote_PRE(
4559 P_Validation_Level => l_validation_level ,
4560 P_Control_Rec => l_control_rec ,
4561 P_Qte_Header_Rec => l_qte_header_rec ,
4562 P_hd_Price_Attributes_Tbl => l_hd_Price_Attributes_Tbl ,
4563 P_hd_Payment_Tbl => l_hd_Payment_Tbl ,
4564 P_hd_Shipment_tbl => l_hd_shipment_tbl,
4565 P_hd_Freight_Charge_Tbl => l_hd_Freight_Charge_Tbl,
4566 P_hd_Tax_Detail_Tbl => l_hd_Tax_Detail_Tbl ,
4567 P_hd_Attr_Ext_Tbl => l_hd_Attribs_Ext_Tbl,
4568 P_hd_Sales_Credit_Tbl => l_hd_Sales_Credit_Tbl ,
4569 P_hd_Quote_Party_Tbl => l_hd_Quote_Party_Tbl ,
4570 P_Qte_Line_Tbl => l_Qte_Line_Tbl,
4571 P_Qte_Line_Dtl_Tbl => l_Qte_Line_Dtl_tbl,
4572 P_Line_Attr_Ext_Tbl => l_Line_Attribs_Ext_Tbl,
4573 P_line_rltship_tbl => l_Line_Rltship_Tbl,
4574 P_Price_Adjustment_Tbl => l_Price_Adj_Tbl ,
4575 P_Price_Adj_Attr_Tbl => l_Price_Adj_Attr_Tbl ,
4576 P_Price_Adj_Rltship_Tbl => l_Price_Adj_rltship_Tbl,
4577 P_Ln_Price_Attributes_Tbl => l_ln_Price_Attributes_Tbl ,
4578 P_Ln_Payment_Tbl => l_ln_Payment_Tbl ,
4579 P_Ln_Shipment_Tbl => l_ln_shipment_tbl ,
4580 P_Ln_Freight_Charge_Tbl => l_ln_Freight_Charge_Tbl,
4581 P_Ln_Tax_Detail_Tbl => l_ln_Tax_Detail_Tbl,
4582 P_ln_Sales_Credit_Tbl => l_ln_Sales_Credit_Tbl ,
4583 P_ln_Quote_Party_Tbl => l_ln_Quote_Party_Tbl,
4584 /*
4585 P_Qte_Access_Tbl => l_Qte_Access_Tbl,
4586 P_Template_Tbl => l_Template_Tbl,
4587 p_Related_Obj_Tbl => l_Related_Obj_Tbl,
4588 */
4589 X_Return_Status => X_Return_Status,
4590 X_Msg_Count => X_Msg_Count,
4591 X_Msg_Data => X_Msg_Data
4592 );
4593
4594 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
4595
4596 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
4597 FND_MESSAGE.Set_Name('ASO', 'ERROR_RETURNED');
4598 FND_MESSAGE.Set_Token('API', 'ASO_QUOTE_VUHK.Update_Quote_PRE', FALSE);
4599 FND_MSG_PUB.ADD;
4600 END IF;
4601
4602 IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
4603 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4604 ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
4605 RAISE FND_API.G_EXC_ERROR;
4606 END IF;
4607
4608 END IF;
4609
4610 END IF;
4611
4612 -- Convert the values to ids
4613
4614 Convert_Header_Values_To_Ids ( p_qte_header_rec => l_qte_header_rec,
4615 x_qte_header_rec => l_qte_header_rec_out );
4616
4617 l_qte_header_rec := l_qte_header_rec_out;
4618
4619 FOR i IN 1..p_qte_line_tbl.count LOOP
4620
4621 Convert_Line_Values_To_Ids ( p_qte_line_rec => l_qte_line_tbl(i),
4622 x_qte_line_rec => l_qte_line_rec_out);
4623
4624 l_qte_line_tbl(i) := l_qte_line_rec_out;
4625
4626 END LOOP;
4627
4628 FOR i IN 1..p_hd_shipment_tbl.count LOOP
4629
4630 Convert_Shipment_Values_To_Ids ( p_shipment_rec => l_hd_shipment_tbl(i),
4631 x_shipment_rec => l_hd_shipment_rec_out);
4632
4633 l_hd_shipment_tbl(i) := l_hd_shipment_rec_out;
4634
4635 END LOOP;
4636
4637 FOR i IN 1..p_ln_shipment_tbl.count LOOP
4638
4639 Convert_Shipment_Values_To_Ids ( p_shipment_rec => l_ln_shipment_tbl(i),
4640 x_shipment_rec => l_ln_shipment_rec_out);
4641
4642 l_ln_shipment_tbl(i) := l_ln_shipment_rec_out;
4643
4644 END LOOP;
4645
4646 ASO_QUOTE_HEADERS_PVT.update_quote(
4647 P_Api_Version_Number => 1.0,
4648 P_Init_Msg_List => FND_API.G_FALSE,
4649 P_Commit => FND_API.G_FALSE,
4650 p_validation_level => p_validation_level,
4651 P_Control_Rec => l_control_rec,
4652 P_qte_header_rec => l_qte_header_rec,
4653 P_Hd_Price_Attributes_Tbl => l_hd_Price_Attributes_Tbl,
4654 P_Hd_Payment_Tbl => l_hd_Payment_Tbl,
4655 P_Hd_Shipment_tbl => l_Hd_Shipment_tbl,
4656 P_Hd_Freight_Charge_Tbl => l_hd_Freight_Charge_Tbl,
4657 P_Hd_Tax_Detail_Tbl => l_hd_Tax_Detail_Tbl ,
4658 P_hd_Attr_Ext_Tbl => l_hd_Attribs_Ext_Tbl,
4659 P_hd_Sales_Credit_Tbl => l_hd_Sales_Credit_Tbl ,
4660 P_hd_Quote_Party_Tbl => l_hd_Quote_Party_Tbl,
4661 P_Qte_Line_Tbl => l_Qte_Line_Tbl,
4662 P_Qte_Line_Dtl_Tbl => l_Qte_Line_Dtl_tbl,
4663 P_Line_Attr_Ext_Tbl => l_Line_Attribs_Ext_Tbl,
4664 P_Line_rltship_tbl => l_Line_Rltship_Tbl,
4665 P_Price_Adjustment_Tbl => l_Price_Adj_Tbl,
4666 P_Price_Adj_Attr_Tbl => l_Price_Adj_Attr_Tbl,
4667 P_Price_Adj_Rltship_Tbl => l_Price_Adj_rltship_Tbl ,
4668 P_Ln_Price_Attributes_Tbl => l_ln_Price_Attributes_Tbl ,
4669 P_Ln_Payment_Tbl => l_Ln_Payment_Tbl,
4670 P_Ln_Shipment_Tbl => l_Ln_Shipment_Tbl,
4671 P_Ln_Freight_Charge_Tbl => l_Ln_Freight_Charge_Tbl,
4672 P_Ln_Tax_Detail_Tbl => l_Ln_Tax_Detail_Tbl,
4673 P_ln_Sales_Credit_Tbl => l_ln_Sales_Credit_Tbl ,
4674 P_ln_Quote_Party_Tbl => l_ln_Quote_Party_Tbl,
4675 P_Qte_Access_Tbl => l_Qte_Access_Tbl,
4676 P_Template_Tbl => l_Template_Tbl,
4677 p_Related_Obj_Tbl => l_Related_Obj_Tbl,
4678 x_qte_header_rec => x_qte_header_rec,
4679 X_Hd_Price_Attributes_Tbl => x_Hd_Price_Attributes_Tbl,
4680 X_Hd_Payment_Tbl => x_Hd_Payment_Tbl,
4681 X_hd_Shipment_Tbl => X_hd_Shipment_Tbl,
4682 X_Hd_Freight_Charge_Tbl => x_Hd_Freight_Charge_Tbl,
4683 X_Hd_Tax_Detail_Tbl => x_Hd_Tax_Detail_Tbl,
4684 X_hd_Attr_Ext_Tbl => X_hd_Attr_Ext_Tbl,
4685 X_hd_Sales_Credit_Tbl => X_hd_Sales_Credit_Tbl,
4686 X_hd_Quote_Party_Tbl => X_hd_Quote_Party_Tbl,
4687 X_Qte_Line_Tbl => x_Qte_Line_Tbl,
4688 X_Qte_Line_Dtl_Tbl => x_Qte_Line_Dtl_Tbl,
4689 x_Line_Attr_Ext_Tbl => x_Line_Attr_Ext_Tbl,
4690 X_Line_rltship_tbl => x_Line_Rltship_Tbl,
4691 X_Price_Adjustment_Tbl => x_Price_Adjustment_Tbl,
4692 x_Price_Adj_Attr_Tbl => x_Price_Adj_Attr_Tbl,
4693 X_Price_Adj_Rltship_Tbl => x_Price_Adj_Rltship_Tbl,
4694 X_Ln_Price_Attributes_Tbl => x_Ln_Price_Attributes_Tbl,
4695 X_Ln_Payment_Tbl => x_Ln_Payment_Tbl,
4696 X_Ln_Shipment_Tbl => x_Ln_Shipment_Tbl,
4697 X_Ln_Freight_Charge_Tbl => x_Ln_Freight_Charge_Tbl,
4698 X_Ln_Tax_Detail_Tbl => x_Ln_Tax_Detail_Tbl,
4699 X_Ln_Sales_Credit_Tbl => X_Ln_Sales_Credit_Tbl,
4700 X_Ln_Quote_Party_Tbl => X_Ln_Quote_Party_Tbl ,
4701 X_Qte_Access_Tbl => X_Qte_Access_Tbl,
4702 X_Template_Tbl => X_Template_Tbl,
4703 X_Related_Obj_Tbl => X_Related_Obj_Tbl,
4704 X_Return_Status => x_return_status,
4705 X_Msg_Count => x_msg_count,
4706 X_Msg_Data => x_msg_data);
4707
4708 IF aso_debug_pub.g_debug_flag = 'Y' THEN
4709 aso_debug_pub.add('update_quote_pub: after update quote, starting user hooks (1)'||x_return_status,1, 'N');
4710 END IF;
4711
4712 -- Check return status from the above procedure call
4713 IF x_return_status = FND_API.G_RET_STS_ERROR then
4714 raise FND_API.G_EXC_ERROR;
4715 elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
4716 raise FND_API.G_EXC_UNEXPECTED_ERROR;
4717 END IF;
4718
4719 IF (JTF_USR_HKS.ok_to_execute(G_PKG_NAME, l_api_name, 'A', 'C')) THEN
4720
4721 ASO_QUOTE_CUHK.Update_quote_POST(
4722 P_Validation_Level => l_validation_level ,
4723 P_Control_Rec => l_control_rec ,
4724 P_Qte_Header_Rec => x_qte_header_rec ,
4725 P_hd_Price_Attributes_Tbl => x_hd_Price_Attributes_Tbl ,
4726 P_hd_Payment_Tbl => x_hd_Payment_Tbl ,
4727 P_hd_Shipment_tbl => x_hd_shipment_tbl,
4728 P_hd_Freight_Charge_Tbl => x_hd_Freight_Charge_Tbl,
4729 P_hd_Tax_Detail_Tbl => x_hd_Tax_Detail_Tbl ,
4730 P_hd_Attr_Ext_Tbl => x_hd_Attr_Ext_Tbl,
4731 P_hd_Sales_Credit_Tbl => x_hd_Sales_Credit_Tbl ,
4732 P_hd_Quote_Party_Tbl => x_hd_Quote_Party_Tbl ,
4733 P_Qte_Line_Tbl => x_Qte_Line_Tbl,
4734 P_Qte_Line_Dtl_Tbl => x_Qte_Line_Dtl_tbl,
4735 P_Line_Attr_Ext_Tbl => x_Line_Attr_Ext_Tbl,
4736 P_line_rltship_tbl => x_Line_Rltship_Tbl,
4737 P_Price_Adjustment_Tbl => x_Price_Adjustment_Tbl ,
4738 P_Price_Adj_Attr_Tbl => x_Price_Adj_Attr_Tbl ,
4739 P_Price_Adj_Rltship_Tbl => x_Price_Adj_rltship_Tbl,
4740 P_Ln_Price_Attributes_Tbl => x_ln_Price_Attributes_Tbl ,
4741 P_Ln_Payment_Tbl => x_ln_Payment_Tbl ,
4742 P_Ln_Shipment_Tbl => x_ln_shipment_tbl ,
4743 P_Ln_Freight_Charge_Tbl => x_ln_Freight_Charge_Tbl,
4744 P_Ln_Tax_Detail_Tbl => x_ln_Tax_Detail_Tbl,
4745 P_ln_Sales_Credit_Tbl => x_ln_Sales_Credit_Tbl ,
4746 P_ln_Quote_Party_Tbl => x_ln_Quote_Party_Tbl,
4747 /*
4748 P_Qte_Access_Tbl => x_Qte_Access_Tbl,
4749 P_Template_Tbl => x_Template_Tbl,
4750 P_Related_Obj_Tbl => x_Related_Obj_Tbl,
4751 */
4752 X_Return_Status => X_Return_Status,
4753 X_Msg_Count => X_Msg_Count,
4754 X_Msg_Data => X_Msg_Data
4755 );
4756
4757 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
4758
4759 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
4760 FND_MESSAGE.Set_Name('ASO', 'ERROR_RETURNED');
4761 FND_MESSAGE.Set_Token('API', 'ASO_QUOTE_CUHK.Update_Quote_POST', FALSE);
4762 FND_MSG_PUB.ADD;
4763 END IF;
4764
4765 IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
4766 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4767 ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
4768 RAISE FND_API.G_EXC_ERROR;
4769 END IF;
4770
4771 END IF;
4772
4773 END IF; -- customer hook
4774
4775 IF aso_debug_pub.g_debug_flag = 'Y' THEN
4776 aso_debug_pub.add('aso_quote_vuhk: before if update quote post (1)'||x_return_status,1, 'N');
4777 END IF;
4778
4779 IF (JTF_USR_HKS.ok_to_execute(G_PKG_NAME, l_api_name, 'A', 'V')) THEN
4780
4781 IF aso_debug_pub.g_debug_flag = 'Y' THEN
4782 aso_debug_pub.add('aso_quote_vuhk: inside if update quote post (1)'||x_return_status,1, 'N');
4783 END IF;
4784
4785 ASO_QUOTE_VUHK.Update_quote_POST(
4786 P_Validation_Level => l_validation_level ,
4787 P_Control_Rec => l_control_rec ,
4788 P_Qte_Header_Rec => x_qte_header_rec ,
4789 P_hd_Price_Attributes_Tbl => x_hd_Price_Attributes_Tbl ,
4790 P_hd_Payment_Tbl => x_hd_Payment_Tbl ,
4791 P_hd_Shipment_tbl => x_hd_shipment_tbl,
4792 P_hd_Freight_Charge_Tbl => x_hd_Freight_Charge_Tbl,
4793 P_hd_Tax_Detail_Tbl => x_hd_Tax_Detail_Tbl ,
4794 P_hd_Attr_Ext_Tbl => x_hd_Attr_Ext_Tbl,
4795 P_hd_Sales_Credit_Tbl => x_hd_Sales_Credit_Tbl ,
4796 P_hd_Quote_Party_Tbl => x_hd_Quote_Party_Tbl ,
4797 P_Qte_Line_Tbl => x_Qte_Line_Tbl,
4798 P_Qte_Line_Dtl_Tbl => x_Qte_Line_Dtl_tbl,
4799 P_Line_Attr_Ext_Tbl => x_Line_Attr_Ext_Tbl,
4800 P_line_rltship_tbl => x_Line_Rltship_Tbl,
4801 P_Price_Adjustment_Tbl => x_Price_Adjustment_Tbl ,
4802 P_Price_Adj_Attr_Tbl => x_Price_Adj_Attr_Tbl ,
4803 P_Price_Adj_Rltship_Tbl => x_Price_Adj_rltship_Tbl,
4804 P_Ln_Price_Attributes_Tbl => x_ln_Price_Attributes_Tbl ,
4805 P_Ln_Payment_Tbl => x_ln_Payment_Tbl ,
4806 P_Ln_Shipment_Tbl => x_ln_shipment_tbl ,
4807 P_Ln_Freight_Charge_Tbl => x_ln_Freight_Charge_Tbl,
4808 P_Ln_Tax_Detail_Tbl => x_ln_Tax_Detail_Tbl,
4809 P_ln_Sales_Credit_Tbl => x_ln_Sales_Credit_Tbl ,
4810 P_ln_Quote_Party_Tbl => x_ln_Quote_Party_Tbl,
4811 /*
4812 P_Qte_Access_Tbl => x_Qte_Access_Tbl,
4813 P_Template_Tbl => x_Template_Tbl,
4814 P_Related_Obj_Tbl => x_Related_Obj_Tbl,
4815 */
4816 X_Return_Status => X_Return_Status,
4817 X_Msg_Count => X_Msg_Count,
4818 X_Msg_Data => X_Msg_Data
4819 );
4820
4821 IF aso_debug_pub.g_debug_flag = 'Y' THEN
4822 aso_debug_pub.add('update_quote_pub: after vertical hooks'||x_return_status,1, 'N');
4823 END IF;
4824
4825 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
4826
4827 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
4828 FND_MESSAGE.Set_Name('ASO', 'ERROR_RETURNED');
4829 FND_MESSAGE.Set_Token('API', 'ASO_QUOTE_VUHK.Update_Quote_POST', FALSE);
4830 FND_MSG_PUB.ADD;
4831 END IF;
4832
4833 IF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
4834 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4835 ELSIF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
4836 RAISE FND_API.G_EXC_ERROR;
4837 END IF;
4838
4839 END IF;
4840
4841 END IF; -- vertical hook
4842
4843 --
4844 -- End of API body
4845 --
4846
4847 -- Standard check for p_commit
4848 IF FND_API.to_Boolean( p_commit ) THEN
4849 COMMIT WORK;
4850 END IF;
4851
4852 -- Standard call to get message count and if count is 1, get message info.
4853 FND_MSG_PUB.Count_And_Get ( p_count => x_msg_count,
4854 p_data => x_msg_data );
4855
4856
4857 EXCEPTION
4858
4859 WHEN FND_API.G_EXC_ERROR THEN
4860 ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
4861 P_API_NAME => L_API_NAME
4862 ,P_PKG_NAME => G_PKG_NAME
4863 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
4864 ,P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PUB
4865 ,P_SQLCODE => SQLCODE
4866 ,P_SQLERRM => SQLERRM
4867 ,X_MSG_COUNT => X_MSG_COUNT
4868 ,X_MSG_DATA => X_MSG_DATA
4869 ,X_RETURN_STATUS => X_RETURN_STATUS);
4870
4871 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4872 ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
4873 P_API_NAME => L_API_NAME
4874 ,P_PKG_NAME => G_PKG_NAME
4875 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
4876 ,P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PUB
4877 ,P_SQLCODE => SQLCODE
4878 ,P_SQLERRM => SQLERRM
4879 ,X_MSG_COUNT => X_MSG_COUNT
4880 ,X_MSG_DATA => X_MSG_DATA
4881 ,X_RETURN_STATUS => X_RETURN_STATUS);
4882
4883 WHEN OTHERS THEN
4884 ASO_UTILITY_PVT.HANDLE_EXCEPTIONS(
4885 P_API_NAME => L_API_NAME
4886 ,P_PKG_NAME => G_PKG_NAME
4887 ,P_EXCEPTION_LEVEL => ASO_UTILITY_PVT.G_EXC_OTHERS
4888 ,P_PACKAGE_TYPE => ASO_UTILITY_PVT.G_PUB
4889 ,P_SQLCODE => SQLCODE
4890 ,P_SQLERRM => SQLERRM
4891 ,X_MSG_COUNT => X_MSG_COUNT
4892 ,X_MSG_DATA => X_MSG_DATA
4893 ,X_RETURN_STATUS => X_RETURN_STATUS);
4894 END;
4895
4896
4897 End ASO_QUOTE_PUB;