[Home] [Help]
PACKAGE BODY: APPS.OE_OE_HTML_LINE
Source
1 PACKAGE BODY Oe_Oe_Html_Line AS
2 /* $Header: OEHFLINB.pls 120.0 2005/05/31 23:36:46 appldev noship $ */
3
4 -- Global constant holding the package name
5
6 G_PKG_NAME CONSTANT VARCHAR2(30) := 'Oe_Oe_Html_Line';
7
8 -- Global variables holding cached record.
9
10 g_line_rec OE_Order_PUB.Line_Rec_Type;
11 g_db_line_rec OE_Order_PUB.Line_Rec_Type;
12
13
14 -- Procedure : Default_Attributes
15 --
16
17 PROCEDURE Default_Attributes
18 ( x_return_status OUT NOCOPY VARCHAR2
19 , x_msg_count OUT NOCOPY NUMBER
20 , x_msg_data OUT NOCOPY VARCHAR2
21 , p_header_id IN NUMBER
22 , x_line_Rec IN OUT NOCOPY OE_ORDER_PUB.Line_Rec_Type
23 , x_line_val_rec IN OUT NOCOPY OE_ORDER_PUB.Line_Val_Rec_Type
24 , p_header_Rec IN OUT NOCOPY OE_ORDER_PUB.Header_Rec_Type
25
26 )
27 IS
28 l_control_rec OE_GLOBALS.Control_Rec_Type;
29 l_return_status VARCHAR2(1);
30 l_x_header_rec OE_Order_PUB.Header_Rec_Type;
31 l_error NUMBER := 0;
32 --
33 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
34
35 x_line_tbl OE_Order_PUB.Line_Tbl_Type;
36 x_old_line_tbl OE_ORDER_PUB.Line_Tbl_Type;
37 x_line_val_tbl OE_ORDER_PUB.Line_Val_Tbl_Type;
38 l_fname varchar2(1000);
39 BEGIN
40
41 oe_debug_pub.g_debug_level := FND_PROFILE.VALUE('ONT_DEBUG_LEVEL');
42 l_fname := oe_Debug_pub.set_debug_mode('FILE');
43
44 oe_debug_pub.debug_on;
45
46 IF l_debug_level > 0 THEN
47 oe_debug_pub.add( 'ENTERING Oe_Oe_Html_Line.DEFAULT_ATTRIBUTES' , 1 ) ;
48 END IF;
49
50 l_error := 1;
51 -- Set UI flag to TRUE
52 OE_GLOBALS.G_UI_FLAG := TRUE;
53 OE_GLOBALS.G_HTML_FLAG := TRUE;
54
55 OE_PORTAL_UTIL.SET_HEADER_CACHE(p_header_Rec);
56 -- Set control flags.
57
58 l_control_rec.controlled_operation := TRUE;
59 l_control_rec.check_security := TRUE;
60 l_control_rec.default_attributes := TRUE;
61 l_control_rec.change_attributes := FALSE;
62
63 l_control_rec.clear_dependents := FALSE;
64 l_control_rec.validate_entity := FALSE;
65 l_control_rec.write_to_DB := FALSE;
66 l_control_rec.process := FALSE;
67
68 -- Instruct API to retain its caches
69
70 l_control_rec.clear_api_cache := TRUE;
71 l_control_rec.clear_api_requests := TRUE;
72
73 -- Load IN parameters if any exist
74 x_old_line_tbl(1) :=OE_ORDER_PUB.G_MISS_LINE_REC;
75 x_line_tbl(1) :=OE_ORDER_PUB.G_MISS_LINE_REC;
76 x_line_tbl(1).header_id := p_header_id;
77
78 -- Defaulting of flex values is currently done by the form.
79 -- Set flex attributes to NULL in order to avoid defaulting them.
80
81 x_line_tbl(1).attribute1 := NULL;
82 x_line_tbl(1).attribute10 := NULL;
83 x_line_tbl(1).attribute11 := NULL;
84 x_line_tbl(1).attribute12 := NULL;
85 x_line_tbl(1).attribute13 := NULL;
86 x_line_tbl(1).attribute14 := NULL;
87 x_line_tbl(1).attribute15 := NULL;
88 x_line_tbl(1).attribute2 := NULL;
89 x_line_tbl(1).attribute3 := NULL;
90 x_line_tbl(1).attribute4 := NULL;
91 x_line_tbl(1).attribute5 := NULL;
92 x_line_tbl(1).attribute6 := NULL;
93 x_line_tbl(1).attribute7 := NULL;
94 x_line_tbl(1).attribute8 := NULL;
95 x_line_tbl(1).attribute9 := NULL;
96 x_line_tbl(1).context := NULL;
97 x_line_tbl(1).global_attribute1 := NULL;
98 x_line_tbl(1).global_attribute10 := NULL;
99 x_line_tbl(1).global_attribute11 := NULL;
100 x_line_tbl(1).global_attribute12 := NULL;
101 x_line_tbl(1).global_attribute13 := NULL;
102 x_line_tbl(1).global_attribute14 := NULL;
103 x_line_tbl(1).global_attribute15 := NULL;
104 x_line_tbl(1).global_attribute16 := NULL;
105 x_line_tbl(1).global_attribute17 := NULL;
106 x_line_tbl(1).global_attribute18 := NULL;
107 x_line_tbl(1).global_attribute19 := NULL;
108 x_line_tbl(1).global_attribute2 := NULL;
109 x_line_tbl(1).global_attribute20 := NULL;
110 x_line_tbl(1).global_attribute3 := NULL;
111 x_line_tbl(1).global_attribute4 := NULL;
112 x_line_tbl(1).global_attribute5 := NULL;
113 x_line_tbl(1).global_attribute6 := NULL;
114 x_line_tbl(1).global_attribute7 := NULL;
115 x_line_tbl(1).global_attribute8 := NULL;
116 x_line_tbl(1).global_attribute9 := NULL;
117 x_line_tbl(1).global_attribute_category := NULL;
118 x_line_tbl(1).industry_attribute1 := NULL;
119 x_line_tbl(1).industry_attribute10 := NULL;
120 x_line_tbl(1).industry_attribute11 := NULL;
121 x_line_tbl(1).industry_attribute12 := NULL;
122 x_line_tbl(1).industry_attribute13 := NULL;
123 x_line_tbl(1).industry_attribute14 := NULL;
124 x_line_tbl(1).industry_attribute15 := NULL;
125 x_line_tbl(1).industry_attribute16 := NULL;
126 x_line_tbl(1).industry_attribute17 := NULL;
127 x_line_tbl(1).industry_attribute18 := NULL;
128 x_line_tbl(1).industry_attribute19 := NULL;
129 x_line_tbl(1).industry_attribute2 := NULL;
130 x_line_tbl(1).industry_attribute20 := NULL;
131 x_line_tbl(1).industry_attribute21 := NULL;
132 x_line_tbl(1).industry_attribute22 := NULL;
133 x_line_tbl(1).industry_attribute23 := NULL;
134 x_line_tbl(1).industry_attribute24 := NULL;
135 x_line_tbl(1).industry_attribute25 := NULL;
136 x_line_tbl(1).industry_attribute26 := NULL;
137 x_line_tbl(1).industry_attribute27 := NULL;
138 x_line_tbl(1).industry_attribute28 := NULL;
139 x_line_tbl(1).industry_attribute29 := NULL;
140 x_line_tbl(1).industry_attribute3 := NULL;
141 x_line_tbl(1).industry_attribute30 := NULL;
142 x_line_tbl(1).industry_attribute4 := NULL;
143 x_line_tbl(1).industry_attribute5 := NULL;
144 x_line_tbl(1).industry_attribute6 := NULL;
145 x_line_tbl(1).industry_attribute7 := NULL;
146 x_line_tbl(1).industry_attribute8 := NULL;
147 x_line_tbl(1).industry_attribute9 := NULL;
148 x_line_tbl(1).industry_context := NULL;
149 x_line_tbl(1).pricing_attribute1 := NULL;
150 x_line_tbl(1).pricing_attribute10 := NULL;
151 x_line_tbl(1).pricing_attribute2 := NULL;
152 x_line_tbl(1).pricing_attribute3 := NULL;
153 x_line_tbl(1).pricing_attribute4 := NULL;
154 x_line_tbl(1).pricing_attribute5 := NULL;
155 x_line_tbl(1).pricing_attribute6 := NULL;
156 x_line_tbl(1).pricing_attribute7 := NULL;
157 x_line_tbl(1).pricing_attribute8 := NULL;
158 x_line_tbl(1).pricing_attribute9 := NULL;
159 x_line_tbl(1).pricing_context := NULL;
160 x_line_tbl(1).return_attribute1 := NULL;
161 x_line_tbl(1).return_attribute10 := NULL;
162 x_line_tbl(1).return_attribute11 := NULL;
163 x_line_tbl(1).return_attribute12 := NULL;
164 x_line_tbl(1).return_attribute13 := NULL;
165 x_line_tbl(1).return_attribute14 := NULL;
166 x_line_tbl(1).return_attribute15 := NULL;
167 x_line_tbl(1).return_attribute2 := NULL;
168 x_line_tbl(1).return_attribute3 := NULL;
169 x_line_tbl(1).return_attribute4 := NULL;
170 x_line_tbl(1).return_attribute5 := NULL;
171 x_line_tbl(1).return_attribute6 := NULL;
172 x_line_tbl(1).return_attribute7 := NULL;
173 x_line_tbl(1).return_attribute8 := NULL;
174 x_line_tbl(1).return_attribute9 := NULL;
175 x_line_tbl(1).return_context := NULL;
176 x_line_tbl(1).tp_attribute1 := NULL;
177 x_line_tbl(1).tp_attribute10 := NULL;
178 x_line_tbl(1).tp_attribute11 := NULL;
179 x_line_tbl(1).tp_attribute12 := NULL;
180 x_line_tbl(1).tp_attribute13 := NULL;
181 x_line_tbl(1).tp_attribute14 := NULL;
182 x_line_tbl(1).tp_attribute15 := NULL;
183 x_line_tbl(1).tp_attribute2 := NULL;
184 x_line_tbl(1).tp_attribute3 := NULL;
185 x_line_tbl(1).tp_attribute4 := NULL;
186 x_line_tbl(1).tp_attribute5 := NULL;
187 x_line_tbl(1).tp_attribute6 := NULL;
188 x_line_tbl(1).tp_attribute7 := NULL;
189 x_line_tbl(1).tp_attribute8 := NULL;
190 x_line_tbl(1).tp_attribute9 := NULL;
191 x_line_tbl(1).tp_context := NULL;
192
193 -- Set Operation to Create
194
195 l_error := 2;
196 x_line_tbl(1).operation := OE_GLOBALS.G_OPR_CREATE;
197
198 -- Populate line table
199
200
201 IF l_debug_level > 0 THEN
202 oe_debug_pub.add( 'LINE CONTROLLER - DEFAULT ATTRIBUTES - CALLING PROCESS' , 2 ) ;
203 END IF;
204
205 -- Call Oe_Order_Pvt.Process_order
206
207 l_error := 3;
208
209
210 Oe_Order_Pvt.Lines
211 ( p_validation_level => FND_API.G_VALID_LEVEL_NONE
212 , p_init_msg_list => FND_API.G_TRUE
213 , p_control_rec => l_control_rec
214 , p_x_line_tbl => x_line_tbl
215 , p_x_old_line_tbl => x_old_line_tbl
216 , x_return_status => l_return_status
217 );
218
219 l_error := 3;
220 IF l_debug_level > 0 THEN
221 oe_debug_pub.add( 'LINE CONTROLLER - DEFAULT ATTRIBUTES - AFTER PROCESS' , 2 ) ;
222 END IF;
223
224 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
225 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
226 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
227 RAISE FND_API.G_EXC_ERROR;
228 END IF;
229
230
231 -- Unload out tbl
232
233 x_line_rec := x_line_tbl(1);
234
235
236 -- Load display out parameters if any
237 x_line_val_rec:=OE_ORDER_PUB.G_MISS_LINE_VAL_REC;
238 x_line_val_rec:=OE_Line_Util.Get_Values
239 ( p_line_rec => x_line_tbl(1)
240 );
241 -- Set db_flag to False before writing to cache
242
243 IF l_debug_level > 0 THEN
244 oe_debug_pub.add( 'LINE CONTROLLER - DEFAULT ATTRIBUTES - CALLING WRITE LINE' , 2 ) ;
245 END IF;
246
247 x_line_tbl(1).db_flag := FND_API.G_FALSE;
248
249
250 -- Re-set the UI flag to FALSE
251 OE_GLOBALS.G_UI_FLAG := FALSE;
252
253 -- Set return status.
254
255 x_return_status := FND_API.G_RET_STS_SUCCESS;
256
257 -- Get message count and data
258
259 oe_msg_pub.count_and_get
260 ( p_count => x_msg_count
261 , p_data => x_msg_data
262 );
263
264 IF l_debug_level > 0 THEN
265 oe_debug_pub.add( 'EXITING Oe_Oe_Html_Line.DEFAULT_ATTRIBUTES' , 1 ) ;
266 END IF;
267
268 EXCEPTION
269
270 WHEN FND_API.G_EXC_ERROR THEN
271
272 OE_GLOBALS.G_UI_FLAG := FALSE;
273
274 x_return_status := FND_API.G_RET_STS_ERROR;
275
276 -- Get message count and data
277
278 oe_msg_pub.count_and_get
279 ( p_count => x_msg_count
280 , p_data => x_msg_data
281 );
282
283 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
284
285 OE_GLOBALS.G_UI_FLAG := FALSE;
286
287 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
288
289 -- Get message count and data
290
291 oe_msg_pub.count_and_get
292 ( p_count => x_msg_count
293 , p_data => x_msg_data
294 );
295
296 WHEN OTHERS THEN
297
298 OE_GLOBALS.G_UI_FLAG := FALSE;
299
300 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
301
302 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_UNEXP_ERROR)
303 THEN
304 oe_msg_pub.Add_Exc_Msg
305 ( G_PKG_NAME
306 , 'Default_Attributes' || l_error
307 );
308 END IF;
309
310 -- Get message count and data
311
312 oe_msg_pub.count_and_get
313 ( p_count => x_msg_count
314 , p_data => x_msg_data
315 );
316
317 END Default_Attributes;
318
319
320 -- Procedure : Change_Attribute
321 --
322
323 PROCEDURE Change_Attribute
324 ( x_return_status OUT NOCOPY VARCHAR2
325 , x_msg_count OUT NOCOPY NUMBER
326 , x_msg_data OUT NOCOPY VARCHAR2
327 , p_line_id IN NUMBER
328 , p_attr_id IN NUMBER
329 , p_attr_value IN VARCHAR2
330 , p_attr_id_tbl IN Number_Tbl_Type
331 , p_attr_value_tbl IN Varchar2_Tbl_Type
332 , p_reason IN VARCHAR2
333 , p_comments IN VARCHAR2
334 , x_line_Rec IN OUT NOCOPY OE_ORDER_PUB.Line_Rec_Type
335 , x_old_line_rec IN OUT NOCOPY OE_ORDER_PUB.Line_Rec_Type
336 , x_line_val_rec IN OUT NOCOPY OE_ORDER_PUB.Line_Val_Rec_Type
337
338
339
340 )
341 IS
342 l_control_rec OE_GLOBALS.Control_Rec_Type;
343 l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
344 l_order_date_type_code VARCHAR2(30) := null;
345 l_orig_ship_from_org_id OE_Order_LINES.ship_from_org_id%TYPE;
346 l_x_item_rec_type OE_ORDER_CACHE.item_rec_type; -- OPM 2/JUN/00
347 file_name varchar2(100);
348 i pls_Integer;
349 L_PRICE_CONTROL_REC QP_PREQ_GRP.control_record_type;
350 --
351 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
352 --
353
354 x_line_tbl OE_Order_PUB.Line_Tbl_Type;
355 x_old_line_tbl OE_ORDER_PUB.Line_Tbl_Type;
356 x_line_val_tbl OE_ORDER_PUB.Line_Val_Tbl_Type;
357 BEGIN
358
359 IF l_debug_level > 0 THEN
360 oe_debug_pub.add( 'ENTERING Oe_Oe_Html_Line.CHANGE_ATTRIBUTES' , 1 ) ;
361 END IF;
362
363 -- Set UI flag to TRUE
364 OE_GLOBALS.G_UI_FLAG := TRUE;
365
366
367 -- Set control flags.
368
369 l_control_rec.controlled_operation := TRUE;
370 l_control_rec.change_attributes := FALSE;
371 l_control_rec.check_security := TRUE;
372 l_control_rec.clear_dependents := TRUE;
373 l_control_rec.default_attributes := TRUE;
374
375 l_control_rec.validate_entity := FALSE;
376 l_control_rec.write_to_DB := FALSE;
377 l_control_rec.process := FALSE;
378
379 -- Instruct API to retain its caches
380
381 l_control_rec.clear_api_cache := FALSE;
382 l_control_rec.clear_api_requests := FALSE;
383
384 -- Read line from cache
385
386
387
388
389 IF l_debug_level > 0 THEN
390 oe_debug_pub.add( 'SETTING OPERATION' , 2 ) ;
391 END IF;
392
393 x_line_tbl(1):=x_line_Rec;
394 x_old_line_tbl(1):=x_old_line_Rec;
395
396 IF FND_API.To_Boolean(x_line_tbl(1).db_flag) THEN
397 x_line_tbl(1).operation := OE_GLOBALS.G_OPR_UPDATE;
398 ELSE
399 x_line_tbl(1).operation := OE_GLOBALS.G_OPR_CREATE;
400 END IF;
401 x_line_tbl(1).operation := OE_GLOBALS.G_OPR_CREATE;
402
403 -- Populate line table
404 -- Validate Scheduling Dates Changes, if any.
405
406
407 IF l_debug_level > 0 THEN
408 oe_debug_pub.add( 'CALLING PROCESS ORDER' , 2 ) ;
409 oe_debug_pub.add( 'BEFORE CALLING PROCESS ORDER' , 1 ) ;
410 END IF;
411
412 -- Call Oe_Order_Pvt.Process_order
413 Oe_Order_Pvt.Lines
414 (
415 p_validation_level => FND_API.G_VALID_LEVEL_NONE
416 , p_init_msg_list => FND_API.G_TRUE
417 , p_control_rec => l_control_rec
418 , p_x_line_tbl => x_line_tbl
419 , p_x_old_line_tbl => x_old_line_tbl
420 , x_return_status => l_return_status
421 );
422
423
424 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
425 IF l_debug_level > 0 THEN
426 oe_debug_pub.add( 'PROCESS ORDER RETURN UNEXP_ERROR' , 2 ) ;
427 END IF;
428 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
429 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
430 IF l_debug_level > 0 THEN
431 oe_debug_pub.add( 'PROCESS ORDER RETURN RET_STS_ERROR' , 2 ) ;
432 END IF;
433 RAISE FND_API.G_EXC_ERROR;
434 END IF;
435
436
437 -- Unload out tbl
438
439
440 -- Init OUT parameters to missing.
441
442 -- Load display out parameters if any
443
444 x_line_val_tbl(1):=OE_Line_Util.Get_Values
445 ( p_line_rec => x_line_tbl(1)
446 , p_old_line_rec => x_old_line_tbl(1)
447 );
448
449
450 -- Write to cache.
451 IF l_debug_level > 0 THEN
452 oe_debug_pub.add( 'WRITING TO CACHE' , 2 ) ;
453 END IF;
454
455
456 -- Re-set the UI flag to FALSE
457 OE_GLOBALS.G_UI_FLAG := FALSE;
458
459 -- Set return status.
460
461 x_return_status := FND_API.G_RET_STS_SUCCESS;
462
463 -- Get message count and data
464 x_line_rec:=x_line_tbl(1);
465 x_old_line_rec:=x_old_line_tbl(1);
466 x_line_val_rec:=x_line_val_tbl(1);
467
468 oe_msg_pub.count_and_get
469 ( p_count => x_msg_count
470 , p_data => x_msg_data
471 );
472
473 IF l_debug_level > 0 THEN
474 oe_debug_pub.add( 'EXITING Oe_Oe_Html_Line.CHANGE_ATTRIBUTE' , 1 ) ;
475 END IF;
476
477 EXCEPTION
478
479 WHEN FND_API.G_EXC_ERROR THEN
480
481 OE_GLOBALS.G_UI_FLAG := FALSE;
482
483 x_return_status := FND_API.G_RET_STS_ERROR;
484
485 -- Get message count and data
486
487 oe_msg_pub.count_and_get
488 ( p_count => x_msg_count
489 , p_data => x_msg_data
490 );
491
492 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
493
494 OE_GLOBALS.G_UI_FLAG := FALSE;
495
496 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
497
498 -- Get message count and data
499
500 oe_msg_pub.count_and_get
501 ( p_count => x_msg_count
502 , p_data => x_msg_data
503 );
504
505 WHEN OTHERS THEN
506
507 OE_GLOBALS.G_UI_FLAG := FALSE;
508
509 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
510
511 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_UNEXP_ERROR)
512 THEN
513 oe_msg_pub.Add_Exc_Msg
514 ( G_PKG_NAME
515 , 'Change_Attribute'
516 );
517 END IF;
518
519 -- Get message count and data
520
521 oe_msg_pub.count_and_get
522 ( p_count => x_msg_count
523 , p_data => x_msg_data
524 );
525
526 END Change_Attribute;
527
528
529 -- Procedure Delete_Row
530 --
531
532 PROCEDURE Delete_Row
533 ( x_return_status OUT NOCOPY VARCHAR2
534 , x_msg_count OUT NOCOPY NUMBER
535 , x_msg_data OUT NOCOPY VARCHAR2
536 , p_line_id IN NUMBER
537 , p_change_reason_code IN VARCHAR2 Default Null
538 , p_change_comments IN VARCHAR2 Default Null
539 )
540 IS
541 l_x_line_rec OE_Order_PUB.Line_Rec_Type;
542 l_x_line_tbl OE_Order_PUB.Line_Tbl_Type;
543 l_x_old_line_tbl OE_Order_PUB.Line_Tbl_Type;
544 l_control_rec OE_GLOBALS.Control_Rec_Type;
545 l_return_status VARCHAR2(1);
546 --
547 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
548 --
549 BEGIN
550 SAVEPOINT LINE_DELETE;
551 IF l_debug_level > 0 THEN
552 oe_debug_pub.add( 'ENTERING Oe_Oe_Html_Line.DELETE_ROW' , 1 ) ;
553 END IF;
554
555 -- Set UI flag to TRUE
556 OE_GLOBALS.G_UI_FLAG := TRUE;
557
558 -- Set control flags.
559
560 l_control_rec.controlled_operation := TRUE;
561 l_control_rec.check_security := TRUE;
562 l_control_rec.validate_entity := TRUE;
563 l_control_rec.write_to_DB := TRUE;
564
565 l_control_rec.default_attributes := FALSE;
566 l_control_rec.change_attributes := FALSE;
567 l_control_rec.process := FALSE;
568
569 -- Instruct API to retain its caches
570
571 l_control_rec.clear_api_cache := FALSE;
572 l_control_rec.clear_api_requests := FALSE;
573
574
575
576 -- Set Operation.
577
578 l_x_line_rec.operation := OE_GLOBALS.G_OPR_DELETE;
579
580 -- Populate line table
581
582 l_x_line_tbl(1) := l_x_line_rec;
583 l_x_line_tbl(1).change_reason := p_change_reason_code;
584 l_x_line_tbl(1).change_comments := p_change_comments;
585
586 -- Call Oe_Order_Pvt.Process_order
587
588 Oe_Order_Pvt.Lines
589 ( p_validation_level => FND_API.G_VALID_LEVEL_NONE
590 , p_init_msg_list => FND_API.G_TRUE
591 , p_control_rec => l_control_rec
592 , p_x_line_tbl => l_x_line_tbl
593 , p_x_old_line_tbl => l_x_old_line_tbl
594 , x_return_status => l_return_status
595
596 );
597
598
599 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
600 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
601 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
602 RAISE FND_API.G_EXC_ERROR;
603 END IF;
604
605 -- Re-set the UI flag to FALSE
606 OE_GLOBALS.G_UI_FLAG := FALSE;
607
608 -- Clear line record cache
609
610
611 -- Set return status.
612
613 x_return_status := FND_API.G_RET_STS_SUCCESS;
614
615 -- Get message count and data
616
617 oe_msg_pub.count_and_get
618 ( p_count => x_msg_count
619 , p_data => x_msg_data
620 );
621
622 IF l_debug_level > 0 THEN
623 oe_debug_pub.add( 'EXITING Oe_Oe_Html_Line.DELETE_ROW' , 1 ) ;
624 END IF;
625
626 EXCEPTION
627
628 WHEN FND_API.G_EXC_ERROR THEN
629 ROLLBACK TO SAVEPOINT Line_Delete;
630 OE_GLOBALS.G_UI_FLAG := FALSE;
631
632 x_return_status := FND_API.G_RET_STS_ERROR;
633
634 -- Get message count and data
635
636 oe_msg_pub.count_and_get
637 ( p_count => x_msg_count
638 , p_data => x_msg_data
639 );
640
641 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
642 ROLLBACK TO SAVEPOINT Line_Delete;
643
644 OE_GLOBALS.G_UI_FLAG := FALSE;
645
646 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
647
648 -- Get message count and data
649
650 oe_msg_pub.count_and_get
651 ( p_count => x_msg_count
652 , p_data => x_msg_data
653 );
654
655 WHEN OTHERS THEN
656 ROLLBACK TO SAVEPOINT Line_Delete;
657
658 OE_GLOBALS.G_UI_FLAG := FALSE;
659
660 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
661
662 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_UNEXP_ERROR)
663 THEN
664 oe_msg_pub.Add_Exc_Msg
665 ( G_PKG_NAME
666 , 'Delete_Row'
667 );
668 END IF;
669
670 -- Get message count and data
671
672 oe_msg_pub.count_and_get
673 ( p_count => x_msg_count
674 , p_data => x_msg_data
675 );
676
677 END Delete_Row;
678
679
680 -- Procedure lock_Row
681 --
682
683 PROCEDURE Lock_Row
684 ( x_return_status OUT NOCOPY VARCHAR2
685 , x_msg_count OUT NOCOPY NUMBER
686 , x_msg_data OUT NOCOPY VARCHAR2
687 , p_line_id IN NUMBER
688 , p_lock_control IN NUMBER
689 )
690
691 IS
692 l_return_status VARCHAR2(1);
693 l_x_line_rec OE_Order_PUB.Line_Rec_Type;
694 --
695 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
696 --
697 BEGIN
698
699 IF l_debug_level > 0 THEN
700 oe_debug_pub.add( 'ENTERING Oe_Oe_Html_Line.LOCK_ROW' , 1 ) ;
701 END IF;
702
703 -- Load line record
704
705 l_x_line_rec.lock_control := p_lock_control;
706 l_x_line_rec.line_id := p_line_id;
707 l_x_line_rec.operation := OE_GLOBALS.G_OPR_LOCK; -- not req.
708
709 --Bug 3025978
710 OE_GLOBALS.G_UI_FLAG := TRUE;
711
712 -- Call OE_Line_Util.Lock_Row instead of Oe_Order_Pvt.Lock_order
713 OE_MSG_PUB.initialize;
714 OE_Line_Util.Lock_Row
715 ( x_return_status => l_return_status
716 , p_x_line_rec => l_x_line_rec
717 , p_line_id => p_line_id);
718
719 IF l_return_status = FND_API.G_RET_STS_SUCCESS THEN
720
721 -- Set DB flag and write record to cache.
722
723 l_x_line_rec.db_flag := FND_API.G_TRUE;
724 IF l_debug_level > 0 THEN
725 oe_debug_pub.add( 'EXITING Oe_Oe_Html_Line.LOCK_ROW'||L_X_LINE_REC.LINE_ID , 1 ) ;
726 END IF;
727
728
729 END IF;
730
731 -- Set return status.
732
733 x_return_status := l_return_status;
734 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
735 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
736 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
737 RAISE FND_API.G_EXC_ERROR;
738 END IF;
739
740 -- Get message count and data
741
742 oe_msg_pub.count_and_get
743 ( p_count => x_msg_count
744 , p_data => x_msg_data
745 );
746
747 IF l_debug_level > 0 THEN
748 oe_debug_pub.add( 'EXITING Oe_Oe_Html_Line.LOCK_ROW' , 1 ) ;
749 END IF;
750
751 EXCEPTION
752 WHEN FND_API.G_EXC_ERROR THEN
753
754 OE_GLOBALS.G_UI_FLAG := FALSE;
755
756 x_return_status := FND_API.G_RET_STS_ERROR;
757
758 -- Get message count and data
759
760 oe_msg_pub.count_and_get
761 ( p_count => x_msg_count
762 , p_data => x_msg_data
763 );
764
765 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
766
767 OE_GLOBALS.G_UI_FLAG := FALSE;
768
769 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
770
771 -- Get message count and data
772
773 oe_msg_pub.count_and_get
774 ( p_count => x_msg_count
775 , p_data => x_msg_data
776 );
777
778 WHEN OTHERS THEN
779
780 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_UNEXP_ERROR)
781 THEN
782 oe_msg_pub.Add_Exc_Msg
783 ( G_PKG_NAME
784 , 'Lock_Row'
785 );
786 END IF;
787
788 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
789
790 -- Get message count and data
791
792 oe_msg_pub.count_and_get
793 ( p_count => x_msg_count
794 , p_data => x_msg_data
795 );
796
797
798
799 END Lock_Row;
800
801
802 -- This procedure will be called from the client when the user
803 -- clears a record
804 Procedure Clear_Record
805 ( x_return_status OUT NOCOPY VARCHAR2
806 , x_msg_count OUT NOCOPY NUMBER
807 , x_msg_data OUT NOCOPY VARCHAR2
808 , p_line_id IN NUMBER
809 )
810 IS
811 l_return_status Varchar2(30);
812 --
813 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
814 --
815 l_new_line_rec OE_Order_PUB.Line_Rec_Type; --3445778
816 l_old_line_rec OE_Order_PUB.Line_Rec_Type; --3445778
817 l_index NUMBER; --3445778
818 BEGIN
819 OE_MSG_PUB.initialize;
820 x_return_status := FND_API.G_RET_STS_SUCCESS;
821
822 OE_DELAYED_REQUESTS_PVT.Delete_Reqs_for_Deleted_Entity(
823 p_entity_code => OE_GLOBALS.G_ENTITY_LINE
824 ,p_entity_id => p_line_id
825 ,x_return_status => l_return_status);
826
827 -- Added for bug 3445778
828 oe_debug_pub.add('Executing code for updating global picture, line_id: ' || p_line_id, 1);
829
830 -- Set the operation on the record so that globals are updated
831 l_new_line_rec.operation := OE_GLOBALS.G_OPR_DELETE;
832 l_new_line_rec.line_id := p_line_id;
833 l_old_line_rec.line_id := p_line_id;
834
835 OE_ORDER_UTIL.Update_Global_Picture(p_Upd_New_Rec_If_Exists => True,
836 p_line_rec => l_new_line_rec,
837 p_line_id => p_line_id,
838 p_old_line_rec => l_old_line_rec,
839 x_index => l_index,
840 x_return_status => l_return_status);
841
842 -- End of 3445778
843
844 OE_MSG_PUB.Count_And_Get
845 ( p_count => x_msg_count
846 , p_data => x_msg_data
847 );
848
849 -- Clear the controller cache, so that it will not be used for
850 -- next operation on same record
851
852
853 EXCEPTION
854 WHEN OTHERS THEN
855 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
856 THEN
857 OE_MSG_PUB.Add_Exc_Msg
858 ( G_PKG_NAME
859 , 'Clear_Record'
860 );
861 END IF;
862 -- Get message count and data
863 OE_MSG_PUB.Count_And_Get
864 ( p_count => x_msg_count
865 , p_data => x_msg_data
866 );
867 x_return_status := FND_API.G_RET_STS_ERROR;
868
869 END Clear_Record;
870
871
872 END Oe_Oe_Html_Line;