[Home] [Help]
PACKAGE BODY: APPS.OE_OE_FORM_PRICE_LLINE
Source
1 PACKAGE BODY OE_OE_Form_Price_Lline AS
2 /* $Header: OEXFPLLB.pls 120.1 2005/06/09 00:25:16 appldev $ */
3
4 -- Global constant holding the package name
5
6 G_PKG_NAME CONSTANT VARCHAR2(30) := 'OE_OE_Form_Price_Lline';
7
8 -- Global variables holding cached record.
9
10 g_Price_LLine_rec OE_Price_List_PUB.Price_List_Line_Rec_Type;
11 g_db_Price_LLine_rec OE_Price_List_PUB.Price_List_Line_Rec_Type;
12
13 -- Forward declaration of procedures maintaining entity record cache.
14
15 PROCEDURE Write_Price_LLine
16 ( p_Price_LLine_rec IN OE_Price_List_PUB.Price_List_Line_Rec_Type
17 , p_db_record IN BOOLEAN := FALSE
18 );
19
20 FUNCTION Get_Price_LLine
21 ( p_db_record IN BOOLEAN := FALSE
22 , p_price_list_line_id IN NUMBER
23 )
24 RETURN OE_Price_List_PUB.Price_List_Line_Rec_Type;
25
26 PROCEDURE Clear_Price_LLine;
27
28 -- Global variable holding performed operations.
29
30 g_opr__tbl OE_Price_List_PUB.Price_List_Line_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_comments OUT NOCOPY /* file.sql.39 change */ VARCHAR2
55 , x_context OUT NOCOPY /* file.sql.39 change */ VARCHAR2
56 , x_customer_item_id OUT NOCOPY /* file.sql.39 change */ NUMBER
57 , x_end_date_active OUT NOCOPY /* file.sql.39 change */ DATE
58 , x_inventory_item_id OUT NOCOPY /* file.sql.39 change */ NUMBER
59 , x_list_price OUT NOCOPY /* file.sql.39 change */ NUMBER
60 , x_method_code OUT NOCOPY /* file.sql.39 change */ VARCHAR2
61 , x_price_list_id OUT NOCOPY /* file.sql.39 change */ NUMBER
62 , x_price_list_line_id OUT NOCOPY /* file.sql.39 change */ NUMBER
63 , x_pricing_attribute1 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
64 , x_pricing_attribute10 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
65 , x_pricing_attribute11 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
66 , x_pricing_attribute12 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
67 , x_pricing_attribute13 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
68 , x_pricing_attribute14 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
69 , x_pricing_attribute15 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
70 , x_pricing_attribute2 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
71 , x_pricing_attribute3 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
72 , x_pricing_attribute4 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
73 , x_pricing_attribute5 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
74 , x_pricing_attribute6 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
75 , x_pricing_attribute7 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
76 , x_pricing_attribute8 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
77 , x_pricing_attribute9 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
78 , x_pricing_context OUT NOCOPY /* file.sql.39 change */ VARCHAR2
79 , x_pricing_rule_id OUT NOCOPY /* file.sql.39 change */ NUMBER
80 , x_reprice_flag OUT NOCOPY /* file.sql.39 change */ VARCHAR2
81 , x_revision OUT NOCOPY /* file.sql.39 change */ VARCHAR2
82 , x_revision_date OUT NOCOPY /* file.sql.39 change */ DATE
83 , x_revision_reason_code OUT NOCOPY /* file.sql.39 change */ VARCHAR2
84 , x_start_date_active OUT NOCOPY /* file.sql.39 change */ DATE
85 , x_unit_code OUT NOCOPY /* file.sql.39 change */ VARCHAR2
86 , x_customer_item OUT NOCOPY /* file.sql.39 change */ VARCHAR2
87 , x_inventory_item OUT NOCOPY /* file.sql.39 change */ VARCHAR2
88 , x_method OUT NOCOPY /* file.sql.39 change */ VARCHAR2
89 , x_price_list OUT NOCOPY /* file.sql.39 change */ VARCHAR2
90 , x_price_list_line OUT NOCOPY /* file.sql.39 change */ VARCHAR2
91 , x_pricing_rule OUT NOCOPY /* file.sql.39 change */ VARCHAR2
92 , x_reprice OUT NOCOPY /* file.sql.39 change */ VARCHAR2
93 , x_revision_reason OUT NOCOPY /* file.sql.39 change */ VARCHAR2
94 , x_unit OUT NOCOPY /* file.sql.39 change */ VARCHAR2
95 , x_primary OUT NOCOPY /* file.sql.39 change */ VARCHAR2
96 , x_creation_date OUT NOCOPY /* file.sql.39 change */ DATE /* Parameter added Geresh */
97 , x_list_line_type_code OUT NOCOPY /* file.sql.39 change */ VARCHAR2
98 )
99 IS
100 l_Price_LLine_rec OE_Price_List_PUB.Price_List_Line_Rec_Type;
101 l_Price_LLine_val_rec OE_Price_List_PUB.Price_List_Line_Val_Rec_Type;
102 l_Price_LLine_tbl OE_Price_List_PUB.Price_List_Line_Tbl_Type;
103 l_control_rec OE_GLOBALS.Control_Rec_Type;
104 l_return_status VARCHAR2(1);
105 l_x_Contract_rec OE_Pricing_Cont_PUB.Contract_Rec_Type;
106 l_x_Agreement_rec OE_Pricing_Cont_PUB.Agreement_Rec_Type;
107 l_x_Price_LHeader_rec OE_Price_List_PUB.Price_List_Rec_Type;
108 l_x_Discount_Header_rec OE_Pricing_Cont_PUB.Discount_Header_Rec_Type;
109 l_x_Price_LLine_rec OE_Price_List_PUB.Price_List_Line_Rec_Type;
110 l_x_Price_LLine_tbl OE_Price_List_PUB.Price_List_Line_Tbl_Type;
111 l_x_Discount_Cust_rec OE_Pricing_Cont_PUB.Discount_Cust_Rec_Type;
112 l_x_Discount_Cust_tbl OE_Pricing_Cont_PUB.Discount_Cust_Tbl_Type;
113 l_x_Discount_Line_rec OE_Pricing_Cont_PUB.Discount_Line_Rec_Type;
114 l_x_Discount_Line_tbl OE_Pricing_Cont_PUB.Discount_Line_Tbl_Type;
115 l_x_Price_Break_rec OE_Pricing_Cont_PUB.Price_Break_Rec_Type;
116 l_x_Price_Break_tbl OE_Pricing_Cont_PUB.Price_Break_Tbl_Type;
117 BEGIN
118
119 oe_debug_pub.add('Entering OE_OE_Form_Price_Lline.Default_Attributes');
120
121 -- Set control flags.
122
123 l_control_rec.controlled_operation := TRUE;
124 l_control_rec.default_attributes := TRUE;
125
126 l_control_rec.change_attributes := FALSE;
127 l_control_rec.validate_entity := FALSE;
128 l_control_rec.write_to_DB := FALSE;
129 l_control_rec.process := FALSE;
130
131 -- Instruct API to retain its caches
132
133 l_control_rec.clear_api_cache := FALSE;
134 l_control_rec.clear_api_requests := FALSE;
135
136 -- Load IN parameters if any exist
137
138
139 -- Defaulting of flex values is currently done by the form.
140 -- Set flex attributes to NULL in order to avoid defaulting them.
141
142 l_Price_LLine_rec.attribute1 := 'NULL';
143 l_Price_LLine_rec.attribute10 := 'NULL';
144 l_Price_LLine_rec.attribute11 := 'NULL';
145 l_Price_LLine_rec.attribute12 := 'NULL';
146 l_Price_LLine_rec.attribute13 := 'NULL';
147 l_Price_LLine_rec.attribute14 := 'NULL';
148 l_Price_LLine_rec.attribute15 := 'NULL';
149 l_Price_LLine_rec.attribute2 := 'NULL';
150 l_Price_LLine_rec.attribute3 := 'NULL';
151 l_Price_LLine_rec.attribute4 := 'NULL';
152 l_Price_LLine_rec.attribute5 := 'NULL';
153 l_Price_LLine_rec.attribute6 := 'NULL';
154 l_Price_LLine_rec.attribute7 := 'NULL';
155 l_Price_LLine_rec.attribute8 := 'NULL';
156 l_Price_LLine_rec.attribute9 := 'NULL';
157 l_Price_LLine_rec.context := 'NULL';
158
159 -- Set Operation to Create
160
161 l_Price_LLine_rec.operation := OE_GLOBALS.G_OPR_CREATE;
162
163 -- Populate Price_LLine table
164
165 l_Price_LLine_tbl(1) := l_Price_LLine_rec;
166
167 -- Call OE_Pricing_Cont_PVT.Process_Pricing_Cont
168
169 oe_debug_pub.add('before process_pricing_cont in list lines ');
170
171 OE_Pricing_Cont_PVT.Process_Pricing_Cont
172 ( p_api_version_number => 1.0
173 , p_init_msg_list => FND_API.G_TRUE
174 , x_return_status => l_return_status
175 , x_msg_count => x_msg_count
176 , x_msg_data => x_msg_data
177 , p_control_rec => l_control_rec
178 , p_Price_LLine_tbl => l_Price_LLine_tbl
179 , x_Contract_rec => l_x_Contract_rec
180 , x_Agreement_rec => l_x_Agreement_rec
181 , x_Price_LHeader_rec => l_x_Price_LHeader_rec
182 , x_Discount_Header_rec => l_x_Discount_Header_rec
183 , x_Price_LLine_tbl => l_x_Price_LLine_tbl
184 , x_Discount_Cust_tbl => l_x_Discount_Cust_tbl
185 , x_Discount_Line_tbl => l_x_Discount_Line_tbl
186 , x_Price_Break_tbl => l_x_Price_Break_tbl
187 );
188
189 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
190 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
191 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
192 RAISE FND_API.G_EXC_ERROR;
193 END IF;
194
195 oe_debug_pub.add('after calling process_pricing_cont for lines ');
196
197
198 -- Unload out tbl
199
200 l_x_Price_LLine_rec := l_x_Price_LLine_tbl(1);
201
202 -- Load OUT parameters.
203
204 x_attribute1 := l_x_Price_LLine_rec.attribute1;
205 x_attribute10 := l_x_Price_LLine_rec.attribute10;
206 x_attribute11 := l_x_Price_LLine_rec.attribute11;
207 x_attribute12 := l_x_Price_LLine_rec.attribute12;
208 x_attribute13 := l_x_Price_LLine_rec.attribute13;
209 x_attribute14 := l_x_Price_LLine_rec.attribute14;
210 x_attribute15 := l_x_Price_LLine_rec.attribute15;
211 x_attribute2 := l_x_Price_LLine_rec.attribute2;
212 x_attribute3 := l_x_Price_LLine_rec.attribute3;
213 x_attribute4 := l_x_Price_LLine_rec.attribute4;
214 x_attribute5 := l_x_Price_LLine_rec.attribute5;
215 x_attribute6 := l_x_Price_LLine_rec.attribute6;
216 x_attribute7 := l_x_Price_LLine_rec.attribute7;
217 x_attribute8 := l_x_Price_LLine_rec.attribute8;
218 x_attribute9 := l_x_Price_LLine_rec.attribute9;
219 x_comments := l_x_Price_LLine_rec.comments;
220 x_context := l_x_Price_LLine_rec.context;
221 x_customer_item_id := l_x_Price_LLine_rec.customer_item_id;
222 x_end_date_active := l_x_Price_LLine_rec.end_date_active;
223 x_inventory_item_id := l_x_Price_LLine_rec.inventory_item_id;
224 x_list_price := l_x_Price_LLine_rec.list_price;
225 x_method_code := l_x_Price_LLine_rec.method_code;
226 x_price_list_id := l_x_Price_LLine_rec.price_list_id;
227 x_price_list_line_id := l_x_Price_LLine_rec.price_list_line_id;
228 x_pricing_attribute1 := l_x_Price_LLine_rec.pricing_attribute1;
229 x_pricing_attribute10 := l_x_Price_LLine_rec.pricing_attribute10;
230 x_pricing_attribute11 := l_x_Price_LLine_rec.pricing_attribute11;
231 x_pricing_attribute12 := l_x_Price_LLine_rec.pricing_attribute12;
232 x_pricing_attribute13 := l_x_Price_LLine_rec.pricing_attribute13;
233 x_pricing_attribute14 := l_x_Price_LLine_rec.pricing_attribute14;
234 x_pricing_attribute15 := l_x_Price_LLine_rec.pricing_attribute15;
235 x_pricing_attribute2 := l_x_Price_LLine_rec.pricing_attribute2;
236 x_pricing_attribute3 := l_x_Price_LLine_rec.pricing_attribute3;
237 x_pricing_attribute4 := l_x_Price_LLine_rec.pricing_attribute4;
238 x_pricing_attribute5 := l_x_Price_LLine_rec.pricing_attribute5;
239 x_pricing_attribute6 := l_x_Price_LLine_rec.pricing_attribute6;
240 x_pricing_attribute7 := l_x_Price_LLine_rec.pricing_attribute7;
241 x_pricing_attribute8 := l_x_Price_LLine_rec.pricing_attribute8;
242 x_pricing_attribute9 := l_x_Price_LLine_rec.pricing_attribute9;
243 x_pricing_context := l_x_Price_LLine_rec.pricing_context;
244 x_pricing_rule_id := l_x_Price_LLine_rec.pricing_rule_id;
245 x_reprice_flag := l_x_Price_LLine_rec.reprice_flag;
246 x_revision := l_x_Price_LLine_rec.revision;
247 x_revision_date := l_x_Price_LLine_rec.revision_date;
248 x_revision_reason_code := l_x_Price_LLine_rec.revision_reason_code;
249 x_start_date_active := l_x_Price_LLine_rec.start_date_active;
250 x_unit_code := l_x_Price_LLine_rec.unit_code;
251 x_primary := l_x_Price_LLine_rec.primary;
252 x_list_line_type_code := l_x_Price_LLine_rec.list_line_type_code;
253
254 -- Added By Geresh
255 x_creation_date := l_x_Price_LLine_rec.creation_date;
256
257 oe_debug_pub.add('get display values');
258
259 -- Load display out parameters if any
260
261 l_Price_LLine_val_rec := OE_Price_List_Line_Util.Get_Values
262 ( p_Price_List_Line_rec => l_x_Price_LLine_rec
263 );
264 x_customer_item := l_Price_LLine_val_rec.customer_item;
265 x_inventory_item := l_Price_LLine_val_rec.inventory_item;
266 x_method := l_Price_LLine_val_rec.method;
267 x_price_list := l_Price_LLine_val_rec.price_list;
268 x_price_list_line := l_Price_LLine_val_rec.price_list_line;
269 x_pricing_rule := l_Price_LLine_val_rec.pricing_rule;
270 x_reprice := l_Price_LLine_val_rec.reprice;
271 x_revision_reason := l_Price_LLine_val_rec.revision_reason;
272 x_unit := l_Price_LLine_val_rec.unit;
273
274 -- Write to cache.
275 -- Set db_flag to False before writing to cache
276
277 l_x_Price_LLine_rec.db_flag := FND_API.G_FALSE;
278
279 oe_debug_pub.add('after display values');
280
281 Write_Price_LLine
282 ( p_Price_LLine_rec => l_x_Price_LLine_rec
283 );
284
285 oe_debug_pub.add('after writing to cache ');
286
287 -- Set return status.
288
289 x_return_status := FND_API.G_RET_STS_SUCCESS;
290
291 -- Get message count and data
292
293 OE_MSG_PUB.Count_And_Get
294 ( p_count => x_msg_count
295 , p_data => x_msg_data
296 );
297
298 oe_debug_pub.add('Exiting OE_OE_Form_Price_Lline.Default_Attributes');
299
300 EXCEPTION
301
302 WHEN FND_API.G_EXC_ERROR THEN
303
304 x_return_status := FND_API.G_RET_STS_ERROR;
305
306 -- Get message count and data
307
308 OE_MSG_PUB.Count_And_Get
309 ( p_count => x_msg_count
310 , p_data => x_msg_data
311 );
312
313 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
314
315 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
316
317 -- Get message count and data
318
319 OE_MSG_PUB.Count_And_Get
320 ( p_count => x_msg_count
321 , p_data => x_msg_data
322 );
323
324 WHEN OTHERS THEN
325
326 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
327
328 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
329 THEN
330 OE_MSG_PUB.Add_Exc_Msg
331 ( G_PKG_NAME
332 , 'Default_Attributes'
333 );
334 END IF;
335
336 -- Get message count and data
337
338 OE_MSG_PUB.Count_And_Get
339 ( p_count => x_msg_count
340 , p_data => x_msg_data
341 );
342
343 END Default_Attributes;
344
345 -- Procedure : Change_Attribute
346 --
347
348 PROCEDURE Change_Attribute
349 ( x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
350 , x_msg_count OUT NOCOPY /* file.sql.39 change */ NUMBER
351 , x_msg_data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
352 , p_price_list_line_id IN NUMBER
353 , p_attr_id IN NUMBER
354 , p_attr_value IN VARCHAR2
355 , p_attribute1 IN VARCHAR2
356 , p_attribute10 IN VARCHAR2
357 , p_attribute11 IN VARCHAR2
358 , p_attribute12 IN VARCHAR2
359 , p_attribute13 IN VARCHAR2
360 , p_attribute14 IN VARCHAR2
361 , p_attribute15 IN VARCHAR2
362 , p_attribute2 IN VARCHAR2
363 , p_attribute3 IN VARCHAR2
364 , p_attribute4 IN VARCHAR2
365 , p_attribute5 IN VARCHAR2
366 , p_attribute6 IN VARCHAR2
367 , p_attribute7 IN VARCHAR2
368 , p_attribute8 IN VARCHAR2
369 , p_attribute9 IN VARCHAR2
370 , p_context IN VARCHAR2
371 , x_attribute1 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
372 , x_attribute10 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
373 , x_attribute11 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
374 , x_attribute12 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
375 , x_attribute13 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
376 , x_attribute14 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
377 , x_attribute15 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
378 , x_attribute2 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
379 , x_attribute3 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
380 , x_attribute4 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
381 , x_attribute5 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
382 , x_attribute6 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
383 , x_attribute7 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
384 , x_attribute8 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
385 , x_attribute9 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
386 , x_comments OUT NOCOPY /* file.sql.39 change */ VARCHAR2
387 , x_context OUT NOCOPY /* file.sql.39 change */ VARCHAR2
388 , x_customer_item_id OUT NOCOPY /* file.sql.39 change */ NUMBER
389 , x_end_date_active OUT NOCOPY /* file.sql.39 change */ DATE
390 , x_inventory_item_id OUT NOCOPY /* file.sql.39 change */ NUMBER
391 , x_list_price OUT NOCOPY /* file.sql.39 change */ NUMBER
392 , x_method_code OUT NOCOPY /* file.sql.39 change */ VARCHAR2
393 , x_price_list_id OUT NOCOPY /* file.sql.39 change */ NUMBER
394 , x_price_list_line_id OUT NOCOPY /* file.sql.39 change */ NUMBER
395 , x_pricing_attribute1 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
396 , x_pricing_attribute10 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
397 , x_pricing_attribute11 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
398 , x_pricing_attribute12 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
399 , x_pricing_attribute13 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
400 , x_pricing_attribute14 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
401 , x_pricing_attribute15 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
402 , x_pricing_attribute2 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
403 , x_pricing_attribute3 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
404 , x_pricing_attribute4 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
405 , x_pricing_attribute5 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
406 , x_pricing_attribute6 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
407 , x_pricing_attribute7 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
408 , x_pricing_attribute8 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
409 , x_pricing_attribute9 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
410 , x_pricing_context OUT NOCOPY /* file.sql.39 change */ VARCHAR2
411 , x_pricing_rule_id OUT NOCOPY /* file.sql.39 change */ NUMBER
412 , x_reprice_flag OUT NOCOPY /* file.sql.39 change */ VARCHAR2
413 , x_revision OUT NOCOPY /* file.sql.39 change */ VARCHAR2
414 , x_revision_date OUT NOCOPY /* file.sql.39 change */ DATE
415 , x_revision_reason_code OUT NOCOPY /* file.sql.39 change */ VARCHAR2
416 , x_start_date_active OUT NOCOPY /* file.sql.39 change */ DATE
417 , x_unit_code OUT NOCOPY /* file.sql.39 change */ VARCHAR2
418 , x_customer_item OUT NOCOPY /* file.sql.39 change */ VARCHAR2
419 , x_inventory_item OUT NOCOPY /* file.sql.39 change */ VARCHAR2
420 , x_method OUT NOCOPY /* file.sql.39 change */ VARCHAR2
421 , x_price_list OUT NOCOPY /* file.sql.39 change */ VARCHAR2
422 , x_price_list_line OUT NOCOPY /* file.sql.39 change */ VARCHAR2
423 , x_pricing_rule OUT NOCOPY /* file.sql.39 change */ VARCHAR2
424 , x_reprice OUT NOCOPY /* file.sql.39 change */ VARCHAR2
425 , x_revision_reason OUT NOCOPY /* file.sql.39 change */ VARCHAR2
426 , x_unit OUT NOCOPY /* file.sql.39 change */ VARCHAR2
427 , x_primary OUT NOCOPY /* file.sql.39 change */ VARCHAR2
428 , x_creation_date OUT NOCOPY /* file.sql.39 change */ DATE
429 , x_list_line_type_code OUT NOCOPY /* file.sql.39 change */ VARCHAR2
430 )
431 IS
432 l_Price_LLine_rec OE_Price_List_PUB.Price_List_Line_Rec_Type;
433 l_old_Price_LLine_rec OE_Price_List_PUB.Price_List_Line_Rec_Type;
434 l_Price_LLine_val_rec OE_Price_List_PUB.Price_List_Line_Val_Rec_Type;
435 l_Price_LLine_tbl OE_Price_List_PUB.Price_List_Line_Tbl_Type;
436 l_old_Price_LLine_tbl OE_Price_List_PUB.Price_List_Line_Tbl_Type;
437 l_control_rec OE_GLOBALS.Control_Rec_Type;
438 l_return_status VARCHAR2(1);
439 l_x_Contract_rec OE_Pricing_Cont_PUB.Contract_Rec_Type;
440 l_x_Agreement_rec OE_Pricing_Cont_PUB.Agreement_Rec_Type;
441 l_x_Price_LHeader_rec OE_Price_List_PUB.Price_List_Rec_Type;
442 l_x_Discount_Header_rec OE_Pricing_Cont_PUB.Discount_Header_Rec_Type;
443 l_x_Price_LLine_rec OE_Price_List_PUB.Price_List_Line_Rec_Type;
444 l_x_Price_LLine_tbl OE_Price_List_PUB.Price_List_Line_Tbl_Type;
445 l_x_Discount_Cust_rec OE_Pricing_Cont_PUB.Discount_Cust_Rec_Type;
446 l_x_Discount_Cust_tbl OE_Pricing_Cont_PUB.Discount_Cust_Tbl_Type;
447 l_x_Discount_Line_rec OE_Pricing_Cont_PUB.Discount_Line_Rec_Type;
448 l_x_Discount_Line_tbl OE_Pricing_Cont_PUB.Discount_Line_Tbl_Type;
449 l_x_Price_Break_rec OE_Pricing_Cont_PUB.Price_Break_Rec_Type;
450 l_x_Price_Break_tbl OE_Pricing_Cont_PUB.Price_Break_Tbl_Type;
451 BEGIN
452
453 oe_debug_pub.add('Entering OE_OE_Form_Price_Lline.Change_Attribute');
454
455 -- Set control flags.
456
457 l_control_rec.controlled_operation := TRUE;
458 l_control_rec.change_attributes := TRUE;
459
460 l_control_rec.default_attributes := FALSE;
461 l_control_rec.validate_entity := FALSE;
462 l_control_rec.write_to_DB := FALSE;
463 l_control_rec.process := FALSE;
464
465 -- Instruct API to retain its caches
466
467 l_control_rec.clear_api_cache := FALSE;
468 l_control_rec.clear_api_requests := FALSE;
469
470 -- Read Price_LLine from cache
471
472 oe_debug_pub.add('price list line id to query is : ' || to_char(p_price_list_line_id));
473
474
475 l_Price_LLine_rec := Get_Price_LLine
476 ( p_db_record => FALSE
477 , p_price_list_line_id => p_price_list_line_id
478 );
479
480 oe_debug_pub.add('price list line id after query 1 is : ' || to_char(p_price_list_line_id));
481
482
483
484
485 l_old_Price_LLine_rec := l_Price_LLine_rec;
486
487 oe_debug_pub.add('price list line id before **** is : ');
488 IF p_attr_id = OE_Price_List_Line_Util.G_COMMENTS THEN
489 oe_debug_pub.add('price list line id 1111 is : ');
490 l_Price_LLine_rec.comments := p_attr_value;
491 ELSIF p_attr_id = OE_Price_List_Line_Util.G_CUSTOMER_ITEM THEN
492 oe_debug_pub.add('price list line id 2222 is : ');
493 l_Price_LLine_rec.customer_item_id := TO_NUMBER(p_attr_value);
494 ELSIF p_attr_id = OE_Price_List_Line_Util.G_END_DATE_ACTIVE THEN
495 oe_debug_pub.add('price list line id 3333 is : ');
496 l_Price_LLine_rec.end_date_active := TO_DATE(p_attr_value,'DD/MM/YYYY');
497 ELSIF p_attr_id = OE_Price_List_Line_Util.G_INVENTORY_ITEM THEN
498 oe_debug_pub.add('price list line id 4444 is : ');
499 l_Price_LLine_rec.inventory_item_id := TO_NUMBER(p_attr_value);
500 ELSIF p_attr_id = OE_Price_List_Line_Util.G_LIST_PRICE THEN
501 oe_debug_pub.add('price list line id 5555 is : ');
502 l_Price_LLine_rec.list_price := TO_NUMBER(p_attr_value);
503 ELSIF p_attr_id = OE_Price_List_Line_Util.G_METHOD THEN
504 oe_debug_pub.add('price list line id 6666 is : ');
505 l_Price_LLine_rec.method_code := p_attr_value;
506 ELSIF p_attr_id = OE_Price_List_Line_Util.G_PRICE_LIST THEN
507 oe_debug_pub.add('price list line id 7777 is : ');
508 l_Price_LLine_rec.price_list_id := TO_NUMBER(p_attr_value);
509 ELSIF p_attr_id = OE_Price_List_Line_Util.G_PRICE_LIST_LINE THEN
510 oe_debug_pub.add('price list line id 8888 is : ');
511 l_Price_LLine_rec.price_list_line_id := TO_NUMBER(p_attr_value);
512 ELSIF p_attr_id = OE_Price_List_Line_Util.G_PRICING_ATTRIBUTE1 THEN
513 oe_debug_pub.add('price list line id 9999 is : ');
514 l_Price_LLine_rec.pricing_attribute1 := p_attr_value;
515 ELSIF p_attr_id = OE_Price_List_Line_Util.G_PRICING_ATTRIBUTE10 THEN
516 oe_debug_pub.add('price list line id 1010 is : ');
517 l_Price_LLine_rec.pricing_attribute10 := p_attr_value;
518 ELSIF p_attr_id = OE_Price_List_Line_Util.G_PRICING_ATTRIBUTE11 THEN
519 oe_debug_pub.add('price list line id 1212 is : ');
520 l_Price_LLine_rec.pricing_attribute11 := p_attr_value;
521 ELSIF p_attr_id = OE_Price_List_Line_Util.G_PRICING_ATTRIBUTE12 THEN
522 oe_debug_pub.add('price list line id 1313 is : ');
523 l_Price_LLine_rec.pricing_attribute12 := p_attr_value;
524 ELSIF p_attr_id = OE_Price_List_Line_Util.G_PRICING_ATTRIBUTE13 THEN
525 oe_debug_pub.add('price list line id 1414 is : ');
526 l_Price_LLine_rec.pricing_attribute13 := p_attr_value;
527 ELSIF p_attr_id = OE_Price_List_Line_Util.G_PRICING_ATTRIBUTE14 THEN
528 oe_debug_pub.add('price list line id 1515 is : ');
529 l_Price_LLine_rec.pricing_attribute14 := p_attr_value;
530 ELSIF p_attr_id = OE_Price_List_Line_Util.G_PRICING_ATTRIBUTE15 THEN
531 oe_debug_pub.add('price list line id 1616 is : ');
532 l_Price_LLine_rec.pricing_attribute15 := p_attr_value;
533 ELSIF p_attr_id = OE_Price_List_Line_Util.G_PRICING_ATTRIBUTE2 THEN
534 oe_debug_pub.add('price list line id 1818 is : ');
535 l_Price_LLine_rec.pricing_attribute2 := p_attr_value;
536 ELSIF p_attr_id = OE_Price_List_Line_Util.G_PRICING_ATTRIBUTE3 THEN
537 oe_debug_pub.add('price list line id 1919 is : ');
538 l_Price_LLine_rec.pricing_attribute3 := p_attr_value;
539 ELSIF p_attr_id = OE_Price_List_Line_Util.G_PRICING_ATTRIBUTE4 THEN
540 oe_debug_pub.add('price list line id 2020 is : ');
541 l_Price_LLine_rec.pricing_attribute4 := p_attr_value;
542 ELSIF p_attr_id = OE_Price_List_Line_Util.G_PRICING_ATTRIBUTE5 THEN
543 oe_debug_pub.add('price list line id 2121 is : ');
544 l_Price_LLine_rec.pricing_attribute5 := p_attr_value;
545
546 ELSIF p_attr_id = OE_Price_List_line_Util.G_CREATION_DATE THEN
547 oe_debug_pub.add('price list line id 2323 is : ');
548 l_Price_LLine_rec.creation_date := TO_DATE(p_attr_value,'DD/MM/YYYY');
549
550 ELSIF p_attr_id = OE_Price_List_Line_Util.G_PRICING_ATTRIBUTE6 THEN
551 oe_debug_pub.add('price list line id 2424 is : ');
552 l_Price_LLine_rec.pricing_attribute6 := p_attr_value;
553 ELSIF p_attr_id = OE_Price_List_Line_Util.G_PRICING_ATTRIBUTE7 THEN
554 oe_debug_pub.add('price list line id 2525 is : ');
555 l_Price_LLine_rec.pricing_attribute7 := p_attr_value;
556 ELSIF p_attr_id = OE_Price_List_Line_Util.G_PRICING_ATTRIBUTE8 THEN
557 oe_debug_pub.add('price list line id 2626 is : ');
558 l_Price_LLine_rec.pricing_attribute8 := p_attr_value;
559 ELSIF p_attr_id = OE_Price_List_Line_Util.G_PRICING_ATTRIBUTE9 THEN
560 oe_debug_pub.add('price list line id 2727 is : ');
561 l_Price_LLine_rec.pricing_attribute9 := p_attr_value;
562 ELSIF p_attr_id = OE_Price_List_Line_Util.G_PRICING_CONTEXT THEN
563 oe_debug_pub.add('price list line id 2828 is : ');
564 l_Price_LLine_rec.pricing_context := p_attr_value;
565 ELSIF p_attr_id = OE_Price_List_Line_Util.G_PRICING_RULE THEN
566 oe_debug_pub.add('price list line id 2929 is : ');
567 l_Price_LLine_rec.pricing_rule_id := TO_NUMBER(p_attr_value);
568 ELSIF p_attr_id = OE_Price_List_Line_Util.G_REPRICE THEN
569 oe_debug_pub.add('price list line id 3030 is : ');
570 l_Price_LLine_rec.reprice_flag := p_attr_value;
571 ELSIF p_attr_id = OE_Price_List_Line_Util.G_REVISION THEN
572 oe_debug_pub.add('price list line id 3131 is : ');
573 l_Price_LLine_rec.revision := p_attr_value;
574 ELSIF p_attr_id = OE_Price_List_Line_Util.G_REVISION_DATE THEN
575 oe_debug_pub.add('price list line id 3232 is : ');
576 l_Price_LLine_rec.revision_date := TO_DATE(p_attr_value,'DD/MM/YYYY');
577 ELSIF p_attr_id = OE_Price_List_Line_Util.G_REVISION_REASON THEN
578 oe_debug_pub.add('price list line id 3434 is : ');
579 l_Price_LLine_rec.revision_reason_code := p_attr_value;
580 ELSIF p_attr_id = OE_Price_List_Line_Util.G_START_DATE_ACTIVE THEN
581 oe_debug_pub.add('price list line id 3535 is : ');
582 l_Price_LLine_rec.start_date_active := TO_DATE(p_attr_value,'DD/MM/YYYY');
583 ELSIF p_attr_id = OE_Price_List_Line_Util.G_UNIT THEN
584 oe_debug_pub.add('price list line id 3636 is : ');
585 l_Price_LLine_rec.unit_code := p_attr_value;
586 ELSIF p_attr_id = OE_Price_List_Line_Util.G_PRIMARY THEN
587 oe_debug_pub.add('price list line id 3737 is : ');
588 l_Price_Lline_rec.primary := p_attr_value;
589 ELSIF p_attr_id = OE_Price_List_Line_Util.G_LIST_LINE_TYPE_CODE THEN
590 oe_debug_pub.add('price list line id 3737 is : ');
591 l_Price_Lline_rec.list_line_type_code := p_attr_value;
592
593 ELSIF p_attr_id = OE_Price_List_Line_Util.G_ATTRIBUTE1
594 OR p_attr_id = OE_Price_List_Line_Util.G_ATTRIBUTE10
595 OR p_attr_id = OE_Price_List_Line_Util.G_ATTRIBUTE11
596 OR p_attr_id = OE_Price_List_Line_Util.G_ATTRIBUTE12
597 OR p_attr_id = OE_Price_List_Line_Util.G_ATTRIBUTE13
598 OR p_attr_id = OE_Price_List_Line_Util.G_ATTRIBUTE14
599 OR p_attr_id = OE_Price_List_Line_Util.G_ATTRIBUTE15
600 OR p_attr_id = OE_Price_List_Line_Util.G_ATTRIBUTE2
601 OR p_attr_id = OE_Price_List_Line_Util.G_ATTRIBUTE3
602 OR p_attr_id = OE_Price_List_Line_Util.G_ATTRIBUTE4
603 OR p_attr_id = OE_Price_List_Line_Util.G_ATTRIBUTE5
604 OR p_attr_id = OE_Price_List_Line_Util.G_ATTRIBUTE6
605 OR p_attr_id = OE_Price_List_Line_Util.G_ATTRIBUTE7
606 OR p_attr_id = OE_Price_List_Line_Util.G_ATTRIBUTE8
607 OR p_attr_id = OE_Price_List_Line_Util.G_ATTRIBUTE9
608 OR p_attr_id = OE_Price_List_Line_Util.G_CONTEXT
609 THEN
610
611 l_Price_LLine_rec.attribute1 := p_attribute1;
612 l_Price_LLine_rec.attribute10 := p_attribute10;
613 l_Price_LLine_rec.attribute11 := p_attribute11;
614 l_Price_LLine_rec.attribute12 := p_attribute12;
615 l_Price_LLine_rec.attribute13 := p_attribute13;
616 l_Price_LLine_rec.attribute14 := p_attribute14;
617 l_Price_LLine_rec.attribute15 := p_attribute15;
618 l_Price_LLine_rec.attribute2 := p_attribute2;
619 l_Price_LLine_rec.attribute3 := p_attribute3;
620 l_Price_LLine_rec.attribute4 := p_attribute4;
621 l_Price_LLine_rec.attribute5 := p_attribute5;
622 l_Price_LLine_rec.attribute6 := p_attribute6;
623 l_Price_LLine_rec.attribute7 := p_attribute7;
624 l_Price_LLine_rec.attribute8 := p_attribute8;
625 l_Price_LLine_rec.attribute9 := p_attribute9;
626 l_Price_LLine_rec.context := p_context;
627 oe_debug_pub.add('price list line id 4444 is : ');
628
629 ELSE
630
631 -- Unexpected error, unrecognized attribute
632
633 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
634 THEN
635 OE_MSG_PUB.Add_Exc_Msg
636 ( G_PKG_NAME
637 , 'Change_Attribute'
638 , 'Unrecognized attribute'
639 );
640 END IF;
641
642 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
643
644 END IF;
645
646 -- Set Operation.
647
648
649 IF (l_Price_LLine_rec.db_flag = FND_API.G_MISS_CHAR ) THEN
650
651 l_Price_LLine_rec.db_flag := NULL;
652
653 END IF;
654 oe_debug_pub.add('price list line id 5555 is : ');
655
656 IF FND_API.To_Boolean(l_Price_LLine_rec.db_flag) THEN
657 l_Price_LLine_rec.operation := OE_GLOBALS.G_OPR_UPDATE;
658 ELSE
659 l_Price_LLine_rec.operation := OE_GLOBALS.G_OPR_CREATE;
660 END IF;
661
662 -- Populate Price_LLine table
663
664 oe_debug_pub.add('price list line id 6666 is : ');
665 l_Price_LLine_tbl(1) := l_Price_LLine_rec;
666 l_old_Price_LLine_tbl(1) := l_old_Price_LLine_rec;
667
668 -- Call OE_Pricing_Cont_PVT.Process_Pricing_Cont
669
670 oe_debug_pub.add('price list line id 7777 is : ');
671 OE_Pricing_Cont_PVT.Process_Pricing_Cont
672 ( p_api_version_number => 1.0
673 , p_init_msg_list => FND_API.G_TRUE
674 , p_validation_level => FND_API.G_VALID_LEVEL_NONE
675 , x_return_status => l_return_status
676 , x_msg_count => x_msg_count
677 , x_msg_data => x_msg_data
678 , p_control_rec => l_control_rec
679 , p_Price_LLine_tbl => l_Price_LLine_tbl
680 , p_old_Price_LLine_tbl => l_old_Price_LLine_tbl
681 , x_Contract_rec => l_x_Contract_rec
682 , x_Agreement_rec => l_x_Agreement_rec
683 , x_Price_LHeader_rec => l_x_Price_LHeader_rec
684 , x_Discount_Header_rec => l_x_Discount_Header_rec
685 , x_Price_LLine_tbl => l_x_Price_LLine_tbl
686 , x_Discount_Cust_tbl => l_x_Discount_Cust_tbl
687 , x_Discount_Line_tbl => l_x_Discount_Line_tbl
688 , x_Price_Break_tbl => l_x_Price_Break_tbl
689 );
690
691 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
692 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
693 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
694 RAISE FND_API.G_EXC_ERROR;
695 END IF;
696
697
698 -- Unload out tbl
699
700 l_x_Price_LLine_rec := l_x_Price_LLine_tbl(1);
701
702
703 -- Init OUT parameters to missing.
704
705 x_attribute1 := FND_API.G_MISS_CHAR;
706 x_attribute10 := FND_API.G_MISS_CHAR;
707 x_attribute11 := FND_API.G_MISS_CHAR;
708 x_attribute12 := FND_API.G_MISS_CHAR;
709 x_attribute13 := FND_API.G_MISS_CHAR;
710 x_attribute14 := FND_API.G_MISS_CHAR;
711 x_attribute15 := FND_API.G_MISS_CHAR;
712 x_attribute2 := FND_API.G_MISS_CHAR;
713 x_attribute3 := FND_API.G_MISS_CHAR;
714 x_attribute4 := FND_API.G_MISS_CHAR;
715 x_attribute5 := FND_API.G_MISS_CHAR;
716 x_attribute6 := FND_API.G_MISS_CHAR;
717 x_attribute7 := FND_API.G_MISS_CHAR;
718 x_attribute8 := FND_API.G_MISS_CHAR;
719 x_attribute9 := FND_API.G_MISS_CHAR;
720 x_comments := FND_API.G_MISS_CHAR;
721 x_context := FND_API.G_MISS_CHAR;
722 x_customer_item_id := FND_API.G_MISS_NUM;
723 x_end_date_active := FND_API.G_MISS_DATE;
724 x_inventory_item_id := FND_API.G_MISS_NUM;
725 x_list_price := FND_API.G_MISS_NUM;
726 x_method_code := FND_API.G_MISS_CHAR;
727 x_price_list_id := FND_API.G_MISS_NUM;
728 x_price_list_line_id := FND_API.G_MISS_NUM;
729 x_pricing_attribute1 := FND_API.G_MISS_CHAR;
730 x_pricing_attribute10 := FND_API.G_MISS_CHAR;
731 x_pricing_attribute11 := FND_API.G_MISS_CHAR;
732 x_pricing_attribute12 := FND_API.G_MISS_CHAR;
733 x_pricing_attribute13 := FND_API.G_MISS_CHAR;
734 x_pricing_attribute14 := FND_API.G_MISS_CHAR;
735 x_pricing_attribute15 := FND_API.G_MISS_CHAR;
736 x_pricing_attribute2 := FND_API.G_MISS_CHAR;
737 x_pricing_attribute3 := FND_API.G_MISS_CHAR;
738 x_pricing_attribute4 := FND_API.G_MISS_CHAR;
739 x_pricing_attribute5 := FND_API.G_MISS_CHAR;
740 x_pricing_attribute6 := FND_API.G_MISS_CHAR;
741 x_pricing_attribute7 := FND_API.G_MISS_CHAR;
742 x_pricing_attribute8 := FND_API.G_MISS_CHAR;
743 x_pricing_attribute9 := FND_API.G_MISS_CHAR;
744 x_pricing_context := FND_API.G_MISS_CHAR;
745 x_pricing_rule_id := FND_API.G_MISS_NUM;
746 x_reprice_flag := FND_API.G_MISS_CHAR;
747 x_revision := FND_API.G_MISS_CHAR;
748 x_revision_date := FND_API.G_MISS_DATE;
749 x_revision_reason_code := FND_API.G_MISS_CHAR;
750 x_start_date_active := FND_API.G_MISS_DATE;
751 x_unit_code := FND_API.G_MISS_CHAR;
752 x_customer_item := FND_API.G_MISS_CHAR;
753 x_inventory_item := FND_API.G_MISS_CHAR;
754 x_method := FND_API.G_MISS_CHAR;
755 x_price_list := FND_API.G_MISS_CHAR;
756 x_price_list_line := FND_API.G_MISS_CHAR;
757 x_pricing_rule := FND_API.G_MISS_CHAR;
758 x_reprice := FND_API.G_MISS_CHAR;
759 x_revision_reason := FND_API.G_MISS_CHAR;
760 x_unit := FND_API.G_MISS_CHAR;
761 x_primary := FND_API.G_MISS_CHAR;
762 x_creation_date := FND_API.G_MISS_DATE;
763 x_list_line_type_code := FND_API.G_MISS_CHAR;
764
765 -- Load display out parameters if any
766
767 l_Price_LLine_val_rec := OE_Price_List_Line_Util.Get_Values
768 ( p_Price_List_Line_rec => l_x_Price_LLine_rec
769 , p_old_Price_List_Line_rec => l_Price_LLine_rec
770 );
771
772 -- Return changed attributes.
773
774 IF NOT OE_GLOBALS.Equal(l_x_Price_LLine_rec.attribute1,
775 l_Price_LLine_rec.attribute1)
776 THEN
777 x_attribute1 := l_x_Price_LLine_rec.attribute1;
778 END IF;
779
780 IF NOT OE_GLOBALS.Equal(l_x_Price_LLine_rec.attribute10,
781 l_Price_LLine_rec.attribute10)
782 THEN
783 x_attribute10 := l_x_Price_LLine_rec.attribute10;
784 END IF;
785
786 IF NOT OE_GLOBALS.Equal(l_x_Price_LLine_rec.attribute11,
787 l_Price_LLine_rec.attribute11)
788 THEN
789 x_attribute11 := l_x_Price_LLine_rec.attribute11;
790 END IF;
791
792 IF NOT OE_GLOBALS.Equal(l_x_Price_LLine_rec.attribute12,
793 l_Price_LLine_rec.attribute12)
794 THEN
795 x_attribute12 := l_x_Price_LLine_rec.attribute12;
796 END IF;
797
798 IF NOT OE_GLOBALS.Equal(l_x_Price_LLine_rec.attribute13,
799 l_Price_LLine_rec.attribute13)
800 THEN
801 x_attribute13 := l_x_Price_LLine_rec.attribute13;
802 END IF;
803
804 IF NOT OE_GLOBALS.Equal(l_x_Price_LLine_rec.attribute14,
805 l_Price_LLine_rec.attribute14)
806 THEN
807 x_attribute14 := l_x_Price_LLine_rec.attribute14;
808 END IF;
809
810 IF NOT OE_GLOBALS.Equal(l_x_Price_LLine_rec.attribute15,
811 l_Price_LLine_rec.attribute15)
812 THEN
813 x_attribute15 := l_x_Price_LLine_rec.attribute15;
814 END IF;
815
816 IF NOT OE_GLOBALS.Equal(l_x_Price_LLine_rec.attribute2,
817 l_Price_LLine_rec.attribute2)
818 THEN
819 x_attribute2 := l_x_Price_LLine_rec.attribute2;
820 END IF;
821
822 IF NOT OE_GLOBALS.Equal(l_x_Price_LLine_rec.attribute3,
823 l_Price_LLine_rec.attribute3)
824 THEN
825 x_attribute3 := l_x_Price_LLine_rec.attribute3;
826 END IF;
827
828 IF NOT OE_GLOBALS.Equal(l_x_Price_LLine_rec.attribute4,
829 l_Price_LLine_rec.attribute4)
830 THEN
831 x_attribute4 := l_x_Price_LLine_rec.attribute4;
832 END IF;
833
834 IF NOT OE_GLOBALS.Equal(l_x_Price_LLine_rec.attribute5,
835 l_Price_LLine_rec.attribute5)
836 THEN
837 x_attribute5 := l_x_Price_LLine_rec.attribute5;
838 END IF;
839
840 IF NOT OE_GLOBALS.Equal(l_x_Price_LLine_rec.attribute6,
841 l_Price_LLine_rec.attribute6)
842 THEN
843 x_attribute6 := l_x_Price_LLine_rec.attribute6;
844 END IF;
845
846 IF NOT OE_GLOBALS.Equal(l_x_Price_LLine_rec.attribute7,
847 l_Price_LLine_rec.attribute7)
848 THEN
849 x_attribute7 := l_x_Price_LLine_rec.attribute7;
850 END IF;
851
852 IF NOT OE_GLOBALS.Equal(l_x_Price_LLine_rec.attribute8,
853 l_Price_LLine_rec.attribute8)
854 THEN
855 x_attribute8 := l_x_Price_LLine_rec.attribute8;
856 END IF;
857
858 IF NOT OE_GLOBALS.Equal(l_x_Price_LLine_rec.attribute9,
859 l_Price_LLine_rec.attribute9)
860 THEN
861 x_attribute9 := l_x_Price_LLine_rec.attribute9;
862 END IF;
863
864 IF NOT OE_GLOBALS.Equal(l_x_Price_LLine_rec.comments,
865 l_Price_LLine_rec.comments)
866 THEN
867 x_comments := l_x_Price_LLine_rec.comments;
868 END IF;
869
870 IF NOT OE_GLOBALS.Equal(l_x_Price_LLine_rec.context,
871 l_Price_LLine_rec.context)
872 THEN
873 x_context := l_x_Price_LLine_rec.context;
874 END IF;
875
876 IF NOT OE_GLOBALS.Equal(l_x_Price_LLine_rec.customer_item_id,
877 l_Price_LLine_rec.customer_item_id)
878 THEN
879 x_customer_item_id := l_x_Price_LLine_rec.customer_item_id;
880 x_customer_item := l_Price_LLine_val_rec.customer_item;
881 END IF;
882
883 IF NOT OE_GLOBALS.Equal(l_x_Price_LLine_rec.end_date_active,
884 l_Price_LLine_rec.end_date_active)
885 THEN
886 x_end_date_active := l_x_Price_LLine_rec.end_date_active;
887 END IF;
888
889 IF NOT OE_GLOBALS.Equal(l_x_Price_LLine_rec.inventory_item_id,
890 l_Price_LLine_rec.inventory_item_id)
891 THEN
892 x_inventory_item_id := l_x_Price_LLine_rec.inventory_item_id;
893 x_inventory_item := l_Price_LLine_val_rec.inventory_item;
894 END IF;
895
896 IF NOT OE_GLOBALS.Equal(l_x_Price_LLine_rec.list_price,
897 l_Price_LLine_rec.list_price)
898 THEN
899 x_list_price := l_x_Price_LLine_rec.list_price;
900 END IF;
901
902 IF NOT OE_GLOBALS.Equal(l_x_Price_LLine_rec.method_code,
903 l_Price_LLine_rec.method_code)
904 THEN
905 x_method_code := l_x_Price_LLine_rec.method_code;
906 x_method := l_Price_LLine_val_rec.method;
907 END IF;
908
909 IF NOT OE_GLOBALS.Equal(l_x_Price_LLine_rec.price_list_id,
910 l_Price_LLine_rec.price_list_id)
911 THEN
912 x_price_list_id := l_x_Price_LLine_rec.price_list_id;
913 x_price_list := l_Price_LLine_val_rec.price_list;
914 END IF;
915
916 IF NOT OE_GLOBALS.Equal(l_x_Price_LLine_rec.price_list_line_id,
917 l_Price_LLine_rec.price_list_line_id)
918 THEN
919 x_price_list_line_id := l_x_Price_LLine_rec.price_list_line_id;
920 x_price_list_line := l_Price_LLine_val_rec.price_list_line;
921 END IF;
922
923 IF NOT OE_GLOBALS.Equal(l_x_Price_LLine_rec.pricing_attribute1,
924 l_Price_LLine_rec.pricing_attribute1)
925 THEN
926 x_pricing_attribute1 := l_x_Price_LLine_rec.pricing_attribute1;
927 END IF;
928
929 IF NOT OE_GLOBALS.Equal(l_x_Price_LLine_rec.pricing_attribute10,
930 l_Price_LLine_rec.pricing_attribute10)
931 THEN
932 x_pricing_attribute10 := l_x_Price_LLine_rec.pricing_attribute10;
933 END IF;
934
935 IF NOT OE_GLOBALS.Equal(l_x_Price_LLine_rec.pricing_attribute11,
936 l_Price_LLine_rec.pricing_attribute11)
937 THEN
938 x_pricing_attribute11 := l_x_Price_LLine_rec.pricing_attribute11;
939 END IF;
940
941 IF NOT OE_GLOBALS.Equal(l_x_Price_LLine_rec.pricing_attribute12,
942 l_Price_LLine_rec.pricing_attribute12)
943 THEN
944 x_pricing_attribute12 := l_x_Price_LLine_rec.pricing_attribute12;
945 END IF;
946
947 IF NOT OE_GLOBALS.Equal(l_x_Price_LLine_rec.pricing_attribute13,
948 l_Price_LLine_rec.pricing_attribute13)
949 THEN
950 x_pricing_attribute13 := l_x_Price_LLine_rec.pricing_attribute13;
951 END IF;
952
953 IF NOT OE_GLOBALS.Equal(l_x_Price_LLine_rec.pricing_attribute14,
954 l_Price_LLine_rec.pricing_attribute14)
955 THEN
956 x_pricing_attribute14 := l_x_Price_LLine_rec.pricing_attribute14;
957 END IF;
958
959 IF NOT OE_GLOBALS.Equal(l_x_Price_LLine_rec.pricing_attribute15,
960 l_Price_LLine_rec.pricing_attribute15)
961 THEN
962 x_pricing_attribute15 := l_x_Price_LLine_rec.pricing_attribute15;
963 END IF;
964
965 IF NOT OE_GLOBALS.Equal(l_x_Price_LLine_rec.pricing_attribute2,
966 l_Price_LLine_rec.pricing_attribute2)
967 THEN
968 x_pricing_attribute2 := l_x_Price_LLine_rec.pricing_attribute2;
969 END IF;
970
971 IF NOT OE_GLOBALS.Equal(l_x_Price_LLine_rec.pricing_attribute3,
972 l_Price_LLine_rec.pricing_attribute3)
973 THEN
974 x_pricing_attribute3 := l_x_Price_LLine_rec.pricing_attribute3;
975 END IF;
976
977 IF NOT OE_GLOBALS.Equal(l_x_Price_LLine_rec.pricing_attribute4,
978 l_Price_LLine_rec.pricing_attribute4)
979 THEN
980 x_pricing_attribute4 := l_x_Price_LLine_rec.pricing_attribute4;
981 END IF;
982
983 IF NOT OE_GLOBALS.Equal(l_x_Price_LLine_rec.pricing_attribute5,
984 l_Price_LLine_rec.pricing_attribute5)
985 THEN
986 x_pricing_attribute5 := l_x_Price_LLine_rec.pricing_attribute5;
987 END IF;
988
989 IF NOT OE_GLOBALS.Equal(l_x_Price_LLine_rec.pricing_attribute6,
990 l_Price_LLine_rec.pricing_attribute6)
991 THEN
992 x_pricing_attribute6 := l_x_Price_LLine_rec.pricing_attribute6;
993 END IF;
994
995 IF NOT OE_GLOBALS.Equal(l_x_Price_LLine_rec.pricing_attribute7,
996 l_Price_LLine_rec.pricing_attribute7)
997 THEN
998 x_pricing_attribute7 := l_x_Price_LLine_rec.pricing_attribute7;
999 END IF;
1000
1001 IF NOT OE_GLOBALS.Equal(l_x_Price_LLine_rec.pricing_attribute8,
1002 l_Price_LLine_rec.pricing_attribute8)
1003 THEN
1004 x_pricing_attribute8 := l_x_Price_LLine_rec.pricing_attribute8;
1005 END IF;
1006
1007 IF NOT OE_GLOBALS.Equal(l_x_Price_LLine_rec.pricing_attribute9,
1008 l_Price_LLine_rec.pricing_attribute9)
1009 THEN
1010 x_pricing_attribute9 := l_x_Price_LLine_rec.pricing_attribute9;
1011 END IF;
1012
1013 IF NOT OE_GLOBALS.Equal(l_x_Price_LLine_rec.pricing_context,
1014 l_Price_LLine_rec.pricing_context)
1015 THEN
1016 x_pricing_context := l_x_Price_LLine_rec.pricing_context;
1017 END IF;
1018
1019 IF NOT OE_GLOBALS.Equal(l_x_Price_LLine_rec.pricing_rule_id,
1020 l_Price_LLine_rec.pricing_rule_id)
1021 THEN
1022 x_pricing_rule_id := l_x_Price_LLine_rec.pricing_rule_id;
1023 x_pricing_rule := l_Price_LLine_val_rec.pricing_rule;
1024 END IF;
1025
1026 IF NOT OE_GLOBALS.Equal(l_x_Price_LLine_rec.reprice_flag,
1027 l_Price_LLine_rec.reprice_flag)
1028 THEN
1029 x_reprice_flag := l_x_Price_LLine_rec.reprice_flag;
1030 x_reprice := l_Price_LLine_val_rec.reprice;
1031 END IF;
1032
1033 IF NOT OE_GLOBALS.Equal(l_x_Price_LLine_rec.revision,
1034 l_Price_LLine_rec.revision)
1035 THEN
1036 x_revision := l_x_Price_LLine_rec.revision;
1037 END IF;
1038
1039 IF NOT OE_GLOBALS.Equal(l_x_Price_LLine_rec.revision_date,
1040 l_Price_LLine_rec.revision_date)
1041 THEN
1042 x_revision_date := l_x_Price_LLine_rec.revision_date;
1043 END IF;
1044
1045 IF NOT OE_GLOBALS.Equal(l_x_Price_LLine_rec.revision_reason_code,
1046 l_Price_LLine_rec.revision_reason_code)
1047 THEN
1048 x_revision_reason_code := l_x_Price_LLine_rec.revision_reason_code;
1049 x_revision_reason := l_Price_LLine_val_rec.revision_reason;
1050 END IF;
1051
1052 -- New Add
1053
1054 IF NOT OE_GLOBALS.Equal(l_x_Price_LLine_rec.creation_date,
1055 l_Price_LLine_rec.creation_date)
1056 THEN
1057 x_creation_date := l_x_Price_LLine_rec.creation_date;
1058 END IF;
1059
1060
1061 IF NOT OE_GLOBALS.Equal(l_x_Price_LLine_rec.start_date_active,
1062 l_Price_LLine_rec.start_date_active)
1063 THEN
1064 x_start_date_active := l_x_Price_LLine_rec.start_date_active;
1065 END IF;
1066
1067 IF NOT OE_GLOBALS.Equal(l_x_Price_LLine_rec.unit_code,
1068 l_Price_LLine_rec.unit_code)
1069 THEN
1070 x_unit_code := l_x_Price_LLine_rec.unit_code;
1071 x_unit := l_Price_LLine_val_rec.unit;
1072 END IF;
1073
1074 IF NOT OE_GLOBALS.Equal(l_x_Price_LLine_rec.primary,
1075 l_Price_LLine_rec.primary)
1076 THEN
1077 x_primary := l_x_Price_LLine_rec.primary;
1078 END IF;
1079
1080 IF NOT OE_GLOBALS.Equal(l_x_Price_LLine_rec.list_line_type_code,
1081 l_Price_LLine_rec.list_line_type_code)
1082 THEN
1083 x_list_line_type_code := l_x_Price_LLine_rec.list_line_type_code;
1084 END IF;
1085
1086
1087
1088
1089
1090
1091 -- Write to cache.
1092
1093 Write_Price_LLine
1094 ( p_Price_LLine_rec => l_x_Price_LLine_rec
1095 );
1096
1097 -- Set return status.
1098
1099 x_return_status := FND_API.G_RET_STS_SUCCESS;
1100
1101 -- Get message count and data
1102
1103 OE_MSG_PUB.Count_And_Get
1104 ( p_count => x_msg_count
1105 , p_data => x_msg_data
1106 );
1107
1108 oe_debug_pub.add('Price_List_Id: ' || g_Price_LLine_rec.price_list_id ||
1109 'Price_List_Line_Id: ' || g_Price_LLine_rec.price_list_line_id);
1110 oe_debug_pub.add('Exiting OE_OE_Form_Price_Lline.Change_Attribute');
1111
1112 EXCEPTION
1113
1114 WHEN FND_API.G_EXC_ERROR THEN
1115
1116 x_return_status := FND_API.G_RET_STS_ERROR;
1117
1118 -- Get message count and data
1119
1120 OE_MSG_PUB.Count_And_Get
1121 ( p_count => x_msg_count
1122 , p_data => x_msg_data
1123 );
1124
1125 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1126
1127 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1128
1129 -- Get message count and data
1130
1131 OE_MSG_PUB.Count_And_Get
1132 ( p_count => x_msg_count
1133 , p_data => x_msg_data
1134 );
1135
1136 WHEN OTHERS THEN
1137
1138 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1139
1140 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1141 THEN
1142 OE_MSG_PUB.Add_Exc_Msg
1143 ( G_PKG_NAME
1144 , 'Change_Attribute'
1145 );
1146 END IF;
1147
1148 -- Get message count and data
1149
1150 OE_MSG_PUB.Count_And_Get
1151 ( p_count => x_msg_count
1152 , p_data => x_msg_data
1153 );
1154
1155 END Change_Attribute;
1156
1157 -- Procedure Validate_And_Write
1158 --
1159
1160 PROCEDURE Validate_And_Write
1161 ( x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1162 , x_msg_count OUT NOCOPY /* file.sql.39 change */ NUMBER
1163 , x_msg_data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1164 , p_price_list_line_id IN NUMBER
1165 , x_creation_date OUT NOCOPY /* file.sql.39 change */ DATE
1166 , x_created_by OUT NOCOPY /* file.sql.39 change */ NUMBER
1167 , x_last_update_date OUT NOCOPY /* file.sql.39 change */ DATE
1168 , x_last_updated_by OUT NOCOPY /* file.sql.39 change */ NUMBER
1169 , x_last_update_login OUT NOCOPY /* file.sql.39 change */ NUMBER
1170 )
1171 IS
1172 l_Price_LLine_rec OE_Price_List_PUB.Price_List_Line_Rec_Type;
1173 l_old_Price_LLine_rec OE_Price_List_PUB.Price_List_Line_Rec_Type;
1174 l_Price_LLine_tbl OE_Price_List_PUB.Price_List_Line_Tbl_Type;
1175 l_old_Price_LLine_tbl OE_Price_List_PUB.Price_List_Line_Tbl_Type;
1176 l_control_rec OE_GLOBALS.Control_Rec_Type;
1177 l_return_status VARCHAR2(1);
1178 l_x_Contract_rec OE_Pricing_Cont_PUB.Contract_Rec_Type;
1179 l_x_Agreement_rec OE_Pricing_Cont_PUB.Agreement_Rec_Type;
1180 l_x_Price_LHeader_rec OE_Price_List_PUB.Price_List_Rec_Type;
1181 l_x_Discount_Header_rec OE_Pricing_Cont_PUB.Discount_Header_Rec_Type;
1182 l_x_Price_LLine_rec OE_Price_List_PUB.Price_List_Line_Rec_Type;
1183 l_x_Price_LLine_tbl OE_Price_List_PUB.Price_List_Line_Tbl_Type;
1184 l_x_Discount_Cust_rec OE_Pricing_Cont_PUB.Discount_Cust_Rec_Type;
1185 l_x_Discount_Cust_tbl OE_Pricing_Cont_PUB.Discount_Cust_Tbl_Type;
1186 l_x_Discount_Line_rec OE_Pricing_Cont_PUB.Discount_Line_Rec_Type;
1187 l_x_Discount_Line_tbl OE_Pricing_Cont_PUB.Discount_Line_Tbl_Type;
1188 l_x_Price_Break_rec OE_Pricing_Cont_PUB.Price_Break_Rec_Type;
1189 l_x_Price_Break_tbl OE_Pricing_Cont_PUB.Price_Break_Tbl_Type;
1190 BEGIN
1191
1192 oe_debug_pub.add('Entering OE_OE_Form_Price_Lline.Validate_And_Write');
1193
1194 -- Set control flags.
1195
1196 l_control_rec.controlled_operation := TRUE;
1197 l_control_rec.validate_entity := TRUE;
1198 l_control_rec.write_to_DB := TRUE;
1199
1200 l_control_rec.default_attributes := FALSE;
1201 l_control_rec.change_attributes := FALSE;
1202 l_control_rec.process := FALSE;
1203
1204 -- Instruct API to retain its caches
1205
1206 l_control_rec.clear_api_cache := FALSE;
1207 l_control_rec.clear_api_requests := FALSE;
1208
1209 -- Read Price_LLine from cache
1210
1211 l_old_Price_LLine_rec := Get_Price_LLine
1212 ( p_db_record => TRUE
1213 , p_price_list_line_id => p_price_list_line_id
1214 );
1215
1216 l_Price_LLine_rec := Get_Price_LLine
1217 ( p_db_record => FALSE
1218 , p_price_list_line_id => p_price_list_line_id
1219 );
1220
1221 oe_debug_pub.add('Price_List_Id: ' || g_Price_LLine_rec.price_list_id ||
1222 'Price_List_Line_Id: ' || g_Price_LLine_rec.price_list_line_id);
1223 oe_debug_pub.add('Price_List_Id: ' || l_Price_LLine_rec.price_list_id ||
1224 'Price_List_Line_Id: ' || l_Price_LLine_rec.price_list_line_id);
1225 -- Set Operation.
1226
1227 IF FND_API.To_Boolean(l_Price_LLine_rec.db_flag) THEN
1228 l_Price_LLine_rec.operation := OE_GLOBALS.G_OPR_UPDATE;
1229 ELSE
1230 oe_debug_pub.add('create price list line');
1231 l_Price_LLine_rec.operation := OE_GLOBALS.G_OPR_CREATE;
1232 END IF;
1233
1234 --Revision Control S
1235 IF ( ( l_old_Price_LLine_rec.revision <> FND_API.G_MISS_CHAR )
1236 AND (l_old_Price_LLine_rec.revision <> l_Price_LLine_rec.revision) )
1237 THEN
1238 oe_debug_pub.add('incrementing price list line id');
1239 oe_debug_pub.add('old rev is: ' || l_old_Price_LLine_rec.revision);
1240 oe_debug_pub.add('new rev is: ' || l_Price_LLine_rec.revision);
1241
1242 IF (l_old_Price_LLine_rec.revision is NULL) THEN
1243 oe_debug_pub.add('old revision is null');
1244 END IF;
1245
1246 IF (l_Price_LLine_rec.revision is NULL) THEN
1247 oe_debug_pub.add('new revision is also null');
1248 END IF;
1249
1250 select qp_list_lines_s.nextval into l_Price_LLine_rec.price_list_line_id from dual;
1251 l_Price_LLine_rec.operation := OE_GLOBALS.G_OPR_CREATE;
1252 l_Price_LLine_rec.db_flag := FND_API.G_FALSE;
1253 END IF;
1254 --Revision Control E
1255
1256 -- Populate Price_LLine table
1257
1258 l_Price_LLine_tbl(1) := l_Price_LLine_rec;
1259 l_old_Price_LLine_tbl(1) := l_old_Price_LLine_rec;
1260
1261 -- Call OE_Pricing_Cont_PVT.Process_Pricing_Cont
1262
1263 OE_Pricing_Cont_PVT.Process_Pricing_Cont
1264 ( p_api_version_number => 1.0
1265 , p_init_msg_list => FND_API.G_TRUE
1266 , x_return_status => l_return_status
1267 , x_msg_count => x_msg_count
1268 , x_msg_data => x_msg_data
1269 , p_control_rec => l_control_rec
1270 , p_Price_LLine_tbl => l_Price_LLine_tbl
1271 , p_old_Price_LLine_tbl => l_old_Price_LLine_tbl
1272 , x_Contract_rec => l_x_Contract_rec
1273 , x_Agreement_rec => l_x_Agreement_rec
1274 , x_Price_LHeader_rec => l_x_Price_LHeader_rec
1275 , x_Discount_Header_rec => l_x_Discount_Header_rec
1276 , x_Price_LLine_tbl => l_x_Price_LLine_tbl
1277 , x_Discount_Cust_tbl => l_x_Discount_Cust_tbl
1278 , x_Discount_Line_tbl => l_x_Discount_Line_tbl
1279 , x_Price_Break_tbl => l_x_Price_Break_tbl
1280 );
1281
1282 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1283 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1284 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1285 RAISE FND_API.G_EXC_ERROR;
1286 END IF;
1287
1288
1289 -- Load OUT parameters.
1290
1291 l_x_Price_LLine_rec := l_x_Price_LLine_tbl(1);
1292
1293 x_creation_date := l_x_Price_LLine_rec.creation_date;
1294 x_created_by := l_x_Price_LLine_rec.created_by;
1295 x_last_update_date := l_x_Price_LLine_rec.last_update_date;
1296 x_last_updated_by := l_x_Price_LLine_rec.last_updated_by;
1297 x_last_update_login := l_x_Price_LLine_rec.last_update_login;
1298
1299 -- Clear Price_LLine record cache
1300
1301 Clear_Price_LLine;
1302
1303 -- Keep track of performed operations.
1304
1305 l_old_Price_LLine_rec.operation := l_Price_LLine_rec.operation;
1306
1307
1308 -- Set return status.
1309
1310 x_return_status := FND_API.G_RET_STS_SUCCESS;
1311
1312 -- Get message count and data
1313
1314 OE_MSG_PUB.Count_And_Get
1315 ( p_count => x_msg_count
1316 , p_data => x_msg_data
1317 );
1318
1319 oe_debug_pub.add('Exiting OE_OE_Form_Price_Lline.Validate_And_Write');
1320
1321 EXCEPTION
1322
1323 WHEN FND_API.G_EXC_ERROR THEN
1324
1325 x_return_status := FND_API.G_RET_STS_ERROR;
1326
1327 -- Get message count and data
1328
1329 OE_MSG_PUB.Count_And_Get
1330 ( p_count => x_msg_count
1331 , p_data => x_msg_data
1332 );
1333
1334 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1335
1336 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1337
1338 -- Get message count and data
1339
1340 OE_MSG_PUB.Count_And_Get
1341 ( p_count => x_msg_count
1342 , p_data => x_msg_data
1343 );
1344
1345 WHEN OTHERS THEN
1346
1347 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1348
1349 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1350 THEN
1351 OE_MSG_PUB.Add_Exc_Msg
1352 ( G_PKG_NAME
1353 , 'Validate_And_Write'
1354 );
1355 END IF;
1356
1357 -- Get message count and data
1358
1359 OE_MSG_PUB.Count_And_Get
1360 ( p_count => x_msg_count
1361 , p_data => x_msg_data
1362 );
1363
1364 END Validate_And_Write;
1365
1366 -- Procedure Delete_Row
1367 --
1368
1369 PROCEDURE Delete_Row
1370 ( x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1371 , x_msg_count OUT NOCOPY /* file.sql.39 change */ NUMBER
1372 , x_msg_data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1373 , p_price_list_line_id IN NUMBER
1374 )
1375 IS
1376 l_Price_LLine_rec OE_Price_List_PUB.Price_List_Line_Rec_Type;
1377 l_Price_LLine_tbl OE_Price_List_PUB.Price_List_Line_Tbl_Type;
1378 l_control_rec OE_GLOBALS.Control_Rec_Type;
1379 l_return_status VARCHAR2(1);
1380 l_x_Contract_rec OE_Pricing_Cont_PUB.Contract_Rec_Type;
1381 l_x_Agreement_rec OE_Pricing_Cont_PUB.Agreement_Rec_Type;
1382 l_x_Price_LHeader_rec OE_Price_List_PUB.Price_List_Rec_Type;
1383 l_x_Discount_Header_rec OE_Pricing_Cont_PUB.Discount_Header_Rec_Type;
1384 l_x_Price_LLine_rec OE_Price_List_PUB.Price_List_Line_Rec_Type;
1385 l_x_Price_LLine_tbl OE_Price_List_PUB.Price_List_Line_Tbl_Type;
1386 l_x_Discount_Cust_rec OE_Pricing_Cont_PUB.Discount_Cust_Rec_Type;
1387 l_x_Discount_Cust_tbl OE_Pricing_Cont_PUB.Discount_Cust_Tbl_Type;
1388 l_x_Discount_Line_rec OE_Pricing_Cont_PUB.Discount_Line_Rec_Type;
1389 l_x_Discount_Line_tbl OE_Pricing_Cont_PUB.Discount_Line_Tbl_Type;
1390 l_x_Price_Break_rec OE_Pricing_Cont_PUB.Price_Break_Rec_Type;
1391 l_x_Price_Break_tbl OE_Pricing_Cont_PUB.Price_Break_Tbl_Type;
1392 BEGIN
1393
1394 -- Set control flags.
1395
1396 l_control_rec.controlled_operation := TRUE;
1397 l_control_rec.validate_entity := TRUE;
1398 l_control_rec.write_to_DB := TRUE;
1399
1400 l_control_rec.default_attributes := FALSE;
1401 l_control_rec.change_attributes := FALSE;
1402 l_control_rec.process := FALSE;
1403
1404 -- Instruct API to retain its caches
1405
1406 l_control_rec.clear_api_cache := FALSE;
1407 l_control_rec.clear_api_requests := FALSE;
1408
1409 -- Read DB record from cache
1410
1411 l_Price_LLine_rec := Get_Price_LLine
1412 ( p_db_record => TRUE
1413 , p_price_list_line_id => p_price_list_line_id
1414 );
1415
1416 -- Set Operation.
1417
1418 l_Price_LLine_rec.operation := OE_GLOBALS.G_OPR_DELETE;
1419
1420 -- Populate Price_LLine table
1421
1422 l_Price_LLine_tbl(1) := l_Price_LLine_rec;
1423
1424 -- Call OE_Pricing_Cont_PVT.Process_Pricing_Cont
1425
1426 OE_Pricing_Cont_PVT.Process_Pricing_Cont
1427 ( p_api_version_number => 1.0
1428 , p_init_msg_list => FND_API.G_TRUE
1429 , x_return_status => l_return_status
1430 , x_msg_count => x_msg_count
1431 , x_msg_data => x_msg_data
1432 , p_control_rec => l_control_rec
1433 , p_Price_LLine_tbl => l_Price_LLine_tbl
1434 , x_Contract_rec => l_x_Contract_rec
1435 , x_Agreement_rec => l_x_Agreement_rec
1436 , x_Price_LHeader_rec => l_x_Price_LHeader_rec
1437 , x_Discount_Header_rec => l_x_Discount_Header_rec
1438 , x_Price_LLine_tbl => l_x_Price_LLine_tbl
1439 , x_Discount_Cust_tbl => l_x_Discount_Cust_tbl
1440 , x_Discount_Line_tbl => l_x_Discount_Line_tbl
1441 , x_Price_Break_tbl => l_x_Price_Break_tbl
1442 );
1443
1444 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1445 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1446 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1447 RAISE FND_API.G_EXC_ERROR;
1448 END IF;
1449
1450
1451 -- Clear Price_LLine record cache
1452
1453 Clear_Price_LLine;
1454
1455 -- Set return status.
1456
1457 x_return_status := FND_API.G_RET_STS_SUCCESS;
1458
1459 -- Get message count and data
1460
1461 OE_MSG_PUB.Count_And_Get
1462 ( p_count => x_msg_count
1463 , p_data => x_msg_data
1464 );
1465
1466
1467 EXCEPTION
1468
1469 WHEN FND_API.G_EXC_ERROR THEN
1470
1471 x_return_status := FND_API.G_RET_STS_ERROR;
1472
1473 -- Get message count and data
1474
1475 OE_MSG_PUB.Count_And_Get
1476 ( p_count => x_msg_count
1477 , p_data => x_msg_data
1478 );
1479
1480 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1481
1482 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1483
1484 -- Get message count and data
1485
1486 OE_MSG_PUB.Count_And_Get
1487 ( p_count => x_msg_count
1488 , p_data => x_msg_data
1489 );
1490
1491 WHEN OTHERS THEN
1492
1493 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1494
1495 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1496 THEN
1497 OE_MSG_PUB.Add_Exc_Msg
1498 ( G_PKG_NAME
1499 , 'Delete_Row'
1500 );
1501 END IF;
1502
1503 -- Get message count and data
1504
1505 OE_MSG_PUB.Count_And_Get
1506 ( p_count => x_msg_count
1507 , p_data => x_msg_data
1508 );
1509
1510 END Delete_Row;
1511
1512 -- Procedure Process_Entity
1513 --
1514
1515 PROCEDURE Process_Entity
1516 ( x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1517 , x_msg_count OUT NOCOPY /* file.sql.39 change */ NUMBER
1518 , x_msg_data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1519 )
1520 IS
1521 l_control_rec OE_GLOBALS.Control_Rec_Type;
1522 l_return_status VARCHAR2(1);
1523 l_x_Contract_rec OE_Pricing_Cont_PUB.Contract_Rec_Type;
1524 l_x_Agreement_rec OE_Pricing_Cont_PUB.Agreement_Rec_Type;
1525 l_x_Price_LHeader_rec OE_Price_List_PUB.Price_List_Rec_Type;
1526 l_x_Discount_Header_rec OE_Pricing_Cont_PUB.Discount_Header_Rec_Type;
1527 l_x_Price_LLine_rec OE_Price_List_PUB.Price_List_Line_Rec_Type;
1528 l_x_Price_LLine_tbl OE_Price_List_PUB.Price_List_Line_Tbl_Type;
1529 l_x_Discount_Cust_rec OE_Pricing_Cont_PUB.Discount_Cust_Rec_Type;
1530 l_x_Discount_Cust_tbl OE_Pricing_Cont_PUB.Discount_Cust_Tbl_Type;
1531 l_x_Discount_Line_rec OE_Pricing_Cont_PUB.Discount_Line_Rec_Type;
1532 l_x_Discount_Line_tbl OE_Pricing_Cont_PUB.Discount_Line_Tbl_Type;
1533 l_x_Price_Break_rec OE_Pricing_Cont_PUB.Price_Break_Rec_Type;
1534 l_x_Price_Break_tbl OE_Pricing_Cont_PUB.Price_Break_Tbl_Type;
1535 BEGIN
1536
1537 oe_debug_pub.add('Entering OE_OE_Form_Price_Lline.Process_Entity');
1538
1539 -- Set control flags.
1540
1541 l_control_rec.controlled_operation := TRUE;
1542 l_control_rec.process := TRUE;
1543 l_control_rec.process_entity := OE_GLOBALS.G_ENTITY_PRICE_LLINE;
1544
1545 l_control_rec.default_attributes := FALSE;
1546 l_control_rec.change_attributes := FALSE;
1547 l_control_rec.validate_entity := FALSE;
1548 l_control_rec.write_to_DB := FALSE;
1549
1550 -- Instruct API to clear its request table
1551
1552 l_control_rec.clear_api_cache := FALSE;
1553 l_control_rec.clear_api_requests := FALSE;
1554
1555 -- Call OE_Pricing_Cont_PVT.Process_Pricing_Cont
1556
1557 OE_Pricing_Cont_PVT.Process_Pricing_Cont
1558 ( p_api_version_number => 1.0
1559 , p_init_msg_list => FND_API.G_TRUE
1560 , x_return_status => l_return_status
1561 , x_msg_count => x_msg_count
1562 , x_msg_data => x_msg_data
1563 , p_control_rec => l_control_rec
1564 , x_Contract_rec => l_x_Contract_rec
1565 , x_Agreement_rec => l_x_Agreement_rec
1566 , x_Price_LHeader_rec => l_x_Price_LHeader_rec
1567 , x_Discount_Header_rec => l_x_Discount_Header_rec
1568 , x_Price_LLine_tbl => l_x_Price_LLine_tbl
1569 , x_Discount_Cust_tbl => l_x_Discount_Cust_tbl
1570 , x_Discount_Line_tbl => l_x_Discount_Line_tbl
1571 , x_Price_Break_tbl => l_x_Price_Break_tbl
1572 );
1573
1574 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1575 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1576 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1577 RAISE FND_API.G_EXC_ERROR;
1578 END IF;
1579
1580
1581 -- Set return status.
1582
1583 x_return_status := FND_API.G_RET_STS_SUCCESS;
1584
1585 -- Get message count and data
1586
1587 OE_MSG_PUB.Count_And_Get
1588 ( p_count => x_msg_count
1589 , p_data => x_msg_data
1590 );
1591
1592 oe_debug_pub.add('Exiting OE_OE_Form_Price_Lline.Process_Entity');
1593
1594 EXCEPTION
1595
1596 WHEN FND_API.G_EXC_ERROR THEN
1597
1598 x_return_status := FND_API.G_RET_STS_ERROR;
1599
1600 -- Get message count and data
1601
1602 OE_MSG_PUB.Count_And_Get
1603 ( p_count => x_msg_count
1604 , p_data => x_msg_data
1605 );
1606
1607 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1608
1609 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1610
1611 -- Get message count and data
1612
1613 OE_MSG_PUB.Count_And_Get
1614 ( p_count => x_msg_count
1615 , p_data => x_msg_data
1616 );
1617
1618 WHEN OTHERS THEN
1619
1620 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1621
1622 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1623 THEN
1624 OE_MSG_PUB.Add_Exc_Msg
1625 ( G_PKG_NAME
1626 , 'Process_Entity'
1627 );
1628 END IF;
1629
1630 -- Get message count and data
1631
1632 OE_MSG_PUB.Count_And_Get
1633 ( p_count => x_msg_count
1634 , p_data => x_msg_data
1635 );
1636
1637 END Process_Entity;
1638
1639 -- Procedure lock_Row
1640 --
1641
1642 PROCEDURE Lock_Row
1643 ( x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1644 , x_msg_count OUT NOCOPY /* file.sql.39 change */ NUMBER
1645 , x_msg_data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1646 , p_attribute1 IN VARCHAR2
1647 , p_attribute10 IN VARCHAR2
1648 , p_attribute11 IN VARCHAR2
1649 , p_attribute12 IN VARCHAR2
1650 , p_attribute13 IN VARCHAR2
1651 , p_attribute14 IN VARCHAR2
1652 , p_attribute15 IN VARCHAR2
1653 , p_attribute2 IN VARCHAR2
1654 , p_attribute3 IN VARCHAR2
1655 , p_attribute4 IN VARCHAR2
1656 , p_attribute5 IN VARCHAR2
1657 , p_attribute6 IN VARCHAR2
1658 , p_attribute7 IN VARCHAR2
1659 , p_attribute8 IN VARCHAR2
1660 , p_attribute9 IN VARCHAR2
1661 , p_comments IN VARCHAR2
1662 , p_context IN VARCHAR2
1663 , p_created_by IN NUMBER
1664 , p_creation_date IN DATE
1665 , p_customer_item_id IN NUMBER
1666 , p_end_date_active IN DATE
1667 , p_inventory_item_id IN NUMBER
1668 , p_last_updated_by IN NUMBER
1669 , p_last_update_date IN DATE
1670 , p_last_update_login IN NUMBER
1671 , p_list_price IN NUMBER
1672 , p_method_code IN VARCHAR2
1673 , p_price_list_id IN NUMBER
1674 , p_price_list_line_id IN NUMBER
1675 , p_pricing_attribute1 IN VARCHAR2
1676 , p_pricing_attribute10 IN VARCHAR2
1677 , p_pricing_attribute11 IN VARCHAR2
1678 , p_pricing_attribute12 IN VARCHAR2
1679 , p_pricing_attribute13 IN VARCHAR2
1680 , p_pricing_attribute14 IN VARCHAR2
1681 , p_pricing_attribute15 IN VARCHAR2
1682 , p_pricing_attribute2 IN VARCHAR2
1683 , p_pricing_attribute3 IN VARCHAR2
1684 , p_pricing_attribute4 IN VARCHAR2
1685 , p_pricing_attribute5 IN VARCHAR2
1686 , p_pricing_attribute6 IN VARCHAR2
1687 , p_pricing_attribute7 IN VARCHAR2
1688 , p_pricing_attribute8 IN VARCHAR2
1689 , p_pricing_attribute9 IN VARCHAR2
1690 , p_pricing_context IN VARCHAR2
1691 , p_pricing_rule_id IN NUMBER
1692 , p_program_application_id IN NUMBER
1693 , p_program_id IN NUMBER
1694 , p_program_update_date IN DATE
1695 , p_reprice_flag IN VARCHAR2
1696 , p_request_id IN NUMBER
1697 , p_revision IN VARCHAR2
1698 , p_revision_date IN DATE
1699 , p_revision_reason_code IN VARCHAR2
1700 , p_start_date_active IN DATE
1701 , p_unit_code IN VARCHAR2
1702 , p_primary IN VARCHAR2
1703 , p_list_line_type_code IN VARCHAR2
1704 )
1705 IS
1706 l_return_status VARCHAR2(1);
1707 l_Price_LLine_rec OE_Price_List_PUB.Price_List_Line_Rec_Type;
1708 l_Price_LLine_tbl OE_Price_List_PUB.Price_List_Line_Tbl_Type;
1709 l_x_Contract_rec OE_Pricing_Cont_PUB.Contract_Rec_Type;
1710 l_x_Agreement_rec OE_Pricing_Cont_PUB.Agreement_Rec_Type;
1711 l_x_Price_LHeader_rec OE_Price_List_PUB.Price_List_Rec_Type;
1712 l_x_Discount_Header_rec OE_Pricing_Cont_PUB.Discount_Header_Rec_Type;
1713 l_x_Price_LLine_rec OE_Price_List_PUB.Price_List_Line_Rec_Type;
1714 l_x_Price_LLine_tbl OE_Price_List_PUB.Price_List_Line_Tbl_Type;
1715 l_x_Discount_Cust_rec OE_Pricing_Cont_PUB.Discount_Cust_Rec_Type;
1716 l_x_Discount_Cust_tbl OE_Pricing_Cont_PUB.Discount_Cust_Tbl_Type;
1717 l_x_Discount_Line_rec OE_Pricing_Cont_PUB.Discount_Line_Rec_Type;
1718 l_x_Discount_Line_tbl OE_Pricing_Cont_PUB.Discount_Line_Tbl_Type;
1719 l_x_Price_Break_rec OE_Pricing_Cont_PUB.Price_Break_Rec_Type;
1720 l_x_Price_Break_tbl OE_Pricing_Cont_PUB.Price_Break_Tbl_Type;
1721 BEGIN
1722
1723 -- Load Price_LLine record
1724
1725 oe_debug_pub.add('price list id 1 is : ' || to_char(p_price_list_id));
1726
1727
1728 l_Price_LLine_rec.attribute1 := p_attribute1;
1729 l_Price_LLine_rec.attribute10 := p_attribute10;
1730 l_Price_LLine_rec.attribute11 := p_attribute11;
1731 l_Price_LLine_rec.attribute12 := p_attribute12;
1732 l_Price_LLine_rec.attribute13 := p_attribute13;
1733 l_Price_LLine_rec.attribute14 := p_attribute14;
1734 l_Price_LLine_rec.attribute15 := p_attribute15;
1735 l_Price_LLine_rec.attribute2 := p_attribute2;
1736 l_Price_LLine_rec.attribute3 := p_attribute3;
1737 l_Price_LLine_rec.attribute4 := p_attribute4;
1738 l_Price_LLine_rec.attribute5 := p_attribute5;
1739 l_Price_LLine_rec.attribute6 := p_attribute6;
1740 l_Price_LLine_rec.attribute7 := p_attribute7;
1741 l_Price_LLine_rec.attribute8 := p_attribute8;
1742 l_Price_LLine_rec.attribute9 := p_attribute9;
1743 l_Price_LLine_rec.comments := p_comments;
1744 l_Price_LLine_rec.context := p_context;
1745 l_Price_LLine_rec.created_by := p_created_by;
1746 l_Price_LLine_rec.creation_date := p_creation_date;
1747 l_Price_LLine_rec.customer_item_id := p_customer_item_id;
1748 l_Price_LLine_rec.end_date_active := p_end_date_active;
1749 l_Price_LLine_rec.inventory_item_id := p_inventory_item_id;
1750 l_Price_LLine_rec.last_updated_by := p_last_updated_by;
1751 l_Price_LLine_rec.last_update_date := p_last_update_date;
1752 l_Price_LLine_rec.last_update_login := p_last_update_login;
1753 l_Price_LLine_rec.list_price := p_list_price;
1754 l_Price_LLine_rec.method_code := p_method_code;
1755 l_Price_LLine_rec.price_list_id := p_price_list_id;
1756 l_Price_LLine_rec.price_list_line_id := p_price_list_line_id;
1757 l_Price_LLine_rec.pricing_attribute1 := p_pricing_attribute1;
1758 l_Price_LLine_rec.pricing_attribute10 := p_pricing_attribute10;
1759 l_Price_LLine_rec.pricing_attribute11 := p_pricing_attribute11;
1760 l_Price_LLine_rec.pricing_attribute12 := p_pricing_attribute12;
1761 l_Price_LLine_rec.pricing_attribute13 := p_pricing_attribute13;
1762 l_Price_LLine_rec.pricing_attribute14 := p_pricing_attribute14;
1763 l_Price_LLine_rec.pricing_attribute15 := p_pricing_attribute15;
1764 l_Price_LLine_rec.pricing_attribute2 := p_pricing_attribute2;
1765 l_Price_LLine_rec.pricing_attribute3 := p_pricing_attribute3;
1766 l_Price_LLine_rec.pricing_attribute4 := p_pricing_attribute4;
1767 l_Price_LLine_rec.pricing_attribute5 := p_pricing_attribute5;
1768 l_Price_LLine_rec.pricing_attribute6 := p_pricing_attribute6;
1769 l_Price_LLine_rec.pricing_attribute7 := p_pricing_attribute7;
1770 l_Price_LLine_rec.pricing_attribute8 := p_pricing_attribute8;
1771 l_Price_LLine_rec.pricing_attribute9 := p_pricing_attribute9;
1772 l_Price_LLine_rec.pricing_context := p_pricing_context;
1773 l_Price_LLine_rec.pricing_rule_id := p_pricing_rule_id;
1774 l_Price_LLine_rec.program_application_id := p_program_application_id;
1775 l_Price_LLine_rec.program_id := p_program_id;
1776 l_Price_LLine_rec.program_update_date := p_program_update_date;
1777 l_Price_LLine_rec.reprice_flag := p_reprice_flag;
1778 l_Price_LLine_rec.request_id := p_request_id;
1779 l_Price_LLine_rec.revision := p_revision;
1780 l_Price_LLine_rec.revision_date := p_revision_date;
1781 l_Price_LLine_rec.revision_reason_code := p_revision_reason_code;
1782 l_Price_LLine_rec.start_date_active := p_start_date_active;
1783 l_Price_LLine_rec.unit_code := p_unit_code;
1784 l_Price_LLine_rec.primary := p_primary;
1785 l_Price_LLine_rec.list_line_type_code := p_list_line_type_code;
1786
1787
1788 -- Populate Price_LLine table
1789
1790 l_Price_LLine_tbl(1) := l_Price_LLine_rec;
1791
1792 oe_debug_pub.add('price list id 2 is : ' || to_char(l_Price_LLine_tbl(1).price_list_id));
1793
1794 -- Call OE_Pricing_Cont_PVT.Lock_Pricing_Cont
1795
1796 OE_Pricing_Cont_PVT.Lock_Pricing_Cont
1797 ( p_api_version_number => 1.0
1798 , p_init_msg_list => FND_API.G_TRUE
1799 , x_return_status => l_return_status
1800 , x_msg_count => x_msg_count
1801 , x_msg_data => x_msg_data
1802 , p_Price_LLine_tbl => l_Price_LLine_tbl
1803 , x_Contract_rec => l_x_Contract_rec
1804 , x_Agreement_rec => l_x_Agreement_rec
1805 , x_Price_LHeader_rec => l_x_Price_LHeader_rec
1806 , x_Discount_Header_rec => l_x_Discount_Header_rec
1807 , x_Price_LLine_tbl => l_x_Price_LLine_tbl
1808 , x_Discount_Cust_tbl => l_x_Discount_Cust_tbl
1809 , x_Discount_Line_tbl => l_x_Discount_Line_tbl
1810 , x_Price_Break_tbl => l_x_Price_Break_tbl
1811 );
1812
1813 oe_debug_pub.add('price list id 3 is : ' || to_char(p_price_list_id));
1814
1815 IF l_return_status = FND_API.G_RET_STS_SUCCESS THEN
1816
1817 -- Set DB flag and write record to cache.
1818
1819 l_x_Price_LLine_rec.db_flag := FND_API.G_TRUE;
1820
1821 Write_Price_LLine
1822 ( p_Price_LLine_rec => l_x_Price_LLine_rec
1823 , p_db_record => TRUE
1824 );
1825
1826 END IF;
1827
1828 -- Set return status.
1829
1830 x_return_status := l_return_status;
1831
1832 -- Get message count and data
1833
1834 OE_MSG_PUB.Count_And_Get
1835 ( p_count => x_msg_count
1836 , p_data => x_msg_data
1837 );
1838
1839
1840 EXCEPTION
1841
1842 WHEN OTHERS THEN
1843
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 , 'Lock_Row'
1849 );
1850 END IF;
1851
1852 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1853
1854 -- Get message count and data
1855
1856 OE_MSG_PUB.Count_And_Get
1857 ( p_count => x_msg_count
1858 , p_data => x_msg_data
1859 );
1860
1861
1862
1863 END Lock_Row;
1864
1865 -- Procedures maintaining Price_LLine record cache.
1866
1867 PROCEDURE Write_Price_LLine
1868 ( p_Price_LLine_rec IN OE_Price_List_PUB.Price_List_Line_Rec_Type
1869 , p_db_record IN BOOLEAN := FALSE
1870 )
1871 IS
1872 BEGIN
1873
1874 g_Price_LLine_rec := p_Price_LLine_rec;
1875
1876 IF p_db_record THEN
1877
1878 g_db_Price_LLine_rec := p_Price_LLine_rec;
1879
1880 END IF;
1881
1882 END Write_Price_Lline;
1883
1884 FUNCTION Get_Price_LLine
1885 ( p_db_record IN BOOLEAN := FALSE
1886 , p_price_list_line_id IN NUMBER
1887 )
1888 RETURN OE_Price_List_PUB.Price_List_Line_Rec_Type
1889 IS
1890 BEGIN
1891
1892 oe_debug_pub.add('global pline id is : ' || to_char(g_Price_LLine_rec.price_list_id));
1893
1894 oe_debug_pub.add('plineid 2 is : ' || to_char(p_price_list_line_id));
1895
1896 IF p_price_list_line_id <> g_Price_LLine_rec.price_list_line_id
1897 THEN
1898
1899 -- Query row from DB
1900
1901 g_Price_LLine_rec := OE_Price_List_Line_Util.Query_Row
1902 ( p_price_list_line_id => p_price_list_line_id
1903 , p_price_list_id => g_Price_LLine_rec.price_list_id
1904 );
1905
1906 g_Price_LLine_rec.db_flag := FND_API.G_TRUE;
1907
1908 -- Load DB record
1909
1910 g_db_Price_LLine_rec := g_Price_LLine_rec;
1911
1912 END IF;
1913
1914 IF p_db_record THEN
1915
1916 RETURN g_db_Price_LLine_rec;
1917
1918 ELSE
1919
1920 RETURN g_Price_LLine_rec;
1921
1922 END IF;
1923
1924 END Get_Price_Lline;
1925
1926 PROCEDURE Clear_Price_Lline
1927 IS
1928 BEGIN
1929
1930 g_Price_LLine_rec := OE_Price_List_PUB.G_MISS_PRICE_List_Line_REC;
1931 g_db_Price_LLine_rec := OE_Price_List_PUB.G_MISS_PRICE_List_Line_REC;
1932
1933 END Clear_Price_Lline;
1934
1935 END OE_OE_Form_Price_Lline;