[Home] [Help]
PACKAGE BODY: APPS.OE_OE_FORM_LINE_SCREDIT
Source
1 PACKAGE BODY OE_OE_Form_Line_Scredit AS
2 /* $Header: OEXFLSCB.pls 120.0 2005/05/31 22:27:28 appldev noship $ */
3
4 -- Global constant holding the package name
5
6 G_PKG_NAME CONSTANT VARCHAR2(30) := 'OE_OE_Form_Line_Scredit';
7
8 -- Global variables holding cached record.
9
10 g_Line_Scredit_rec OE_Order_PUB.Line_Scredit_Rec_Type;
11 g_db_Line_Scredit_rec OE_Order_PUB.Line_Scredit_Rec_Type;
12
13 -- Forward declaration of procedures maintaining entity record cache.
14
15 PROCEDURE Write_Line_Scredit
16 ( p_Line_Scredit_rec IN OE_Order_PUB.Line_Scredit_Rec_Type
17 , p_db_record IN BOOLEAN := FALSE
18 );
19
20 PROCEDURE Get_Line_Scredit
21 ( p_db_record IN BOOLEAN := FALSE
22 , p_sales_credit_id IN NUMBER
23 , x_line_scredit_rec IN OUT NOCOPY OE_Order_PUB.Line_Scredit_Rec_Type
24 );
25
26 PROCEDURE Clear_Line_Scredit;
27
28 -- Global variable holding performed operations.
29
30 g_opr__tbl OE_Order_PUB.Line_Scredit_Tbl_Type;
31
32 -- Procedure : Default_Attributes
33 --
34
35 PROCEDURE Default_Attributes
36 ( x_return_status OUT NOCOPY VARCHAR2
37
38 , x_msg_count OUT NOCOPY NUMBER
39
40 , x_msg_data OUT NOCOPY VARCHAR2
41
42 , p_line_id IN NUMBER
43 , x_attribute1 OUT NOCOPY VARCHAR2
44
45 , x_attribute10 OUT NOCOPY VARCHAR2
46
47 , x_attribute11 OUT NOCOPY VARCHAR2
48
49 , x_attribute12 OUT NOCOPY VARCHAR2
50
51 , x_attribute13 OUT NOCOPY VARCHAR2
52
53 , x_attribute14 OUT NOCOPY VARCHAR2
54
55 , x_attribute15 OUT NOCOPY VARCHAR2
56
57 , x_attribute2 OUT NOCOPY VARCHAR2
58
59 , x_attribute3 OUT NOCOPY VARCHAR2
60
61 , x_attribute4 OUT NOCOPY VARCHAR2
62
63 , x_attribute5 OUT NOCOPY VARCHAR2
64
65 , x_attribute6 OUT NOCOPY VARCHAR2
66
67 , x_attribute7 OUT NOCOPY VARCHAR2
68
69 , x_attribute8 OUT NOCOPY VARCHAR2
70
71 , x_attribute9 OUT NOCOPY VARCHAR2
72
73 , x_context OUT NOCOPY VARCHAR2
74
75 , x_dw_update_advice_flag OUT NOCOPY VARCHAR2
76
77 , x_header_id OUT NOCOPY NUMBER
78
79 , x_line_id OUT NOCOPY NUMBER
80
81 , x_percent OUT NOCOPY NUMBER
82
83 , x_salesrep_id OUT NOCOPY NUMBER
84
85 , x_sales_credit_type_id OUT NOCOPY NUMBER
86
87 , x_sales_credit_id OUT NOCOPY NUMBER
88
89 , x_wh_update_date OUT NOCOPY DATE
90
91 , x_salesrep OUT NOCOPY VARCHAR2
92
93 , x_sales_credit_type OUT NOCOPY VARCHAR2
94 --SG {
95 , x_sales_group_id OUT NOCOPY /* file.sql.39 change */ NUMBER
96 , x_sales_group_updated_flag OUT NOCOPY /* file.sql.39 change */ VARCHAR2
97 --SG}
98 )
99 IS
100 l_Line_Scredit_val_rec OE_Order_PUB.Line_Scredit_Val_Rec_Type;
101 l_control_rec OE_GLOBALS.Control_Rec_Type;
102 l_return_status VARCHAR2(1);
103 l_x_Line_Scredit_rec OE_Order_PUB.Line_Scredit_Rec_Type;
104 l_x_Line_Scredit_tbl OE_Order_PUB.Line_Scredit_Tbl_Type;
105 l_x_old_Line_Scredit_tbl OE_Order_PUB.Line_Scredit_Tbl_Type;
106
107 --
108 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
109 --
110 BEGIN
111
112 IF l_debug_level > 0 THEN
113 oe_debug_pub.add( 'ENTERING OE_OE_FORM_LINE_SCREDIT.DEFAULT_ATTRIBUTES' , 1 ) ;
114 END IF;
115
116 -- Set the UI flag
117 OE_GLOBALS.G_UI_FLAG := TRUE;
118
119 -- Set control flags.
120
121 l_control_rec.controlled_operation := TRUE;
122 l_control_rec.check_security := TRUE;
123 l_control_rec.default_attributes := TRUE;
124 l_control_rec.change_attributes := TRUE;
125
126 l_control_rec.clear_dependents := 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 l_x_Line_Scredit_rec:=OE_ORDER_PUB.G_MISS_LINE_SCREDIT_REC;
138 l_x_old_Line_Scredit_Tbl(1):=OE_ORDER_PUB.G_MISS_LINE_SCREDIT_REC;
139
140 l_x_Line_Scredit_rec.line_id := p_line_id;
141
142 -- Defaulting of flex values is currently done by the form.
143 -- Set flex attributes to NULL in order to avoid defaulting them.
144
145 l_x_line_scredit_rec.attribute1 := NULL;
146 l_x_line_scredit_rec.attribute10 := NULL;
147 l_x_line_scredit_rec.attribute11 := NULL;
148 l_x_line_scredit_rec.attribute12 := NULL;
149 l_x_line_scredit_rec.attribute13 := NULL;
150 l_x_line_scredit_rec.attribute14 := NULL;
151 l_x_line_scredit_rec.attribute15 := NULL;
152 l_x_line_scredit_rec.attribute2 := NULL;
153 l_x_line_scredit_rec.attribute3 := NULL;
154 l_x_line_scredit_rec.attribute4 := NULL;
155 l_x_line_scredit_rec.attribute5 := NULL;
156 l_x_line_scredit_rec.attribute6 := NULL;
157 l_x_line_scredit_rec.attribute7 := NULL;
158 l_x_line_scredit_rec.attribute8 := NULL;
159 l_x_line_scredit_rec.attribute9 := NULL;
160 l_x_line_scredit_rec.context := NULL;
161
162 -- Set Operation to Create
163
164 l_x_line_scredit_rec.operation := OE_GLOBALS.G_OPR_CREATE;
165
166 -- Populate Line_Scredit table
167
168 l_x_Line_Scredit_tbl(1) := l_x_Line_Scredit_rec;
169
170 -- Call OE_Order_PVT.Process_order
171
172 OE_Order_PVT.Line_Scredits
173 ( p_validation_level => FND_API.G_VALID_LEVEL_NONE
174 , p_init_msg_list => FND_API.G_TRUE
175 , p_control_rec => l_control_rec
176 , p_x_Line_Scredit_tbl => l_x_Line_Scredit_tbl
177 , p_x_old_Line_Scredit_tbl => l_x_old_Line_Scredit_tbl
178 , x_return_status => l_return_status
179
180 );
181
182 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
183 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
184 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
185 RAISE FND_API.G_EXC_ERROR;
186 END IF;
187
188
189 -- Unload out tbl
190
191 l_x_Line_Scredit_rec := l_x_Line_Scredit_tbl(1);
192
193 -- Load OUT parameters.
194
195 x_attribute1 := l_x_Line_Scredit_rec.attribute1;
196 x_attribute10 := l_x_Line_Scredit_rec.attribute10;
197 x_attribute11 := l_x_Line_Scredit_rec.attribute11;
198 x_attribute12 := l_x_Line_Scredit_rec.attribute12;
199 x_attribute13 := l_x_Line_Scredit_rec.attribute13;
200 x_attribute14 := l_x_Line_Scredit_rec.attribute14;
201 x_attribute15 := l_x_Line_Scredit_rec.attribute15;
202 x_attribute2 := l_x_Line_Scredit_rec.attribute2;
203 x_attribute3 := l_x_Line_Scredit_rec.attribute3;
204 x_attribute4 := l_x_Line_Scredit_rec.attribute4;
205 x_attribute5 := l_x_Line_Scredit_rec.attribute5;
206 x_attribute6 := l_x_Line_Scredit_rec.attribute6;
207 x_attribute7 := l_x_Line_Scredit_rec.attribute7;
208 x_attribute8 := l_x_Line_Scredit_rec.attribute8;
209 x_attribute9 := l_x_Line_Scredit_rec.attribute9;
210 x_context := l_x_Line_Scredit_rec.context;
211 x_dw_update_advice_flag := l_x_Line_Scredit_rec.dw_update_advice_flag;
212 x_header_id := l_x_Line_Scredit_rec.header_id;
213 x_line_id := l_x_Line_Scredit_rec.line_id;
214 x_percent := l_x_Line_Scredit_rec.percent;
215 x_salesrep_id := l_x_Line_Scredit_rec.salesrep_id;
216 x_sales_credit_type_id := l_x_Line_Scredit_rec.sales_credit_type_id;
217 x_sales_credit_id := l_x_Line_Scredit_rec.sales_credit_id;
218 x_wh_update_date := l_x_Line_Scredit_rec.wh_update_date;
219
220 -- Load display out parameters if any
221
222 l_Line_Scredit_val_rec := OE_Line_Scredit_Util.Get_Values
223 ( p_Line_Scredit_rec => l_x_Line_Scredit_rec
224 );
225 x_sales_credit_type := l_Line_Scredit_val_rec.sales_credit_type;
226
227 -- Write to cache.
228 -- Set db_flag to False before writing to cache
229
230 l_x_Line_Scredit_rec.db_flag := FND_API.G_FALSE;
231
232 Write_Line_Scredit
233 ( p_Line_Scredit_rec => l_x_Line_Scredit_rec
234 );
235
236 -- Re-set the UI flag to FALSE
237 OE_GLOBALS.G_UI_FLAG := FALSE;
238
239 -- Set return status.
240
241 x_return_status := FND_API.G_RET_STS_SUCCESS;
242
243 -- Get message count and data
244
245 oe_msg_pub.Count_And_Get
246 ( p_count => x_msg_count
247 , p_data => x_msg_data
248 );
249
250 IF l_debug_level > 0 THEN
251 oe_debug_pub.add( 'EXITING OE_OE_FORM_LINE_SCREDIT.DEFAULT_ATTRIBUTES' , 1 ) ;
252 END IF;
253
254 EXCEPTION
255
256 WHEN FND_API.G_EXC_ERROR THEN
257
258 OE_GLOBALS.G_UI_FLAG := FALSE;
259
260 x_return_status := FND_API.G_RET_STS_ERROR;
261
262 -- Get message count and data
263
264 oe_msg_pub.Count_And_Get
265 ( p_count => x_msg_count
266 , p_data => x_msg_data
267 );
268
269 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
270
271 OE_GLOBALS.G_UI_FLAG := FALSE;
272
273 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
274
275 -- Get message count and data
276
277 oe_msg_pub.Count_And_Get
278 ( p_count => x_msg_count
279 , p_data => x_msg_data
280 );
281
282 WHEN OTHERS THEN
283
284 OE_GLOBALS.G_UI_FLAG := FALSE;
285
286 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
287
288 IF oe_msg_pub.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
289 THEN
290 oe_msg_pub.Add_Exc_Msg
291 ( G_PKG_NAME
292 , 'Default_Attributes'
293 );
294 END IF;
295
296 -- Get message count and data
297
298 oe_msg_pub.Count_And_Get
299 ( p_count => x_msg_count
300 , p_data => x_msg_data
301 );
302
303 END Default_Attributes;
304
305 -- Procedure : Change_Attribute
306 --
307
308 PROCEDURE Change_Attribute
309 ( x_return_status OUT NOCOPY VARCHAR2
310
311 , x_msg_count OUT NOCOPY NUMBER
312
313 , x_msg_data OUT NOCOPY VARCHAR2
314
315 , p_sales_credit_id IN NUMBER
316 , p_attr_id IN NUMBER
317 , p_attr_value IN VARCHAR2
318 , p_attribute1 IN VARCHAR2
319 , p_attribute10 IN VARCHAR2
320 , p_attribute11 IN VARCHAR2
321 , p_attribute12 IN VARCHAR2
322 , p_attribute13 IN VARCHAR2
323 , p_attribute14 IN VARCHAR2
324 , p_attribute15 IN VARCHAR2
325 , p_attribute2 IN VARCHAR2
326 , p_attribute3 IN VARCHAR2
327 , p_attribute4 IN VARCHAR2
328 , p_attribute5 IN VARCHAR2
329 , p_attribute6 IN VARCHAR2
330 , p_attribute7 IN VARCHAR2
331 , p_attribute8 IN VARCHAR2
332 , p_attribute9 IN VARCHAR2
333 , p_context IN VARCHAR2
334 --SG{
335 , p_sales_group_id IN NUMBER
336 , p_sales_group_updated_flag IN VARCHAR2
337 --SG}
338 , x_attribute1 OUT NOCOPY VARCHAR2
339
340 , x_attribute10 OUT NOCOPY VARCHAR2
341
342 , x_attribute11 OUT NOCOPY VARCHAR2
343
344 , x_attribute12 OUT NOCOPY VARCHAR2
345
346 , x_attribute13 OUT NOCOPY VARCHAR2
347
348 , x_attribute14 OUT NOCOPY VARCHAR2
349
350 , x_attribute15 OUT NOCOPY VARCHAR2
351
352 , x_attribute2 OUT NOCOPY VARCHAR2
353
354 , x_attribute3 OUT NOCOPY VARCHAR2
355
356 , x_attribute4 OUT NOCOPY VARCHAR2
357
358 , x_attribute5 OUT NOCOPY VARCHAR2
359
360 , x_attribute6 OUT NOCOPY VARCHAR2
361
362 , x_attribute7 OUT NOCOPY VARCHAR2
363
364 , x_attribute8 OUT NOCOPY VARCHAR2
365
366 , x_attribute9 OUT NOCOPY VARCHAR2
367
368 , x_context OUT NOCOPY VARCHAR2
369
370 , x_dw_update_advice_flag OUT NOCOPY VARCHAR2
371
372 , x_header_id OUT NOCOPY NUMBER
373
374 , x_line_id OUT NOCOPY NUMBER
375
376 , x_percent OUT NOCOPY NUMBER
377
378 , x_salesrep_id OUT NOCOPY NUMBER
379
380 , x_sales_credit_type_id OUT NOCOPY NUMBER
381
382 , x_sales_credit_id OUT NOCOPY NUMBER
383
384 , x_wh_update_date OUT NOCOPY DATE
385
386 , x_salesrep OUT NOCOPY VARCHAR2
387
388 , x_sales_credit_type OUT NOCOPY VARCHAR2
389 --SG{
390 , x_sales_group OUT NOCOPY VARCHAR2
391 , x_sales_group_id OUT NOCOPY NUMBER
392 , x_sales_group_updated_flag OUT NOCOPY VARCHAR2
393 --SG}
394
395 )
396 IS
397 l_Line_Scredit_rec OE_Order_PUB.Line_Scredit_Rec_Type;
398 l_old_Line_Scredit_rec OE_Order_PUB.Line_Scredit_Rec_Type;
399 l_Line_Scredit_val_rec OE_Order_PUB.Line_Scredit_Val_Rec_Type;
400 l_control_rec OE_GLOBALS.Control_Rec_Type;
401 l_return_status VARCHAR2(1);
402 l_x_Line_Scredit_rec OE_Order_PUB.Line_Scredit_Rec_Type;
403 l_x_Line_Scredit_tbl OE_Order_PUB.Line_Scredit_Tbl_Type;
404 l_x_old_Line_Scredit_tbl OE_Order_PUB.Line_Scredit_Tbl_Type;
405
406 --
407 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
408 --
409 BEGIN
410
411 IF l_debug_level > 0 THEN
412 oe_debug_pub.add( 'ENTERING OE_OE_FORM_LINE_SCREDIT.CHANGE_ATTRIBUTE' , 1 ) ;
413 END IF;
414
415 -- Set the UI flag
416 OE_GLOBALS.G_UI_FLAG := TRUE;
417
418 -- Set control flags.
419
420 l_control_rec.controlled_operation := TRUE;
421 l_control_rec.check_security := TRUE;
422 l_control_rec.clear_dependents := TRUE;
423 l_control_rec.default_attributes := TRUE;
424 l_control_rec.change_attributes := TRUE;
425
426 l_control_rec.validate_entity := FALSE;
427 l_control_rec.write_to_DB := FALSE;
428 l_control_rec.process := FALSE;
429
430 -- Instruct API to retain its caches
431
432 l_control_rec.clear_api_cache := FALSE;
433 l_control_rec.clear_api_requests := FALSE;
434
435 -- Read Line_Scredit from cache
436
437 Get_Line_Scredit
438 ( p_db_record => FALSE
439 , p_sales_credit_id => p_sales_credit_id
440 , x_line_scredit_rec => l_line_scredit_rec
441 );
442
443 l_old_Line_Scredit_rec := l_Line_Scredit_rec;
444
445 IF p_attr_id = OE_Line_Scredit_Util.G_DW_UPDATE_ADVICE THEN
446 l_Line_Scredit_rec.dw_update_advice_flag := p_attr_value;
447 ELSIF p_attr_id = OE_Line_Scredit_Util.G_HEADER THEN
448 l_Line_Scredit_rec.header_id := TO_NUMBER(p_attr_value);
449 ELSIF p_attr_id = OE_Line_Scredit_Util.G_LINE THEN
450 l_Line_Scredit_rec.line_id := TO_NUMBER(p_attr_value);
451 ELSIF p_attr_id = OE_Line_Scredit_Util.G_PERCENT THEN
452 l_Line_Scredit_rec.percent := TO_NUMBER(p_attr_value);
453 ELSIF p_attr_id = OE_Line_Scredit_Util.G_SALESREP THEN
454 l_Line_Scredit_rec.salesrep_id := TO_NUMBER(p_attr_value);
455 ELSIF p_attr_id = OE_Line_Scredit_Util.G_sales_credit_type THEN
456 l_Line_Scredit_rec.sales_credit_type_id := TO_NUMBER(p_attr_value);
457 ELSIF p_attr_id = OE_Line_Scredit_Util.G_SALES_CREDIT THEN
458 l_Line_Scredit_rec.sales_credit_id := TO_NUMBER(p_attr_value);
459 ELSIF p_attr_id = OE_Line_Scredit_Util.G_WH_UPDATE_DATE THEN
460 l_Line_Scredit_rec.wh_update_date := TO_DATE(p_attr_value,'YYYY/MM/DD');
461 --SG {
462 ELSIF p_attr_id = OE_Line_Scredit_Util.G_SALES_GROUP_ID THEN
463 l_line_scredit_rec.sales_group_id := TO_NUMBER(p_attr_value);
464 ELSIF p_attr_id = OE_Line_Scredit_Util.G_SALES_GROUP_UPDATED_FLAG THEN
465 l_line_scredit_rec.sales_group_updated_flag := p_attr_value;
466 --SG }
467 ELSIF p_attr_id = OE_Line_Scredit_Util.G_ATTRIBUTE1
468 OR p_attr_id = OE_Line_Scredit_Util.G_ATTRIBUTE10
469 OR p_attr_id = OE_Line_Scredit_Util.G_ATTRIBUTE11
470 OR p_attr_id = OE_Line_Scredit_Util.G_ATTRIBUTE12
471 OR p_attr_id = OE_Line_Scredit_Util.G_ATTRIBUTE13
472 OR p_attr_id = OE_Line_Scredit_Util.G_ATTRIBUTE14
473 OR p_attr_id = OE_Line_Scredit_Util.G_ATTRIBUTE2
474 OR p_attr_id = OE_Line_Scredit_Util.G_ATTRIBUTE3
475 OR p_attr_id = OE_Line_Scredit_Util.G_ATTRIBUTE4
476 OR p_attr_id = OE_Line_Scredit_Util.G_ATTRIBUTE5
477 OR p_attr_id = OE_Line_Scredit_Util.G_ATTRIBUTE6
478 OR p_attr_id = OE_Line_Scredit_Util.G_ATTRIBUTE7
479 OR p_attr_id = OE_Line_Scredit_Util.G_ATTRIBUTE8
480 OR p_attr_id = OE_Line_Scredit_Util.G_ATTRIBUTE9
481 OR p_attr_id = OE_Line_Scredit_Util.G_CONTEXT
482 THEN
483
484 l_Line_Scredit_rec.attribute1 := p_attribute1;
485 l_Line_Scredit_rec.attribute10 := p_attribute10;
486 l_Line_Scredit_rec.attribute11 := p_attribute11;
487 l_Line_Scredit_rec.attribute12 := p_attribute12;
488 l_Line_Scredit_rec.attribute13 := p_attribute13;
489 l_Line_Scredit_rec.attribute14 := p_attribute14;
490 l_Line_Scredit_rec.attribute2 := p_attribute2;
491 l_Line_Scredit_rec.attribute3 := p_attribute3;
492 l_Line_Scredit_rec.attribute4 := p_attribute4;
493 l_Line_Scredit_rec.attribute5 := p_attribute5;
494 l_Line_Scredit_rec.attribute6 := p_attribute6;
495 l_Line_Scredit_rec.attribute7 := p_attribute7;
496 l_Line_Scredit_rec.attribute8 := p_attribute8;
497 l_Line_Scredit_rec.attribute9 := p_attribute9;
498 l_Line_Scredit_rec.context := p_context;
499
500 ELSE
501
502 -- Unexpected error, unrecognized attribute
503
504 IF oe_msg_pub.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
505 THEN
506 oe_msg_pub.Add_Exc_Msg
507 ( G_PKG_NAME
508 , 'Change_Attribute'
509 , 'Unrecognized attribute'
510 );
511 END IF;
512
513 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
514
515 END IF;
516
517 -- Set Operation.
518
519 IF FND_API.To_Boolean(l_Line_Scredit_rec.db_flag) THEN
520 l_Line_Scredit_rec.operation := OE_GLOBALS.G_OPR_UPDATE;
521 ELSE
522 l_Line_Scredit_rec.operation := OE_GLOBALS.G_OPR_CREATE;
523 END IF;
524
525 -- Populate Line_Scredit table
526
527 l_x_Line_Scredit_tbl(1) := l_Line_Scredit_rec;
528 l_x_old_Line_Scredit_tbl(1) := l_old_Line_Scredit_rec;
529
530 -- Call OE_Order_PVT.Process_order
531
532 OE_Order_PVT.Line_Scredits
533 ( p_validation_level => FND_API.G_VALID_LEVEL_NONE
534 , p_control_rec => l_control_rec
535 , p_init_msg_list => FND_API.G_TRUE
536 , p_x_Line_Scredit_tbl => l_x_Line_Scredit_tbl
537 , p_x_old_Line_Scredit_tbl => l_x_old_Line_Scredit_tbl
538 , x_return_status => l_return_status
539 );
540
541 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
542 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
543 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
544 RAISE FND_API.G_EXC_ERROR;
545 END IF;
546
547
548 -- Unload out tbl
549
550 l_x_Line_Scredit_rec := l_x_Line_Scredit_tbl(1);
551
552 -- Init OUT parameters to missing.
553
554 x_attribute1 := FND_API.G_MISS_CHAR;
555 x_attribute10 := FND_API.G_MISS_CHAR;
556 x_attribute11 := FND_API.G_MISS_CHAR;
557 x_attribute12 := FND_API.G_MISS_CHAR;
558 x_attribute13 := FND_API.G_MISS_CHAR;
559 x_attribute14 := FND_API.G_MISS_CHAR;
560 x_attribute15 := FND_API.G_MISS_CHAR;
561 x_attribute2 := FND_API.G_MISS_CHAR;
562 x_attribute3 := FND_API.G_MISS_CHAR;
563 x_attribute4 := FND_API.G_MISS_CHAR;
564 x_attribute5 := FND_API.G_MISS_CHAR;
565 x_attribute6 := FND_API.G_MISS_CHAR;
566 x_attribute7 := FND_API.G_MISS_CHAR;
567 x_attribute8 := FND_API.G_MISS_CHAR;
568 x_attribute9 := FND_API.G_MISS_CHAR;
569 x_context := FND_API.G_MISS_CHAR;
570 x_dw_update_advice_flag := FND_API.G_MISS_CHAR;
571 x_header_id := FND_API.G_MISS_NUM;
572 x_line_id := FND_API.G_MISS_NUM;
573 x_percent := FND_API.G_MISS_NUM;
574 x_salesrep_id := FND_API.G_MISS_NUM;
575 x_sales_credit_type_id := FND_API.G_MISS_NUM;
576 x_sales_credit_id := FND_API.G_MISS_NUM;
577 x_wh_update_date := FND_API.G_MISS_DATE;
578 x_salesrep := FND_API.G_MISS_CHAR;
579 x_sales_credit_type := FND_API.G_MISS_CHAR;
580 --SG{
581 x_sales_group := FND_API.G_MISS_CHAR;
582 x_sales_group_id := FND_API.G_MISS_NUM;
583 x_sales_group_updated_flag := FND_API.G_MISS_CHAR;
584 --SG}
585
586 -- Load display out parameters if any
587
588 l_Line_Scredit_val_rec := OE_Line_Scredit_Util.Get_Values
589 ( p_Line_Scredit_rec => l_x_Line_Scredit_rec
590 , p_old_Line_Scredit_rec => l_Line_Scredit_rec
591 );
592
593 -- Return changed attributes.
594
595 IF NOT OE_GLOBALS.Equal(l_x_Line_Scredit_rec.attribute1,
596 l_Line_Scredit_rec.attribute1)
597 THEN
598 x_attribute1 := l_x_Line_Scredit_rec.attribute1;
599 END IF;
600
601 IF NOT OE_GLOBALS.Equal(l_x_Line_Scredit_rec.attribute10,
602 l_Line_Scredit_rec.attribute10)
603 THEN
604 x_attribute10 := l_x_Line_Scredit_rec.attribute10;
605 END IF;
606
607 IF NOT OE_GLOBALS.Equal(l_x_Line_Scredit_rec.attribute11,
608 l_Line_Scredit_rec.attribute11)
609 THEN
610 x_attribute11 := l_x_Line_Scredit_rec.attribute11;
611 END IF;
612
613 IF NOT OE_GLOBALS.Equal(l_x_Line_Scredit_rec.attribute12,
614 l_Line_Scredit_rec.attribute12)
615 THEN
616 x_attribute12 := l_x_Line_Scredit_rec.attribute12;
617 END IF;
618
619 IF NOT OE_GLOBALS.Equal(l_x_Line_Scredit_rec.attribute13,
620 l_Line_Scredit_rec.attribute13)
621 THEN
622 x_attribute13 := l_x_Line_Scredit_rec.attribute13;
623 END IF;
624
625 IF NOT OE_GLOBALS.Equal(l_x_Line_Scredit_rec.attribute14,
626 l_Line_Scredit_rec.attribute14)
627 THEN
628 x_attribute14 := l_x_Line_Scredit_rec.attribute14;
629 END IF;
630
631 IF NOT OE_GLOBALS.Equal(l_x_Line_Scredit_rec.attribute15,
632 l_Line_Scredit_rec.attribute15)
633 THEN
634 x_attribute15 := l_x_Line_Scredit_rec.attribute15;
635 END IF;
636
637 IF NOT OE_GLOBALS.Equal(l_x_Line_Scredit_rec.attribute2,
638 l_Line_Scredit_rec.attribute2)
639 THEN
640 x_attribute2 := l_x_Line_Scredit_rec.attribute2;
641 END IF;
642
643 IF NOT OE_GLOBALS.Equal(l_x_Line_Scredit_rec.attribute3,
644 l_Line_Scredit_rec.attribute3)
645 THEN
646 x_attribute3 := l_x_Line_Scredit_rec.attribute3;
647 END IF;
648
649 IF NOT OE_GLOBALS.Equal(l_x_Line_Scredit_rec.attribute4,
650 l_Line_Scredit_rec.attribute4)
651 THEN
652 x_attribute4 := l_x_Line_Scredit_rec.attribute4;
653 END IF;
654
655 IF NOT OE_GLOBALS.Equal(l_x_Line_Scredit_rec.attribute5,
656 l_Line_Scredit_rec.attribute5)
657 THEN
658 x_attribute5 := l_x_Line_Scredit_rec.attribute5;
659 END IF;
660
661 IF NOT OE_GLOBALS.Equal(l_x_Line_Scredit_rec.attribute6,
662 l_Line_Scredit_rec.attribute6)
663 THEN
664 x_attribute6 := l_x_Line_Scredit_rec.attribute6;
665 END IF;
666
667 IF NOT OE_GLOBALS.Equal(l_x_Line_Scredit_rec.attribute7,
668 l_Line_Scredit_rec.attribute7)
669 THEN
670 x_attribute7 := l_x_Line_Scredit_rec.attribute7;
671 END IF;
672
673 IF NOT OE_GLOBALS.Equal(l_x_Line_Scredit_rec.attribute8,
674 l_Line_Scredit_rec.attribute8)
675 THEN
676 x_attribute8 := l_x_Line_Scredit_rec.attribute8;
677 END IF;
678
679 IF NOT OE_GLOBALS.Equal(l_x_Line_Scredit_rec.attribute9,
680 l_Line_Scredit_rec.attribute9)
681 THEN
682 x_attribute9 := l_x_Line_Scredit_rec.attribute9;
683 END IF;
684
685 IF NOT OE_GLOBALS.Equal(l_x_Line_Scredit_rec.context,
686 l_Line_Scredit_rec.context)
687 THEN
688 x_context := l_x_Line_Scredit_rec.context;
689 END IF;
690
691 IF NOT OE_GLOBALS.Equal(l_x_Line_Scredit_rec.dw_update_advice_flag,
692 l_Line_Scredit_rec.dw_update_advice_flag)
693 THEN
694 x_dw_update_advice_flag := l_x_Line_Scredit_rec.dw_update_advice_flag;
695 END IF;
696
697 IF NOT OE_GLOBALS.Equal(l_x_Line_Scredit_rec.header_id,
698 l_Line_Scredit_rec.header_id)
699 THEN
700 x_header_id := l_x_Line_Scredit_rec.header_id;
701 END IF;
702
703 IF NOT OE_GLOBALS.Equal(l_x_Line_Scredit_rec.line_id,
704 l_Line_Scredit_rec.line_id)
705 THEN
706 x_line_id := l_x_Line_Scredit_rec.line_id;
707 END IF;
708
709 IF NOT OE_GLOBALS.Equal(l_x_Line_Scredit_rec.percent,
710 l_Line_Scredit_rec.percent)
711 THEN
712 x_percent := l_x_Line_Scredit_rec.percent;
713 END IF;
714
715 IF NOT OE_GLOBALS.Equal(l_x_Line_Scredit_rec.salesrep_id,
716 l_Line_Scredit_rec.salesrep_id)
717 THEN
718 x_salesrep_id := l_x_Line_Scredit_rec.salesrep_id;
719 x_salesrep := l_Line_Scredit_val_rec.salesrep;
720 END IF;
721 IF NOT OE_GLOBALS.Equal(l_x_Line_Scredit_rec.sales_credit_type_id,
722 l_Line_Scredit_rec.sales_credit_type_id)
723 THEN
724 x_sales_credit_type_id:= l_x_Line_Scredit_rec.sales_credit_type_id;
725 x_sales_credit_type := l_Line_Scredit_val_rec.sales_credit_type;
726 END IF;
727
728 IF NOT OE_GLOBALS.Equal(l_x_Line_Scredit_rec.sales_credit_id,
729 l_Line_Scredit_rec.sales_credit_id)
730 THEN
731 x_sales_credit_id := l_x_Line_Scredit_rec.sales_credit_id;
732 END IF;
733
734 IF NOT OE_GLOBALS.Equal(l_x_Line_Scredit_rec.wh_update_date,
735 l_Line_Scredit_rec.wh_update_date)
736 THEN
737 x_wh_update_date := l_x_Line_Scredit_rec.wh_update_date;
738 END IF;
739
740 --SG{
741 IF NOT OE_GLOBALS.Equal(l_x_Line_Scredit_Tbl(1).sales_group_id,
742 l_Line_Scredit_rec.sales_group_id)
743 THEN
744 x_sales_group_id := l_x_Line_Scredit_Tbl(1).sales_group_id;
745 x_sales_group := l_Line_Scredit_val_rec.sales_group;
746 oe_debug_pub.add('OEXFHSCB2--x_sales_group:'||x_sales_group);
747 END IF;
748
749 IF NOT OE_GLOBALS.Equal(l_x_Line_Scredit_Tbl(1).sales_group_updated_flag,
750 l_Line_Scredit_rec.sales_group_updated_flag)
751 THEN
752 x_sales_group_updated_flag := l_Line_Scredit_rec.sales_group_updated_flag;
753 END IF;
754 --SG}
755
756 -- Write to cache.
757
758 Write_Line_Scredit
759 ( p_Line_Scredit_rec => l_x_Line_Scredit_rec
760 );
761
762 -- Re-set the UI flag to FALSE
763 OE_GLOBALS.G_UI_FLAG := FALSE;
764
765 -- Set return status.
766
767 x_return_status := FND_API.G_RET_STS_SUCCESS;
768
769 -- Get message count and data
770
771 oe_msg_pub.Count_And_Get
772 ( p_count => x_msg_count
773 , p_data => x_msg_data
774 );
775
776 IF l_debug_level > 0 THEN
777 oe_debug_pub.add( 'EXITING OE_OE_FORM_LINE_SCREDIT.CHANGE_ATTRIBUTE' , 1 ) ;
778 END IF;
779
780 EXCEPTION
781
782 WHEN FND_API.G_EXC_ERROR THEN
783
784 OE_GLOBALS.G_UI_FLAG := FALSE;
785
786 x_return_status := FND_API.G_RET_STS_ERROR;
787
788 -- Get message count and data
789
790 oe_msg_pub.Count_And_Get
791 ( p_count => x_msg_count
792 , p_data => x_msg_data
793 );
794
795 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
796
797 OE_GLOBALS.G_UI_FLAG := FALSE;
798
799 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
800
801 -- Get message count and data
802
803 oe_msg_pub.Count_And_Get
804 ( p_count => x_msg_count
805 , p_data => x_msg_data
806 );
807
808 WHEN OTHERS THEN
809
810 OE_GLOBALS.G_UI_FLAG := FALSE;
811
812 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
813
814 IF oe_msg_pub.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
815 THEN
816 oe_msg_pub.Add_Exc_Msg
817 ( G_PKG_NAME
818 , 'Change_Attribute'
819 );
820 END IF;
821
822 -- Get message count and data
823
824 oe_msg_pub.Count_And_Get
825 ( p_count => x_msg_count
826 , p_data => x_msg_data
827 );
828
829 END Change_Attribute;
830
831 -- Procedure Validate_And_Write
832 --
833
834 PROCEDURE Validate_And_Write
835 ( x_return_status OUT NOCOPY VARCHAR2
836
837 , x_msg_count OUT NOCOPY NUMBER
838
839 , x_msg_data OUT NOCOPY VARCHAR2
840
841 , p_sales_credit_id IN NUMBER
842 , p_change_reason_code IN VARCHAR2
843 , p_change_comments IN VARCHAR2
844 , x_creation_date OUT NOCOPY DATE
845
846 , x_created_by OUT NOCOPY NUMBER
847
848 , x_last_update_date OUT NOCOPY DATE
849
850 , x_last_updated_by OUT NOCOPY NUMBER
851
852 , x_last_update_login OUT NOCOPY NUMBER
853
854 , x_lock_control OUT NOCOPY NUMBER
855
856 )
857 IS
858 l_Line_Scredit_rec OE_Order_PUB.Line_Scredit_Rec_Type;
859 l_old_Line_Scredit_rec OE_Order_PUB.Line_Scredit_Rec_Type;
860 l_Line_Scredit_tbl OE_Order_PUB.Line_Scredit_Tbl_Type;
861 l_x_old_Line_Scredit_tbl OE_Order_PUB.Line_Scredit_Tbl_Type;
862 l_control_rec OE_GLOBALS.Control_Rec_Type;
863 l_return_status VARCHAR2(1);
864 l_x_Line_Scredit_tbl OE_Order_PUB.Line_Scredit_Tbl_Type;
865
866 --
867 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
868 --
869 BEGIN
870
871 IF l_debug_level > 0 THEN
872 oe_debug_pub.add( 'ENTERING OE_OE_FORM_LINE_SCREDIT.VALIDATE_AND_WRITE' , 1 ) ;
873 END IF;
874
875 -- Set the UI flag
876 OE_GLOBALS.G_UI_FLAG := TRUE;
877
878 -- Set control flags.
879
880 l_control_rec.controlled_operation := TRUE;
881 l_control_rec.check_security := TRUE;
882 l_control_rec.validate_entity := TRUE;
883 l_control_rec.write_to_DB := TRUE;
884
885 l_control_rec.clear_dependents := FALSE;
886 l_control_rec.default_attributes := FALSE;
887 l_control_rec.change_attributes := FALSE;
888 l_control_rec.process := FALSE;
889
890 -- Instruct API to retain its caches
891
892 l_control_rec.clear_api_cache := FALSE;
893 l_control_rec.clear_api_requests := FALSE;
894
895 -- Read Line_Scredit from cache
896
897 Get_Line_Scredit
898 ( p_db_record => TRUE
899 , p_sales_credit_id => p_sales_credit_id
900 , x_line_scredit_rec => l_old_Line_Scredit_rec
901 );
902
903 Get_Line_Scredit
904 ( p_db_record => FALSE
905 , p_sales_credit_id => p_sales_credit_id
906 , x_line_scredit_rec => l_Line_Scredit_rec
907 );
908
909 -- Set Operation.
910
911 IF FND_API.To_Boolean(l_Line_Scredit_rec.db_flag) THEN
912 l_Line_Scredit_rec.operation := OE_GLOBALS.G_OPR_UPDATE;
913 ELSE
914 l_Line_Scredit_rec.operation := OE_GLOBALS.G_OPR_CREATE;
915 END IF;
916
917 /* Start Audit Trail -- Pass change reason, comments */
918 l_Line_Scredit_rec.change_reason := p_change_reason_code;
919 l_Line_Scredit_rec.change_comments := p_change_comments;
920 /* End Audit Trail */
921
922 -- Populate Line_Scredit table
923
924 l_x_Line_Scredit_tbl(1) := l_Line_Scredit_rec;
925 l_x_old_Line_Scredit_tbl(1) := l_old_Line_Scredit_rec;
926
927 -- Call OE_Order_PVT.Process_order
928
929 OE_Order_PVT.Line_Scredits
930 ( p_validation_level => FND_API.G_VALID_LEVEL_NONE
931 , p_init_msg_list => FND_API.G_TRUE
932 , p_control_rec => l_control_rec
933 , p_x_Line_Scredit_tbl => l_x_Line_Scredit_tbl
934 , p_x_old_Line_Scredit_tbl => l_x_old_Line_Scredit_tbl
935 , x_return_status => l_return_status
936 );
937
938 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
939 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
940 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
941 RAISE FND_API.G_EXC_ERROR;
942 END IF;
943
944
945 /* The Process Request and Notify call should still be called */
946 /* for pre-Pack level */
947
948 IF OE_CODE_CONTROL.CODE_RELEASE_LEVEL < '110508' THEN
949
950 Oe_Order_Pvt.Process_Requests_And_Notify
951 ( p_process_requests => FALSE
952 , p_init_msg_list => FND_API.G_FALSE
953 , p_notify => TRUE
954 , x_return_status => l_return_status
955 , p_line_scredit_tbl => l_x_Line_Scredit_tbl
956 , p_old_line_scredit_tbl => l_x_old_Line_Scredit_tbl
957 );
958
959 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
960 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
961 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
962 RAISE FND_API.G_EXC_ERROR;
963 END IF;
964 END IF;
965
966
967 -- Load OUT parameters.
968
969
970 x_creation_date := l_x_Line_Scredit_tbl(1).creation_date;
971 x_created_by := l_x_Line_Scredit_tbl(1).created_by;
972 x_last_update_date := l_x_Line_Scredit_tbl(1).last_update_date;
973 x_last_updated_by := l_x_Line_Scredit_tbl(1).last_updated_by;
974 x_last_update_login := l_x_Line_Scredit_tbl(1).last_update_login;
975 x_lock_control := l_x_Line_Scredit_tbl(1).lock_control;
976
977 -- Clear Line_Scredit record cache
978
979 Clear_Line_Scredit;
980
981 -- Keep track of performed operations.
982
983 l_old_Line_Scredit_rec.operation := l_Line_Scredit_rec.operation;
984
985
986 -- Re-set the UI flag to FALSE
987 OE_GLOBALS.G_UI_FLAG := FALSE;
988
989 -- Set return status.
990
991 x_return_status := FND_API.G_RET_STS_SUCCESS;
992
993 -- Get message count and data
994
995 oe_msg_pub.Count_And_Get
996 ( p_count => x_msg_count
997 , p_data => x_msg_data
998 );
999
1000 IF l_debug_level > 0 THEN
1001 oe_debug_pub.add( 'EXITING OE_OE_FORM_LINE_SCREDIT.VALIDATE_AND_WRITE' , 1 ) ;
1002 END IF;
1003
1004 EXCEPTION
1005
1006 WHEN FND_API.G_EXC_ERROR THEN
1007
1008 OE_GLOBALS.G_UI_FLAG := FALSE;
1009
1010 x_return_status := FND_API.G_RET_STS_ERROR;
1011
1012 -- Get message count and data
1013
1014 oe_msg_pub.Count_And_Get
1015 ( p_count => x_msg_count
1016 , p_data => x_msg_data
1017 );
1018
1019 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1020
1021 OE_GLOBALS.G_UI_FLAG := FALSE;
1022
1023 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1024
1025 -- Get message count and data
1026
1027 oe_msg_pub.Count_And_Get
1028 ( p_count => x_msg_count
1029 , p_data => x_msg_data
1030 );
1031
1032 WHEN OTHERS THEN
1033
1034 OE_GLOBALS.G_UI_FLAG := FALSE;
1035
1036 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1037
1038 IF oe_msg_pub.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1039 THEN
1040 oe_msg_pub.Add_Exc_Msg
1041 ( G_PKG_NAME
1042 , 'Validate_And_Write'
1043 );
1044 END IF;
1045
1046 -- Get message count and data
1047
1048 oe_msg_pub.Count_And_Get
1049 ( p_count => x_msg_count
1050 , p_data => x_msg_data
1051 );
1052
1053 END Validate_And_Write;
1054
1055 -- Procedure Delete_Row
1056 --
1057
1058 PROCEDURE Delete_Row
1059 ( x_return_status OUT NOCOPY VARCHAR2
1060
1061 , x_msg_count OUT NOCOPY NUMBER
1062
1063 , x_msg_data OUT NOCOPY VARCHAR2
1064
1065 , p_sales_credit_id IN NUMBER
1066 , p_change_reason_code IN VARCHAR2 Default Null
1067 , p_change_comments IN VARCHAR2 Default Null
1068 )
1069 IS
1070 l_Line_Scredit_rec OE_Order_PUB.Line_Scredit_Rec_Type;
1071 l_Line_Scredit_tbl OE_Order_PUB.Line_Scredit_Tbl_Type;
1072 l_control_rec OE_GLOBALS.Control_Rec_Type;
1073 l_return_status VARCHAR2(1);
1074 l_x_Line_Scredit_tbl OE_Order_PUB.Line_Scredit_Tbl_Type;
1075 l_x_old_Line_Scredit_tbl OE_Order_PUB.Line_Scredit_Tbl_Type;
1076
1077 --
1078 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
1079 --
1080 BEGIN
1081
1082 IF l_debug_level > 0 THEN
1083 oe_debug_pub.add( 'ENTERING OE_OE_FORM_LINE_SCREDIT.DELETE_ROW' , 1 ) ;
1084 END IF;
1085
1086 -- Set the UI flag
1087 OE_GLOBALS.G_UI_FLAG := TRUE;
1088
1089 -- Set control flags.
1090
1091 l_control_rec.controlled_operation := TRUE;
1092 l_control_rec.check_security := TRUE;
1093 l_control_rec.validate_entity := TRUE;
1094 l_control_rec.write_to_DB := TRUE;
1095
1096 l_control_rec.clear_dependents := FALSE;
1097 l_control_rec.default_attributes := FALSE;
1098 l_control_rec.change_attributes := FALSE;
1099 l_control_rec.process := FALSE;
1100
1101 -- Instruct API to retain its caches
1102
1103 l_control_rec.clear_api_cache := FALSE;
1104 l_control_rec.clear_api_requests := FALSE;
1105
1106 -- Read DB record from cache
1107
1108 Get_Line_Scredit
1109 ( p_db_record => TRUE
1110 , p_sales_credit_id => p_sales_credit_id
1111 , x_line_scredit_rec => l_Line_Scredit_rec
1112 );
1113
1114 -- Set Operation.
1115
1116 l_Line_Scredit_rec.operation := OE_GLOBALS.G_OPR_DELETE;
1117
1118 -- Populate Line_Scredit table
1119
1120 l_x_Line_Scredit_tbl(1) := l_Line_Scredit_rec;
1121 l_x_Line_Scredit_tbl(1).change_reason := p_change_reason_code;
1122 l_x_Line_Scredit_tbl(1).change_comments := p_change_comments;
1123
1124 -- Call OE_Order_PVT.Process_order
1125
1126 OE_Order_PVT.Line_Scredits
1127 ( p_validation_level => FND_API.G_VALID_LEVEL_NONE
1128 , p_init_msg_list => FND_API.G_TRUE
1129 , p_control_rec => l_control_rec
1130 , p_x_Line_Scredit_tbl => l_x_Line_Scredit_tbl
1131 , p_x_old_Line_Scredit_tbl => l_x_old_Line_Scredit_tbl
1132 , x_return_status => l_return_status
1133 );
1134
1135 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1136 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1137 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1138 RAISE FND_API.G_EXC_ERROR;
1139 END IF;
1140
1141
1142 -- Clear Line_Scredit record cache
1143
1144 Clear_Line_Scredit;
1145
1146 -- Re-set the UI flag to FALSE
1147 OE_GLOBALS.G_UI_FLAG := FALSE;
1148
1149 -- Set return status.
1150
1151 x_return_status := FND_API.G_RET_STS_SUCCESS;
1152
1153 -- Get message count and data
1154
1155 oe_msg_pub.Count_And_Get
1156 ( p_count => x_msg_count
1157 , p_data => x_msg_data
1158 );
1159
1160 IF l_debug_level > 0 THEN
1161 oe_debug_pub.add( 'EXITING OE_OE_FORM_LINE_SCREDIT.DELETE_ROW' , 1 ) ;
1162 END IF;
1163
1164 EXCEPTION
1165
1166 WHEN FND_API.G_EXC_ERROR THEN
1167
1168 OE_GLOBALS.G_UI_FLAG := FALSE;
1169
1170 x_return_status := FND_API.G_RET_STS_ERROR;
1171
1172 -- Get message count and data
1173
1174 oe_msg_pub.Count_And_Get
1175 ( p_count => x_msg_count
1176 , p_data => x_msg_data
1177 );
1178
1179 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1180
1181 OE_GLOBALS.G_UI_FLAG := FALSE;
1182
1183 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1184
1185 -- Get message count and data
1186
1187 oe_msg_pub.Count_And_Get
1188 ( p_count => x_msg_count
1189 , p_data => x_msg_data
1190 );
1191
1192 WHEN OTHERS THEN
1193
1194 OE_GLOBALS.G_UI_FLAG := FALSE;
1195
1196 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1197
1198 IF oe_msg_pub.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1199 THEN
1200 oe_msg_pub.Add_Exc_Msg
1201 ( G_PKG_NAME
1202 , 'Delete_Row'
1203 );
1204 END IF;
1205
1206 -- Get message count and data
1207
1208 oe_msg_pub.Count_And_Get
1209 ( p_count => x_msg_count
1210 , p_data => x_msg_data
1211 );
1212
1213 END Delete_Row;
1214
1215 -- Procedure Process_Entity
1216 --
1217
1218 PROCEDURE Process_Entity
1219 ( x_return_status OUT NOCOPY VARCHAR2
1220
1221 , x_msg_count OUT NOCOPY NUMBER
1222
1223 , x_msg_data OUT NOCOPY VARCHAR2
1224
1225 )
1226 IS
1227 l_return_status VARCHAR2(1);
1228 /*l_control_rec OE_GLOBALS.Control_Rec_Type;
1229 l_x_header_rec OE_Order_PUB.Header_Rec_Type;
1230 l_x_Header_Adj_rec OE_Order_PUB.Header_Adj_Rec_Type;
1231 l_x_Header_Adj_tbl OE_Order_PUB.Header_Adj_Tbl_Type;
1232 l_x_Header_Scredit_rec OE_Order_PUB.Header_Scredit_Rec_Type;
1233 l_x_Header_Scredit_tbl OE_Order_PUB.Header_Scredit_Tbl_Type;
1234 l_x_line_rec OE_Order_PUB.Line_Rec_Type;
1235 l_x_line_tbl OE_Order_PUB.Line_Tbl_Type;
1236 l_x_Line_Adj_rec OE_Order_PUB.Line_Adj_Rec_Type;
1237 l_x_Line_Adj_tbl OE_Order_PUB.Line_Adj_Tbl_Type;
1238 l_x_Line_Scredit_rec OE_Order_PUB.Line_Scredit_Rec_Type;
1239 l_x_Line_Scredit_tbl OE_Order_PUB.Line_Scredit_Tbl_Type;
1240 l_x_Lot_Serial_rec OE_Order_PUB.Lot_Serial_Rec_Type;
1241 l_x_Lot_Serial_tbl OE_Order_PUB.Lot_Serial_Tbl_Type;
1242 l_x_action_request_tbl OE_Order_PUB.request_tbl_type;
1243 l_x_Header_price_Att_tbl OE_Order_PUB.Header_Price_Att_Tbl_Type;
1244 l_x_Header_Adj_Att_tbl OE_Order_PUB.Header_Adj_Att_Tbl_Type;
1245 l_x_Header_Adj_Assoc_tbl OE_Order_PUB.Header_Adj_Assoc_Tbl_Type;
1246 l_x_Line_price_Att_tbl OE_Order_PUB.Line_Price_Att_Tbl_Type;
1247 l_x_Line_Adj_Att_tbl OE_Order_PUB.Line_Adj_Att_Tbl_Type;
1248 l_x_Line_Adj_Assoc_tbl OE_Order_PUB.Line_Adj_Assoc_Tbl_Type; */
1249
1250 --
1251 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
1252 --
1253 BEGIN
1254
1255 IF l_debug_level > 0 THEN
1256 oe_debug_pub.add( 'ENTERING OE_OE_FORM_LINE_SCREDIT.PROCESS_ENTITY' , 1 ) ;
1257 END IF;
1258
1259 -- Set the UI flag
1260 OE_GLOBALS.G_UI_FLAG := TRUE;
1261
1262 -- Set control flags.
1263
1264 /* l_control_rec.controlled_operation := TRUE;
1265 l_control_rec.process := TRUE;
1266 l_control_rec.process_entity := OE_GLOBALS.G_ENTITY_LINE_SCREDIT;
1267
1268 l_control_rec.check_security := FALSE;
1269 l_control_rec.clear_dependents := FALSE;
1270 l_control_rec.default_attributes := FALSE;
1271 l_control_rec.change_attributes := FALSE;
1272 l_control_rec.validate_entity := FALSE;
1273 l_control_rec.write_to_DB := FALSE;
1274
1275 -- Instruct API to clear its request table
1276
1277 l_control_rec.clear_api_cache := FALSE;
1278 l_control_rec.clear_api_requests := FALSE;
1279
1280 -- Call OE_Order_PVT.Process_order
1281
1282 OE_Order_PVT.Process_order
1283 ( p_api_version_number => 1.0
1284 , p_init_msg_list => FND_API.G_TRUE
1285 , x_return_status => l_return_status
1286 , x_msg_count => x_msg_count
1287 , x_msg_data => x_msg_data
1288 , p_control_rec => l_control_rec
1289 , p_x_header_rec => l_x_header_rec
1290 , p_x_Header_Adj_tbl => l_x_Header_Adj_tbl
1291 , p_x_Header_Scredit_tbl => l_x_Header_Scredit_tbl
1292 , p_x_line_tbl => l_x_line_tbl
1293 , p_x_Line_Adj_tbl => l_x_Line_Adj_tbl
1294 , p_x_Line_Scredit_tbl => l_x_Line_Scredit_tbl
1295 , p_x_Lot_Serial_tbl => l_x_Lot_Serial_tbl
1296 , p_x_action_request_tbl => l_x_action_request_tbl
1297 , p_x_Header_price_Att_tbl => l_x_Header_price_Att_tbl
1298 , p_x_Header_Adj_Att_tbl => l_x_Header_Adj_Att_tbl
1299 , p_x_Header_Adj_Assoc_tbl => l_x_Header_Adj_Assoc_tbl
1300 , p_x_Line_price_Att_tbl => l_x_Line_price_Att_tbl
1301 , p_x_Line_Adj_Att_tbl => l_x_Line_Adj_Att_tbl
1302 , p_x_Line_Adj_Assoc_tbl => l_x_Line_Adj_Assoc_tbl
1303
1304 );
1305 */
1306 Oe_Order_Pvt.Process_Requests_And_Notify
1307 ( p_process_requests => TRUE
1308 , p_init_msg_list => FND_API.G_TRUE
1309 , p_notify => FALSE -- jolin
1310 , x_return_status => l_return_status
1311 );
1312
1313 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1314 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1315 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1316 RAISE FND_API.G_EXC_ERROR;
1317 END IF;
1318
1319
1320 -- Re-set the UI flag to FALSE
1321 OE_GLOBALS.G_UI_FLAG := FALSE;
1322
1323 -- Set return status.
1324
1325 x_return_status := FND_API.G_RET_STS_SUCCESS;
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 IF l_debug_level > 0 THEN
1335 oe_debug_pub.add( 'EXITING OE_OE_FORM_LINE_SCREDIT.PROCESS_ENTITY' , 1 ) ;
1336 END IF;
1337
1338 EXCEPTION
1339
1340 WHEN FND_API.G_EXC_ERROR THEN
1341
1342 OE_GLOBALS.G_UI_FLAG := FALSE;
1343
1344 x_return_status := FND_API.G_RET_STS_ERROR;
1345
1346 -- Get message count and data
1347
1348 oe_msg_pub.Count_And_Get
1349 ( p_count => x_msg_count
1350 , p_data => x_msg_data
1351 );
1352
1353 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1354
1355 OE_GLOBALS.G_UI_FLAG := FALSE;
1356
1357 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1358
1359 -- Get message count and data
1360
1361 oe_msg_pub.Count_And_Get
1362 ( p_count => x_msg_count
1363 , p_data => x_msg_data
1364 );
1365
1366 WHEN OTHERS THEN
1367
1368 OE_GLOBALS.G_UI_FLAG := FALSE;
1369
1370 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1371
1372 IF oe_msg_pub.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1373 THEN
1374 oe_msg_pub.Add_Exc_Msg
1375 ( G_PKG_NAME
1376 , 'Process_Entity'
1377 );
1378 END IF;
1379
1380 -- Get message count and data
1381
1382 oe_msg_pub.Count_And_Get
1383 ( p_count => x_msg_count
1384 , p_data => x_msg_data
1385 );
1386
1387 END Process_Entity;
1388
1389 -- Procedure lock_Row
1390 --
1391
1392 PROCEDURE Lock_Row
1393 ( x_return_status OUT NOCOPY VARCHAR2
1394
1395 , x_msg_count OUT NOCOPY NUMBER
1396
1397 , x_msg_data OUT NOCOPY VARCHAR2
1398
1399 , p_sales_credit_id IN NUMBER
1400 , p_lock_control IN NUMBER
1401 )
1402 IS
1403 l_return_status VARCHAR2(1);
1404 l_x_Line_Scredit_rec OE_Order_PUB.Line_Scredit_Rec_Type;
1405
1406 --
1407 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
1408 --
1409 BEGIN
1410
1411 IF l_debug_level > 0 THEN
1412 oe_debug_pub.add( 'ENTERING OE_OE_FORM_LINE_SCREDIT.LOCK_ROW' , 1 ) ;
1413 END IF;
1414
1415 -- Load Line_Scredit record
1416
1417 l_x_Line_Scredit_rec.operation := OE_GLOBALS.G_OPR_LOCK;
1418 l_x_Line_Scredit_rec.sales_credit_id := p_sales_credit_id;
1419 l_x_Line_Scredit_rec.lock_control := p_lock_control;
1420
1421
1422
1423 -- Call oe_line_scredits_util instead of OE_Order_PVT.Lock_order
1424
1425 OE_Line_Scredit_Util.Lock_Row
1426 ( x_return_status => l_return_status
1427 , p_x_Line_Scredit_rec => l_x_Line_Scredit_rec );
1428
1429 IF l_return_status = FND_API.G_RET_STS_SUCCESS THEN
1430
1431 -- Set DB flag and write record to cache.
1432
1433 l_x_Line_Scredit_rec.db_flag := FND_API.G_TRUE;
1434
1435 Write_Line_Scredit
1436 ( p_Line_Scredit_rec => l_x_Line_Scredit_rec
1437 , p_db_record => TRUE
1438 );
1439
1440 END IF;
1441
1442 -- Set return status.
1443
1444 x_return_status := l_return_status;
1445
1446 -- Get message count and data
1447
1448 oe_msg_pub.Count_And_Get
1449 ( p_count => x_msg_count
1450 , p_data => x_msg_data
1451 );
1452
1453 IF l_debug_level > 0 THEN
1454 oe_debug_pub.add( 'EXITING OE_OE_FORM_LINE_SCREDIT.LOCK_ROW' , 1 ) ;
1455 END IF;
1456
1457
1458 EXCEPTION
1459
1460 WHEN OTHERS THEN
1461
1462 IF oe_msg_pub.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1463 THEN
1464 oe_msg_pub.Add_Exc_Msg
1465 ( G_PKG_NAME
1466 , 'Lock_Row'
1467 );
1468 END IF;
1469
1470 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1471
1472 -- Get message count and data
1473
1474 oe_msg_pub.Count_And_Get
1475 ( p_count => x_msg_count
1476 , p_data => x_msg_data
1477 );
1478
1479
1480
1481 END Lock_Row;
1482
1483 -- Procedures maintaining Line_Scredit record cache.
1484
1485 PROCEDURE Write_Line_Scredit
1486 ( p_Line_Scredit_rec IN OE_Order_PUB.Line_Scredit_Rec_Type
1487 , p_db_record IN BOOLEAN := FALSE
1488 )
1489 IS
1490 --
1491 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
1492 --
1493 BEGIN
1494
1495 IF l_debug_level > 0 THEN
1496 oe_debug_pub.add( 'ENTERING OE_OE_FORM_LINE_SCREDIT.WRITE_LINE_SCREDIT' , 1 ) ;
1497 END IF;
1498
1499 g_Line_Scredit_rec := p_Line_Scredit_rec;
1500
1501 IF p_db_record THEN
1502
1503 g_db_Line_Scredit_rec := p_Line_Scredit_rec;
1504
1505 END IF;
1506
1507 IF l_debug_level > 0 THEN
1508 oe_debug_pub.add( 'EXITING OE_OE_FORM_LINE_SCREDIT.WRITE_LINE_SCREDIT' , 1 ) ;
1509 END IF;
1510
1511 END Write_Line_Scredit;
1512
1513 PROCEDURE Get_Line_Scredit
1514 ( p_db_record IN BOOLEAN := FALSE
1515 , p_sales_credit_id IN NUMBER
1516 , x_line_scredit_rec IN OUT NOCOPY OE_Order_PUB.Line_Scredit_Rec_Type
1517 )
1518 IS
1519 --
1520 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
1521 --
1522 BEGIN
1523
1524 IF l_debug_level > 0 THEN
1525 oe_debug_pub.add( 'ENTERING OE_OE_FORM_LINE_SCREDIT.GET_LINE_SCREDIT' , 1 ) ;
1526 END IF;
1527
1528 IF p_sales_credit_id <> NVL(g_Line_Scredit_rec.sales_credit_id,-1)
1529 THEN
1530
1531 -- Query row from DB
1532
1533 OE_Line_Scredit_Util.Query_Row
1534 ( p_sales_credit_id => p_sales_credit_id
1535 , x_line_scredit_rec => g_Line_Scredit_rec
1536 );
1537
1538 g_Line_Scredit_rec.db_flag := FND_API.G_TRUE;
1539
1540 -- Load DB record
1541
1542 g_db_Line_Scredit_rec := g_Line_Scredit_rec;
1543
1544 END IF;
1545
1546 IF l_debug_level > 0 THEN
1547 oe_debug_pub.add( 'EXITING OE_OE_FORM_LINE_SCREDIT.GET_LINE_SCREDIT' , 1 ) ;
1548 END IF;
1549
1550 IF p_db_record THEN
1551
1552 x_line_scredit_rec:= g_db_Line_Scredit_rec;
1553
1554 ELSE
1555
1556 x_line_scredit_rec:= g_Line_Scredit_rec;
1557
1558 END IF;
1559
1560 END Get_Line_Scredit;
1561
1562 PROCEDURE Clear_Line_Scredit
1563 IS
1564 --
1565 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
1566 --
1567 BEGIN
1568
1569 IF l_debug_level > 0 THEN
1570 oe_debug_pub.add( 'ENTERING OE_OE_FORM_LINE_SCREDIT.CLEAR_LINE_SCREDIT' , 1 ) ;
1571 END IF;
1572
1573 g_Line_Scredit_rec := OE_Order_PUB.G_MISS_LINE_SCREDIT_REC;
1574 g_db_Line_Scredit_rec := OE_Order_PUB.G_MISS_LINE_SCREDIT_REC;
1575
1576 IF l_debug_level > 0 THEN
1577 oe_debug_pub.add( 'EXITING OE_OE_FORM_LINE_SCREDIT.CLEAR_LINE_SCREDIT' , 1 ) ;
1578 END IF;
1579
1580 END Clear_Line_Scredit;
1581
1582 END OE_OE_Form_Line_Scredit;