DBA Data[Home] [Help]

PACKAGE BODY: APPS.QP_QP_FORM_PRICE_LIST

Source


1 PACKAGE BODY QP_QP_Form_Price_List AS
2 /* $Header: QPXFPLHB.pls 120.2 2005/06/20 23:01:00 appldev ship $ */
3 
4 --  Global constant holding the package name
5 
6 G_PKG_NAME                    CONSTANT VARCHAR2(30) := 'QP_QP_Form_Price_List';
7 
8 --  Global variables holding cached record.
9 
10 g_PRICE_LIST_rec              QP_Price_List_PUB.Price_List_Rec_Type;
11 g_db_PRICE_LIST_rec           QP_Price_List_PUB.Price_List_Rec_Type;
12 
13 --  Forward declaration of procedures maintaining entity record cache.
14 
15 PROCEDURE Write_PRICE_LIST
16 (   p_PRICE_LIST_rec                IN  QP_Price_List_PUB.Price_List_Rec_Type
17 ,   p_db_record                     IN  BOOLEAN := FALSE
18 );
19 
20 FUNCTION Get_PRICE_LIST
21 (   p_db_record                     IN  BOOLEAN := FALSE
22 ,   p_list_header_id                IN  NUMBER
23 )
24 RETURN QP_Price_List_PUB.Price_List_Rec_Type;
25 
26 PROCEDURE Clear_PRICE_LIST;
27 
28 --  Global variable holding performed operations.
29 
30 g_opr__tbl                    QP_Price_List_PUB.Price_List_Tbl_Type;
31 
32 --  Procedure : Default_Attributes
33 --
34 
35 PROCEDURE Default_Attributes
36 (   x_return_status                 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
37 ,   x_msg_count                     OUT NOCOPY /* file.sql.39 change */ NUMBER
38 ,   x_msg_data                      OUT NOCOPY /* file.sql.39 change */ VARCHAR2
39 ,   x_attribute1                    OUT NOCOPY /* file.sql.39 change */ VARCHAR2
40 ,   x_attribute10                   OUT NOCOPY /* file.sql.39 change */ VARCHAR2
41 ,   x_attribute11                   OUT NOCOPY /* file.sql.39 change */ VARCHAR2
42 ,   x_attribute12                   OUT NOCOPY /* file.sql.39 change */ VARCHAR2
43 ,   x_attribute13                   OUT NOCOPY /* file.sql.39 change */ VARCHAR2
44 ,   x_attribute14                   OUT NOCOPY /* file.sql.39 change */ VARCHAR2
45 ,   x_attribute15                   OUT NOCOPY /* file.sql.39 change */ VARCHAR2
46 ,   x_attribute2                    OUT NOCOPY /* file.sql.39 change */ VARCHAR2
47 ,   x_attribute3                    OUT NOCOPY /* file.sql.39 change */ VARCHAR2
48 ,   x_attribute4                    OUT NOCOPY /* file.sql.39 change */ VARCHAR2
49 ,   x_attribute5                    OUT NOCOPY /* file.sql.39 change */ VARCHAR2
50 ,   x_attribute6                    OUT NOCOPY /* file.sql.39 change */ VARCHAR2
51 ,   x_attribute7                    OUT NOCOPY /* file.sql.39 change */ VARCHAR2
52 ,   x_attribute8                    OUT NOCOPY /* file.sql.39 change */ VARCHAR2
53 ,   x_attribute9                    OUT NOCOPY /* file.sql.39 change */ VARCHAR2
54 ,   x_automatic_flag                OUT NOCOPY /* file.sql.39 change */ VARCHAR2
55 ,   x_comments                      OUT NOCOPY /* file.sql.39 change */ VARCHAR2
56 ,   x_context                       OUT NOCOPY /* file.sql.39 change */ VARCHAR2
57 ,   x_currency_code                 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
58 ,   x_discount_lines_flag           OUT NOCOPY /* file.sql.39 change */ VARCHAR2
59 ,   x_end_date_active               OUT NOCOPY /* file.sql.39 change */ DATE
60 ,   x_freight_terms_code            OUT NOCOPY /* file.sql.39 change */ VARCHAR2
61 ,   x_gsa_indicator                 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
62 ,   x_list_header_id                OUT NOCOPY /* file.sql.39 change */ NUMBER
63 ,   x_list_type_code                OUT NOCOPY /* file.sql.39 change */ VARCHAR2
64 ,   x_prorate_flag                  OUT NOCOPY /* file.sql.39 change */ VARCHAR2
65 ,   x_rounding_factor               OUT NOCOPY /* file.sql.39 change */ NUMBER
66 ,   x_ship_method_code              OUT NOCOPY /* file.sql.39 change */ VARCHAR2
67 ,   x_start_date_active             OUT NOCOPY /* file.sql.39 change */ DATE
68 ,   x_terms_id                      OUT NOCOPY /* file.sql.39 change */ NUMBER
69 ,   x_automatic                     OUT NOCOPY /* file.sql.39 change */ VARCHAR2
70 ,   x_currency                      OUT NOCOPY /* file.sql.39 change */ VARCHAR2
71 ,   x_discount_lines                OUT NOCOPY /* file.sql.39 change */ VARCHAR2
72 ,   x_freight_terms                 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
73 ,   x_list_header                   OUT NOCOPY /* file.sql.39 change */ VARCHAR2
74 ,   x_list_type                     OUT NOCOPY /* file.sql.39 change */ VARCHAR2
75 ,   x_prorate                       OUT NOCOPY /* file.sql.39 change */ VARCHAR2
76 ,   x_ship_method                   OUT NOCOPY /* file.sql.39 change */ VARCHAR2
77 ,   x_terms                         OUT NOCOPY /* file.sql.39 change */ VARCHAR2
78 ,   x_name                          OUT NOCOPY /* file.sql.39 change */ VARCHAR2
79 ,   x_description                   OUT NOCOPY /* file.sql.39 change */ VARCHAR2
80 ,   x_version_no                    OUT NOCOPY /* file.sql.39 change */ VARCHAR2
81 ,   x_active_flag                   OUT NOCOPY /* file.sql.39 change */ VARCHAR2
82 ,   x_mobile_download               OUT NOCOPY /* file.sql.39 change */ VARCHAR2 -- mkarya for bug 1944882
83 ,   x_currency_header               OUT NOCOPY /* file.sql.39 change */ VARCHAR2 -- Multi-Currency SunilPandey
84 ,   x_currency_header_id            OUT NOCOPY /* file.sql.39 change */ NUMBER   -- Multi-Currency SunilPandey
85 ,   x_pte_code                      OUT NOCOPY /* file.sql.39 change */ VARCHAR2 -- Attribute Manager Giri
86 ,   x_pte                           OUT NOCOPY /* file.sql.39 change */ VARCHAR2 -- Attribute Manager Giri
87 ,   x_list_source_code		    OUT NOCOPY /* file.sql.39 change */ VARCHAR2 -- Blanket Sales Order
88 ,   x_orig_system_header_ref	    OUT NOCOPY /* file.sql.39 change */ VARCHAR2 -- Blanket Sales Order
89 ,   x_global_flag           	    OUT NOCOPY /* file.sql.39 change */ VARCHAR2 -- Pricing Security gtippire
90 ,   x_source_system_code            OUT NOCOPY /* file.sql.39 change */ VARCHAR2
91 ,   x_shareable_flag           	    OUT NOCOPY /* file.sql.39 change */ VARCHAR2
92 ,   x_sold_to_org_id	            OUT NOCOPY /* file.sql.39 change */ NUMBER
93 ,   x_locked_from_list_header_id    OUT NOCOPY /* file.sql.39 change */ NUMBER
94 --added for MOAC
95 ,   x_org_id                        OUT NOCOPY /* file.sql.39 change */ NUMBER
96 )
97 IS
98 l_PRICE_LIST_rec              QP_Price_List_PUB.Price_List_Rec_Type;
99 l_PRICE_LIST_val_rec          QP_Price_List_PUB.Price_List_Val_Rec_Type;
100 l_control_rec                 QP_GLOBALS.Control_Rec_Type;
101 l_return_status               VARCHAR2(1);
102 l_x_PRICE_LIST_rec            QP_Price_List_PUB.Price_List_Rec_Type;
103 l_x_PRICE_LIST_LINE_rec       QP_Price_List_PUB.Price_List_Line_Rec_Type;
104 l_x_PRICE_LIST_LINE_tbl       QP_Price_List_PUB.Price_List_Line_Tbl_Type;
105 l_x_QUALIFIERS_rec            Qp_Qualifier_Rules_Pub.Qualifiers_Rec_Type;
106 l_x_QUALIFIERS_tbl            Qp_Qualifier_Rules_Pub.Qualifiers_Tbl_Type;
107 l_x_PRICING_ATTR_rec          QP_Price_List_PUB.Pricing_Attr_Rec_Type;
108 l_x_PRICING_ATTR_tbl          QP_Price_List_PUB.Pricing_Attr_Tbl_Type;
109 --fname varchar2(80);
110 BEGIN
111 
112         --oe_debug_pub.debug_on;
113        -- fname := oe_debug_pub.set_debug_mode('FILE');
114 
115         oe_debug_pub.add('entering default attributes');
116 
117     --  Set control flags.
118 
119     l_control_rec.controlled_operation := TRUE;
120     l_control_rec.default_attributes   := TRUE;
121 
122     l_control_rec.change_attributes    := FALSE;
123     l_control_rec.validate_entity      := FALSE;
124     l_control_rec.write_to_DB          := FALSE;
125     l_control_rec.process              := FALSE;
126 
127     --  Instruct API to retain its caches
128 
129     l_control_rec.clear_api_cache      := FALSE;
130     l_control_rec.clear_api_requests   := FALSE;
131 
132     --  Load IN parameters if any exist
133 
134 
135     --  Defaulting of flex values is currently done by the form.
136     --  Set flex attributes to NULL in order to avoid defaulting them.
137 
138     l_PRICE_LIST_rec.attribute1                   := NULL;
139     l_PRICE_LIST_rec.attribute10                  := NULL;
140     l_PRICE_LIST_rec.attribute11                  := NULL;
141     l_PRICE_LIST_rec.attribute12                  := NULL;
142     l_PRICE_LIST_rec.attribute13                  := NULL;
143     l_PRICE_LIST_rec.attribute14                  := NULL;
144     l_PRICE_LIST_rec.attribute15                  := NULL;
145     l_PRICE_LIST_rec.attribute2                   := NULL;
146     l_PRICE_LIST_rec.attribute3                   := NULL;
147     l_PRICE_LIST_rec.attribute4                   := NULL;
148     l_PRICE_LIST_rec.attribute5                   := NULL;
149     l_PRICE_LIST_rec.attribute6                   := NULL;
150     l_PRICE_LIST_rec.attribute7                   := NULL;
151     l_PRICE_LIST_rec.attribute8                   := NULL;
152     l_PRICE_LIST_rec.attribute9                   := NULL;
153     l_PRICE_LIST_rec.context                      := NULL;
154 
155     --  Set Operation to Create
156 
157     l_PRICE_LIST_rec.operation := QP_GLOBALS.G_OPR_CREATE;
158 
159     --  Call QP_LIST_HEADERS_PVT.Process_PRICE_LIST
160 
161     QP_LIST_HEADERS_PVT.Process_PRICE_LIST
162     (   p_api_version_number          => 1.0
163     ,   p_init_msg_list               => FND_API.G_TRUE
164     ,   x_return_status               => l_return_status
165     ,   x_msg_count                   => x_msg_count
166     ,   x_msg_data                    => x_msg_data
167     ,   p_control_rec                 => l_control_rec
168     ,   p_PRICE_LIST_rec              => l_PRICE_LIST_rec
169     ,   x_PRICE_LIST_rec              => l_x_PRICE_LIST_rec
170     ,   x_PRICE_LIST_LINE_tbl         => l_x_PRICE_LIST_LINE_tbl
171     ,   x_QUALIFIERS_tbl              => l_x_QUALIFIERS_tbl
172     ,   x_PRICING_ATTR_tbl            => l_x_PRICING_ATTR_tbl
173     );
174 
175     oe_debug_pub.add('return status after proc_price_list ' || l_return_status);
176 
177     IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
178         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
179     ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
180         RAISE FND_API.G_EXC_ERROR;
181     END IF;
182 
183     oe_debug_Pub.add('msg count 1 : ' || x_msg_count);
184     oe_debug_Pub.add('msg data 1 : ' || x_msg_data);
185 
186 
187     --  Load OUT parameters.
188 
189     x_attribute1                   := l_x_PRICE_LIST_rec.attribute1;
190     x_attribute10                  := l_x_PRICE_LIST_rec.attribute10;
191     x_attribute11                  := l_x_PRICE_LIST_rec.attribute11;
192     x_attribute12                  := l_x_PRICE_LIST_rec.attribute12;
193     x_attribute13                  := l_x_PRICE_LIST_rec.attribute13;
194     x_attribute14                  := l_x_PRICE_LIST_rec.attribute14;
195     x_attribute15                  := l_x_PRICE_LIST_rec.attribute15;
196     x_attribute2                   := l_x_PRICE_LIST_rec.attribute2;
197     x_attribute3                   := l_x_PRICE_LIST_rec.attribute3;
198     x_attribute4                   := l_x_PRICE_LIST_rec.attribute4;
199     x_attribute5                   := l_x_PRICE_LIST_rec.attribute5;
200     x_attribute6                   := l_x_PRICE_LIST_rec.attribute6;
201     x_attribute7                   := l_x_PRICE_LIST_rec.attribute7;
202     x_attribute8                   := l_x_PRICE_LIST_rec.attribute8;
203     x_attribute9                   := l_x_PRICE_LIST_rec.attribute9;
204     x_automatic_flag               := l_x_PRICE_LIST_rec.automatic_flag;
205     x_comments                     := l_x_PRICE_LIST_rec.comments;
206     x_context                      := l_x_PRICE_LIST_rec.context;
207     x_currency_code                := l_x_PRICE_LIST_rec.currency_code;
208     x_discount_lines_flag          := l_x_PRICE_LIST_rec.discount_lines_flag;
209     x_end_date_active              := l_x_PRICE_LIST_rec.end_date_active;
210     x_freight_terms_code           := l_x_PRICE_LIST_rec.freight_terms_code;
211     x_gsa_indicator                := l_x_PRICE_LIST_rec.gsa_indicator;
212     x_list_header_id               := l_x_PRICE_LIST_rec.list_header_id;
213     x_list_type_code               := l_x_PRICE_LIST_rec.list_type_code;
214     x_prorate_flag                 := l_x_PRICE_LIST_rec.prorate_flag;
215     x_rounding_factor              := l_x_PRICE_LIST_rec.rounding_factor;
216     x_ship_method_code             := l_x_PRICE_LIST_rec.ship_method_code;
217     x_start_date_active            := l_x_PRICE_LIST_rec.start_date_active;
218     x_terms_id                     := l_x_PRICE_LIST_rec.terms_id;
219     x_name                         := l_x_PRICE_LIST_rec.name;
220     x_description                  := l_x_PRICE_LIST_rec.description;
221     x_version_no                   := l_x_PRICE_LIST_rec.version_no;
222     x_active_flag                  := l_x_PRICE_LIST_rec.active_flag;
223     x_mobile_download              := l_x_PRICE_LIST_rec.mobile_download; -- mkarya for bug 1944882
224     x_currency_header_id           := l_x_PRICE_LIST_rec.currency_header_id;-- Multi-Currency SunilPandey
225     x_pte_code                     := l_x_PRICE_LIST_rec.pte_code;-- Attribute Manager Giri
226     x_list_source_code		   := l_x_PRICE_LIST_rec.list_source_code;-- Blanket Sales Order
227     x_orig_system_header_ref	   := l_x_PRICE_LIST_rec.orig_system_header_ref;-- Blanket Sales Order
228     x_global_flag           	   := l_x_PRICE_LIST_rec.global_flag;-- Pricing Security gtippire
229     x_source_system_code           := l_x_PRICE_LIST_rec.source_system_code;
230     x_shareable_flag               := l_x_PRICE_LIST_rec.shareable_flag;
231     x_sold_to_org_id               := l_x_PRICE_LIST_rec.sold_to_org_id;
232     x_locked_from_list_header_id   :=
233 			l_x_PRICE_LIST_rec.locked_from_list_header_id;
234     --added for MOAC
235     x_org_id                       := l_x_PRICE_LIST_rec.org_id;
236 
237     --  Load display out parameters if any
238     oe_debug_Pub.add('msg count 2 : ' || x_msg_count);
239     oe_debug_Pub.add('msg data 2 : ' || x_msg_data);
240 
241     l_PRICE_LIST_val_rec := QP_Price_List_Util.Get_Values
242     (   p_PRICE_LIST_rec              => l_x_PRICE_LIST_rec
243     );
244     x_automatic                    := l_PRICE_LIST_val_rec.automatic;
245     x_currency                     := l_PRICE_LIST_val_rec.currency;
246     x_discount_lines               := l_PRICE_LIST_val_rec.discount_lines;
247     x_freight_terms                := l_PRICE_LIST_val_rec.freight_terms;
248     x_list_header                  := l_PRICE_LIST_val_rec.list_header;
249     x_list_type                    := l_PRICE_LIST_val_rec.list_type;
250     x_prorate                      := l_PRICE_LIST_val_rec.prorate;
251     x_ship_method                  := l_PRICE_LIST_val_rec.ship_method;
252     x_terms                        := l_PRICE_LIST_val_rec.terms;
253     x_pte                          := l_PRICE_LIST_val_rec.pte;
254     --x_active_flag                :=l_PRICE_LIST_val_rec.active_flag;
255     x_list_source_code		   := l_PRICE_LIST_val_rec.list_source_code;
256     x_orig_system_header_ref       := l_PRICE_LIST_val_rec.orig_system_header_ref;
257     --  Write to cache.
258     --  Set db_flag to False before writing to cache
259     oe_debug_Pub.add('msg data 3 : ' || x_msg_data);
260 
261     l_x_PRICE_LIST_rec.db_flag := FND_API.G_FALSE;
262 
263     Write_PRICE_LIST
264     (   p_PRICE_LIST_rec              => l_x_PRICE_LIST_rec
265     );
266 
267     --  Set return status.
268 
269     x_return_status := FND_API.G_RET_STS_SUCCESS;
270 
271     --  Get message count and data
272 
273     oe_msg_pub.Count_And_Get
274     (   p_count                       => x_msg_count
275     ,   p_data                        => x_msg_data
276     );
277     oe_debug_Pub.add('msg data 4 : ' || x_msg_data);
278 
279     oe_debug_pub.add('exiting default attributes');
280 
281 
282 EXCEPTION
283 
284     WHEN FND_API.G_EXC_ERROR THEN
285 
286         x_return_status := FND_API.G_RET_STS_ERROR;
287 
288         --  Get message count and data
289 
290         oe_msg_pub.Count_And_Get
291         (   p_count                       => x_msg_count
292         ,   p_data                        => x_msg_data
293         );
294 
295     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
296 
297         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
298 
299         --  Get message count and data
300 
301         oe_msg_pub.Count_And_Get
302         (   p_count                       => x_msg_count
303         ,   p_data                        => x_msg_data
304         );
305 
306 	    oe_debug_pub.add('msg data 5 : ' || x_msg_data);
307 
308     WHEN OTHERS THEN
309 
310         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
311 
312         IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_UNEXP_ERROR)
313         THEN
314             oe_msg_pub.Add_Exc_Msg
315             (   G_PKG_NAME
316             ,   'Default_Attributes'
317             );
318         END IF;
319 
320         --  Get message count and data
321 
322         oe_msg_pub.Count_And_Get
323         (   p_count                       => x_msg_count
324         ,   p_data                        => x_msg_data
325         );
326 
327 END Default_Attributes;
328 
329 --  Procedure   :   Change_Attribute
330 --
331 
332 PROCEDURE Change_Attribute
333 (   x_return_status                 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
334 ,   x_msg_count                     OUT NOCOPY /* file.sql.39 change */ NUMBER
335 ,   x_msg_data                      OUT NOCOPY /* file.sql.39 change */ VARCHAR2
336 ,   p_list_header_id                IN  NUMBER
337 ,   p_attr_id                       IN  NUMBER
338 ,   p_attr_value                    IN  VARCHAR2
339 ,   p_attribute1                    IN  VARCHAR2
340 ,   p_attribute10                   IN  VARCHAR2
341 ,   p_attribute11                   IN  VARCHAR2
342 ,   p_attribute12                   IN  VARCHAR2
343 ,   p_attribute13                   IN  VARCHAR2
344 ,   p_attribute14                   IN  VARCHAR2
345 ,   p_attribute15                   IN  VARCHAR2
346 ,   p_attribute2                    IN  VARCHAR2
347 ,   p_attribute3                    IN  VARCHAR2
348 ,   p_attribute4                    IN  VARCHAR2
349 ,   p_attribute5                    IN  VARCHAR2
350 ,   p_attribute6                    IN  VARCHAR2
351 ,   p_attribute7                    IN  VARCHAR2
352 ,   p_attribute8                    IN  VARCHAR2
353 ,   p_attribute9                    IN  VARCHAR2
354 ,   p_context                       IN  VARCHAR2
355 ,   x_attribute1                    OUT NOCOPY /* file.sql.39 change */ VARCHAR2
356 ,   x_attribute10                   OUT NOCOPY /* file.sql.39 change */ VARCHAR2
357 ,   x_attribute11                   OUT NOCOPY /* file.sql.39 change */ VARCHAR2
358 ,   x_attribute12                   OUT NOCOPY /* file.sql.39 change */ VARCHAR2
359 ,   x_attribute13                   OUT NOCOPY /* file.sql.39 change */ VARCHAR2
360 ,   x_attribute14                   OUT NOCOPY /* file.sql.39 change */ VARCHAR2
361 ,   x_attribute15                   OUT NOCOPY /* file.sql.39 change */ VARCHAR2
362 ,   x_attribute2                    OUT NOCOPY /* file.sql.39 change */ VARCHAR2
363 ,   x_attribute3                    OUT NOCOPY /* file.sql.39 change */ VARCHAR2
364 ,   x_attribute4                    OUT NOCOPY /* file.sql.39 change */ VARCHAR2
365 ,   x_attribute5                    OUT NOCOPY /* file.sql.39 change */ VARCHAR2
366 ,   x_attribute6                    OUT NOCOPY /* file.sql.39 change */ VARCHAR2
367 ,   x_attribute7                    OUT NOCOPY /* file.sql.39 change */ VARCHAR2
368 ,   x_attribute8                    OUT NOCOPY /* file.sql.39 change */ VARCHAR2
369 ,   x_attribute9                    OUT NOCOPY /* file.sql.39 change */ VARCHAR2
370 ,   x_automatic_flag                OUT NOCOPY /* file.sql.39 change */ VARCHAR2
371 ,   x_comments                      OUT NOCOPY /* file.sql.39 change */ VARCHAR2
372 ,   x_context                       OUT NOCOPY /* file.sql.39 change */ VARCHAR2
373 ,   x_currency_code                 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
374 ,   x_discount_lines_flag           OUT NOCOPY /* file.sql.39 change */ VARCHAR2
375 ,   x_end_date_active               OUT NOCOPY /* file.sql.39 change */ DATE
376 ,   x_freight_terms_code            OUT NOCOPY /* file.sql.39 change */ VARCHAR2
377 ,   x_gsa_indicator                 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
378 ,   x_list_header_id                OUT NOCOPY /* file.sql.39 change */ NUMBER
379 ,   x_list_type_code                OUT NOCOPY /* file.sql.39 change */ VARCHAR2
380 ,   x_prorate_flag                  OUT NOCOPY /* file.sql.39 change */ VARCHAR2
381 ,   x_rounding_factor               OUT NOCOPY /* file.sql.39 change */ NUMBER
382 ,   x_ship_method_code              OUT NOCOPY /* file.sql.39 change */ VARCHAR2
383 ,   x_start_date_active             OUT NOCOPY /* file.sql.39 change */ DATE
384 ,   x_terms_id                      OUT NOCOPY /* file.sql.39 change */ NUMBER
385 ,   x_automatic                     OUT NOCOPY /* file.sql.39 change */ VARCHAR2
386 ,   x_currency                      OUT NOCOPY /* file.sql.39 change */ VARCHAR2
387 ,   x_discount_lines                OUT NOCOPY /* file.sql.39 change */ VARCHAR2
388 ,   x_freight_terms                 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
389 ,   x_list_header                   OUT NOCOPY /* file.sql.39 change */ VARCHAR2
390 ,   x_list_type                     OUT NOCOPY /* file.sql.39 change */ VARCHAR2
391 ,   x_prorate                       OUT NOCOPY /* file.sql.39 change */ VARCHAR2
392 ,   x_ship_method                   OUT NOCOPY /* file.sql.39 change */ VARCHAR2
393 ,   x_terms                         OUT NOCOPY /* file.sql.39 change */ VARCHAR2
394 ,   x_name                          OUT NOCOPY /* file.sql.39 change */ VARCHAR2
395 ,   x_description                   OUT NOCOPY /* file.sql.39 change */ VARCHAR2
396 ,   x_version_no                    OUT NOCOPY /* file.sql.39 change */ VARCHAR2
397 ,   x_active_flag                   OUT NOCOPY /* file.sql.39 change */ VARCHAR2
398 ,   x_mobile_download               OUT NOCOPY /* file.sql.39 change */ VARCHAR2 -- mkarya for bug 1944882
399 ,   x_currency_header               OUT NOCOPY /* file.sql.39 change */ VARCHAR2 -- Multi-Currency SunilPandey
400 ,   x_currency_header_id            OUT NOCOPY /* file.sql.39 change */ NUMBER   -- Multi-Currency SunilPandey
401 ,   x_pte_code                      OUT NOCOPY /* file.sql.39 change */ VARCHAR2 -- Attribute Manager Giri
402 ,   x_pte                           OUT NOCOPY /* file.sql.39 change */ VARCHAR2 -- Attribute Manager Giri
403 ,   x_list_source_code		    OUT NOCOPY /* file.sql.39 change */ VARCHAR2 -- Blanket Sales Order
404 ,   x_orig_system_header_ref        OUT NOCOPY /* file.sql.39 change */ VARCHAR2 -- Blanket Sales Order
405 ,   x_global_flag                   OUT NOCOPY /* file.sql.39 change */ VARCHAR2 -- Pricing Security gtippire
406 ,   x_source_system_code            OUT NOCOPY /* file.sql.39 change */ VARCHAR2
407 ,   x_shareable_flag           	    OUT NOCOPY /* file.sql.39 change */ VARCHAR2
408 ,   x_sold_to_org_id	            OUT NOCOPY /* file.sql.39 change */ NUMBER
409 ,   x_locked_from_list_header_id    OUT NOCOPY /* file.sql.39 change */ NUMBER
410 --added for MOAC
411 ,   x_org_id                        OUT NOCOPY /* file.sql.39 change */ NUMBER
412 )
413 IS
414 l_PRICE_LIST_rec              QP_Price_List_PUB.Price_List_Rec_Type;
415 l_old_PRICE_LIST_rec          QP_Price_List_PUB.Price_List_Rec_Type;
416 l_PRICE_LIST_val_rec          QP_Price_List_PUB.Price_List_Val_Rec_Type;
417 l_control_rec                 QP_GLOBALS.Control_Rec_Type;
418 l_return_status               VARCHAR2(1);
419 l_x_PRICE_LIST_rec            QP_Price_List_PUB.Price_List_Rec_Type;
420 l_x_PRICE_LIST_LINE_rec       QP_Price_List_PUB.Price_List_Line_Rec_Type;
421 l_x_PRICE_LIST_LINE_tbl       QP_Price_List_PUB.Price_List_Line_Tbl_Type;
422 l_x_QUALIFIERS_rec            Qp_Qualifier_Rules_Pub.Qualifiers_Rec_Type;
423 l_x_QUALIFIERS_tbl            Qp_Qualifier_Rules_Pub.Qualifiers_Tbl_Type;
424 l_x_PRICING_ATTR_rec          QP_Price_List_PUB.Pricing_Attr_Rec_Type;
425 l_x_PRICING_ATTR_tbl          QP_Price_List_PUB.Pricing_Attr_Tbl_Type;
426 BEGIN
427 
428     --  Set control flags.
429 
430     l_control_rec.controlled_operation := TRUE;
431     l_control_rec.change_attributes    := TRUE;
432 
433     l_control_rec.default_attributes   := FALSE;
434     l_control_rec.validate_entity      := FALSE;
435     l_control_rec.write_to_DB          := FALSE;
436     l_control_rec.process              := FALSE;
437 
438     --  Instruct API to retain its caches
439 
440     l_control_rec.clear_api_cache      := FALSE;
441     l_control_rec.clear_api_requests   := FALSE;
442 
443     --  Read PRICE_LIST from cache
444 
445     l_PRICE_LIST_rec := Get_PRICE_LIST
446     (   p_db_record                   => FALSE
447     ,   p_list_header_id              => p_list_header_id
448     );
449 
450     l_old_PRICE_LIST_rec           := l_PRICE_LIST_rec;
451 
452     IF p_attr_id = QP_Price_List_Util.G_AUTOMATIC THEN
453         l_PRICE_LIST_rec.automatic_flag := p_attr_value;
454     ELSIF p_attr_id = QP_Price_List_Util.G_COMMENTS THEN
455         l_PRICE_LIST_rec.comments := p_attr_value;
456     ELSIF p_attr_id = QP_Price_List_Util.G_CURRENCY THEN
457         l_PRICE_LIST_rec.currency_code := p_attr_value;
458     ELSIF p_attr_id = QP_Price_List_Util.G_DISCOUNT_LINES THEN
459         l_PRICE_LIST_rec.discount_lines_flag := p_attr_value;
460     ELSIF p_attr_id = QP_Price_List_Util.G_END_DATE_ACTIVE THEN
461         l_PRICE_LIST_rec.end_date_active := TO_DATE(p_attr_value,'DD/MM/YYYY');
462     ELSIF p_attr_id = QP_Price_List_Util.G_FREIGHT_TERMS THEN
463         l_PRICE_LIST_rec.freight_terms_code := p_attr_value;
464     ELSIF p_attr_id = QP_Price_List_Util.G_GSA_INDICATOR THEN
465         l_PRICE_LIST_rec.gsa_indicator := p_attr_value;
466     ELSIF p_attr_id = QP_Price_List_Util.G_NAME THEN
467         l_PRICE_LIST_rec.name := p_attr_value;
468     ELSIF p_attr_id = QP_Price_List_Util.G_DESCRIPTION THEN
469         l_PRICE_LIST_rec.description := p_attr_value;
470     ELSIF p_attr_id = QP_Price_List_Util.G_LIST_HEADER THEN
471         l_PRICE_LIST_rec.list_header_id := TO_NUMBER(p_attr_value);
472     ELSIF p_attr_id = QP_Price_List_Util.G_LIST_TYPE THEN
473         l_PRICE_LIST_rec.list_type_code := p_attr_value;
474     ELSIF p_attr_id = QP_Price_List_Util.G_VERSION_NO THEN
475         l_PRICE_LIST_rec.version_no := p_attr_value;
476     ELSIF p_attr_id = QP_Price_List_Util.G_PRORATE THEN
477         l_PRICE_LIST_rec.prorate_flag := p_attr_value;
478     ELSIF p_attr_id = QP_Price_List_Util.G_ROUNDING_FACTOR THEN
479         l_PRICE_LIST_rec.rounding_factor := TO_NUMBER(p_attr_value);
480     ELSIF p_attr_id = QP_Price_List_Util.G_SHIP_METHOD THEN
481         l_PRICE_LIST_rec.ship_method_code := p_attr_value;
482     ELSIF p_attr_id = QP_Price_List_Util.G_START_DATE_ACTIVE THEN
483         l_PRICE_LIST_rec.start_date_active := TO_DATE(p_attr_value,'DD/MM/YYYY');
484     ELSIF p_attr_id = QP_Price_List_Util.G_TERMS THEN
485         l_PRICE_LIST_rec.terms_id := TO_NUMBER(p_attr_value);
486 	   --added active_flag
487 	   ELSIF p_attr_id = QP_Price_List_Util.G_ACTIVE_FLAG THEN
488 	   l_PRICE_LIST_rec.active_flag := p_attr_value;
489 	   --mkarya for bug 1944882 - added mobile download
490            ELSIF p_attr_id = QP_Price_List_Util.G_MOBILE_DOWNLOAD THEN
491 	   l_PRICE_LIST_rec.mobile_download := p_attr_value;
492 	   --Multi-Currency SunilPandey
493            ELSIF p_attr_id = QP_Price_List_Util.G_CURRENCY_HEADER THEN
494 	   l_PRICE_LIST_rec.CURRENCY_HEADER_ID := TO_NUMBER(p_attr_value);
495 	   --Attribute Manager Giri
496            ELSIF p_attr_id = QP_Price_List_Util.G_PTE THEN
497 	   l_PRICE_LIST_rec.PTE_CODE := p_attr_value; --Blanket Agreement
498     ELSIF p_attr_id = QP_Price_List_Util.G_LIST_SOURCE THEN
499         l_PRICE_LIST_rec.list_source_code := p_attr_value;
500     ELSIF p_attr_id = QP_Price_List_Util.ORIG_SYSTEM_HEADER_REF THEN
501         l_PRICE_LIST_rec.orig_system_header_ref:= p_attr_value;
502     -- added global_flag for Pricing Security
503     ELSIF p_attr_id = QP_Price_List_Util.G_GLOBAL_FLAG THEN
504         l_PRICE_LIST_rec.global_flag:= p_attr_value;
505     ELSIF p_attr_id = QP_Price_List_Util.G_SOURCE_SYSTEM_CODE THEN
506         l_PRICE_LIST_rec.source_system_code := p_attr_value;
507     ELSIF p_attr_id = QP_Price_List_Util.G_SHAREABLE_FLAG THEN
508         l_PRICE_LIST_rec.shareable_flag := p_attr_value;
509     ELSIF p_attr_id = QP_Price_List_Util.G_SOLD_TO_ORG_ID THEN
510 	l_PRICE_LIST_rec.sold_to_org_id := p_attr_value;
511     ELSIF p_attr_id = QP_Price_List_Util.G_LOCKED_FROM_LIST_HEADER THEN
512 	l_PRICE_LIST_rec.locked_from_list_header_id := TO_NUMBER(p_attr_value);
513     --added for MOAC
514     ELSIF p_attr_id = QP_Price_List_Util.G_ORG_ID THEN
515         l_PRICE_LIST_rec.org_id := p_attr_value;
516     ELSIF p_attr_id = QP_Price_List_Util.G_ATTRIBUTE1
517     OR     p_attr_id = QP_Price_List_Util.G_ATTRIBUTE10
518     OR     p_attr_id = QP_Price_List_Util.G_ATTRIBUTE11
519     OR     p_attr_id = QP_Price_List_Util.G_ATTRIBUTE12
520     OR     p_attr_id = QP_Price_List_Util.G_ATTRIBUTE13
521     OR     p_attr_id = QP_Price_List_Util.G_ATTRIBUTE14
522     OR     p_attr_id = QP_Price_List_Util.G_ATTRIBUTE15
523     OR     p_attr_id = QP_Price_List_Util.G_ATTRIBUTE2
524     OR     p_attr_id = QP_Price_List_Util.G_ATTRIBUTE3
525     OR     p_attr_id = QP_Price_List_Util.G_ATTRIBUTE4
526     OR     p_attr_id = QP_Price_List_Util.G_ATTRIBUTE5
527     OR     p_attr_id = QP_Price_List_Util.G_ATTRIBUTE6
528     OR     p_attr_id = QP_Price_List_Util.G_ATTRIBUTE7
529     OR     p_attr_id = QP_Price_List_Util.G_ATTRIBUTE8
530     OR     p_attr_id = QP_Price_List_Util.G_ATTRIBUTE9
531     OR     p_attr_id = QP_Price_List_Util.G_CONTEXT
532     THEN
533 
534         l_PRICE_LIST_rec.attribute1    := p_attribute1;
535         l_PRICE_LIST_rec.attribute10   := p_attribute10;
536         l_PRICE_LIST_rec.attribute11   := p_attribute11;
537         l_PRICE_LIST_rec.attribute12   := p_attribute12;
538         l_PRICE_LIST_rec.attribute13   := p_attribute13;
539         l_PRICE_LIST_rec.attribute14   := p_attribute14;
540         l_PRICE_LIST_rec.attribute15   := p_attribute15;
541         l_PRICE_LIST_rec.attribute2    := p_attribute2;
542         l_PRICE_LIST_rec.attribute3    := p_attribute3;
543         l_PRICE_LIST_rec.attribute4    := p_attribute4;
544         l_PRICE_LIST_rec.attribute5    := p_attribute5;
545         l_PRICE_LIST_rec.attribute6    := p_attribute6;
546         l_PRICE_LIST_rec.attribute7    := p_attribute7;
547         l_PRICE_LIST_rec.attribute8    := p_attribute8;
548         l_PRICE_LIST_rec.attribute9    := p_attribute9;
549         l_PRICE_LIST_rec.context       := p_context;
550 
551     ELSE
552 
553         --  Unexpected error, unrecognized attribute
554 
555         IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_UNEXP_ERROR)
556         THEN
557             oe_msg_pub.Add_Exc_Msg
558             (   G_PKG_NAME
559             ,   'Change_Attribute'
560             ,   'Unrecognized attribute'
561             );
562         END IF;
563 
564         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
565 
566     END IF;
567 
568     --  Set Operation.
569 
570     IF FND_API.To_Boolean(l_PRICE_LIST_rec.db_flag) THEN
571         l_PRICE_LIST_rec.operation := QP_GLOBALS.G_OPR_UPDATE;
572     ELSE
573         l_PRICE_LIST_rec.operation := QP_GLOBALS.G_OPR_CREATE;
574     END IF;
575 
576     --  Call QP_LIST_HEADERS_PVT.Process_PRICE_LIST
577 
578     QP_LIST_HEADERS_PVT.Process_PRICE_LIST
579     (   p_api_version_number          => 1.0
580     ,   p_init_msg_list               => FND_API.G_TRUE
581     ,   p_validation_level            => FND_API.G_VALID_LEVEL_NONE
582     ,   x_return_status               => l_return_status
583     ,   x_msg_count                   => x_msg_count
584     ,   x_msg_data                    => x_msg_data
585     ,   p_control_rec                 => l_control_rec
586     ,   p_PRICE_LIST_rec              => l_PRICE_LIST_rec
587     ,   p_old_PRICE_LIST_rec          => l_old_PRICE_LIST_rec
588     ,   x_PRICE_LIST_rec              => l_x_PRICE_LIST_rec
589     ,   x_PRICE_LIST_LINE_tbl         => l_x_PRICE_LIST_LINE_tbl
590     ,   x_QUALIFIERS_tbl              => l_x_QUALIFIERS_tbl
591     ,   x_PRICING_ATTR_tbl            => l_x_PRICING_ATTR_tbl
592     );
593 
594     IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
595         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
596     ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
597         RAISE FND_API.G_EXC_ERROR;
598     END IF;
599 
600 
601     --  Init OUT parameters to missing.
602 
603     x_attribute1                   := FND_API.G_MISS_CHAR;
604     x_attribute10                  := FND_API.G_MISS_CHAR;
605     x_attribute11                  := FND_API.G_MISS_CHAR;
606     x_attribute12                  := FND_API.G_MISS_CHAR;
607     x_attribute13                  := FND_API.G_MISS_CHAR;
608     x_attribute14                  := FND_API.G_MISS_CHAR;
609     x_attribute15                  := FND_API.G_MISS_CHAR;
610     x_attribute2                   := FND_API.G_MISS_CHAR;
611     x_attribute3                   := FND_API.G_MISS_CHAR;
612     x_attribute4                   := FND_API.G_MISS_CHAR;
613     x_attribute5                   := FND_API.G_MISS_CHAR;
614     x_attribute6                   := FND_API.G_MISS_CHAR;
615     x_attribute7                   := FND_API.G_MISS_CHAR;
616     x_attribute8                   := FND_API.G_MISS_CHAR;
617     x_attribute9                   := FND_API.G_MISS_CHAR;
618     x_automatic_flag               := FND_API.G_MISS_CHAR;
619     x_comments                     := FND_API.G_MISS_CHAR;
620     x_context                      := FND_API.G_MISS_CHAR;
621     x_currency_code                := FND_API.G_MISS_CHAR;
622     x_discount_lines_flag          := FND_API.G_MISS_CHAR;
623     x_end_date_active              := FND_API.G_MISS_DATE;
624     x_freight_terms_code           := FND_API.G_MISS_CHAR;
625     x_gsa_indicator                := FND_API.G_MISS_CHAR;
626     x_list_header_id               := FND_API.G_MISS_NUM;
627     x_list_type_code               := FND_API.G_MISS_CHAR;
628     x_prorate_flag                 := FND_API.G_MISS_CHAR;
629     x_rounding_factor              := FND_API.G_MISS_NUM;
630     x_ship_method_code             := FND_API.G_MISS_CHAR;
631     x_start_date_active            := FND_API.G_MISS_DATE;
632     x_terms_id                     := FND_API.G_MISS_NUM;
633     x_automatic                    := FND_API.G_MISS_CHAR;
634     x_currency                     := FND_API.G_MISS_CHAR;
635     x_discount_lines               := FND_API.G_MISS_CHAR;
636     x_freight_terms                := FND_API.G_MISS_CHAR;
637     x_list_header                  := FND_API.G_MISS_CHAR;
638     x_list_type                    := FND_API.G_MISS_CHAR;
639     x_prorate                      := FND_API.G_MISS_CHAR;
640     x_ship_method                  := FND_API.G_MISS_CHAR;
641     x_terms                        := FND_API.G_MISS_CHAR;
642     x_name                         := FND_API.G_MISS_CHAR;
643     x_description                  := FND_API.G_MISS_CHAR;
644     x_version_no                   := FND_API.G_MISS_CHAR;
645     x_active_flag                  :=FND_API.G_MISS_CHAR;
646     x_mobile_download              :=FND_API.G_MISS_CHAR; -- mkarya for bug 1944882
647     x_currency_header              :=FND_API.G_MISS_CHAR; -- Multi-Currency SunilPandey
648     x_currency_header_id           :=FND_API.G_MISS_NUM; -- Multi-Currency SunilPandey
649     x_pte_code                     :=FND_API.G_MISS_CHAR; -- Attribute Manager Giri
650     x_pte                          :=FND_API.G_MISS_CHAR; -- Attribute Manager Giri
651     x_list_source_code		   :=FND_API.G_MISS_CHAR; -- Blanket Sales Order
652     x_orig_system_header_ref	   :=FND_API.G_MISS_CHAR; -- Blanket Sales Order
653     x_global_flag           	   :=FND_API.G_MISS_CHAR; -- Pricing Security gtippire
654     x_source_system_code           := FND_API.G_MISS_CHAR;
655     x_shareable_flag	           := FND_API.G_MISS_CHAR;
656     x_sold_to_org_id               := FND_API.G_MISS_NUM;
657     x_locked_from_list_header_id   := FND_API.G_MISS_NUM;
658     --added for MOAC
659     x_org_id	                   := FND_API.G_MISS_NUM;
660 
661     --  Load display out parameters if any
662 
663     l_PRICE_LIST_val_rec := QP_Price_List_Util.Get_Values
664     (   p_PRICE_LIST_rec              => l_x_PRICE_LIST_rec
665     ,   p_old_PRICE_LIST_rec          => l_PRICE_LIST_rec
666     );
667 
668     --  Return changed attributes.
669 
670     IF NOT QP_GLOBALS.Equal(l_x_PRICE_LIST_rec.attribute1,
671                             l_PRICE_LIST_rec.attribute1)
672     THEN
673         x_attribute1 := l_x_PRICE_LIST_rec.attribute1;
674     END IF;
675 
676     IF NOT QP_GLOBALS.Equal(l_x_PRICE_LIST_rec.attribute10,
677                             l_PRICE_LIST_rec.attribute10)
678     THEN
679         x_attribute10 := l_x_PRICE_LIST_rec.attribute10;
680     END IF;
681 
682     IF NOT QP_GLOBALS.Equal(l_x_PRICE_LIST_rec.attribute11,
683                             l_PRICE_LIST_rec.attribute11)
684     THEN
685         x_attribute11 := l_x_PRICE_LIST_rec.attribute11;
686     END IF;
687 
688     IF NOT QP_GLOBALS.Equal(l_x_PRICE_LIST_rec.attribute12,
689                             l_PRICE_LIST_rec.attribute12)
690     THEN
691         x_attribute12 := l_x_PRICE_LIST_rec.attribute12;
692     END IF;
693 
694     IF NOT QP_GLOBALS.Equal(l_x_PRICE_LIST_rec.attribute13,
695                             l_PRICE_LIST_rec.attribute13)
696     THEN
697         x_attribute13 := l_x_PRICE_LIST_rec.attribute13;
698     END IF;
699 
700     IF NOT QP_GLOBALS.Equal(l_x_PRICE_LIST_rec.attribute14,
701                             l_PRICE_LIST_rec.attribute14)
702     THEN
703         x_attribute14 := l_x_PRICE_LIST_rec.attribute14;
704     END IF;
705 
706     IF NOT QP_GLOBALS.Equal(l_x_PRICE_LIST_rec.attribute15,
707                             l_PRICE_LIST_rec.attribute15)
708     THEN
709         x_attribute15 := l_x_PRICE_LIST_rec.attribute15;
710     END IF;
711 
712     IF NOT QP_GLOBALS.Equal(l_x_PRICE_LIST_rec.attribute2,
713                             l_PRICE_LIST_rec.attribute2)
714     THEN
715         x_attribute2 := l_x_PRICE_LIST_rec.attribute2;
716     END IF;
717 
718     IF NOT QP_GLOBALS.Equal(l_x_PRICE_LIST_rec.attribute3,
719                             l_PRICE_LIST_rec.attribute3)
720     THEN
721         x_attribute3 := l_x_PRICE_LIST_rec.attribute3;
722     END IF;
723 
724     IF NOT QP_GLOBALS.Equal(l_x_PRICE_LIST_rec.attribute4,
725                             l_PRICE_LIST_rec.attribute4)
726     THEN
727         x_attribute4 := l_x_PRICE_LIST_rec.attribute4;
728     END IF;
729 
730     IF NOT QP_GLOBALS.Equal(l_x_PRICE_LIST_rec.attribute5,
731                             l_PRICE_LIST_rec.attribute5)
732     THEN
733         x_attribute5 := l_x_PRICE_LIST_rec.attribute5;
734     END IF;
735 
736     IF NOT QP_GLOBALS.Equal(l_x_PRICE_LIST_rec.attribute6,
737                             l_PRICE_LIST_rec.attribute6)
738     THEN
739         x_attribute6 := l_x_PRICE_LIST_rec.attribute6;
740     END IF;
741 
742     IF NOT QP_GLOBALS.Equal(l_x_PRICE_LIST_rec.attribute7,
743                             l_PRICE_LIST_rec.attribute7)
744     THEN
745         x_attribute7 := l_x_PRICE_LIST_rec.attribute7;
746     END IF;
747 
748     IF NOT QP_GLOBALS.Equal(l_x_PRICE_LIST_rec.attribute8,
749                             l_PRICE_LIST_rec.attribute8)
750     THEN
751         x_attribute8 := l_x_PRICE_LIST_rec.attribute8;
752     END IF;
753 
754     IF NOT QP_GLOBALS.Equal(l_x_PRICE_LIST_rec.attribute9,
755                             l_PRICE_LIST_rec.attribute9)
756     THEN
757         x_attribute9 := l_x_PRICE_LIST_rec.attribute9;
758     END IF;
759 
760     IF NOT QP_GLOBALS.Equal(l_x_PRICE_LIST_rec.automatic_flag,
761                             l_PRICE_LIST_rec.automatic_flag)
762     THEN
763         x_automatic_flag := l_x_PRICE_LIST_rec.automatic_flag;
764         x_automatic := l_PRICE_LIST_val_rec.automatic;
765     END IF;
766 
767     IF NOT QP_GLOBALS.Equal(l_x_PRICE_LIST_rec.comments,
768                             l_PRICE_LIST_rec.comments)
769     THEN
770         x_comments := l_x_PRICE_LIST_rec.comments;
771     END IF;
772 
773     IF NOT QP_GLOBALS.Equal(l_x_PRICE_LIST_rec.context,
774                             l_PRICE_LIST_rec.context)
775     THEN
776         x_context := l_x_PRICE_LIST_rec.context;
777     END IF;
778 
779     IF NOT QP_GLOBALS.Equal(l_x_PRICE_LIST_rec.currency_code,
780                             l_PRICE_LIST_rec.currency_code)
781     THEN
782         x_currency_code := l_x_PRICE_LIST_rec.currency_code;
783         x_currency := l_PRICE_LIST_val_rec.currency;
784     END IF;
785 
786     IF NOT QP_GLOBALS.Equal(l_x_PRICE_LIST_rec.discount_lines_flag,
787                             l_PRICE_LIST_rec.discount_lines_flag)
788     THEN
789         x_discount_lines_flag := l_x_PRICE_LIST_rec.discount_lines_flag;
790         x_discount_lines := l_PRICE_LIST_val_rec.discount_lines;
791     END IF;
792 
793     IF NOT QP_GLOBALS.Equal(l_x_PRICE_LIST_rec.end_date_active,
794                             l_PRICE_LIST_rec.end_date_active)
795     THEN
796         x_end_date_active := l_x_PRICE_LIST_rec.end_date_active;
797     END IF;
798 
799     IF NOT QP_GLOBALS.Equal(l_x_PRICE_LIST_rec.freight_terms_code,
800                             l_PRICE_LIST_rec.freight_terms_code)
801     THEN
802         x_freight_terms_code := l_x_PRICE_LIST_rec.freight_terms_code;
803         x_freight_terms := l_PRICE_LIST_val_rec.freight_terms;
804     END IF;
805 
806     IF NOT QP_GLOBALS.Equal(l_x_PRICE_LIST_rec.gsa_indicator,
807                             l_PRICE_LIST_rec.gsa_indicator)
808     THEN
809         x_gsa_indicator := l_x_PRICE_LIST_rec.gsa_indicator;
810     END IF;
811 
812     IF NOT QP_GLOBALS.Equal(l_x_PRICE_LIST_rec.list_header_id,
813                             l_PRICE_LIST_rec.list_header_id)
814     THEN
815         x_list_header_id := l_x_PRICE_LIST_rec.list_header_id;
816         x_list_header := l_PRICE_LIST_val_rec.list_header;
817     END IF;
818 
819     IF NOT QP_GLOBALS.Equal(l_x_PRICE_LIST_rec.list_type_code,
820                             l_PRICE_LIST_rec.list_type_code)
821     THEN
822         x_list_type_code := l_x_PRICE_LIST_rec.list_type_code;
823         x_list_type := l_PRICE_LIST_val_rec.list_type;
824     END IF;
825 
826     IF NOT QP_GLOBALS.Equal(l_x_PRICE_LIST_rec.version_no,
827                             l_PRICE_LIST_rec.version_no)
828     THEN
829         x_version_no := l_x_PRICE_LIST_rec.version_no;
830     END IF;
831 -- added active_flag
832     IF NOT QP_GLOBALS.Equal(l_x_PRICE_LIST_rec.active_flag,
833 					   l_PRICE_LIST_rec.active_flag)
834     THEN
835 	   x_active_flag := l_x_PRICE_LIST_rec.active_flag;
836     END IF;
837 -- mkarya for bug 1944882 - added mobile_download
838     IF NOT QP_GLOBALS.Equal(l_x_PRICE_LIST_rec.mobile_download,
839 					   l_PRICE_LIST_rec.mobile_download)
840     THEN
841 	   x_mobile_download := l_x_PRICE_LIST_rec.mobile_download;
842     END IF;
843 
844     IF NOT QP_GLOBALS.Equal(l_x_PRICE_LIST_rec.prorate_flag,
845                             l_PRICE_LIST_rec.prorate_flag)
846     THEN
847         x_prorate_flag := l_x_PRICE_LIST_rec.prorate_flag;
848         x_prorate := l_PRICE_LIST_val_rec.prorate;
849     END IF;
850 
851     IF NOT QP_GLOBALS.Equal(l_x_PRICE_LIST_rec.rounding_factor,
852                             l_PRICE_LIST_rec.rounding_factor)
853     THEN
854         x_rounding_factor := l_x_PRICE_LIST_rec.rounding_factor;
855     END IF;
856 
857     IF NOT QP_GLOBALS.Equal(l_x_PRICE_LIST_rec.ship_method_code,
858                             l_PRICE_LIST_rec.ship_method_code)
859     THEN
860         x_ship_method_code := l_x_PRICE_LIST_rec.ship_method_code;
861         x_ship_method := l_PRICE_LIST_val_rec.ship_method;
862     END IF;
863 
864     IF NOT QP_GLOBALS.Equal(l_x_PRICE_LIST_rec.start_date_active,
865                             l_PRICE_LIST_rec.start_date_active)
866     THEN
867         x_start_date_active := l_x_PRICE_LIST_rec.start_date_active;
868     END IF;
869 
870     IF NOT QP_GLOBALS.Equal(l_x_PRICE_LIST_rec.terms_id,
871                             l_PRICE_LIST_rec.terms_id)
872     THEN
873         x_terms_id := l_x_PRICE_LIST_rec.terms_id;
874         x_terms := l_PRICE_LIST_val_rec.terms;
875     END IF;
876 
877     IF NOT QP_GLOBALS.Equal(l_x_PRICE_LIST_rec.name,
878                             l_PRICE_LIST_rec.name)
879     THEN
880         x_name := l_x_PRICE_LIST_rec.name;
881     END IF;
882 
883     IF NOT QP_GLOBALS.Equal(l_x_PRICE_LIST_rec.description,
884                             l_PRICE_LIST_rec.description)
885     THEN
886         x_description := l_x_PRICE_LIST_rec.description;
887     END IF;
888 
889     -- Multi-Currency SunilPandey
890     IF NOT QP_GLOBALS.Equal(l_x_PRICE_LIST_rec.currency_header_id,
891                             l_PRICE_LIST_rec.currency_header_id)
892     THEN
893         x_currency_header_id := l_x_PRICE_LIST_rec.currency_header_id;
894         x_currency_header := l_PRICE_LIST_val_rec.currency_header;
895     END IF;
896 
897     -- Attribute Manager Giri
898     IF NOT QP_GLOBALS.Equal(l_x_PRICE_LIST_rec.pte_code,
899                             l_PRICE_LIST_rec.pte_code)
900     THEN
901         x_pte_code := l_x_PRICE_LIST_rec.pte_code;
902         x_pte := l_PRICE_LIST_val_rec.pte;
903     END IF;
904 
905    -- Blanket Sales Order
906     IF NOT QP_GLOBALS.Equal(l_x_PRICE_LIST_rec.list_source_code,
907                             l_PRICE_LIST_rec.list_source_code)
908     THEN
909         x_list_source_code := l_x_PRICE_LIST_rec.list_source_code;
910         x_orig_system_header_ref := l_PRICE_LIST_val_rec.orig_system_header_ref;
911     END IF;
912 
913    -- Pricing Security gtippire
914     IF NOT QP_GLOBALS.Equal(l_x_PRICE_LIST_rec.global_flag,
915                             l_PRICE_LIST_rec.global_flag)
916     THEN
917         x_global_flag := l_x_PRICE_LIST_rec.global_flag;
918     END IF;
919 
920    -- Blanket Pricing
921     IF NOT QP_GLOBALS.Equal(l_x_PRICE_LIST_rec.source_system_code,
922                             l_PRICE_LIST_rec.source_system_code)
923     THEN
924         x_source_system_code := l_x_PRICE_LIST_rec.source_system_code;
925     END IF;
926 
927     IF NOT QP_GLOBALS.Equal(l_x_PRICE_LIST_rec.shareable_flag,
928                             l_PRICE_LIST_rec.shareable_flag)
929     THEN
930         x_shareable_flag := l_x_PRICE_LIST_rec.shareable_flag;
931     END IF;
932 
933     IF NOT QP_GLOBALS.Equal(l_x_PRICE_LIST_rec.sold_to_org_id,
934                             l_PRICE_LIST_rec.sold_to_org_id)
935     THEN
936         x_sold_to_org_id := l_x_PRICE_LIST_rec.sold_to_org_id;
937     END IF;
938 
939     IF NOT QP_GLOBALS.Equal(l_x_PRICE_LIST_rec.locked_from_list_header_id,
940                             l_PRICE_LIST_rec.locked_from_list_header_id)
941     THEN
942         x_locked_from_list_header_id :=
943                      l_x_PRICE_LIST_rec.locked_from_list_header_id;
944     END IF;
945 
946     --added for MOAC
947     IF NOT QP_GLOBALS.Equal(l_x_PRICE_LIST_rec.org_id,
948                             l_PRICE_LIST_rec.org_id)
949     THEN
950         x_org_id := l_x_PRICE_LIST_rec.org_id;
951     END IF;
952 
953     --  Write to cache.
954 
955     Write_PRICE_LIST
956     (   p_PRICE_LIST_rec              => l_x_PRICE_LIST_rec
957     );
958 
959     --  Set return status.
960 
961     x_return_status := FND_API.G_RET_STS_SUCCESS;
962 
963     --  Get message count and data
964 
965     oe_msg_pub.Count_And_Get
966     (   p_count                       => x_msg_count
967     ,   p_data                        => x_msg_data
968     );
969 
970 
971 EXCEPTION
972 
973     WHEN FND_API.G_EXC_ERROR THEN
974 
975         x_return_status := FND_API.G_RET_STS_ERROR;
976 
977         --  Get message count and data
978 
979         oe_msg_pub.Count_And_Get
980         (   p_count                       => x_msg_count
981         ,   p_data                        => x_msg_data
982         );
983 
984     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
985 
986         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
987 
988         --  Get message count and data
989 
990         oe_msg_pub.Count_And_Get
991         (   p_count                       => x_msg_count
992         ,   p_data                        => x_msg_data
993         );
994 
995     WHEN OTHERS THEN
996 
997         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
998 
999         IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_UNEXP_ERROR)
1000         THEN
1001             oe_msg_pub.Add_Exc_Msg
1002             (   G_PKG_NAME
1003             ,   'Change_Attribute'
1004             );
1005         END IF;
1006 
1007         --  Get message count and data
1008 
1009         oe_msg_pub.Count_And_Get
1010         (   p_count                       => x_msg_count
1011         ,   p_data                        => x_msg_data
1012         );
1013 
1014 END Change_Attribute;
1015 
1016 --  Procedure       Validate_And_Write
1017 --
1018 
1019 PROCEDURE Validate_And_Write
1020 (   x_return_status                 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1021 ,   x_msg_count                     OUT NOCOPY /* file.sql.39 change */ NUMBER
1022 ,   x_msg_data                      OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1023 ,   p_list_header_id                IN  NUMBER
1024 ,   x_creation_date                 OUT NOCOPY /* file.sql.39 change */ DATE
1025 ,   x_created_by                    OUT NOCOPY /* file.sql.39 change */ NUMBER
1026 ,   x_last_update_date              OUT NOCOPY /* file.sql.39 change */ DATE
1027 ,   x_last_updated_by               OUT NOCOPY /* file.sql.39 change */ NUMBER
1028 ,   x_last_update_login             OUT NOCOPY /* file.sql.39 change */ NUMBER
1029 ,   x_program_application_id        OUT NOCOPY /* file.sql.39 change */ NUMBER
1030 ,   x_program_id                    OUT NOCOPY /* file.sql.39 change */ NUMBER
1031 ,   x_program_update_date           OUT NOCOPY /* file.sql.39 change */ DATE
1032 ,   x_request_id                    OUT NOCOPY /* file.sql.39 change */ NUMBER
1033 )
1034 IS
1035 l_PRICE_LIST_rec              QP_Price_List_PUB.Price_List_Rec_Type;
1036 l_old_PRICE_LIST_rec          QP_Price_List_PUB.Price_List_Rec_Type;
1037 l_control_rec                 QP_GLOBALS.Control_Rec_Type;
1038 l_return_status               VARCHAR2(1);
1039 l_x_PRICE_LIST_rec            QP_Price_List_PUB.Price_List_Rec_Type;
1040 l_x_PRICE_LIST_LINE_rec       QP_Price_List_PUB.Price_List_Line_Rec_Type;
1041 l_x_PRICE_LIST_LINE_tbl       QP_Price_List_PUB.Price_List_Line_Tbl_Type;
1042 l_x_QUALIFIERS_rec            Qp_Qualifier_Rules_Pub.Qualifiers_Rec_Type;
1043 l_x_QUALIFIERS_tbl            Qp_Qualifier_Rules_Pub.Qualifiers_Tbl_Type;
1044 l_x_PRICING_ATTR_rec          QP_Price_List_PUB.Pricing_Attr_Rec_Type;
1045 l_x_PRICING_ATTR_tbl          QP_Price_List_PUB.Pricing_Attr_Tbl_Type;
1046 BEGIN
1047 
1048     --  Set control flags.
1049 
1050     l_control_rec.controlled_operation := TRUE;
1051     l_control_rec.validate_entity      := TRUE;
1052     l_control_rec.write_to_DB          := TRUE;
1053 
1054     l_control_rec.default_attributes   := FALSE;
1055     l_control_rec.change_attributes    := FALSE;
1056     l_control_rec.process              := FALSE;
1057 
1058     --  Instruct API to retain its caches
1059 
1060     l_control_rec.clear_api_cache      := FALSE;
1061     l_control_rec.clear_api_requests   := FALSE;
1062 
1063     --  Read PRICE_LIST from cache
1064 
1065     l_old_PRICE_LIST_rec := Get_PRICE_LIST
1066     (   p_db_record                   => TRUE
1067     ,   p_list_header_id              => p_list_header_id
1068     );
1069 
1070     l_PRICE_LIST_rec := Get_PRICE_LIST
1071     (   p_db_record                   => FALSE
1072     ,   p_list_header_id              => p_list_header_id
1073     );
1074 
1075     --  Set Operation.
1076 
1077     IF FND_API.To_Boolean(l_PRICE_LIST_rec.db_flag) THEN
1078         l_PRICE_LIST_rec.operation := QP_GLOBALS.G_OPR_UPDATE;
1079     ELSE
1080         l_PRICE_LIST_rec.operation := QP_GLOBALS.G_OPR_CREATE;
1081     END IF;
1082 
1083     --  Call QP_LIST_HEADERS_PVT.Process_PRICE_LIST
1084 
1085     QP_LIST_HEADERS_PVT.Process_PRICE_LIST
1086     (   p_api_version_number          => 1.0
1087     ,   p_init_msg_list               => FND_API.G_TRUE
1088     ,   x_return_status               => l_return_status
1089     ,   x_msg_count                   => x_msg_count
1090     ,   x_msg_data                    => x_msg_data
1091     ,   p_control_rec                 => l_control_rec
1092     ,   p_PRICE_LIST_rec              => l_PRICE_LIST_rec
1093     ,   p_old_PRICE_LIST_rec          => l_old_PRICE_LIST_rec
1094     ,   x_PRICE_LIST_rec              => l_x_PRICE_LIST_rec
1095     ,   x_PRICE_LIST_LINE_tbl         => l_x_PRICE_LIST_LINE_tbl
1096     ,   x_QUALIFIERS_tbl              => l_x_QUALIFIERS_tbl
1097     ,   x_PRICING_ATTR_tbl            => l_x_PRICING_ATTR_tbl
1098     );
1099 
1100     IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1101         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1102     ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1103         RAISE FND_API.G_EXC_ERROR;
1104     END IF;
1105 
1106 
1107     --  Load OUT parameters.
1108 
1109 
1110     x_creation_date                := l_x_PRICE_LIST_rec.creation_date;
1111     x_created_by                   := l_x_PRICE_LIST_rec.created_by;
1112     x_last_update_date             := l_x_PRICE_LIST_rec.last_update_date;
1113     x_last_updated_by              := l_x_PRICE_LIST_rec.last_updated_by;
1114     x_last_update_login            := l_x_PRICE_LIST_rec.last_update_login;
1115     x_program_application_id       := l_x_PRICE_LIST_rec.program_application_id;
1116     x_program_id                   := l_x_PRICE_LIST_rec.program_id;
1117     x_program_update_date          := l_x_PRICE_LIST_rec.program_update_date;
1118     x_request_id                   := l_x_PRICE_LIST_rec.request_id;
1119 
1120     --  Clear PRICE_LIST record cache
1121 
1122     Clear_PRICE_LIST;
1123 
1124     --  Keep track of performed operations.
1125 
1126     l_old_PRICE_LIST_rec.operation := l_PRICE_LIST_rec.operation;
1127 
1128 
1129     --  Set return status.
1130 
1131     x_return_status := FND_API.G_RET_STS_SUCCESS;
1132 
1133     --  Get message count and data
1134 
1135     oe_msg_pub.Count_And_Get
1136     (   p_count                       => x_msg_count
1137     ,   p_data                        => x_msg_data
1138     );
1139 
1140 
1141 EXCEPTION
1142 
1143     WHEN FND_API.G_EXC_ERROR THEN
1144 
1145         x_return_status := FND_API.G_RET_STS_ERROR;
1146 
1147         --  Get message count and data
1148 
1149         oe_msg_pub.Count_And_Get
1150         (   p_count                       => x_msg_count
1151         ,   p_data                        => x_msg_data
1152         );
1153 
1154     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1155 
1156         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1157 
1158         --  Get message count and data
1159 
1160         oe_msg_pub.Count_And_Get
1161         (   p_count                       => x_msg_count
1162         ,   p_data                        => x_msg_data
1163         );
1164 
1165     WHEN OTHERS THEN
1166 
1167         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1168 
1169         IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_UNEXP_ERROR)
1170         THEN
1171             oe_msg_pub.Add_Exc_Msg
1172             (   G_PKG_NAME
1173             ,   'Validate_And_Write'
1174             );
1175         END IF;
1176 
1177         --  Get message count and data
1178 
1179         oe_msg_pub.Count_And_Get
1180         (   p_count                       => x_msg_count
1181         ,   p_data                        => x_msg_data
1182         );
1183 
1184 END Validate_And_Write;
1185 
1186 --  Procedure       Delete_Row
1187 --
1188 
1189 PROCEDURE Delete_Row
1190 (   x_return_status                 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1191 ,   x_msg_count                     OUT NOCOPY /* file.sql.39 change */ NUMBER
1192 ,   x_msg_data                      OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1193 ,   p_list_header_id                IN  NUMBER
1194 )
1195 IS
1196 l_PRICE_LIST_rec              QP_Price_List_PUB.Price_List_Rec_Type;
1197 l_control_rec                 QP_GLOBALS.Control_Rec_Type;
1198 l_return_status               VARCHAR2(1);
1199 l_x_PRICE_LIST_rec            QP_Price_List_PUB.Price_List_Rec_Type;
1200 l_x_PRICE_LIST_LINE_rec       QP_Price_List_PUB.Price_List_Line_Rec_Type;
1201 l_x_PRICE_LIST_LINE_tbl       QP_Price_List_PUB.Price_List_Line_Tbl_Type;
1202 l_x_QUALIFIERS_rec            Qp_Qualifier_Rules_Pub.Qualifiers_Rec_Type;
1203 l_x_QUALIFIERS_tbl            Qp_Qualifier_Rules_Pub.Qualifiers_Tbl_Type;
1204 l_x_PRICING_ATTR_rec          QP_Price_List_PUB.Pricing_Attr_Rec_Type;
1205 l_x_PRICING_ATTR_tbl          QP_Price_List_PUB.Pricing_Attr_Tbl_Type;
1206 BEGIN
1207 
1208     --  Set control flags.
1209 
1210     l_control_rec.controlled_operation := TRUE;
1211     l_control_rec.validate_entity      := TRUE;
1212     l_control_rec.write_to_DB          := TRUE;
1213 
1214     l_control_rec.default_attributes   := FALSE;
1215     l_control_rec.change_attributes    := FALSE;
1216     l_control_rec.process              := FALSE;
1217 
1218     --  Instruct API to retain its caches
1219 
1220     l_control_rec.clear_api_cache      := FALSE;
1221     l_control_rec.clear_api_requests   := FALSE;
1222 
1223     --  Read DB record from cache
1224 
1225     l_PRICE_LIST_rec := Get_PRICE_LIST
1226     (   p_db_record                   => TRUE
1227     ,   p_list_header_id              => p_list_header_id
1228     );
1229 
1230     --  Set Operation.
1231 
1232     l_PRICE_LIST_rec.operation := QP_GLOBALS.G_OPR_DELETE;
1233 
1234     --  Call QP_LIST_HEADERS_PVT.Process_PRICE_LIST
1235 
1236     QP_LIST_HEADERS_PVT.Process_PRICE_LIST
1237     (   p_api_version_number          => 1.0
1238     ,   p_init_msg_list               => FND_API.G_TRUE
1239     ,   x_return_status               => l_return_status
1240     ,   x_msg_count                   => x_msg_count
1241     ,   x_msg_data                    => x_msg_data
1242     ,   p_control_rec                 => l_control_rec
1243     ,   p_PRICE_LIST_rec              => l_PRICE_LIST_rec
1244     ,   x_PRICE_LIST_rec              => l_x_PRICE_LIST_rec
1245     ,   x_PRICE_LIST_LINE_tbl         => l_x_PRICE_LIST_LINE_tbl
1246     ,   x_QUALIFIERS_tbl              => l_x_QUALIFIERS_tbl
1247     ,   x_PRICING_ATTR_tbl            => l_x_PRICING_ATTR_tbl
1248     );
1249 
1250     IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1251         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1252     ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1253         RAISE FND_API.G_EXC_ERROR;
1254     END IF;
1255 
1256 
1257     --  Clear PRICE_LIST record cache
1258 
1259     Clear_PRICE_LIST;
1260 
1261     --  Set return status.
1262 
1263     x_return_status := FND_API.G_RET_STS_SUCCESS;
1264 
1265     --  Get message count and data
1266 
1267     oe_msg_pub.Count_And_Get
1268     (   p_count                       => x_msg_count
1269     ,   p_data                        => x_msg_data
1270     );
1271 
1272 
1273 EXCEPTION
1274 
1275     WHEN FND_API.G_EXC_ERROR THEN
1276 
1277         x_return_status := FND_API.G_RET_STS_ERROR;
1278 
1279         --  Get message count and data
1280 
1281         oe_msg_pub.Count_And_Get
1282         (   p_count                       => x_msg_count
1283         ,   p_data                        => x_msg_data
1284         );
1285 
1286     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1287 
1288         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1289 
1290         --  Get message count and data
1291 
1292         oe_msg_pub.Count_And_Get
1293         (   p_count                       => x_msg_count
1294         ,   p_data                        => x_msg_data
1295         );
1296 
1297     WHEN OTHERS THEN
1298 
1299         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1300 
1301         IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_UNEXP_ERROR)
1302         THEN
1303             oe_msg_pub.Add_Exc_Msg
1304             (   G_PKG_NAME
1305             ,   'Delete_Row'
1306             );
1307         END IF;
1308 
1309         --  Get message count and data
1310 
1311         oe_msg_pub.Count_And_Get
1312         (   p_count                       => x_msg_count
1313         ,   p_data                        => x_msg_data
1314         );
1315 
1316 END Delete_Row;
1317 
1318 --  Procedure       Process_Entity
1319 --
1320 
1321 PROCEDURE Process_Entity
1322 (   x_return_status                 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1323 ,   x_msg_count                     OUT NOCOPY /* file.sql.39 change */ NUMBER
1324 ,   x_msg_data                      OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1325 )
1326 IS
1327 l_control_rec                 QP_GLOBALS.Control_Rec_Type;
1328 l_return_status               VARCHAR2(1);
1329 l_x_PRICE_LIST_rec            QP_Price_List_PUB.Price_List_Rec_Type;
1330 l_x_PRICE_LIST_LINE_rec       QP_Price_List_PUB.Price_List_Line_Rec_Type;
1331 l_x_PRICE_LIST_LINE_tbl       QP_Price_List_PUB.Price_List_Line_Tbl_Type;
1332 l_x_QUALIFIERS_rec            Qp_Qualifier_Rules_Pub.Qualifiers_Rec_Type;
1333 l_x_QUALIFIERS_tbl            Qp_Qualifier_Rules_Pub.Qualifiers_Tbl_Type;
1334 l_x_PRICING_ATTR_rec          QP_Price_List_PUB.Pricing_Attr_Rec_Type;
1335 l_x_PRICING_ATTR_tbl          QP_Price_List_PUB.Pricing_Attr_Tbl_Type;
1336 BEGIN
1337 
1338     --  Set control flags.
1339 
1340     l_control_rec.controlled_operation := TRUE;
1341     l_control_rec.process              := TRUE;
1342     l_control_rec.process_entity       := QP_GLOBALS.G_ENTITY_PRICE_LIST;
1343 
1344     l_control_rec.default_attributes   := FALSE;
1345     l_control_rec.change_attributes    := FALSE;
1346     l_control_rec.validate_entity      := FALSE;
1347     l_control_rec.write_to_DB          := FALSE;
1348 
1349     --  Instruct API to clear its request table
1350 
1351     l_control_rec.clear_api_cache      := FALSE;
1352     l_control_rec.clear_api_requests   := FALSE;
1353 
1354     --  Call QP_LIST_HEADERS_PVT.Process_PRICE_LIST
1355 
1356     QP_LIST_HEADERS_PVT.Process_PRICE_LIST
1357     (   p_api_version_number          => 1.0
1358     ,   p_init_msg_list               => FND_API.G_TRUE
1359     ,   x_return_status               => l_return_status
1360     ,   x_msg_count                   => x_msg_count
1361     ,   x_msg_data                    => x_msg_data
1362     ,   p_control_rec                 => l_control_rec
1363     ,   x_PRICE_LIST_rec              => l_x_PRICE_LIST_rec
1364     ,   x_PRICE_LIST_LINE_tbl         => l_x_PRICE_LIST_LINE_tbl
1365     ,   x_QUALIFIERS_tbl              => l_x_QUALIFIERS_tbl
1366     ,   x_PRICING_ATTR_tbl            => l_x_PRICING_ATTR_tbl
1367     );
1368 
1369     IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1370         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1371     ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1372         RAISE FND_API.G_EXC_ERROR;
1373     END IF;
1374 
1375 
1376     --  Set return status.
1377 
1378     x_return_status := FND_API.G_RET_STS_SUCCESS;
1379 
1380     --  Get message count and data
1381 
1382     oe_msg_pub.Count_And_Get
1383     (   p_count                       => x_msg_count
1384     ,   p_data                        => x_msg_data
1385     );
1386 
1387 
1388 EXCEPTION
1389 
1390     WHEN FND_API.G_EXC_ERROR THEN
1391 
1392         x_return_status := FND_API.G_RET_STS_ERROR;
1393 
1394         --  Get message count and data
1395 
1396         oe_msg_pub.Count_And_Get
1397         (   p_count                       => x_msg_count
1398         ,   p_data                        => x_msg_data
1399         );
1400 
1401     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1402 
1403         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1404 
1405         --  Get message count and data
1406 
1407         oe_msg_pub.Count_And_Get
1408         (   p_count                       => x_msg_count
1409         ,   p_data                        => x_msg_data
1410         );
1411 
1412     WHEN OTHERS THEN
1413 
1414         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1415 
1416         IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_UNEXP_ERROR)
1417         THEN
1418             oe_msg_pub.Add_Exc_Msg
1419             (   G_PKG_NAME
1420             ,   'Process_Entity'
1421             );
1422         END IF;
1423 
1424         --  Get message count and data
1425 
1426         oe_msg_pub.Count_And_Get
1427         (   p_count                       => x_msg_count
1428         ,   p_data                        => x_msg_data
1429         );
1430 
1431 END Process_Entity;
1432 
1433 --  Procedure       Process_Object
1434 --
1435 
1436 PROCEDURE Process_Object
1437 (   x_return_status                 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1438 ,   x_msg_count                     OUT NOCOPY /* file.sql.39 change */ NUMBER
1439 ,   x_msg_data                      OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1440 )
1441 IS
1442 l_control_rec                 QP_GLOBALS.Control_Rec_Type;
1443 l_return_status               VARCHAR2(1);
1444 l_x_PRICE_LIST_rec            QP_Price_List_PUB.Price_List_Rec_Type;
1445 l_x_PRICE_LIST_LINE_rec       QP_Price_List_PUB.Price_List_Line_Rec_Type;
1446 l_x_PRICE_LIST_LINE_tbl       QP_Price_List_PUB.Price_List_Line_Tbl_Type;
1447 l_x_QUALIFIERS_rec            Qp_Qualifier_Rules_Pub.Qualifiers_Rec_Type;
1448 l_x_QUALIFIERS_tbl            Qp_Qualifier_Rules_Pub.Qualifiers_Tbl_Type;
1449 l_x_PRICING_ATTR_rec          QP_Price_List_PUB.Pricing_Attr_Rec_Type;
1450 l_x_PRICING_ATTR_tbl          QP_Price_List_PUB.Pricing_Attr_Tbl_Type;
1451 BEGIN
1452 
1453     --  Set control flags.
1454 
1455     l_control_rec.controlled_operation := TRUE;
1456     l_control_rec.process              := TRUE;
1457     l_control_rec.process_entity       := QP_GLOBALS.G_ENTITY_ALL;
1458 
1459     l_control_rec.default_attributes   := FALSE;
1460     l_control_rec.change_attributes    := FALSE;
1461     l_control_rec.validate_entity      := FALSE;
1462     l_control_rec.write_to_DB          := FALSE;
1463 
1464     --  Instruct API to clear its request table
1465 
1466     l_control_rec.clear_api_cache      := FALSE;
1467     l_control_rec.clear_api_requests   := TRUE;
1468 
1469     --  Call QP_LIST_HEADERS_PVT.Process_PRICE_LIST
1470 
1471     QP_LIST_HEADERS_PVT.Process_PRICE_LIST
1472     (   p_api_version_number          => 1.0
1473     ,   p_init_msg_list               => FND_API.G_TRUE
1474     ,   x_return_status               => l_return_status
1475     ,   x_msg_count                   => x_msg_count
1476     ,   x_msg_data                    => x_msg_data
1477     ,   p_control_rec                 => l_control_rec
1478     ,   x_PRICE_LIST_rec              => l_x_PRICE_LIST_rec
1479     ,   x_PRICE_LIST_LINE_tbl         => l_x_PRICE_LIST_LINE_tbl
1480     ,   x_QUALIFIERS_tbl              => l_x_QUALIFIERS_tbl
1481     ,   x_PRICING_ATTR_tbl            => l_x_PRICING_ATTR_tbl
1482     );
1483 
1484     IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1485         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1486     ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1487         RAISE FND_API.G_EXC_ERROR;
1488     END IF;
1489 
1490 
1491     --  Set return status.
1492 
1493     x_return_status := FND_API.G_RET_STS_SUCCESS;
1494 
1495     --  Get message count and data
1496 
1497     oe_msg_pub.Count_And_Get
1498     (   p_count                       => x_msg_count
1499     ,   p_data                        => x_msg_data
1500     );
1501 
1502 
1503 EXCEPTION
1504 
1505     WHEN FND_API.G_EXC_ERROR THEN
1506 
1507         x_return_status := FND_API.G_RET_STS_ERROR;
1508 
1509         --  Get message count and data
1510 
1511         oe_msg_pub.Count_And_Get
1512         (   p_count                       => x_msg_count
1513         ,   p_data                        => x_msg_data
1514         );
1515 
1516     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1517 
1518         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1519 
1520         --  Get message count and data
1521 
1522         oe_msg_pub.Count_And_Get
1523         (   p_count                       => x_msg_count
1524         ,   p_data                        => x_msg_data
1525         );
1526 
1527     WHEN OTHERS THEN
1528 
1529         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1530 
1531         IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_UNEXP_ERROR)
1532         THEN
1533             oe_msg_pub.Add_Exc_Msg
1534             (   G_PKG_NAME
1535             ,   'Process_Object'
1536             );
1537         END IF;
1538 
1539         --  Get message count and data
1540 
1541         oe_msg_pub.Count_And_Get
1542         (   p_count                       => x_msg_count
1543         ,   p_data                        => x_msg_data
1544         );
1545 
1546 END Process_Object;
1547 
1548 --  Procedure       lock_Row
1549 --
1550 
1551 PROCEDURE Lock_Row
1552 (   x_return_status                 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1553 ,   x_msg_count                     OUT NOCOPY /* file.sql.39 change */ NUMBER
1554 ,   x_msg_data                      OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1555 ,   p_attribute1                    IN  VARCHAR2
1556 ,   p_attribute10                   IN  VARCHAR2
1557 ,   p_attribute11                   IN  VARCHAR2
1558 ,   p_attribute12                   IN  VARCHAR2
1559 ,   p_attribute13                   IN  VARCHAR2
1560 ,   p_attribute14                   IN  VARCHAR2
1561 ,   p_attribute15                   IN  VARCHAR2
1562 ,   p_attribute2                    IN  VARCHAR2
1563 ,   p_attribute3                    IN  VARCHAR2
1564 ,   p_attribute4                    IN  VARCHAR2
1565 ,   p_attribute5                    IN  VARCHAR2
1566 ,   p_attribute6                    IN  VARCHAR2
1567 ,   p_attribute7                    IN  VARCHAR2
1568 ,   p_attribute8                    IN  VARCHAR2
1569 ,   p_attribute9                    IN  VARCHAR2
1570 ,   p_automatic_flag                IN  VARCHAR2
1571 ,   p_comments                      IN  VARCHAR2
1572 ,   p_context                       IN  VARCHAR2
1573 ,   p_created_by                    IN  NUMBER
1574 ,   p_creation_date                 IN  DATE
1575 ,   p_currency_code                 IN  VARCHAR2
1576 ,   p_discount_lines_flag           IN  VARCHAR2
1577 ,   p_end_date_active               IN  DATE
1578 ,   p_freight_terms_code            IN  VARCHAR2
1579 ,   p_gsa_indicator                 IN  VARCHAR2
1580 ,   p_last_updated_by               IN  NUMBER
1581 ,   p_last_update_date              IN  DATE
1582 ,   p_last_update_login             IN  NUMBER
1583 ,   p_list_header_id                IN  NUMBER
1584 ,   p_list_type_code                IN  VARCHAR2
1585 ,   p_program_application_id        IN  NUMBER
1586 ,   p_program_id                    IN  NUMBER
1587 ,   p_program_update_date           IN  DATE
1588 ,   p_prorate_flag                  IN  VARCHAR2
1589 ,   p_request_id                    IN  NUMBER
1590 ,   p_rounding_factor               IN  NUMBER
1591 ,   p_ship_method_code              IN  VARCHAR2
1592 ,   p_start_date_active             IN  DATE
1593 ,   p_terms_id                      IN  NUMBER
1594 ,   p_name                          IN  VARCHAR2
1595 ,   p_description                   IN  VARCHAR2
1596 ,   p_version_no                    IN  VARCHAR2
1597 ,   p_active_flag                   IN VARCHAR2
1598 ,   p_mobile_download               IN VARCHAR2 -- mkarya for bug 1944882
1599 ,   p_currency_header_id            IN NUMBER   -- Multi-Currency SunilPandey
1600 ,   p_pte_code                      IN VARCHAR2  := NULL -- Attribute Manager Giri
1601 ,   p_list_source_code		    IN VARCHAR2 := NULL--FND_API.G_MISS_CHAR--NULL  -- Blanket Sales Order
1602 ,   p_orig_system_header_ref        IN VARCHAR2 := NULL--FND_API.G_MISS_CHAR--NULL  -- Blanket Sales Order
1603 ,   p_global_flag                   IN VARCHAR2  -- Pricing Security gtippire
1604 ,   p_source_system_code            IN VARCHAR2
1605 ,   p_shareable_flag                IN VARCHAR2 :=  NULL
1606 ,   p_sold_to_org_id                IN NUMBER   :=  NULL
1607 ,   p_locked_from_list_header_id    IN NUMBER   :=  NULL
1608 --added for MOAC
1609 ,   p_org_id                        IN NUMBER
1610 )
1611 IS
1612 l_return_status               VARCHAR2(1);
1613 l_PRICE_LIST_rec              QP_Price_List_PUB.Price_List_Rec_Type;
1614 l_x_PRICE_LIST_rec            QP_Price_List_PUB.Price_List_Rec_Type;
1615 l_x_PRICE_LIST_LINE_rec       QP_Price_List_PUB.Price_List_Line_Rec_Type;
1616 l_x_PRICE_LIST_LINE_tbl       QP_Price_List_PUB.Price_List_Line_Tbl_Type;
1617 l_x_QUALIFIERS_rec            Qp_Qualifier_Rules_Pub.Qualifiers_Rec_Type;
1618 l_x_QUALIFIERS_tbl            Qp_Qualifier_Rules_Pub.Qualifiers_Tbl_Type;
1619 l_x_PRICING_ATTR_rec          QP_Price_List_PUB.Pricing_Attr_Rec_Type;
1620 l_x_PRICING_ATTR_tbl          QP_Price_List_PUB.Pricing_Attr_Tbl_Type;
1621 BEGIN
1622 
1623     --  Load PRICE_LIST record
1624     oe_debug_pub.add('Lock_Row in QPXFPLHB, next call to QPXVPRLB::Lock_PRICE_LIST');
1625 
1626  if(p_list_source_code IS NULL) then
1627 oe_debug_pub.add('list_source_code is ' || p_list_source_code);
1628     oe_debug_pub.add('orig_system_header_Ref is ' || p_orig_system_header_ref);
1629 end if;
1630     l_PRICE_LIST_rec.attribute1    := p_attribute1;
1631     l_PRICE_LIST_rec.attribute10   := p_attribute10;
1632     l_PRICE_LIST_rec.attribute11   := p_attribute11;
1633     l_PRICE_LIST_rec.attribute12   := p_attribute12;
1634     l_PRICE_LIST_rec.attribute13   := p_attribute13;
1635     l_PRICE_LIST_rec.attribute14   := p_attribute14;
1636     l_PRICE_LIST_rec.attribute15   := p_attribute15;
1637     l_PRICE_LIST_rec.attribute2    := p_attribute2;
1638     l_PRICE_LIST_rec.attribute3    := p_attribute3;
1639     l_PRICE_LIST_rec.attribute4    := p_attribute4;
1640     l_PRICE_LIST_rec.attribute5    := p_attribute5;
1641     l_PRICE_LIST_rec.attribute6    := p_attribute6;
1642     l_PRICE_LIST_rec.attribute7    := p_attribute7;
1643     l_PRICE_LIST_rec.attribute8    := p_attribute8;
1644     l_PRICE_LIST_rec.attribute9    := p_attribute9;
1645     l_PRICE_LIST_rec.automatic_flag := p_automatic_flag;
1646     l_PRICE_LIST_rec.comments      := p_comments;
1647     l_PRICE_LIST_rec.context       := p_context;
1648     l_PRICE_LIST_rec.created_by    := p_created_by;
1649     l_PRICE_LIST_rec.creation_date := p_creation_date;
1650     l_PRICE_LIST_rec.currency_code := p_currency_code;
1651     l_PRICE_LIST_rec.discount_lines_flag := p_discount_lines_flag;
1652     l_PRICE_LIST_rec.end_date_active := p_end_date_active;
1653     l_PRICE_LIST_rec.freight_terms_code := p_freight_terms_code;
1654     l_PRICE_LIST_rec.gsa_indicator := p_gsa_indicator;
1655     l_PRICE_LIST_rec.last_updated_by := p_last_updated_by;
1656     l_PRICE_LIST_rec.last_update_date := p_last_update_date;
1657     l_PRICE_LIST_rec.last_update_login := p_last_update_login;
1658     l_PRICE_LIST_rec.list_header_id := p_list_header_id;
1659     l_PRICE_LIST_rec.list_type_code := p_list_type_code;
1660     l_PRICE_LIST_rec.program_application_id := p_program_application_id;
1661     l_PRICE_LIST_rec.program_id    := p_program_id;
1662     l_PRICE_LIST_rec.program_update_date := p_program_update_date;
1663     l_PRICE_LIST_rec.prorate_flag  := p_prorate_flag;
1664     l_PRICE_LIST_rec.request_id    := p_request_id;
1665     l_PRICE_LIST_rec.rounding_factor := p_rounding_factor;
1666     l_PRICE_LIST_rec.ship_method_code := p_ship_method_code;
1667     l_PRICE_LIST_rec.start_date_active := p_start_date_active;
1668     l_PRICE_LIST_rec.terms_id      := p_terms_id;
1669     l_PRICE_LIST_rec.name          := p_name;
1670     l_PRICE_LIST_rec.description      := p_description;
1671     l_PRICE_LIST_rec.version_no      := p_version_no;
1672     l_PRICE_LIST_rec.active_flag     := p_active_flag;
1673     l_PRICE_LIST_rec.mobile_download     := p_mobile_download; -- mkarya for bug 1944882
1674     l_PRICE_LIST_rec.currency_header_id  := p_currency_header_id; -- Multi-Currency SunilPandey
1675     l_PRICE_LIST_rec.pte_code      := p_pte_code; -- Attribute Manager Giri
1676     l_PRICE_LIST_rec.operation        := QP_GLOBALS.G_OPR_LOCK;
1677     l_PRICE_LIST_rec.list_source_code := p_list_source_code ; --Blanket Sales Order
1678     l_PRICE_LIST_rec.orig_system_header_ref := p_orig_system_header_ref ; --Blanket Sales Order
1679     l_PRICE_LIST_rec.global_flag := p_global_flag ; --Pricing Security gtippire
1680     l_PRICE_LIST_rec.source_system_code := p_source_system_code;
1681     l_PRICE_LIST_rec.shareable_flag := p_shareable_flag;
1682     l_PRICE_LIST_rec.sold_to_org_id := p_sold_to_org_id;
1683     l_PRICE_LIST_rec.locked_from_list_header_id := p_locked_from_list_header_id;
1684     --added for MOAC
1685     l_PRICE_LIST_rec.org_id := p_org_id;
1686 
1687 
1688     --  Call QP_LIST_HEADERS_PVT.Lock_PRICE_LIST
1689 
1690     QP_LIST_HEADERS_PVT.Lock_PRICE_LIST
1691     (   p_api_version_number          => 1.0
1692     ,   p_init_msg_list               => FND_API.G_TRUE
1693     ,   x_return_status               => l_return_status
1694     ,   x_msg_count                   => x_msg_count
1695     ,   x_msg_data                    => x_msg_data
1696     ,   p_PRICE_LIST_rec              => l_PRICE_LIST_rec
1697     ,   x_PRICE_LIST_rec              => l_x_PRICE_LIST_rec
1698     ,   x_PRICE_LIST_LINE_tbl         => l_x_PRICE_LIST_LINE_tbl
1699     ,   x_QUALIFIERS_tbl              => l_x_QUALIFIERS_tbl
1700     ,   x_PRICING_ATTR_tbl            => l_x_PRICING_ATTR_tbl
1701     );
1702 
1703     IF l_return_status = FND_API.G_RET_STS_SUCCESS THEN
1704 
1705         --  Set DB flag and write record to cache.
1706 
1707         l_x_PRICE_LIST_rec.db_flag := FND_API.G_TRUE;
1708 
1709         Write_PRICE_LIST
1710         (   p_PRICE_LIST_rec              => l_x_PRICE_LIST_rec
1711         ,   p_db_record                   => TRUE
1712         );
1713 
1714     END IF;
1715 
1716     --  Set return status.
1717 
1718     x_return_status := l_return_status;
1719 
1720     --  Get message count and data
1721 
1722     oe_msg_pub.Count_And_Get
1723     (   p_count                       => x_msg_count
1724     ,   p_data                        => x_msg_data
1725     );
1726 
1727 
1728 EXCEPTION
1729 
1730     WHEN OTHERS THEN
1731 
1732         IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_UNEXP_ERROR)
1733         THEN
1734             oe_msg_pub.Add_Exc_Msg
1735             (   G_PKG_NAME
1736             ,   'Lock_Row'
1737             );
1738         END IF;
1739 
1740         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1741 
1742         --  Get message count and data
1743 
1744         oe_msg_pub.Count_And_Get
1745         (   p_count                       => x_msg_count
1746         ,   p_data                        => x_msg_data
1747         );
1748 
1749 
1750 
1751 END Lock_Row;
1752 
1753 --  Procedures maintaining PRICE_LIST record cache.
1754 
1755 PROCEDURE Write_PRICE_LIST
1756 (   p_PRICE_LIST_rec                IN  QP_Price_List_PUB.Price_List_Rec_Type
1757 ,   p_db_record                     IN  BOOLEAN := FALSE
1758 )
1759 IS
1760 BEGIN
1761 
1762     g_PRICE_LIST_rec := p_PRICE_LIST_rec;
1763 
1764     IF p_db_record THEN
1765 
1766         g_db_PRICE_LIST_rec := p_PRICE_LIST_rec;
1767 
1768     END IF;
1769 
1770 END Write_Price_List;
1771 
1772 FUNCTION Get_PRICE_LIST
1773 (   p_db_record                     IN  BOOLEAN := FALSE
1774 ,   p_list_header_id                IN  NUMBER
1775 )
1776 RETURN QP_Price_List_PUB.Price_List_Rec_Type
1777 IS
1778 BEGIN
1779 
1780     IF  p_list_header_id <> g_PRICE_LIST_rec.list_header_id
1781     THEN
1782 
1783         --  Query row from DB
1784 
1785         g_PRICE_LIST_rec := QP_Price_List_Util.Query_Row
1786         (   p_list_header_id              => p_list_header_id
1787         );
1788 
1789         g_PRICE_LIST_rec.db_flag       := FND_API.G_TRUE;
1790 
1791         --  Load DB record
1792 
1793         g_db_PRICE_LIST_rec            := g_PRICE_LIST_rec;
1794 
1795     END IF;
1796 
1797     IF p_db_record THEN
1798 
1799         RETURN g_db_PRICE_LIST_rec;
1800 
1801     ELSE
1802 
1803         RETURN g_PRICE_LIST_rec;
1804 
1805     END IF;
1806 
1807 END Get_Price_List;
1808 
1809 PROCEDURE Clear_Price_List
1810 IS
1811 BEGIN
1812 
1813     g_PRICE_LIST_rec               := QP_Price_List_PUB.G_MISS_PRICE_LIST_REC;
1814     g_db_PRICE_LIST_rec            := QP_Price_List_PUB.G_MISS_PRICE_LIST_REC;
1815 
1816 END Clear_Price_List;
1817 
1818 Procedure Clear_Record
1819 (   x_return_status                 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1820 ,   x_msg_count                     OUT NOCOPY /* file.sql.39 change */ NUMBER
1821 ,   x_msg_data                      OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1822 ,   p_list_header_id                  IN  NUMBER
1823 )
1824 IS
1825 l_return_status                     Varchar2(30);
1826 BEGIN
1827      OE_MSG_PUB.initialize;
1828  	x_return_status := FND_API.G_RET_STS_SUCCESS;
1829        QP_DELAYED_REQUESTS_PVT.Delete_Reqs_for_Deleted_Entity(
1830 					p_entity_code  => QP_GLOBALS.G_ENTITY_PRICE_LIST
1831 					,p_entity_id    => p_list_header_id
1832 				     ,x_return_status => l_return_status);
1833 
1834         OE_MSG_PUB.Count_And_Get
1835         (   p_count                       => x_msg_count
1836         ,   p_data                        => x_msg_data
1837         );
1838 
1839 -- Clear the controller cache
1840 	Clear_Price_List;
1841 
1842 EXCEPTION
1843     WHEN OTHERS THEN
1844         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1845         THEN
1846             OE_MSG_PUB.Add_Exc_Msg
1847             (   G_PKG_NAME
1848             ,   'Clear_Record'
1849             );
1850         END IF;
1851         --  Get message count and data
1852         OE_MSG_PUB.Count_And_Get
1853         (   p_count                       => x_msg_count
1854         ,   p_data                        => x_msg_data
1855         );
1856         x_return_status := FND_API.G_RET_STS_ERROR;
1857 
1858 END Clear_Record;
1859 
1860 
1861 -- This procedure will be called from the client when the user
1862 -- clears a block or Form
1863 
1864 Procedure Delete_All_Requests
1865 (   x_return_status                 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1866 ,   x_msg_count                     OUT NOCOPY /* file.sql.39 change */ NUMBER
1867 ,   x_msg_data                      OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1868 )
1869 IS
1870 l_return_status                     Varchar2(30);
1871 BEGIN
1872      OE_MSG_PUB.initialize;
1873  	x_return_status := FND_API.G_RET_STS_SUCCESS;
1874        QP_DELAYED_REQUESTS_PVT.Clear_Request(
1875 				     x_return_status => l_return_status);
1876 
1877 EXCEPTION
1878     WHEN OTHERS THEN
1879         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1880         THEN
1881             OE_MSG_PUB.Add_Exc_Msg
1882             (   G_PKG_NAME
1883             ,   'Delete_All_Requests'
1884             );
1885         END IF;
1886         --  Get message count and data
1887         OE_MSG_PUB.Count_And_Get
1888         (   p_count                       => x_msg_count
1889         ,   p_data                        => x_msg_data
1890         );
1891         x_return_status := FND_API.G_RET_STS_ERROR;
1892 
1893 END Delete_All_Requests;
1894 
1895 
1896 END QP_QP_Form_Price_List;