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