[Home] [Help]
PACKAGE BODY: APPS.OE_OE_FORM_HEADER_ADJ
Source
1 PACKAGE BODY oe_oe_form_header_adj AS
2 /* $Header: OEXFHADB.pls 120.3.12020000.2 2013/04/04 05:36:31 kadiraju ship $ */
3
4 -- Global constant holding the package name
5
6 G_PKG_NAME CONSTANT VARCHAR2(30) := 'OE_OE_Form_Header_Adj';
7
8 -- Global variables holding cached record.
9
10 g_Header_Adj_rec OE_Order_PUB.Header_Adj_Rec_Type
11 := OE_ORDER_PUB.G_MISS_HEADER_ADJ_REC;
12 g_db_Header_Adj_rec OE_Order_PUB.Header_Adj_Rec_Type
13 := OE_ORDER_PUB.G_MISS_HEADER_ADJ_REC;
14
15 -- Forward declaration of procedures maintaining entity record cache.
16
17 PROCEDURE Write_Header_Adj
18 ( p_Header_Adj_rec IN OE_Order_PUB.Header_Adj_Rec_Type
19 , p_db_record IN BOOLEAN := FALSE
20 );
21
22 PROCEDURE Get_Header_Adj
23 ( p_db_record IN BOOLEAN := FALSE
24 , p_price_adjustment_id IN NUMBER
25 , x_Header_Adj_Rec IN OUT NOCOPY OE_Order_PUB.Header_Adj_Rec_Type
26 );
27
28 PROCEDURE Clear_Header_Adj;
29
30 -- Global variable holding performed operations.
31
32 g_opr__tbl OE_Order_PUB.Header_Adj_Tbl_Type;
33
34 -- Procedure : Default_Attributes
35 --
36
37
38 PROCEDURE Default_Attributes
39 ( x_return_status OUT NOCOPY VARCHAR2
40
41 , x_msg_count OUT NOCOPY NUMBER
42
43 , x_msg_data OUT NOCOPY VARCHAR2
44
45 , p_header_id IN NUMBER
46 , p_line_id IN NUMBER
47 , x_price_adjustment_id OUT NOCOPY NUMBER
48
49 , x_header_id OUT NOCOPY NUMBER
50
51 , x_discount_id OUT NOCOPY NUMBER
52
53 , x_discount_line_id OUT NOCOPY NUMBER
54
55 , x_automatic_flag OUT NOCOPY VARCHAR2
56
57 , x_percent OUT NOCOPY NUMBER
58
59 , x_line_id OUT NOCOPY NUMBER
60
61 , x_context OUT NOCOPY VARCHAR2
62
63 , x_attribute1 OUT NOCOPY VARCHAR2
64
65 , x_attribute2 OUT NOCOPY VARCHAR2
66
67 , x_attribute3 OUT NOCOPY VARCHAR2
68
69 , x_attribute4 OUT NOCOPY VARCHAR2
70
71 , x_attribute5 OUT NOCOPY VARCHAR2
72
73 , x_attribute6 OUT NOCOPY VARCHAR2
74
75 , x_attribute7 OUT NOCOPY VARCHAR2
76
77 , x_attribute8 OUT NOCOPY VARCHAR2
78
79 , x_attribute9 OUT NOCOPY VARCHAR2
80
81 , x_attribute10 OUT NOCOPY VARCHAR2
82
83 , x_attribute11 OUT NOCOPY VARCHAR2
84
85 , x_attribute12 OUT NOCOPY VARCHAR2
86
87 , x_attribute13 OUT NOCOPY VARCHAR2
88
89 , x_attribute14 OUT NOCOPY VARCHAR2
90
91 , x_attribute15 OUT NOCOPY VARCHAR2
92
93 , x_discount OUT NOCOPY VARCHAR2
94
95 , x_list_header_id OUT NOCOPY NUMBER
96
97 , x_list_line_id OUT NOCOPY NUMBER
98
99 , x_list_line_type_code OUT NOCOPY VARCHAR2
100
101 , x_modifier_mechanism_type_code OUT NOCOPY VARCHAR2
102
103 , x_updated_flag OUT NOCOPY VARCHAR2
104
105 , x_update_allowed OUT NOCOPY VARCHAR2
106
107 , x_applied_flag OUT NOCOPY VARCHAR2
108
109 , x_change_reason_code OUT NOCOPY VARCHAR2
110
111 , x_change_reason_text OUT NOCOPY VARCHAR2
112
113 , x_modified_from OUT NOCOPY VARCHAR2
114
115 , x_modified_to OUT NOCOPY VARCHAR2
116
117 , x_operand OUT NOCOPY NUMBER
118
119 , x_arithmetic_operator OUT NOCOPY varchar2
120
121 , x_adjusted_amount OUT NOCOPY NUMBER
122
123 , x_pricing_phase_id OUT NOCOPY NUMBER
124
125 , x_list_line_no OUT NOCOPY varchar2
126
127 , x_source_system_code OUT NOCOPY varchar2
128
129 , x_benefit_qty OUT NOCOPY NUMBER
130
131 , x_benefit_uom_code OUT NOCOPY varchar2
132
133 , x_print_on_invoice_flag OUT NOCOPY varchar2
134
135 , x_expiration_date OUT NOCOPY DATE
136
137 , x_rebate_transaction_type_code OUT NOCOPY varchar2
138
139 , x_rebate_transaction_reference OUT NOCOPY varchar2
140
141 , x_rebate_payment_system_code OUT NOCOPY varchar2
142
143 , x_redeemed_date OUT NOCOPY DATE
144
145 , x_redeemed_flag OUT NOCOPY varchar2
146
147 , x_accrual_flag OUT NOCOPY varchar2
148
149 , x_invoiced_flag OUT NOCOPY varchar2
150
151 , x_estimated_flag OUT NOCOPY varchar2
152
153 , x_credit_or_charge_flag OUT NOCOPY varchar2
154
155 , x_include_on_returns_flag OUT NOCOPY varchar2
156
157 , x_charge_type_code OUT NOCOPY varchar2
158
159 , x_charge_subtype_code OUT NOCOPY varchar2
160
161 , x_ac_context OUT NOCOPY VARCHAR2
162
163 , x_ac_attribute1 OUT NOCOPY VARCHAR2
164
165 , x_ac_attribute2 OUT NOCOPY VARCHAR2
166
167 , x_ac_attribute3 OUT NOCOPY VARCHAR2
168
169 , x_ac_attribute4 OUT NOCOPY VARCHAR2
170
171 , x_ac_attribute5 OUT NOCOPY VARCHAR2
172
173 , x_ac_attribute6 OUT NOCOPY VARCHAR2
174
175 , x_ac_attribute7 OUT NOCOPY VARCHAR2
176
177 , x_ac_attribute8 OUT NOCOPY VARCHAR2
178
179 , x_ac_attribute9 OUT NOCOPY VARCHAR2
180
181 , x_ac_attribute10 OUT NOCOPY VARCHAR2
182
183 , x_ac_attribute11 OUT NOCOPY VARCHAR2
184
185 , x_ac_attribute12 OUT NOCOPY VARCHAR2
186
187 , x_ac_attribute13 OUT NOCOPY VARCHAR2
188
189 , x_ac_attribute14 OUT NOCOPY VARCHAR2
190
191 , x_ac_attribute15 OUT NOCOPY VARCHAR2
192
193 --uom begin
194 , x_operand_per_pqty OUT NOCOPY NUMBER
195
196 , x_adjusted_amount_per_pqty OUT NOCOPY NUMBER
197
198 --uom end
199 )
200 IS
201 l_Header_Adj_rec OE_Order_PUB.Header_Adj_Rec_Type;
202 l_Header_Adj_tbl OE_Order_PUB.Header_Adj_Tbl_Type;
203 l_Header_Adj_val_rec OE_Order_Pub.Header_Adj_Val_Rec_Type;
204 l_control_rec OE_GLOBALS.Control_Rec_Type;
205 l_return_status VARCHAR2(1);
206 l_action_request_tbl OE_Order_PUB.Request_Tbl_Type;
207 l_x_header_rec OE_Order_PUB.Header_Rec_Type;
208 l_x_Header_Adj_rec OE_Order_PUB.Header_Adj_Rec_Type;
209 l_x_old_Header_Adj_rec OE_Order_PUB.Header_Adj_Rec_Type;
210 l_x_Header_Adj_tbl OE_Order_PUB.Header_Adj_Tbl_Type;
211 l_x_old_Header_Adj_tbl OE_Order_PUB.Header_Adj_Tbl_Type;
212 l_x_Header_Scredit_rec OE_Order_PUB.Header_Scredit_Rec_Type;
213 l_x_Header_Scredit_tbl OE_Order_PUB.Header_Scredit_Tbl_Type;
214 l_x_line_rec OE_Order_PUB.Line_Rec_Type;
215 l_x_line_tbl OE_Order_PUB.Line_Tbl_Type;
216 l_x_Line_Adj_rec OE_Order_PUB.Line_Adj_Rec_Type;
217 l_x_Line_Adj_tbl OE_Order_PUB.Line_Adj_Tbl_Type;
218 l_x_Line_Scredit_rec OE_Order_PUB.Line_Scredit_Rec_Type;
219 l_x_Line_Scredit_tbl OE_Order_PUB.Line_Scredit_Tbl_Type;
220 l_x_Lot_Serial_rec OE_Order_PUB.Lot_Serial_Rec_Type;
221 l_x_Lot_Serial_tbl OE_Order_PUB.Lot_Serial_Tbl_Type;
222
223
224 --New out parameters
225 l_x_Header_price_Att_tbl OE_Order_PUB.Header_Price_Att_Tbl_Type;
226 l_x_Header_Adj_Att_tbl OE_Order_PUB.Header_Adj_Att_Tbl_Type;
227 l_x_Header_Adj_Assoc_tbl OE_Order_PUB.Header_Adj_Assoc_Tbl_Type;
228
229 l_x_Line_price_Att_tbl OE_Order_PUB.Line_Price_Att_Tbl_Type ;
230 l_x_Line_Adj_Att_tbl OE_Order_PUB.Line_Adj_Att_Tbl_Type ;
231 l_x_Line_Adj_Assoc_tbl OE_Order_PUB.Line_Adj_Assoc_Tbl_Type;
232
233 --
234 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
235 --
236 BEGIN
237
238
239 -- Set the UI flag
240 OE_GLOBALS.G_UI_FLAG := TRUE;
241
242 -- Set control flags.
243 l_control_rec.controlled_operation := TRUE;
244 l_control_rec.check_security := TRUE;
245 l_control_rec.default_attributes := TRUE;
246 l_control_rec.change_attributes := TRUE;
247
248 l_control_rec.clear_dependents := FALSE;
249 l_control_rec.validate_entity := FALSE;
250 l_control_rec.write_to_DB := FALSE;
251 l_control_rec.process := FALSE;
252
253 -- Instruct API to retain its caches
254 l_control_rec.clear_api_cache := FALSE;
255 l_control_rec.clear_api_requests := FALSE;
256
257
258 l_x_old_header_adj_rec := OE_ORDER_PUB.G_MISS_HEADER_ADJ_REC;
259 l_x_header_adj_rec := OE_ORDER_PUB.G_MISS_HEADER_ADJ_REC;
260
261 -- Load IN parameters if any exist
262 l_x_Header_adj_rec.header_id := p_header_id;
263 l_x_Header_adj_rec.line_id := p_line_id;
264
265
266 -- Defaulting of flex values is currently done by the form.
267 -- Set flex attributes to NULL in order to avoid defaulting them.
268 l_x_Header_Adj_rec.context := NULL;
269 l_x_Header_Adj_rec.attribute1 := NULL;
270 l_x_Header_Adj_rec.attribute2 := NULL;
271 l_x_Header_Adj_rec.attribute3 := NULL;
272 l_x_Header_Adj_rec.attribute4 := NULL;
273 l_x_Header_Adj_rec.attribute5 := NULL;
274 l_x_Header_Adj_rec.attribute6 := NULL;
275 l_x_Header_Adj_rec.attribute7 := NULL;
276 l_x_Header_Adj_rec.attribute8 := NULL;
277 l_x_Header_Adj_rec.attribute9 := NULL;
278 l_x_Header_Adj_rec.attribute10 := NULL;
279 l_x_Header_Adj_rec.attribute11 := NULL;
280 l_x_Header_Adj_rec.attribute12 := NULL;
281 l_x_Header_Adj_rec.attribute13 := NULL;
282 l_x_Header_Adj_rec.attribute14 := NULL;
283 l_x_Header_Adj_rec.attribute15 := NULL;
284 l_x_Header_Adj_rec.ac_context := NULL;
285 l_x_Header_Adj_rec.ac_attribute1 := NULL;
286 l_x_Header_Adj_rec.ac_attribute2 := NULL;
287 l_x_Header_Adj_rec.ac_attribute3 := NULL;
288 l_x_Header_Adj_rec.ac_attribute4 := NULL;
289 l_x_Header_Adj_rec.ac_attribute5 := NULL;
290 l_x_Header_Adj_rec.ac_attribute6 := NULL;
291 l_x_Header_Adj_rec.ac_attribute7 := NULL;
292 l_x_Header_Adj_rec.ac_attribute8 := NULL;
293 l_x_Header_Adj_rec.ac_attribute9 := NULL;
294 l_x_Header_Adj_rec.ac_attribute10 := NULL;
295 l_x_Header_Adj_rec.ac_attribute11 := NULL;
296 l_x_Header_Adj_rec.ac_attribute12 := NULL;
297 l_x_Header_Adj_rec.ac_attribute13 := NULL;
298 l_x_Header_Adj_rec.ac_attribute14 := NULL;
299 l_x_Header_Adj_rec.ac_attribute15 := NULL;
300 /*
301 l_Header_Adj_rec.list_header_id :=null;
302 l_Header_Adj_rec.list_line_id :=NULL;
303 l_Header_Adj_rec.list_line_type_code :=NULL;
304 l_Header_Adj_rec.modifier_mechanism_type_code :=NULL;
305 l_Header_Adj_rec.updated_flag :=NULL;
306 l_Header_Adj_rec.update_allowed :=NULL;
307 l_Header_Adj_rec.applied_flag :=NULL;
308 l_Header_Adj_rec.change_reason_code :=NULL;
309 l_Header_Adj_rec.change_reason_text :=NULL;
310 l_Header_Adj_rec.modified_from :=NULL;
311 l_Header_Adj_rec.modified_to :=NULL;
312 l_Header_Adj_rec.operand :=NULL;
313 l_Header_Adj_rec.arithmetic_operator :=NULL;
314 */
315
316 -- Set Operation to Create
317 l_x_Header_Adj_rec.operation := OE_GLOBALS.G_OPR_CREATE;
318
319 -- Populate Header_Adj table
320 l_x_Header_Adj_tbl(1) := l_x_Header_Adj_rec;
321 l_x_old_Header_Adj_tbl(1) := l_x_old_Header_Adj_rec;
322
323 -- Call Oe_Order_Adj_Pvt.Header_Adj
324 oe_order_adj_pvt.Header_Adjs
325 ( p_init_msg_list => FND_API.G_TRUE
326 , p_validation_level => FND_API.G_VALID_LEVEL_FULL
327 , p_control_rec => l_control_rec
328 , p_x_header_adj_tbl => l_x_Header_Adj_tbl
329 , p_x_old_header_adj_tbl => l_x_old_Header_Adj_tbl
330 );
331
332 /*********************************************************************
333 ** commented out nocopy for performance changes **
334
335
336 -- Call OE_Order_PVT.Process_order
337 OE_Order_PVT.Process_order
338 ( p_api_version_number => 1.0
339 , p_init_msg_list => FND_API.G_TRUE
340 , x_return_status => l_return_status
341 , x_msg_count => x_msg_count
342 , x_msg_data => x_msg_data
343 , p_control_rec => l_control_rec
344 , p_Header_Adj_tbl => l_Header_Adj_tbl
345 , x_header_rec => l_x_header_rec
346 , x_Header_Adj_tbl => l_x_Header_Adj_tbl
347 -- New Parameters
348 , x_Header_price_Att_tbl => l_x_Header_price_Att_tbl
349 , x_Header_Adj_Att_tbl => l_x_Header_Adj_Att_tbl
350 , x_Header_Adj_Assoc_tbl => l_x_Header_Adj_Assoc_tbl
351
352 , x_Header_Scredit_tbl => l_x_Header_Scredit_tbl
353 , x_line_tbl => l_x_line_tbl
354 , x_Line_Adj_tbl => l_x_Line_Adj_tbl
355
356 -- New Parameters
357 , x_Line_price_Att_tbl => l_x_Line_price_Att_tbl
358 , x_Line_Adj_Att_tbl => l_x_Line_Adj_Att_tbl
359 , x_Line_Adj_Assoc_tbl => l_x_Line_Adj_Assoc_tbl
360
361 , x_Line_Scredit_tbl => l_x_Line_Scredit_tbl
362 , x_Lot_Serial_tbl => l_x_Lot_Serial_tbl
363 , x_action_request_tbl => l_action_request_tbl
364 );
365
366 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
367 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
368 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
369 RAISE FND_API.G_EXC_ERROR;
370 END IF;
371 ******************************************************************/
372
373 -- Unload out tbl
374 l_x_Header_Adj_rec := l_x_Header_Adj_tbl(1);
375
376 IF l_x_header_adj_rec.return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
377 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
378 ELSIF l_x_header_adj_rec.return_status = FND_API.G_RET_STS_ERROR THEN
379 RAISE FND_API.G_EXC_ERROR;
380 END IF;
381
382 -- Load OUT parameters.
383 x_price_adjustment_id := l_x_Header_Adj_rec.price_adjustment_id;
384 x_header_id := l_x_Header_Adj_rec.header_id;
385 x_discount_id := l_x_Header_Adj_rec.discount_id;
386 x_discount_line_id := l_x_Header_Adj_rec.discount_line_id;
387 x_automatic_flag := l_x_Header_Adj_rec.automatic_flag;
388 x_percent := l_x_Header_Adj_rec.percent;
389 x_line_id := l_x_Header_Adj_rec.line_id;
390 x_context := l_x_Header_Adj_rec.context;
391 x_attribute1 := l_x_Header_Adj_rec.attribute1;
392 x_attribute2 := l_x_Header_Adj_rec.attribute2;
393 x_attribute3 := l_x_Header_Adj_rec.attribute3;
394 x_attribute4 := l_x_Header_Adj_rec.attribute4;
395 x_attribute5 := l_x_Header_Adj_rec.attribute5;
396 x_attribute6 := l_x_Header_Adj_rec.attribute6;
397 x_attribute7 := l_x_Header_Adj_rec.attribute7;
398 x_attribute8 := l_x_Header_Adj_rec.attribute8;
399 x_attribute9 := l_x_Header_Adj_rec.attribute9;
400 x_attribute10 := l_x_Header_Adj_rec.attribute10;
401 x_attribute11 := l_x_Header_Adj_rec.attribute11;
402 x_attribute12 := l_x_Header_Adj_rec.attribute12;
403 x_attribute13 := l_x_Header_Adj_rec.attribute13;
404 x_attribute14 := l_x_Header_Adj_rec.attribute14;
405 x_attribute15 := l_x_Header_Adj_rec.attribute15;
406 x_ac_context := l_x_Header_Adj_rec.ac_context;
407 x_ac_attribute1 := l_x_Header_Adj_rec.ac_attribute1;
408 x_ac_attribute2 := l_x_Header_Adj_rec.ac_attribute2;
409 x_ac_attribute3 := l_x_Header_Adj_rec.ac_attribute3;
410 x_ac_attribute4 := l_x_Header_Adj_rec.ac_attribute4;
411 x_ac_attribute5 := l_x_Header_Adj_rec.ac_attribute5;
412 x_ac_attribute6 := l_x_Header_Adj_rec.ac_attribute6;
413 x_ac_attribute7 := l_x_Header_Adj_rec.ac_attribute7;
414 x_ac_attribute8 := l_x_Header_Adj_rec.ac_attribute8;
415 x_ac_attribute9 := l_x_Header_Adj_rec.ac_attribute9;
416 x_ac_attribute10 := l_x_Header_Adj_rec.ac_attribute10;
417 x_ac_attribute11 := l_x_Header_Adj_rec.ac_attribute11;
418 x_ac_attribute12 := l_x_Header_Adj_rec.ac_attribute12;
419 x_ac_attribute13 := l_x_Header_Adj_rec.ac_attribute13;
420 x_ac_attribute14 := l_x_Header_Adj_rec.ac_attribute14;
421 x_ac_attribute15 := l_x_Header_Adj_rec.ac_attribute15;
422 x_list_header_id := l_x_Header_Adj_rec.list_header_id;
423 x_list_line_id := l_x_Header_Adj_rec.list_line_id;
424 x_list_line_type_code := l_x_Header_Adj_rec.list_line_type_code;
425 x_modifier_mechanism_type_code := l_x_Header_Adj_rec.modifier_mechanism_type_code;
426 x_updated_flag := l_x_Header_Adj_rec.updated_flag;
427 x_update_allowed := l_x_Header_Adj_rec.update_allowed;
428 x_applied_flag := l_x_Header_Adj_rec.applied_flag;
429 x_change_reason_code := l_x_Header_Adj_rec.change_reason_code;
430 x_change_reason_text := l_x_Header_Adj_rec.change_reason_text;
431 x_modified_from := l_x_Header_Adj_rec.modified_from;
432 x_modified_to := l_x_Header_Adj_rec.modified_to;
433 x_operand := l_x_Header_Adj_rec.operand;
434 x_arithmetic_operator := l_x_Header_Adj_rec.arithmetic_operator;
435
436 x_adjusted_amount := l_x_Header_Adj_rec.adjusted_amount;
437 x_pricing_phase_id := l_x_Header_Adj_rec.pricing_phase_id;
438 x_list_line_no := l_x_Header_Adj_rec.list_line_no;
439 x_source_system_code := l_x_Header_Adj_rec.source_system_code;
440 x_benefit_qty := l_x_Header_Adj_rec.benefit_qty;
441 x_benefit_uom_code := l_x_Header_Adj_rec.benefit_uom_code;
442 x_print_on_invoice_flag := l_x_Header_Adj_rec.print_on_invoice_flag;
443 x_expiration_date := l_x_Header_Adj_rec.expiration_date;
444 x_rebate_transaction_type_code := l_x_Header_Adj_rec.rebate_transaction_type_code;
445 x_rebate_transaction_reference := l_x_Header_Adj_rec.rebate_transaction_reference;
446 x_rebate_payment_system_code := l_x_Header_Adj_rec.rebate_payment_system_code;
447 x_redeemed_date := l_x_Header_Adj_rec.redeemed_date;
448 x_redeemed_flag := l_x_Header_Adj_rec.redeemed_flag;
449 x_accrual_flag := l_x_Header_Adj_rec.accrual_flag;
450 x_estimated_flag := l_x_Header_Adj_rec.estimated_flag;
451 x_invoiced_flag := l_x_Header_Adj_rec.invoiced_flag;
452 x_charge_type_code := l_x_Header_Adj_rec.charge_type_code;
453 x_charge_subtype_code := l_x_Header_Adj_rec.charge_subtype_code;
454 x_credit_or_charge_flag := l_x_Header_Adj_rec.credit_or_charge_flag;
455 x_include_on_returns_flag := l_x_Header_Adj_rec.include_on_returns_flag;
456 --uom begin
457 x_operand_per_pqty := l_x_Header_Adj_rec.operand_per_pqty;
458 x_adjusted_amount_per_pqty := l_x_Header_Adj_rec.adjusted_amount_per_pqty;
459 --uom end
460 -- Load display out parameters if any
461
462 l_Header_Adj_val_rec := OE_Header_Adj_Util.Get_Values
463 ( p_Header_Adj_rec => l_x_Header_Adj_rec
464 );
465 x_discount := l_Header_Adj_val_rec.discount;
466
467 -- Write to cache.
468 -- Set db_flag to False before writing to cache
469 l_x_Header_Adj_rec.db_flag := FND_API.G_FALSE;
470
471 Write_Header_Adj
472 ( p_Header_Adj_rec => l_x_Header_Adj_rec
473 );
474
475
476 -- Re-set the UI flag to FALSE
477 OE_GLOBALS.G_UI_FLAG := FALSE;
478
479 -- Set return status.
480 x_return_status := FND_API.G_RET_STS_SUCCESS;
481
482
483 -- Get message count and data
484 OE_MSG_PUB.Count_And_Get
485 ( p_count => x_msg_count
486 , p_data => x_msg_data
487 );
488
489
490 EXCEPTION
491
492 WHEN FND_API.G_EXC_ERROR THEN
493
494 OE_GLOBALS.G_UI_FLAG := FALSE;
495
496 x_return_status := FND_API.G_RET_STS_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 FND_API.G_EXC_UNEXPECTED_ERROR THEN
506
507 OE_GLOBALS.G_UI_FLAG := FALSE;
508
509 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
510
511 -- Get message count and data
512
513 OE_MSG_PUB.Count_And_Get
514 ( p_count => x_msg_count
515 , p_data => x_msg_data
516 );
517
518 WHEN OTHERS THEN
519
520 OE_GLOBALS.G_UI_FLAG := FALSE;
521
522 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
523
524 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
525 THEN
526 OE_MSG_PUB.Add_Exc_Msg
527 ( G_PKG_NAME
528 , 'Default_Attributes'
529 );
530 END IF;
531
532 -- Get message count and data
533
534 OE_MSG_PUB.Count_And_Get
535 ( p_count => x_msg_count
536 , p_data => x_msg_data
537 );
538
539 END Default_Attributes;
540
541 -- Procedure : Change_Attribute
542 --
543
544 PROCEDURE Change_Attributes
545 ( x_return_status OUT NOCOPY VARCHAR2
546
547 , x_msg_count OUT NOCOPY NUMBER
548
549 , x_msg_data OUT NOCOPY VARCHAR2
550
551 , p_price_adjustment_id IN NUMBER
552 , p_attr_id IN NUMBER
553 , p_attr_value1 IN VARCHAR2
554 , p_attr_value2 IN VARCHAR2 DEFAULT FND_API.G_MISS_CHAR
555 , p_context IN VARCHAR2
556 , p_attribute1 IN VARCHAR2
557 , p_attribute2 IN VARCHAR2
558 , p_attribute3 IN VARCHAR2
559 , p_attribute4 IN VARCHAR2
560 , p_attribute5 IN VARCHAR2
561 , p_attribute6 IN VARCHAR2
562 , p_attribute7 IN VARCHAR2
563 , p_attribute8 IN VARCHAR2
564 , p_attribute9 IN VARCHAR2
565 , p_attribute10 IN VARCHAR2
566 , p_attribute11 IN VARCHAR2
567 , p_attribute12 IN VARCHAR2
568 , p_attribute13 IN VARCHAR2
569 , p_attribute14 IN VARCHAR2
570 , p_attribute15 IN VARCHAR2
571 , p_ac_context IN VARCHAR2
572 , p_ac_attribute1 IN VARCHAR2
573 , p_ac_attribute2 IN VARCHAR2
574 , p_ac_attribute3 IN VARCHAR2
575 , p_ac_attribute4 IN VARCHAR2
576 , p_ac_attribute5 IN VARCHAR2
577 , p_ac_attribute6 IN VARCHAR2
578 , p_ac_attribute7 IN VARCHAR2
579 , p_ac_attribute8 IN VARCHAR2
580 , p_ac_attribute9 IN VARCHAR2
581 , p_ac_attribute10 IN VARCHAR2
582 , p_ac_attribute11 IN VARCHAR2
583 , p_ac_attribute12 IN VARCHAR2
584 , p_ac_attribute13 IN VARCHAR2
585 , p_ac_attribute14 IN VARCHAR2
586 , p_ac_attribute15 IN VARCHAR2
587 , x_price_adjustment_id OUT NOCOPY NUMBER
588
589 , x_header_id OUT NOCOPY NUMBER
590
591 , x_discount_id OUT NOCOPY NUMBER
592
593 , x_discount_line_id OUT NOCOPY NUMBER
594
595 , x_automatic_flag OUT NOCOPY VARCHAR2
596
597 , x_percent OUT NOCOPY NUMBER
598
599 , x_line_id OUT NOCOPY NUMBER
600
601 , x_context OUT NOCOPY VARCHAR2
602
603 , x_attribute1 OUT NOCOPY VARCHAR2
604
605 , x_attribute2 OUT NOCOPY VARCHAR2
606
607 , x_attribute3 OUT NOCOPY VARCHAR2
608
609 , x_attribute4 OUT NOCOPY VARCHAR2
610
611 , x_attribute5 OUT NOCOPY VARCHAR2
612
613 , x_attribute6 OUT NOCOPY VARCHAR2
614
615 , x_attribute7 OUT NOCOPY VARCHAR2
616
617 , x_attribute8 OUT NOCOPY VARCHAR2
618
619 , x_attribute9 OUT NOCOPY VARCHAR2
620
621 , x_attribute10 OUT NOCOPY VARCHAR2
622
623 , x_attribute11 OUT NOCOPY VARCHAR2
624
625 , x_attribute12 OUT NOCOPY VARCHAR2
626
627 , x_attribute13 OUT NOCOPY VARCHAR2
628
629 , x_attribute14 OUT NOCOPY VARCHAR2
630
631 , x_attribute15 OUT NOCOPY VARCHAR2
632
633 , x_ac_context OUT NOCOPY VARCHAR2
634
635 , x_ac_attribute1 OUT NOCOPY VARCHAR2
636
637 , x_ac_attribute2 OUT NOCOPY VARCHAR2
638
639 , x_ac_attribute3 OUT NOCOPY VARCHAR2
640
641 , x_ac_attribute4 OUT NOCOPY VARCHAR2
642
643 , x_ac_attribute5 OUT NOCOPY VARCHAR2
644
645 , x_ac_attribute6 OUT NOCOPY VARCHAR2
646
647 , x_ac_attribute7 OUT NOCOPY VARCHAR2
648
649 , x_ac_attribute8 OUT NOCOPY VARCHAR2
650
651 , x_ac_attribute9 OUT NOCOPY VARCHAR2
652
653 , x_ac_attribute10 OUT NOCOPY VARCHAR2
654
655 , x_ac_attribute11 OUT NOCOPY VARCHAR2
656
657 , x_ac_attribute12 OUT NOCOPY VARCHAR2
658
659 , x_ac_attribute13 OUT NOCOPY VARCHAR2
660
661 , x_ac_attribute14 OUT NOCOPY VARCHAR2
662
663 , x_ac_attribute15 OUT NOCOPY VARCHAR2
664
665 , x_discount OUT NOCOPY VARCHAR2
666
667 , p_enforce_fixed_price IN VARCHAR2
668
669 -- New code added
670 , x_list_header_id OUT NOCOPY NUMBER
671
672 , x_list_line_id OUT NOCOPY NUMBER
673
674 , x_list_line_type_code OUT NOCOPY VARCHAR2
675
676 , x_modifier_mechanism_type_code OUT NOCOPY VARCHAR2
677
678 , x_updated_flag OUT NOCOPY VARCHAR2
679
680 , x_update_allowed OUT NOCOPY VARCHAR2
681
682 , x_applied_flag OUT NOCOPY VARCHAR2
683
684 , x_change_reason_code OUT NOCOPY VARCHAR2
685
686 , x_change_reason_text OUT NOCOPY VARCHAR2
687
688 , x_modified_from OUT NOCOPY VARCHAR2
689
690 , x_modified_to OUT NOCOPY VARCHAR2
691
692 , x_operand OUT NOCOPY NUMBER
693
694 , x_arithmetic_operator OUT NOCOPY varchar2
695
696
697 , x_adjusted_amount OUT NOCOPY NUMBER
698
699 , x_pricing_phase_id OUT NOCOPY NUMBER
700
701 , x_list_line_no OUT NOCOPY varchar2
702
703 , x_source_system_code OUT NOCOPY varchar2
704
705 , x_benefit_qty OUT NOCOPY NUMBER
706
707 , x_benefit_uom_code OUT NOCOPY varchar2
708
709 , x_print_on_invoice_flag OUT NOCOPY varchar2
710
711 , x_expiration_date OUT NOCOPY DATE
712
713 , x_rebate_transaction_type_code OUT NOCOPY varchar2
714
715 , x_rebate_transaction_reference OUT NOCOPY varchar2
716
717 , x_rebate_payment_system_code OUT NOCOPY varchar2
718
719 , x_redeemed_date OUT NOCOPY DATE
720
721 , x_redeemed_flag OUT NOCOPY varchar2
722
723 , x_accrual_flag OUT NOCOPY varchar2
724
725 , x_invoiced_flag OUT NOCOPY varchar2
726
727 , x_estimated_flag OUT NOCOPY varchar2
728
729 , x_credit_or_charge_flag OUT NOCOPY varchar2
730
731 , x_include_on_returns_flag OUT NOCOPY varchar2
732
733 , x_charge_type_code OUT NOCOPY varchar2
734
735 , x_charge_subtype_code OUT NOCOPY varchar2
736
737 --uom begin
738 , x_operand_per_pqty OUT NOCOPY number
739
740 , x_adjusted_amount_per_pqty OUT NOCOPY number
741
742 --uom end
743 )
744 IS
745 l_request_rec OE_Order_Pub.Request_Rec_Type;
746 l_request_tbl OE_Order_Pub.Request_Tbl_Type;
747 l_Header_Adj_rec OE_Order_PUB.Header_Adj_Rec_Type;
748 l_old_Header_Adj_rec OE_Order_PUB.Header_Adj_Rec_Type;
749 l_x_old_Header_Adj_rec OE_Order_PUB.Header_Adj_Rec_Type;
750 l_Header_Adj_tbl OE_Order_PUB.Header_Adj_Tbl_Type;
751 l_old_Header_Adj_tbl OE_Order_PUB.Header_Adj_Tbl_Type;
752 l_x_old_Header_Adj_tbl OE_Order_PUB.Header_Adj_Tbl_Type;
753 l_Header_Adj_val_rec OE_Order_PUB.Header_Adj_Val_Rec_Type;
754 l_control_rec OE_GLOBALS.Control_Rec_Type;
755 l_return_status VARCHAR2(1);
756 l_action_request_tbl OE_Order_PUB.Request_Tbl_Type;
757 l_x_header_rec OE_Order_PUB.Header_Rec_Type;
758 l_x_Header_Adj_rec OE_Order_PUB.Header_Adj_Rec_Type;
759 l_x_Header_Adj_tbl OE_Order_PUB.Header_Adj_Tbl_Type;
760 l_x_Header_Scredit_rec OE_Order_PUB.Header_Scredit_Rec_Type;
761 l_x_Header_Scredit_tbl OE_Order_PUB.Header_Scredit_Tbl_Type;
762 l_x_line_rec OE_Order_PUB.Line_Rec_Type;
763 l_x_line_tbl OE_Order_PUB.Line_Tbl_Type;
764 l_x_Line_Adj_rec OE_Order_PUB.Line_Adj_Rec_Type;
765 l_x_Line_Adj_tbl OE_Order_PUB.Line_Adj_Tbl_Type;
766 l_x_Line_Scredit_rec OE_Order_PUB.Line_Scredit_Rec_Type;
767 l_x_Line_Scredit_tbl OE_Order_PUB.Line_Scredit_Tbl_Type;
768 l_x_Lot_Serial_rec OE_Order_PUB.Lot_Serial_Rec_Type;
769 l_x_Lot_Serial_tbl OE_Order_PUB.Lot_Serial_Tbl_Type;
770
771 --New out parameters
772 l_x_Header_price_Att_tbl OE_Order_PUB.Header_Price_Att_Tbl_Type;
773 l_x_Header_Adj_Att_tbl OE_Order_PUB.Header_Adj_Att_Tbl_Type;
774 l_x_Header_Adj_Assoc_tbl OE_Order_PUB.Header_Adj_Assoc_Tbl_Type;
775
776 l_x_Line_price_Att_tbl OE_Order_PUB.Line_Price_Att_Tbl_Type ;
777 l_x_Line_Adj_Att_tbl OE_Order_PUB.Line_Adj_Att_Tbl_Type ;
778 l_x_Line_Adj_Assoc_tbl OE_Order_PUB.Line_Adj_Assoc_Tbl_Type ;
779 l_date_format Varchar2(22) := 'DD-MON-YYYY HH24:MI:SS';
780 stmt NUMBER:=0;
781 --
782 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
783 --
784 BEGIN
785
786 IF l_debug_level > 0 THEN
787 oe_debug_pub.add( 'ENTERING OE_OE_FORM_HEADER_ADJ.CHANGE_ATTRIBUTES' , 1 ) ;
788 END IF;
789
790 -- Set the UI flag
791 OE_GLOBALS.G_UI_FLAG := TRUE;
792
793 -- Set control flags.
794 l_control_rec.controlled_operation := TRUE;
795 l_control_rec.check_security := TRUE;
796 l_control_rec.clear_dependents := TRUE;
797 l_control_rec.default_attributes := TRUE;
798 l_control_rec.change_attributes := TRUE;
799
800 l_control_rec.validate_entity := FALSE;
801 l_control_rec.write_to_DB := FALSE;
802 l_control_rec.process := FALSE;
803 l_control_rec.process_entity := OE_GLOBALS.G_ENTITY_HEADER_ADJ;
804
805
806 -- Instruct API to retain its caches
807 l_control_rec.clear_api_cache := FALSE;
808 l_control_rec.clear_api_requests := FALSE;
809
810
811 -- Save point to rollback to if there were
812 -- any errors
813 SAVEPOINT change_attributes;
814
815 -- Read Header_Adj from cache
816 Get_Header_Adj
817 ( p_db_record => FALSE
818 , p_price_adjustment_id => p_price_adjustment_id
819 , x_Header_Adj_rec => l_x_Header_Adj_rec
820 );
821
822
823 l_x_old_Header_Adj_rec := l_x_Header_Adj_rec;
824
825
826 IF p_attr_id = OE_Header_Adj_Util.G_PRICE_ADJUSTMENT THEN
827 l_x_Header_Adj_rec.price_adjustment_id := TO_NUMBER(p_attr_value1);
828 ELSIF p_attr_id = OE_Header_Adj_Util.G_HEADER THEN
829 l_x_Header_Adj_rec.header_id := TO_NUMBER(p_attr_value1);
830
831 -- The following has been done because a discount can only
832 -- be uniquely identified with a discount_id and discount_line_id
833 --
834 -- The form will now be sending in both attribute_values
835 --
836 -- It ATTR_ID is discount_id then
837 -- ATTR_VALUE1 is discount_id
838 -- ATTR_VALUE2 is discount_line_id
839 ELSIF p_attr_id = OE_Header_Adj_Util.G_DISCOUNT THEN
840 l_x_Header_Adj_rec.discount_id := TO_NUMBER(p_attr_value1);
841 l_x_Header_Adj_rec.discount_line_id := TO_NUMBER(p_attr_value2);
842
843 -- It ATTR_ID is discount_line_id then
844 -- ATTR_VALUE1 is discount_line_id
845 -- ATTR_VALUE2 is discount_id
846 ELSIF p_attr_id = OE_Header_Adj_Util.G_DISCOUNT_LINE THEN
847 l_x_Header_Adj_rec.discount_line_id := TO_NUMBER(p_attr_value1);
848 l_x_Header_Adj_rec.discount_id := TO_NUMBER(p_attr_value2);
849
850 -- New code Added :: Column Changes
851 ELSIF p_attr_id = OE_Header_Adj_Util.G_LIST_HEADER_ID then
852 l_x_Header_Adj_rec.list_header_id := to_number(p_attr_value1) ;
853 ELSIF p_attr_id = OE_Header_Adj_Util.G_LIST_LINE_ID then
854 l_x_Header_Adj_rec.list_line_id := to_number(p_attr_value1) ;
855 ELSIF p_attr_id = OE_Header_Adj_Util.G_LIST_LINE_TYPE_CODE then
856 l_x_Header_Adj_rec.list_line_type_code := p_attr_value1 ;
857 ELSIF p_attr_id = OE_Header_Adj_Util.G_MODIFIER_MECHANISM_TYPE_CODE then
858 l_x_Header_Adj_rec.modifier_mechanism_type_code := p_attr_value1 ;
859 ELSIF p_attr_id = OE_Header_Adj_Util.G_MODIFIED_FROM then
860 l_x_Header_Adj_rec.modified_from := p_attr_value1;
861 ELSIF p_attr_id = OE_Header_Adj_Util.G_MODIFIED_TO then
862 l_x_Header_Adj_rec.modified_to := p_attr_value1;
863 ELSIF p_attr_id = OE_Header_Adj_Util.G_UPDATE_ALLOWED then
864 l_x_Header_Adj_rec.update_allowed := p_attr_value1 ;
865 ELSIF p_attr_id = OE_Header_Adj_Util.G_UPDATED_FLAG then
866 l_x_Header_Adj_rec.updated_flag := p_attr_value1 ;
867 ELSIF p_attr_id = OE_Header_Adj_Util.G_APPLIED_FLAG then
868 l_x_Header_Adj_rec.applied_flag := p_attr_value1 ;
869 ELSIF p_attr_id = OE_Header_Adj_Util.G_CHANGE_REASON_CODE then
870 l_x_Header_Adj_rec.change_reason_code := p_attr_value1 ;
871 ELSIF p_attr_id = OE_Header_Adj_Util.G_CHANGE_REASON_TEXT then
872 l_x_Header_Adj_rec.change_reason_text := p_attr_value1 ;
873 ELSIF p_attr_id = OE_Header_Adj_Util.G_OPERAND then
874 l_x_Header_Adj_rec.operand := p_attr_value1 ;
875 ELSIF p_attr_id = OE_Header_Adj_Util.G_pricing_group_sequence THEN --bug 12895497
876 l_x_Header_Adj_rec.pricing_group_sequence := p_attr_value1 ; --bug 12895497
877 ELSIF p_attr_id = OE_Header_Adj_Util.G_ARITHMETIC_OPERATOR then
878 l_x_Header_Adj_rec.arithmetic_operator := p_attr_value1 ;
879
880 ELSIF p_attr_id = OE_Header_Adj_Util.G_ADJUSTED_AMOUNT then
881 l_x_Header_Adj_rec.adjusted_amount := p_attr_value1 ;
882 ELSIF p_attr_id = OE_Header_Adj_Util.G_PRICING_PHASE_ID then
883 l_x_Header_Adj_rec.pricing_phase_id := p_attr_value1 ;
884 ELSIF p_attr_id = OE_Header_Adj_Util.G_LIST_LINE_NO then
885 l_x_Header_Adj_rec.list_line_no := p_attr_value1 ;
886 ELSIF p_attr_id = OE_Header_Adj_Util.G_SOURCE_SYSTEM_CODE then
887 l_x_Header_Adj_rec.source_system_code := p_attr_value1;
888 ELSIF p_attr_id = OE_Header_Adj_Util.G_BENEFIT_QTY then
889 l_x_Header_Adj_rec.benefit_qty := TO_NUMBER(p_attr_value1);
890 ELSIF p_attr_id = OE_Header_Adj_Util.G_BENEFIT_UOM_CODE then
891 l_x_Header_Adj_rec.benefit_uom_code := p_attr_value1;
892 ELSIF p_attr_id = OE_Header_Adj_Util.G_PRINT_ON_INVOICE_FLAG then
893 l_x_Header_Adj_rec.print_on_invoice_flag := p_attr_value1;
894 ELSIF p_attr_id = OE_Header_Adj_Util.G_EXPIRATION_DATE then
895 --l_x_Header_Adj_rec.expiration_date := TO_DATE(p_attr_value1, l_date_format);
896 l_x_Header_Adj_rec.expiration_date := fnd_date.string_TO_DATE(p_attr_value1, l_date_format); --bug5402396
897 ELSIF p_attr_id = OE_Header_Adj_Util.G_REBATE_TRANSACTION_TYPE_CODE then
898 l_x_Header_Adj_rec.rebate_transaction_type_code := p_attr_value1;
899 ELSIF p_attr_id = OE_Header_Adj_Util.G_REBATE_TRANSACTION_REFERENCE then
900 l_x_Header_Adj_rec.rebate_transaction_reference := p_attr_value1;
901 ELSIF p_attr_id = OE_Header_Adj_Util.G_REBATE_PAYMENT_SYSTEM_CODE then
902 l_x_Header_Adj_rec.rebate_payment_system_code := p_attr_value1;
903 ELSIF p_attr_id = OE_Header_Adj_Util.G_REDEEMED_DATE then
904 --l_x_Header_Adj_rec.redeemed_date := TO_DATE(p_attr_value1, l_date_format);
905 l_x_Header_Adj_rec.redeemed_date := fnd_date.string_TO_DATE(p_attr_value1, l_date_format); --bug5402396
906 ELSIF p_attr_id = OE_Header_Adj_Util.G_REDEEMED_FLAG then
907 l_x_Header_Adj_rec.redeemed_flag := p_attr_value1;
908 ELSIF p_attr_id = OE_Header_Adj_Util.G_ACCRUAL_FLAG then
909 l_x_Header_Adj_rec.accrual_flag := p_attr_value1;
910
911 ELSIF p_attr_id = OE_Header_Adj_Util.G_AUTOMATIC THEN
912 l_x_Header_Adj_rec.automatic_flag := p_attr_value1;
913 ELSIF p_attr_id = OE_Header_Adj_Util.G_PERCENT THEN
914 l_x_Header_Adj_rec.percent := TO_NUMBER(p_attr_value1);
915 --Manual begin
916 ELSIF p_attr_id = OE_Header_Adj_Util.G_LINE THEN
917 If p_attr_value1 is Not Null Then
918 l_x_Header_Adj_rec.line_id := TO_NUMBER(p_attr_value1);
919 Else
920 l_x_Header_Adj_rec.line_id := NULL;
921 End If;
922 --Manual end
923 ELSIF p_attr_id = OE_Header_Adj_Util.G_ESTIMATED_FLAG THEN
924 l_x_Header_Adj_rec.estimated_flag := p_attr_value1;
925 ELSIF p_attr_id = OE_Header_Adj_Util.G_INVOICED_FLAG THEN
926 l_x_Header_Adj_rec.INVOICED_FLAG := p_attr_value1;
927 ELSIF p_attr_id = OE_Header_Adj_Util.G_credit_or_charge_flag THEN
928 l_x_Header_Adj_rec.credit_or_charge_flag := p_attr_value1;
929 ELSIF p_attr_id = OE_Header_Adj_Util.G_include_on_returns_flag THEN
930 l_x_Header_Adj_rec.include_on_returns_flag := p_attr_value1;
931 ELSIF p_attr_id = OE_Header_Adj_Util.G_charge_type_code THEN
932 l_x_Header_Adj_rec.charge_type_code := p_attr_value1;
933 ELSIF p_attr_id = OE_Header_Adj_Util.G_charge_subtype_code THEN
934 l_x_Header_Adj_rec.charge_subtype_code := p_attr_value1;
935 --uom begin
936 ELSIF p_attr_id = OE_Header_Adj_Util.G_operand_per_pqty Then
937 l_x_Header_Adj_rec.operand_per_pqty := to_number(p_attr_value1);
938 ELSIF p_attr_id = OE_Header_Adj_Util.G_adjusted_amount_per_pqty Then
939 l_x_Header_Adj_rec.adjusted_amount_per_pqty := to_number(p_attr_value1);
940 --uom end
941 --Manual begin
942 ELSIF p_attr_id = OE_Header_Adj_Util.G_modifier_level_code Then
943 l_x_Header_Adj_rec.modifier_level_code := p_attr_value1;
944 ELSIF p_attr_id = OE_Header_Adj_Util.G_OVERRIDE_ALLOWED_FLAG Then
945 l_x_Header_Adj_rec.update_allowed:= p_attr_value1;
946 --Manual end
947 ELSIF p_attr_id = OE_Header_Adj_Util.G_CONTEXT
948 OR p_attr_id = OE_Header_Adj_Util.G_ATTRIBUTE1
949 OR p_attr_id = OE_Header_Adj_Util.G_ATTRIBUTE2
950 OR p_attr_id = OE_Header_Adj_Util.G_ATTRIBUTE3
951 OR p_attr_id = OE_Header_Adj_Util.G_ATTRIBUTE4
952 OR p_attr_id = OE_Header_Adj_Util.G_ATTRIBUTE5
953 OR p_attr_id = OE_Header_Adj_Util.G_ATTRIBUTE6
954 OR p_attr_id = OE_Header_Adj_Util.G_ATTRIBUTE7
955 OR p_attr_id = OE_Header_Adj_Util.G_ATTRIBUTE8
956 OR p_attr_id = OE_Header_Adj_Util.G_ATTRIBUTE9
957 OR p_attr_id = OE_Header_Adj_Util.G_ATTRIBUTE10
958 OR p_attr_id = OE_Header_Adj_Util.G_ATTRIBUTE11
959 OR p_attr_id = OE_Header_Adj_Util.G_ATTRIBUTE12
960 OR p_attr_id = OE_Header_Adj_Util.G_ATTRIBUTE13
961 OR p_attr_id = OE_Header_Adj_Util.G_ATTRIBUTE14
962 OR p_attr_id = OE_Header_Adj_Util.G_ATTRIBUTE15
963 THEN
964
965 l_x_Header_Adj_rec.context := p_context;
966 l_x_Header_Adj_rec.attribute1 := p_attribute1;
967 l_x_Header_Adj_rec.attribute2 := p_attribute2;
968 l_x_Header_Adj_rec.attribute3 := p_attribute3;
969 l_x_Header_Adj_rec.attribute4 := p_attribute4;
970 l_x_Header_Adj_rec.attribute5 := p_attribute5;
971 l_x_Header_Adj_rec.attribute6 := p_attribute6;
972 l_x_Header_Adj_rec.attribute7 := p_attribute7;
973 l_x_Header_Adj_rec.attribute8 := p_attribute8;
974 l_x_Header_Adj_rec.attribute9 := p_attribute9;
975 l_x_Header_Adj_rec.attribute10 := p_attribute10;
976 l_x_Header_Adj_rec.attribute11 := p_attribute11;
977 l_x_Header_Adj_rec.attribute12 := p_attribute12;
978 l_x_Header_Adj_rec.attribute13 := p_attribute13;
979 l_x_Header_Adj_rec.attribute14 := p_attribute14;
980 l_x_Header_Adj_rec.attribute15 := p_attribute15;
981 ELSIF p_attr_id = OE_Header_Adj_Util.G_AC_CONTEXT
982 OR p_attr_id = OE_Header_Adj_Util.G_AC_ATTRIBUTE1
983 OR p_attr_id = OE_Header_Adj_Util.G_AC_ATTRIBUTE2
984 OR p_attr_id = OE_Header_Adj_Util.G_AC_ATTRIBUTE3
985 OR p_attr_id = OE_Header_Adj_Util.G_AC_ATTRIBUTE4
986 OR p_attr_id = OE_Header_Adj_Util.G_AC_ATTRIBUTE5
987 OR p_attr_id = OE_Header_Adj_Util.G_AC_ATTRIBUTE6
988 OR p_attr_id = OE_Header_Adj_Util.G_AC_ATTRIBUTE7
989 OR p_attr_id = OE_Header_Adj_Util.G_AC_ATTRIBUTE8
990 OR p_attr_id = OE_Header_Adj_Util.G_AC_ATTRIBUTE9
991 OR p_attr_id = OE_Header_Adj_Util.G_AC_ATTRIBUTE10
992 OR p_attr_id = OE_Header_Adj_Util.G_AC_ATTRIBUTE11
993 OR p_attr_id = OE_Header_Adj_Util.G_AC_ATTRIBUTE12
994 OR p_attr_id = OE_Header_Adj_Util.G_AC_ATTRIBUTE13
995 OR p_attr_id = OE_Header_Adj_Util.G_AC_ATTRIBUTE14
996 OR p_attr_id = OE_Header_Adj_Util.G_AC_ATTRIBUTE15
997 THEN
998
999 l_x_Header_Adj_rec.ac_context := p_ac_context;
1000 l_x_Header_Adj_rec.ac_attribute1 := p_ac_attribute1;
1001 l_x_Header_Adj_rec.ac_attribute2 := p_ac_attribute2;
1002 l_x_Header_Adj_rec.ac_attribute3 := p_ac_attribute3;
1003 l_x_Header_Adj_rec.ac_attribute4 := p_ac_attribute4;
1004 l_x_Header_Adj_rec.ac_attribute5 := p_ac_attribute5;
1005 l_x_Header_Adj_rec.ac_attribute6 := p_ac_attribute6;
1006 l_x_Header_Adj_rec.ac_attribute7 := p_ac_attribute7;
1007 l_x_Header_Adj_rec.ac_attribute8 := p_ac_attribute8;
1008 l_x_Header_Adj_rec.ac_attribute9 := p_ac_attribute9;
1009 l_x_Header_Adj_rec.ac_attribute10 := p_ac_attribute10;
1010 l_x_Header_Adj_rec.ac_attribute11 := p_ac_attribute11;
1011 l_x_Header_Adj_rec.ac_attribute12 := p_ac_attribute12;
1012 l_x_Header_Adj_rec.ac_attribute13 := p_ac_attribute13;
1013 l_x_Header_Adj_rec.ac_attribute14 := p_ac_attribute14;
1014 l_x_Header_Adj_rec.ac_attribute15 := p_ac_attribute15;
1015
1016 ELSE
1017
1018 -- Unexpected error, unrecognized attribute
1019 stmt:=5;
1020 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1021 THEN
1022 OE_MSG_PUB.Add_Exc_Msg
1023 ( G_PKG_NAME
1024 , 'Change_Attributes'
1025 , 'Unrecognized attribute:'||p_attr_id
1026 );
1027 END IF;
1028
1029 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1030
1031 END IF;
1032 stmt:=10;
1033
1034 -- Set Operation.
1035 IF FND_API.To_Boolean(l_x_Header_Adj_rec.db_flag) THEN
1036 l_x_Header_Adj_rec.operation := OE_GLOBALS.G_OPR_UPDATE;
1037 ELSE
1038 l_x_Header_Adj_rec.operation := OE_GLOBALS.G_OPR_CREATE;
1039 END IF;
1040
1041
1042 -- Request execution of delayed request on if a discount is
1043 -- applied
1044 /* IF p_attr_id = OE_Header_Adj_Util.G_DISCOUNT_LINE
1045 OR
1046 p_attr_id = OE_Header_Adj_Util.G_DISCOUNT
1047 THEN
1048
1049 -- Assign requests that are to be executed
1050 l_request_rec.entity_code:= OE_GLOBALS.G_ENTITY_HEADER_ADJ;
1051 l_request_rec.entity_id := l_header_adj_rec.price_adjustment_id;
1052 l_request_rec.param1 := l_header_adj_rec.discount_id;
1053 l_request_rec.param2 := l_header_adj_rec.header_id;
1054 l_request_rec.request_type := OE_GLOBALS.G_CHECK_DUPLICATE;
1055 l_request_tbl(1) := l_request_rec;
1056
1057 END IF; */
1058
1059 -- Populate Header_Adj table
1060 -- l_Header_Adj_tbl(1) := l_Header_Adj_rec;
1061 l_x_Header_Adj_tbl(1) := l_x_Header_Adj_rec;
1062 l_old_Header_Adj_tbl(1) := l_old_Header_Adj_rec;
1063
1064 -- Call Oe_Order_Adj_Pvt.Header_Adj
1065 l_Header_Adj_rec := l_x_Header_Adj_rec;
1066 stmt:=15;
1067 oe_order_adj_pvt.Header_Adjs
1068 ( p_init_msg_list => FND_API.G_TRUE
1069 , p_validation_level => FND_API.G_VALID_LEVEL_NONE
1070 , p_control_rec => l_control_rec
1071 , p_x_header_adj_tbl => l_x_Header_Adj_tbl
1072 , p_x_old_header_adj_tbl => l_x_old_header_adj_tbl
1073 );
1074
1075 -- Unload out tbl
1076 l_x_Header_Adj_rec := l_x_Header_Adj_tbl(1);
1077
1078 stmt:=20;
1079 IF l_x_header_adj_rec.return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1080 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1081 ELSIF l_x_header_adj_rec.return_status = FND_API.G_RET_STS_ERROR THEN
1082 RAISE FND_API.G_EXC_ERROR;
1083 END IF;
1084 stmt:=25;
1085 OE_DELAYED_REQUESTS_PVT.Process_Request_for_Reqtype
1086 (p_request_type => OE_GLOBALS.G_CHECK_DUPLICATE
1087 ,p_delete => FND_API.G_TRUE
1088 ,x_return_status => l_return_status
1089 );
1090 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1091 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1092 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1093 RAISE FND_API.G_EXC_ERROR;
1094 END IF;
1095
1096 OE_DELAYED_REQUESTS_PVT.Process_Request_for_Reqtype
1097 (p_request_type => OE_GLOBALS.G_CHECK_FIXED_PRICE
1098 ,p_delete => FND_API.G_TRUE
1099 ,x_return_status => l_return_status
1100 );
1101 IF p_enforce_fixed_price = 'YES' THEN
1102 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1103 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1104 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1105 RAISE FND_API.G_EXC_ERROR;
1106 END IF;
1107 ELSE
1108 l_return_status := FND_API.G_RET_STS_SUCCESS;
1109 END IF;
1110
1111
1112 stmt:=30;
1113 -- Init OUT parameters to missing.
1114
1115 x_price_adjustment_id := FND_API.G_MISS_NUM;
1116 x_header_id := FND_API.G_MISS_NUM;
1117 x_discount_id := FND_API.G_MISS_NUM;
1118 x_discount := FND_API.G_MISS_CHAR;
1119 x_discount_line_id := FND_API.G_MISS_NUM;
1120 x_automatic_flag := FND_API.G_MISS_CHAR;
1121 x_percent := FND_API.G_MISS_NUM;
1122 x_line_id := FND_API.G_MISS_NUM;
1123 x_context := FND_API.G_MISS_CHAR;
1124 x_attribute1 := FND_API.G_MISS_CHAR;
1125 x_attribute2 := FND_API.G_MISS_CHAR;
1126 x_attribute3 := FND_API.G_MISS_CHAR;
1127 x_attribute4 := FND_API.G_MISS_CHAR;
1128 x_attribute5 := FND_API.G_MISS_CHAR;
1129 x_attribute6 := FND_API.G_MISS_CHAR;
1130 x_attribute7 := FND_API.G_MISS_CHAR;
1131 x_attribute8 := FND_API.G_MISS_CHAR;
1132 x_attribute9 := FND_API.G_MISS_CHAR;
1133 x_attribute10 := FND_API.G_MISS_CHAR;
1134 x_attribute11 := FND_API.G_MISS_CHAR;
1135 x_attribute12 := FND_API.G_MISS_CHAR;
1136 x_attribute13 := FND_API.G_MISS_CHAR;
1137 x_attribute14 := FND_API.G_MISS_CHAR;
1138 x_attribute15 := FND_API.G_MISS_CHAR;
1139 x_ac_context := FND_API.G_MISS_CHAR;
1140 x_ac_attribute1 := FND_API.G_MISS_CHAR;
1141 x_ac_attribute2 := FND_API.G_MISS_CHAR;
1142 x_ac_attribute3 := FND_API.G_MISS_CHAR;
1143 x_ac_attribute4 := FND_API.G_MISS_CHAR;
1144 x_ac_attribute5 := FND_API.G_MISS_CHAR;
1145 x_ac_attribute6 := FND_API.G_MISS_CHAR;
1146 x_ac_attribute7 := FND_API.G_MISS_CHAR;
1147 x_ac_attribute8 := FND_API.G_MISS_CHAR;
1148 x_ac_attribute9 := FND_API.G_MISS_CHAR;
1149 x_ac_attribute10 := FND_API.G_MISS_CHAR;
1150 x_ac_attribute11 := FND_API.G_MISS_CHAR;
1151 x_ac_attribute12 := FND_API.G_MISS_CHAR;
1152 x_ac_attribute13 := FND_API.G_MISS_CHAR;
1153 x_ac_attribute14 := FND_API.G_MISS_CHAR;
1154 x_ac_attribute15 := FND_API.G_MISS_CHAR;
1155
1156 stmt:=35;
1157 -- New columns names added
1158 x_list_header_id := FND_API.G_MISS_NUM;
1159 x_list_line_id := FND_API.G_MISS_NUM;
1160 x_list_line_type_code := FND_API.G_MISS_CHAR;
1161 x_modifier_mechanism_type_code := FND_API.G_MISS_CHAR;
1162 x_modified_from := FND_API.G_MISS_CHAR;
1163 x_modified_to := FND_API.G_MISS_CHAR;
1164 x_update_allowed := FND_API.G_MISS_CHAR;
1165 x_updated_flag := FND_API.G_MISS_CHAR;
1166 x_applied_flag := FND_API.G_MISS_CHAR;
1167 x_change_reason_code := FND_API.G_MISS_CHAR;
1168 x_change_reason_text := FND_API.G_MISS_CHAR;
1169 x_operand := FND_API.G_MISS_NUM;
1170 x_arithmetic_operator := FND_API.G_MISS_CHAR;
1171
1172 x_adjusted_amount := FND_API.G_MISS_NUM;
1173 x_pricing_phase_id := FND_API.G_MISS_NUM;
1174 x_list_line_no := FND_API.G_MISS_CHAR;
1175 x_source_system_code := FND_API.G_MISS_CHAR;
1176 x_benefit_qty := FND_API.G_MISS_NUM;
1177 x_benefit_uom_code := FND_API.G_MISS_CHAR;
1178 x_print_on_invoice_flag := FND_API.G_MISS_CHAR;
1179 x_expiration_date := FND_API.G_MISS_DATE;
1180 x_rebate_transaction_type_code := FND_API.G_MISS_CHAR;
1181 x_rebate_transaction_reference := FND_API.G_MISS_CHAR;
1182 x_rebate_payment_system_code := FND_API.G_MISS_CHAR;
1183 x_redeemed_date := FND_API.G_MISS_DATE;
1184 x_redeemed_flag := FND_API.G_MISS_CHAR;
1185 x_accrual_flag := FND_API.G_MISS_CHAR;
1186 x_invoiced_flag := FND_API.G_MISS_CHAR;
1187 x_estimated_flag := FND_API.G_MISS_CHAR;
1188 x_credit_or_charge_flag := FND_API.G_MISS_CHAR;
1189 x_include_on_returns_flag := FND_API.G_MISS_CHAR;
1190 x_charge_type_code := FND_API.G_MISS_CHAR;
1191 x_charge_subtype_code := FND_API.G_MISS_CHAR;
1192
1193 --uom begin
1194 x_operand_per_pqty := FND_API.G_MISS_NUM;
1195 x_adjusted_amount_per_pqty := FND_API.G_MISS_NUM;
1196 --uom end
1197
1198 -- Load display out parameters if any
1199 stmt:=40;
1200 l_Header_Adj_val_rec := OE_Header_Adj_Util.Get_Values
1201 ( p_Header_Adj_rec => l_x_Header_Adj_rec
1202 , p_old_Header_Adj_rec => l_Header_Adj_rec
1203 );
1204 stmt:=45;
1205 -- New column changes :: new code
1206
1207 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.list_header_id,
1208 l_Header_Adj_rec.list_header_id)
1209 THEN
1210 x_list_header_id := l_x_Header_Adj_rec.list_header_id;
1211 END IF;
1212
1213 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.list_line_id,
1214 l_Header_Adj_rec.list_line_id)
1215 THEN
1216 x_list_line_id := l_x_Header_Adj_rec.list_line_id;
1217 END IF;
1218
1219 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.list_line_type_code,
1220
1221 l_Header_Adj_rec.list_line_type_code)
1222 THEN
1223 x_list_line_type_code := l_x_Header_Adj_rec.list_line_type_code;
1224 END IF;
1225
1226 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.modifier_mechanism_type_code,
1227
1228 l_Header_Adj_rec.modifier_mechanism_type_code)
1229 THEN
1230 x_modifier_mechanism_type_code := l_x_Header_Adj_rec.modifier_mechanism_type_code;
1231 END IF;
1232
1233 stmt:=50;
1234 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.update_allowed,
1235
1236 l_Header_Adj_rec.update_allowed)
1237 THEN
1238 x_update_allowed := l_x_Header_Adj_rec.update_allowed;
1239 END IF;
1240
1241 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.updated_flag,
1242
1243 l_Header_Adj_rec.updated_flag)
1244 THEN
1245 x_updated_flag := l_x_Header_Adj_rec.updated_flag;
1246 END IF;
1247 stmt:=55;
1248 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.modified_from,
1249
1250 l_Header_Adj_rec.modified_from)
1251 THEN
1252 x_modified_from := l_x_Header_Adj_rec.modified_from;
1253 END IF;
1254
1255 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.modified_to,
1256
1257 l_Header_Adj_rec.modified_to)
1258 THEN
1259 x_modified_to := l_x_Header_Adj_rec.modified_to;
1260 END IF;
1261 stmt:=60;
1262 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.applied_flag,
1263 l_Header_Adj_rec.applied_flag)
1264 THEN
1265 x_applied_flag := l_x_Header_Adj_rec.applied_flag;
1266 END IF;
1267 stmt:=65;
1268 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.change_reason_code,
1269 l_Header_Adj_rec.change_reason_code)
1270 THEN
1271 x_change_reason_code := l_x_Header_Adj_rec.change_reason_code;
1272 END IF;
1273
1274 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.change_reason_text,
1275 l_Header_Adj_rec.change_reason_text)
1276 THEN
1277 x_change_reason_text := l_x_Header_Adj_rec.change_reason_text;
1278 END IF;
1279 stmt:=70;
1280 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.operand,
1281 l_Header_Adj_rec.operand)
1282 THEN
1283 x_operand := l_x_Header_Adj_rec.operand;
1284 END IF;
1285
1286 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.arithmetic_operator,
1287 l_Header_Adj_rec.arithmetic_operator)
1288 THEN
1289 x_arithmetic_operator := l_x_Header_Adj_rec.arithmetic_operator;
1290 END IF;
1291
1292
1293 -- Return changed attributes.
1294
1295 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.attribute1,
1296 l_Header_Adj_rec.attribute1)
1297 THEN
1298 x_attribute1 := l_x_Header_Adj_rec.attribute1;
1299 END IF;
1300 stmt:=75;
1301 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.attribute10,
1302 l_Header_Adj_rec.attribute10)
1303 THEN
1304 x_attribute10 := l_x_Header_Adj_rec.attribute10;
1305 END IF;
1306
1307 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.attribute11,
1308 l_Header_Adj_rec.attribute11)
1309 THEN
1310 x_attribute11 := l_x_Header_Adj_rec.attribute11;
1311 END IF;
1312
1313 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.attribute12,
1314 l_Header_Adj_rec.attribute12)
1315 THEN
1316 x_attribute12 := l_x_Header_Adj_rec.attribute12;
1317 END IF;
1318 stmt:=80;
1319 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.attribute13,
1320 l_Header_Adj_rec.attribute13)
1321 THEN
1322 x_attribute13 := l_x_Header_Adj_rec.attribute13;
1323 END IF;
1324
1325 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.attribute14,
1326 l_Header_Adj_rec.attribute14)
1327 THEN
1328 x_attribute14 := l_x_Header_Adj_rec.attribute14;
1329 END IF;
1330 stmt:=85;
1331 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.attribute15,
1332 l_Header_Adj_rec.attribute15)
1333 THEN
1334 x_attribute15 := l_x_Header_Adj_rec.attribute15;
1335 END IF;
1336
1337 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.attribute2,
1338 l_Header_Adj_rec.attribute2)
1339 THEN
1340 x_attribute2 := l_x_Header_Adj_rec.attribute2;
1341 END IF;
1342
1343 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.attribute3,
1344 l_Header_Adj_rec.attribute3)
1345 THEN
1346 x_attribute3 := l_x_Header_Adj_rec.attribute3;
1347 END IF;
1348
1349 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.attribute4,
1350 l_Header_Adj_rec.attribute4)
1351 THEN
1352 x_attribute4 := l_x_Header_Adj_rec.attribute4;
1353 END IF;
1354
1355 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.attribute5,
1356 l_Header_Adj_rec.attribute5)
1357 THEN
1358 x_attribute5 := l_x_Header_Adj_rec.attribute5;
1359 END IF;
1360
1361 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.attribute6,
1362 l_Header_Adj_rec.attribute6)
1363 THEN
1364 x_attribute6 := l_x_Header_Adj_rec.attribute6;
1365 END IF;
1366
1367 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.attribute7,
1368 l_Header_Adj_rec.attribute7)
1369 THEN
1370 x_attribute7 := l_x_Header_Adj_rec.attribute7;
1371 END IF;
1372
1373 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.attribute8,
1374 l_Header_Adj_rec.attribute8)
1375 THEN
1376 x_attribute8 := l_x_Header_Adj_rec.attribute8;
1377 END IF;
1378
1379 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.attribute9,
1380 l_Header_Adj_rec.attribute9)
1381 THEN
1382 x_attribute9 := l_x_Header_Adj_rec.attribute9;
1383 END IF;
1384
1385 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.automatic_flag,
1386 l_Header_Adj_rec.automatic_flag)
1387 THEN
1388 x_automatic_flag := l_x_Header_Adj_rec.automatic_flag;
1389 END IF;
1390
1391 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.context,
1392 l_Header_Adj_rec.context)
1393 THEN
1394 x_context := l_x_Header_Adj_rec.context;
1395 END IF;
1396 stmt:=95;
1397 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.discount_id,
1398 l_Header_Adj_rec.discount_id)
1399 THEN
1400 x_discount_id := l_x_Header_Adj_rec.discount_id;
1401 x_discount := l_Header_Adj_val_rec.discount;
1402 END IF;
1403
1404 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.discount_line_id,
1405 l_Header_Adj_rec.discount_line_id)
1406 THEN
1407 x_discount_line_id := l_x_Header_Adj_rec.discount_line_id;
1408 END IF;
1409
1410 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.header_id,
1411 l_Header_Adj_rec.header_id)
1412 THEN
1413 x_header_id := l_x_Header_Adj_rec.header_id;
1414 END IF;
1415 stmt:=100;
1416 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.line_id,
1417 l_Header_Adj_rec.line_id)
1418 THEN
1419 x_line_id := l_x_Header_Adj_rec.line_id;
1420 END IF;
1421
1422 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.percent,
1423 l_Header_Adj_rec.percent)
1424 THEN
1425 x_percent := l_x_Header_Adj_rec.percent;
1426 END IF;
1427
1428 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.price_adjustment_id,
1429 l_Header_Adj_rec.price_adjustment_id)
1430 THEN
1431 x_price_adjustment_id := l_x_Header_Adj_rec.price_adjustment_id;
1432 END IF;
1433
1434
1435 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.adjusted_amount,
1436 l_Header_Adj_rec.adjusted_amount)
1437 THEN
1438 x_adjusted_amount := l_x_Header_Adj_rec.adjusted_amount;
1439 END IF;
1440
1441 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.pricing_phase_id,
1442 l_Header_Adj_rec.pricing_phase_id)
1443 THEN
1444 x_pricing_phase_id := l_x_Header_Adj_rec.pricing_phase_id;
1445 END IF;
1446
1447 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.list_line_no, l_Header_Adj_rec.list_line_no)
1448 THEN
1449 x_list_line_no := l_x_Header_Adj_rec.list_line_no;
1450 END IF;
1451
1452 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.source_system_code, l_Header_Adj_rec.source_system_code)
1453 THEN
1454 x_source_system_code := l_x_Header_Adj_rec.source_system_code;
1455 END IF;
1456
1457 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.benefit_qty, l_Header_Adj_rec.benefit_qty)
1458 THEN
1459 x_benefit_qty := l_x_Header_Adj_rec.benefit_qty;
1460 END IF;
1461
1462 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.benefit_uom_code, l_Header_Adj_rec.benefit_uom_code)
1463 THEN
1464 x_benefit_uom_code := l_x_Header_Adj_rec.benefit_uom_code;
1465 END IF;
1466
1467 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.print_on_invoice_flag, l_Header_Adj_rec.print_on_invoice_flag)
1468 THEN
1469 x_print_on_invoice_flag := l_x_Header_Adj_rec.print_on_invoice_flag;
1470 END IF;
1471
1472 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.expiration_date, l_Header_Adj_rec.expiration_date)
1473 THEN
1474 x_expiration_date := l_x_Header_Adj_rec.expiration_date;
1475 END IF;
1476
1477 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.rebate_transaction_type_code, l_Header_Adj_rec.rebate_transaction_type_code)
1478 THEN
1479 x_rebate_transaction_type_code := l_x_Header_Adj_rec.rebate_transaction_type_code;
1480 END IF;
1481
1482 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.rebate_transaction_reference, l_Header_Adj_rec.rebate_transaction_reference)
1483 THEN
1484 x_rebate_transaction_reference := l_x_Header_Adj_rec.rebate_transaction_reference;
1485 END IF;
1486
1487 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.rebate_payment_system_code, l_Header_Adj_rec.rebate_payment_system_code)
1488 THEN
1489 x_rebate_payment_system_code := l_x_Header_Adj_rec.rebate_payment_system_code;
1490 END IF;
1491
1492 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.redeemed_date, l_Header_Adj_rec.redeemed_date)
1493 THEN
1494 x_redeemed_date := l_x_Header_Adj_rec.redeemed_date;
1495 END IF;
1496
1497 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.redeemed_flag, l_Header_Adj_rec.redeemed_flag)
1498 THEN
1499 x_redeemed_flag := l_x_Header_Adj_rec.redeemed_flag;
1500 END IF;
1501
1502 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.accrual_flag, l_Header_Adj_rec.accrual_flag)
1503 THEN
1504 x_accrual_flag := l_x_Header_Adj_rec.accrual_flag;
1505 END IF;
1506
1507 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.estimated_flag, l_Header_Adj_rec.estimated_flag)
1508 THEN
1509 x_estimated_flag := l_x_Header_Adj_rec.estimated_flag;
1510 END IF;
1511
1512 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.invoiced_flag, l_Header_Adj_rec.invoiced_flag)
1513 THEN
1514 x_invoiced_flag := l_x_Header_Adj_rec.invoiced_flag;
1515 END IF;
1516
1517 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.charge_type_code, l_Header_Adj_rec.charge_type_code)
1518 THEN
1519 x_charge_type_code := l_x_Header_Adj_rec.charge_type_code;
1520 END IF;
1521
1522 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.charge_subtype_code, l_Header_Adj_rec.charge_subtype_code)
1523 THEN
1524 x_charge_subtype_code := l_x_Header_Adj_rec.charge_subtype_code;
1525 END IF;
1526
1527 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.credit_or_charge_flag, l_Header_Adj_rec.credit_or_charge_flag)
1528 THEN
1529 x_credit_or_charge_flag := l_x_Header_Adj_rec.credit_or_charge_flag;
1530 END IF;
1531
1532 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.include_on_returns_flag, l_Header_Adj_rec.include_on_returns_flag)
1533 THEN
1534 x_include_on_returns_flag := l_x_Header_Adj_rec.include_on_returns_flag;
1535 END IF;
1536
1537 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.ac_attribute1,
1538 l_Header_Adj_rec.ac_attribute1)
1539 THEN
1540 x_ac_attribute1 := l_x_Header_Adj_rec.ac_attribute1;
1541 END IF;
1542
1543 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.ac_attribute10,
1544 l_Header_Adj_rec.ac_attribute10)
1545 THEN
1546 x_ac_attribute10 := l_x_Header_Adj_rec.ac_attribute10;
1547 END IF;
1548
1549 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.ac_attribute11,
1550 l_Header_Adj_rec.ac_attribute11)
1551 THEN
1552 x_ac_attribute11 := l_x_Header_Adj_rec.ac_attribute11;
1553 END IF;
1554
1555 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.ac_attribute12,
1556 l_Header_Adj_rec.ac_attribute12)
1557 THEN
1558 x_ac_attribute12 := l_x_Header_Adj_rec.ac_attribute12;
1559 END IF;
1560
1561 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.ac_attribute13,
1562 l_Header_Adj_rec.ac_attribute13)
1563 THEN
1564 x_ac_attribute13 := l_x_Header_Adj_rec.ac_attribute13;
1565 END IF;
1566
1567 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.ac_attribute14,
1568 l_Header_Adj_rec.ac_attribute14)
1569 THEN
1570 x_ac_attribute14 := l_x_Header_Adj_rec.ac_attribute14;
1571 END IF;
1572
1573 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.ac_attribute15,
1574 l_Header_Adj_rec.ac_attribute15)
1575 THEN
1576 x_ac_attribute15 := l_x_Header_Adj_rec.ac_attribute15;
1577 END IF;
1578
1579 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.ac_attribute2,
1580 l_Header_Adj_rec.ac_attribute2)
1581 THEN
1582 x_ac_attribute2 := l_x_Header_Adj_rec.ac_attribute2;
1583 END IF;
1584
1585 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.ac_attribute3,
1586 l_Header_Adj_rec.ac_attribute3)
1587 THEN
1588 x_ac_attribute3 := l_x_Header_Adj_rec.ac_attribute3;
1589 END IF;
1590
1591 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.ac_attribute4,
1592 l_Header_Adj_rec.ac_attribute4)
1593 THEN
1594 x_ac_attribute4 := l_x_Header_Adj_rec.ac_attribute4;
1595 END IF;
1596
1597 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.ac_attribute5,
1598 l_Header_Adj_rec.ac_attribute5)
1599 THEN
1600 x_ac_attribute5 := l_x_Header_Adj_rec.ac_attribute5;
1601 END IF;
1602
1603 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.ac_attribute6,
1604 l_Header_Adj_rec.ac_attribute6)
1605 THEN
1606 x_ac_attribute6 := l_x_Header_Adj_rec.ac_attribute6;
1607 END IF;
1608
1609 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.ac_attribute7,
1610 l_Header_Adj_rec.ac_attribute7)
1611 THEN
1612 x_ac_attribute7 := l_x_Header_Adj_rec.ac_attribute7;
1613 END IF;
1614
1615 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.ac_attribute8,
1616 l_Header_Adj_rec.ac_attribute8)
1617 THEN
1618 x_ac_attribute8 := l_x_Header_Adj_rec.ac_attribute8;
1619 END IF;
1620
1621 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.ac_attribute9,
1622 l_Header_Adj_rec.ac_attribute9)
1623 THEN
1624 x_ac_attribute9 := l_x_Header_Adj_rec.ac_attribute9;
1625 END IF;
1626
1627 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.ac_context,
1628 l_Header_Adj_rec.ac_context)
1629 THEN
1630 x_ac_context := l_x_Header_Adj_rec.ac_context;
1631 END IF;
1632 stmt:=120;
1633 --uom begin
1634 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.operand_per_pqty,
1635 l_Header_Adj_rec.operand_per_pqty)
1636 THEN
1637 x_operand_per_pqty := l_x_Header_Adj_rec.operand_per_pqty;
1638 END IF;
1639
1640 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.adjusted_amount_per_pqty,
1641 l_Header_Adj_rec.adjusted_amount_per_pqty)
1642 THEN
1643 x_adjusted_amount_per_pqty := l_x_Header_Adj_rec.adjusted_amount_per_pqty;
1644 END IF;
1645
1646 --uom end
1647 stmt:=130;
1648
1649 -- Write to cache.
1650
1651 Write_Header_Adj
1652 ( p_Header_Adj_rec => l_x_Header_Adj_rec
1653 );
1654
1655 stmt:=140;
1656 -- Re-set the UI flag to FALSE
1657 OE_GLOBALS.G_UI_FLAG := FALSE;
1658
1659 -- Set return status.
1660 x_return_status := FND_API.G_RET_STS_SUCCESS;
1661
1662
1663 -- Get message count and data
1664 OE_MSG_PUB.Count_And_Get
1665 ( p_count => x_msg_count
1666 , p_data => x_msg_data
1667 );
1668
1669 IF l_debug_level > 0 THEN
1670 oe_debug_pub.add( 'EXITING OE_OE_FORM_HEADER_ADJ.CHANGE_ATTRIBUTES' , 1 ) ;
1671 END IF;
1672
1673 EXCEPTION
1674
1675 WHEN FND_API.G_EXC_ERROR THEN
1676
1677 OE_GLOBALS.G_UI_FLAG := FALSE;
1678
1679 x_return_status := FND_API.G_RET_STS_ERROR;
1680
1681 -- Get message count and data
1682
1683 /* Msg is commented out nocopy for the bug #2485694 */
1684
1685 /* OE_MSG_PUB.Add_Exc_Msg
1686 ( G_PKG_NAME
1687 , 'Change_Attributes'||stmt
1688 ); */
1689
1690 IF l_debug_level > 0 THEN
1691 oe_debug_pub.add( G_PKG_NAME|| 'CHANGE_ATTRIBUTES'||STMT , 1 ) ;
1692 END IF;
1693
1694 OE_MSG_PUB.Count_And_Get
1695 ( p_count => x_msg_count
1696 , p_data => x_msg_data
1697 );
1698
1699 IF l_debug_level > 0 THEN
1700 oe_debug_pub.add( 'STMT:'||STMT ) ;
1701 END IF;
1702 ROLLBACK TO SAVEPOINT change_attributes;
1703
1704 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1705 IF l_debug_level > 0 THEN
1706 oe_debug_pub.add( 'STMT:'||STMT ) ;
1707 END IF;
1708 OE_GLOBALS.G_UI_FLAG := FALSE;
1709
1710 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1711
1712 -- Get message count and data
1713 IF l_debug_level > 0 THEN
1714 oe_debug_pub.add( 'STMT:'||STMT ) ;
1715 END IF;
1716 OE_MSG_PUB.Add_Exc_Msg
1717 ( G_PKG_NAME
1718 , 'Change_Attributes:'||stmt
1719 );
1720 OE_MSG_PUB.Count_And_Get
1721 ( p_count => x_msg_count
1722 , p_data => x_msg_data
1723 );
1724
1725 ROLLBACK TO SAVEPOINT change_attributes;
1726
1727 WHEN OTHERS THEN
1728
1729 OE_GLOBALS.G_UI_FLAG := FALSE;
1730
1731 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1732
1733 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1734 THEN
1735 OE_MSG_PUB.Add_Exc_Msg
1736 ( G_PKG_NAME
1737 , 'Change_Attributes:'||stmt
1738 );
1739 END IF;
1740
1741 -- Get message count and data
1742
1743 OE_MSG_PUB.Count_And_Get
1744 ( p_count => x_msg_count
1745 , p_data => x_msg_data
1746 );
1747
1748 ROLLBACK TO SAVEPOINT change_attributes;
1749
1750 END Change_Attributes;
1751
1752
1753 -- Procedure Validate_And_Write
1754 --
1755
1756
1757 PROCEDURE Validate_And_Write
1758 ( x_return_status OUT NOCOPY VARCHAR2
1759
1760 , x_msg_count OUT NOCOPY NUMBER
1761
1762 , x_msg_data OUT NOCOPY VARCHAR2
1763
1764 , p_price_adjustment_id IN NUMBER
1765 , x_creation_date OUT NOCOPY DATE
1766
1767 , x_created_by OUT NOCOPY NUMBER
1768
1769 , x_last_update_date OUT NOCOPY DATE
1770
1771 , x_last_updated_by OUT NOCOPY NUMBER
1772
1773 , x_last_update_login OUT NOCOPY NUMBER
1774
1775 , p_ok_flag IN VARCHAR2
1776 , x_program_id OUT NOCOPY NUMBER
1777
1778 , x_program_application_id OUT NOCOPY NUMBER
1779
1780 , x_program_update_date OUT NOCOPY DATE
1781
1782 , x_request_id OUT NOCOPY NUMBER
1783
1784 , x_lock_control OUT NOCOPY NUMBER
1785
1786 )
1787 IS
1788 l_request_rec OE_order_pub.Request_Rec_Type;
1789 l_request_tbl OE_order_pub.Request_Tbl_Type;
1790 l_Header_Adj_rec OE_Order_PUB.Header_Adj_Rec_Type;
1791 l_old_Header_Adj_rec OE_Order_PUB.Header_Adj_Rec_Type;
1792 l_x_old_Header_Adj_rec OE_Order_PUB.Header_Adj_Rec_Type;
1793 l_Header_Adj_tbl OE_Order_PUB.Header_Adj_Tbl_Type;
1794 l_old_Header_Adj_tbl OE_Order_PUB.Header_Adj_Tbl_Type;
1795 l_x_old_Header_Adj_tbl OE_Order_PUB.Header_Adj_Tbl_Type;
1796 l_control_rec OE_GLOBALS.Control_Rec_Type;
1797 l_return_status VARCHAR2(1);
1798 l_action_request_tbl OE_Order_PUB.Request_Tbl_Type;
1799 l_x_header_rec OE_Order_PUB.Header_Rec_Type;
1800 l_x_Header_Adj_rec OE_Order_PUB.Header_Adj_Rec_Type;
1801 l_x_Header_Adj_tbl OE_Order_PUB.Header_Adj_Tbl_Type;
1802 l_x_Header_Scredit_rec OE_Order_PUB.Header_Scredit_Rec_Type;
1803 l_x_Header_Scredit_tbl OE_Order_PUB.Header_Scredit_Tbl_Type;
1804 l_x_line_rec OE_Order_PUB.Line_Rec_Type;
1805 l_x_line_tbl OE_Order_PUB.Line_Tbl_Type;
1806 l_x_Line_Adj_rec OE_Order_PUB.Line_Adj_Rec_Type;
1807 l_x_Line_Adj_tbl OE_Order_PUB.Line_Adj_Tbl_Type;
1808 l_x_Line_Scredit_rec OE_Order_PUB.Line_Scredit_Rec_Type;
1809 l_x_Line_Scredit_tbl OE_Order_PUB.Line_Scredit_Tbl_Type;
1810 l_x_Lot_Serial_rec OE_Order_PUB.Lot_Serial_Rec_Type;
1811 l_x_Lot_Serial_tbl OE_Order_PUB.Lot_Serial_Tbl_Type;
1812
1813 --New out parameters
1814 l_x_Header_price_Att_tbl OE_Order_PUB.Header_Price_Att_Tbl_Type;
1815 l_x_Header_Adj_Att_tbl OE_Order_PUB.Header_Adj_Att_Tbl_Type;
1816 l_x_Header_Adj_Assoc_tbl OE_Order_PUB.Header_Adj_Assoc_Tbl_Type;
1817
1818 l_x_Line_price_Att_tbl OE_Order_PUB.Line_Price_Att_Tbl_Type;
1819 l_x_Line_Adj_Att_tbl OE_Order_PUB.Line_Adj_Att_Tbl_Type;
1820 l_x_Line_Adj_Assoc_tbl OE_Order_PUB.Line_Adj_Assoc_Tbl_Type;
1821
1822 --
1823 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
1824 --
1825 BEGIN
1826 --3340264{
1827 x_return_status := FND_API.G_RET_STS_SUCCESS;
1828 --3340264}
1829 IF l_debug_level > 0 THEN
1830 oe_debug_pub.add( 'ENTERING OE_OE_FORM_HEADER_ADJ.VALIDATE_AND_WRITE' , 1 ) ;
1831 END IF;
1832
1833 -- Set the UI flag
1834 OE_GLOBALS.G_UI_FLAG := TRUE;
1835
1836 -- Set control flags.
1837 l_control_rec.controlled_operation := TRUE;
1838 l_control_rec.validate_entity := TRUE;
1839 l_control_rec.write_to_DB := TRUE;
1840
1841 l_control_rec.check_security := FALSE;
1842 l_control_rec.clear_dependents := FALSE;
1843 l_control_rec.default_attributes := FALSE;
1844 l_control_rec.change_attributes := FALSE;
1845 l_control_rec.process := FALSE;
1846 l_control_rec.process_entity := OE_GLOBALS.G_ENTITY_HEADER_ADJ;
1847
1848
1849 -- Instruct API to retain its caches
1850 l_control_rec.clear_api_cache := FALSE;
1851 l_control_rec.clear_api_requests := FALSE;
1852
1853
1854 -- Save point to rollback to if there were
1855 -- any errors
1856 SAVEPOINT validate_and_write;
1857
1858
1859 -- Read Header_Adj from cache
1860 Get_Header_Adj
1861 ( p_db_record => TRUE
1862 , p_price_adjustment_id => p_price_adjustment_id
1863 , x_Header_Adj_Rec => l_x_old_Header_Adj_rec
1864 );
1865
1866 Get_Header_Adj
1867 ( p_db_record => FALSE
1868 , p_price_adjustment_id => p_price_adjustment_id
1869 , x_Header_Adj_rec => l_x_Header_Adj_rec
1870 );
1871
1872 -- Set Operation.
1873 --3340264{
1874 IF(l_x_Header_Adj_rec.db_flag= FND_API.G_MISS_CHAR) THEN
1875 return;
1876 ELSE
1877 IF FND_API.To_Boolean(l_x_Header_Adj_rec.db_flag) THEN
1878 l_x_Header_Adj_rec.operation := OE_GLOBALS.G_OPR_UPDATE;
1879 ELSE
1880 l_x_Header_Adj_rec.operation := OE_GLOBALS.G_OPR_CREATE;
1881 END IF;
1882 END IF;
1883 --3340264}
1884
1885 -- Populate Header_Adj table
1886 l_x_Header_Adj_tbl(1) := l_x_Header_Adj_rec;
1887 l_x_old_Header_Adj_tbl(1) := l_x_old_Header_Adj_rec;
1888
1889 -- Call Oe_Order_Adj_Pvt.Header_Adj
1890 oe_order_adj_pvt.Header_Adjs
1891 ( p_init_msg_list => FND_API.G_TRUE
1892 , p_validation_level => FND_API.G_VALID_LEVEL_FULL
1893 , p_control_rec => l_control_rec
1894 , p_x_header_adj_tbl => l_x_Header_Adj_tbl
1895 , p_x_old_header_adj_tbl => l_x_old_header_adj_tbl
1896 );
1897
1898 /***************************************************************
1899 ** commented out nocopy for performance changes **
1900
1901 -- Call OE_Order_PVT.Process_order
1902 OE_Order_PVT.Process_order
1903 ( p_api_version_number => 1.0
1904 , p_init_msg_list => FND_API.G_TRUE
1905 , x_return_status => l_return_status
1906 , x_msg_count => x_msg_count
1907 , x_msg_data => x_msg_data
1908 , p_control_rec => l_control_rec
1909 --, p_request_tbl => l_request_tbl
1910 , p_Header_Adj_tbl => l_Header_Adj_tbl
1911 , p_old_Header_Adj_tbl => l_old_Header_Adj_tbl
1912 , x_header_rec => l_x_header_rec
1913 , x_Header_Adj_tbl => l_x_Header_Adj_tbl
1914 -- New Parameters
1915 , x_Header_price_Att_tbl => l_x_Header_price_Att_tbl
1916 , x_Header_Adj_Att_tbl => l_x_Header_Adj_Att_tbl
1917 , x_Header_Adj_Assoc_tbl => l_x_Header_Adj_Assoc_tbl
1918
1919 , x_Header_Scredit_tbl => l_x_Header_Scredit_tbl
1920 , x_line_tbl => l_x_line_tbl
1921 , x_Line_Adj_tbl => l_x_Line_Adj_tbl
1922
1923 -- New Parameters
1924 , x_Line_price_Att_tbl => l_x_Line_price_Att_tbl
1925 , x_Line_Adj_Att_tbl => l_x_Line_Adj_Att_tbl
1926 , x_Line_Adj_Assoc_tbl => l_x_Line_Adj_Assoc_tbl
1927
1928 , x_Line_Scredit_tbl => l_x_Line_Scredit_tbl
1929 , x_Lot_Serial_tbl => l_x_Lot_Serial_tbl
1930 , x_action_request_tbl => l_action_request_tbl
1931 );
1932
1933 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1934 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1935 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1936 RAISE FND_API.G_EXC_ERROR;
1937 END IF;
1938 **********************************************************/
1939
1940 -- Load OUT parameters.
1941 l_x_Header_Adj_rec := l_x_Header_Adj_tbl(1);
1942
1943 IF l_x_header_adj_rec.return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1944 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1945 ELSIF l_x_header_adj_rec.return_status = FND_API.G_RET_STS_ERROR THEN
1946 RAISE FND_API.G_EXC_ERROR;
1947 END IF;
1948
1949 /*******
1950 Oe_Order_Pvt.Process_Requests_And_Notify
1951 ( p_process_requests => FALSE
1952 , p_notify => TRUE
1953 , p_header_adj_tbl => l_x_header_adj_tbl
1954 , p_old_header_adj_tbl => l_x_old_header_adj_tbl
1955 , x_return_status => l_return_status
1956 );
1957
1958 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1959 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1960 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1961 RAISE FND_API.G_EXC_ERROR;
1962 END IF;
1963 *******/
1964
1965 x_lock_control := l_x_Header_Adj_rec.lock_control;
1966
1967 OE_DELAYED_REQUESTS_PVT.Process_Request_for_Reqtype
1968 (p_request_type => OE_GLOBALS.G_CHECK_PERCENTAGE
1969 ,p_delete => FND_API.G_TRUE
1970 ,x_return_status => l_return_status
1971 );
1972 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1973 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1974 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1975 RAISE FND_API.G_EXC_ERROR;
1976 END IF;
1977
1978 --TaxER start
1979 IF nvl(FND_PROFILE.VALUE('ONT_DELAY_TAX_CALC'), 'N') = 'N' THEN
1980 OE_DELAYED_REQUESTS_PVT.Process_Request_for_Reqtype
1981 (p_request_type => OE_GLOBALS.G_TAX_LINE
1982 ,p_delete => FND_API.G_TRUE
1983 ,x_return_status => l_return_status
1984 );
1985 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1986 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1987 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1988 RAISE FND_API.G_EXC_ERROR;
1989 END IF;
1990 END IF;
1991 --TaxER end
1992
1993 -- fixed bug 3271297
1994 OE_DELAYED_REQUESTS_PVT.Process_Request_for_Reqtype
1995 (p_request_type => OE_GLOBALS.G_VERIFY_PAYMENT
1996 ,p_delete => FND_API.G_TRUE
1997 ,x_return_status => l_return_status
1998 );
1999 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2000 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2001 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
2002 RAISE FND_API.G_EXC_ERROR;
2003 END IF;
2004
2005 /*****
2006 IF p_ok_flag = 'Y' THEN
2007 OE_DELAYED_REQUESTS_PVT.Process_Request_for_Reqtype
2008 (p_request_type => OE_GLOBALS.G_PRICE_ADJ
2009 ,p_delete => FND_API.G_TRUE
2010 ,x_return_status => l_return_status
2011 );
2012 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2013 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2014 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
2015 RAISE FND_API.G_EXC_ERROR;
2016 END IF;
2017 END IF;
2018 ******/
2019
2020 x_creation_date := l_x_Header_Adj_rec.creation_date;
2021 x_created_by := l_x_Header_Adj_rec.created_by;
2022 x_last_update_date := l_x_Header_Adj_rec.last_update_date;
2023 x_last_updated_by := l_x_Header_Adj_rec.last_updated_by;
2024 x_last_update_login := l_x_Header_Adj_rec.last_update_login;
2025 x_program_id := l_x_Line_Adj_rec.program_id;
2026 x_program_application_id := l_x_Line_Adj_rec.program_application_id;
2027 x_program_update_date := l_x_Line_Adj_rec.program_update_date;
2028 x_request_id := l_x_Line_Adj_rec.request_id;
2029
2030
2031 -- Clear Header_Adj record cache
2032 Clear_Header_Adj;
2033
2034
2035 -- Re-set the UI flag to FALSE
2036 OE_GLOBALS.G_UI_FLAG := FALSE;
2037
2038 -- Set return status.
2039 x_return_status := FND_API.G_RET_STS_SUCCESS;
2040
2041
2042 -- Get message count and data
2043 OE_MSG_PUB.Count_And_Get
2044 ( p_count => x_msg_count
2045 , p_data => x_msg_data
2046 );
2047
2048 IF l_debug_level > 0 THEN
2049 oe_debug_pub.add( 'EXITING OE_OE_FORM_HEADER_ADJ.VALIDATE_AND_WRITE' , 1 ) ;
2050 END IF;
2051
2052 EXCEPTION
2053
2054 WHEN FND_API.G_EXC_ERROR THEN
2055
2056 OE_GLOBALS.G_UI_FLAG := FALSE;
2057
2058 x_return_status := FND_API.G_RET_STS_ERROR;
2059
2060 -- Get message count and data
2061
2062 OE_MSG_PUB.Count_And_Get
2063 ( p_count => x_msg_count
2064 , p_data => x_msg_data
2065 );
2066
2067 ROLLBACK TO SAVEPOINT validate_and_write;
2068
2069 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2070
2071 OE_GLOBALS.G_UI_FLAG := FALSE;
2072
2073 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2074
2075 -- Get message count and data
2076
2077 OE_MSG_PUB.Count_And_Get
2078 ( p_count => x_msg_count
2079 , p_data => x_msg_data
2080 );
2081
2082 ROLLBACK TO SAVEPOINT validate_and_write;
2083
2084 WHEN OTHERS THEN
2085
2086 OE_GLOBALS.G_UI_FLAG := FALSE;
2087
2088 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2089
2090 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2091 THEN
2092 OE_MSG_PUB.Add_Exc_Msg
2093 ( G_PKG_NAME
2094 , 'Validate_And_Write'
2095 );
2096 END IF;
2097
2098 -- Get message count and data
2099
2100 OE_MSG_PUB.Count_And_Get
2101 ( p_count => x_msg_count
2102 , p_data => x_msg_data
2103 );
2104
2105 ROLLBACK TO SAVEPOINT validate_and_write;
2106
2107 END Validate_And_Write;
2108
2109
2110 -- Procedure Delete_Row
2111 --
2112
2113 PROCEDURE Delete_Row
2114 ( x_return_status OUT NOCOPY VARCHAR2
2115
2116 , x_msg_count OUT NOCOPY NUMBER
2117
2118 , x_msg_data OUT NOCOPY VARCHAR2
2119
2120 , p_price_adjustment_id IN NUMBER
2121 , p_change_reason_code IN VARCHAR2 Default Null
2122 , p_change_comments IN VARCHAR2 Default Null
2123 )
2124 IS
2125 l_Header_Adj_rec OE_Order_PUB.Header_Adj_Rec_Type;
2126 l_Header_Adj_tbl OE_Order_PUB.Header_Adj_Tbl_Type;
2127 l_control_rec OE_GLOBALS.Control_Rec_Type;
2128 l_return_status VARCHAR2(1);
2129 l_action_request_tbl OE_Order_PUB.Request_Tbl_Type;
2130 l_x_header_rec OE_Order_PUB.Header_Rec_Type;
2131 l_x_Header_Adj_rec OE_Order_PUB.Header_Adj_Rec_Type;
2132 l_x_old_Header_Adj_rec OE_Order_PUB.Header_Adj_Rec_Type;
2133 l_x_Header_Adj_tbl OE_Order_PUB.Header_Adj_Tbl_Type;
2134 l_x_old_Header_Adj_tbl OE_Order_PUB.Header_Adj_Tbl_Type;
2135 l_x_Header_Scredit_rec OE_Order_PUB.Header_Scredit_Rec_Type;
2136 l_x_Header_Scredit_tbl OE_Order_PUB.Header_Scredit_Tbl_Type;
2137 l_x_line_rec OE_Order_PUB.Line_Rec_Type;
2138 l_x_line_tbl OE_Order_PUB.Line_Tbl_Type;
2139 l_x_Line_Adj_rec OE_Order_PUB.Line_Adj_Rec_Type;
2140 l_x_Line_Adj_tbl OE_Order_PUB.Line_Adj_Tbl_Type;
2141 l_x_Line_Scredit_rec OE_Order_PUB.Line_Scredit_Rec_Type;
2142 l_x_Line_Scredit_tbl OE_Order_PUB.Line_Scredit_Tbl_Type;
2143 l_x_Lot_Serial_rec OE_Order_PUB.Lot_Serial_Rec_Type;
2144 l_x_Lot_Serial_tbl OE_Order_PUB.Lot_Serial_Tbl_Type;
2145
2146
2147 --New out parameters
2148
2149 l_x_Header_price_Att_tbl OE_Order_PUB.Header_Price_Att_Tbl_Type;
2150 l_x_Header_Adj_Att_tbl OE_Order_PUB.Header_Adj_Att_Tbl_Type;
2151 l_x_Header_Adj_Assoc_tbl OE_Order_PUB.Header_Adj_Assoc_Tbl_Type;
2152
2153 l_x_Line_price_Att_tbl OE_Order_PUB.Line_Price_Att_Tbl_Type;
2154 l_x_Line_Adj_Att_tbl OE_Order_PUB.Line_Adj_Att_Tbl_Type;
2155 l_x_Line_Adj_Assoc_tbl OE_Order_PUB.Line_Adj_Assoc_Tbl_Type;
2156
2157 --
2158 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
2159 --
2160 BEGIN
2161
2162 IF l_debug_level > 0 THEN
2163 oe_debug_pub.add( 'ENTERING OE_OE_FORM_HEADER_ADJ.DELETE_ROW' , 1 ) ;
2164 END IF;
2165
2166 -- Set the UI flag
2167 OE_GLOBALS.G_UI_FLAG := TRUE;
2168
2169 -- Set control flags.
2170 l_control_rec.controlled_operation := TRUE;
2171 l_control_rec.check_security := TRUE;
2172 l_control_rec.validate_entity := TRUE;
2173 l_control_rec.write_to_DB := TRUE;
2174
2175 l_control_rec.clear_dependents := FALSE;
2176 l_control_rec.default_attributes := FALSE;
2177 l_control_rec.change_attributes := FALSE;
2178 l_control_rec.process := FALSE;
2179
2180
2181 -- Instruct API to retain its caches
2182 l_control_rec.clear_api_cache := FALSE;
2183 l_control_rec.clear_api_requests := FALSE;
2184
2185
2186 -- Read DB record from cache
2187 Get_Header_Adj
2188 ( p_db_record => TRUE
2189 , p_price_adjustment_id => p_price_adjustment_id
2190 , x_Header_Adj_rec => l_x_Header_Adj_rec
2191 );
2192
2193
2194 -- Set Operation.
2195 l_x_Header_Adj_rec.operation := OE_GLOBALS.G_OPR_DELETE;
2196
2197
2198 -- Populate Header_Adj table
2199 l_x_Header_Adj_tbl(1) := l_x_Header_Adj_rec;
2200 l_x_Header_Adj_tbl(1).change_reason_code := p_change_reason_code;
2201 l_x_Header_Adj_tbl(1).change_reason_text := p_change_comments;
2202
2203 -- Call Oe_Order_Adj_Pvt.Header_Adj
2204 oe_order_adj_pvt.Header_Adjs
2205 ( p_init_msg_list => FND_API.G_TRUE
2206 , p_validation_level => FND_API.G_VALID_LEVEL_FULL
2207 , p_control_rec => l_control_rec
2208 , p_x_header_adj_tbl => l_x_Header_Adj_tbl
2209 , p_x_old_header_adj_tbl => l_x_old_header_adj_tbl
2210 );
2211
2212 /*****************************************************************
2213 -- Call OE_Order_PVT.Process_order
2214 OE_Order_PVT.Process_order
2215 ( p_api_version_number => 1.0
2216 , p_init_msg_list => FND_API.G_TRUE
2217 , x_return_status => l_return_status
2218 , x_msg_count => x_msg_count
2219 , x_msg_data => x_msg_data
2220 , p_control_rec => l_control_rec
2221 , p_x_Header_Adj_tbl => l_x_Header_Adj_tbl
2222 , p_x_header_rec => l_x_header_rec
2223 -- , x_Header_Adj_tbl => l_x_Header_Adj_tbl
2224 -- New Parameters
2225 , p_x_Header_price_Att_tbl => l_x_Header_price_Att_tbl
2226 , p_x_Header_Adj_Att_tbl => l_x_Header_Adj_Att_tbl
2227 , p_x_Header_Adj_Assoc_tbl => l_x_Header_Adj_Assoc_tbl
2228
2229 , p_x_Header_Scredit_tbl => l_x_Header_Scredit_tbl
2230 , p_x_line_tbl => l_x_line_tbl
2231 , p_x_Line_Adj_tbl => l_x_Line_Adj_tbl
2232
2233 -- New Parameters
2234 , p_x_Line_price_Att_tbl => l_x_Line_price_Att_tbl
2235 , p_x_Line_Adj_Att_tbl => l_x_Line_Adj_Att_tbl
2236 , p_x_Line_Adj_Assoc_tbl => l_x_Line_Adj_Assoc_tbl
2237
2238 , p_x_Line_Scredit_tbl => l_x_Line_Scredit_tbl
2239 , p_x_Lot_Serial_tbl => l_x_Lot_Serial_tbl
2240 , p_x_action_request_tbl => l_action_request_tbl
2241 );
2242 *********************************************************************/
2243
2244 -- Load OUT parameters.
2245 l_x_Header_Adj_rec := l_x_Header_Adj_tbl(1);
2246
2247 IF l_x_Header_Adj_rec.return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2248 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2249 ELSIF l_x_Header_Adj_rec.return_status = FND_API.G_RET_STS_ERROR THEN
2250 RAISE FND_API.G_EXC_ERROR;
2251 END IF;
2252
2253
2254 -- Clear Header_Adj record cache
2255 Clear_Header_Adj;
2256
2257
2258 -- Re-set the UI flag to FALSE
2259 OE_GLOBALS.G_UI_FLAG := FALSE;
2260
2261 -- Set return status.
2262 x_return_status := FND_API.G_RET_STS_SUCCESS;
2263
2264
2265 -- Get message count and data
2266 OE_MSG_PUB.Count_And_Get
2267 ( p_count => x_msg_count
2268 , p_data => x_msg_data
2269 );
2270
2271 IF l_debug_level > 0 THEN
2272 oe_debug_pub.add( 'EXITING OE_OE_FORM_HEADER_ADJ.DELETE_ROW' , 1 ) ;
2273 END IF;
2274
2275 EXCEPTION
2276
2277 WHEN FND_API.G_EXC_ERROR THEN
2278
2279 OE_GLOBALS.G_UI_FLAG := FALSE;
2280
2281 x_return_status := FND_API.G_RET_STS_ERROR;
2282
2283 -- Get message count and data
2284 OE_MSG_PUB.Count_And_Get
2285 ( p_count => x_msg_count
2286 , p_data => x_msg_data
2287 );
2288
2289 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2290
2291 OE_GLOBALS.G_UI_FLAG := FALSE;
2292
2293 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2294
2295 -- Get message count and data
2296 OE_MSG_PUB.Count_And_Get
2297 ( p_count => x_msg_count
2298 , p_data => x_msg_data
2299 );
2300
2301 WHEN OTHERS THEN
2302
2303 OE_GLOBALS.G_UI_FLAG := FALSE;
2304
2305 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2306
2307 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2308 THEN
2309 OE_MSG_PUB.Add_Exc_Msg
2310 ( G_PKG_NAME
2311 , 'Delete_Row'
2312 );
2313 END IF;
2314
2315 -- Get message count and data
2316 OE_MSG_PUB.Count_And_Get
2317 ( p_count => x_msg_count
2318 , p_data => x_msg_data
2319 );
2320
2321 END Delete_Row;
2322
2323
2324 -- Procedure Process_Entity
2325 --
2326
2327
2328 PROCEDURE Process_Delayed_Requests
2329 ( x_return_status OUT NOCOPY VARCHAR2
2330
2331 , x_msg_count OUT NOCOPY NUMBER
2332
2333 , x_msg_data OUT NOCOPY VARCHAR2
2334
2335 , p_header_id IN NUMBER
2336 )
2337 IS
2338 l_control_rec OE_GLOBALS.Control_Rec_Type;
2339 l_return_status VARCHAR2(1);
2340 l_action_request_tbl OE_Order_PUB.Request_Tbl_Type;
2341 l_request_rec OE_Order_Pub.Request_Rec_Type;
2342 l_request_tbl OE_Order_Pub.Request_Tbl_Type;
2343 l_x_header_rec OE_Order_PUB.Header_Rec_Type;
2344 l_x_Header_Adj_rec OE_Order_PUB.Header_Adj_Rec_Type;
2345 l_x_Header_Adj_tbl OE_Order_PUB.Header_Adj_Tbl_Type;
2346 l_x_Header_Scredit_rec OE_Order_PUB.Header_Scredit_Rec_Type;
2347 l_x_Header_Scredit_tbl OE_Order_PUB.Header_Scredit_Tbl_Type;
2348 l_x_line_rec OE_Order_PUB.Line_Rec_Type;
2349 l_x_line_tbl OE_Order_PUB.Line_Tbl_Type;
2350 l_x_Line_Adj_rec OE_Order_PUB.Line_Adj_Rec_Type;
2351 l_x_Line_Adj_tbl OE_Order_PUB.Line_Adj_Tbl_Type;
2352 l_x_Line_Scredit_rec OE_Order_PUB.Line_Scredit_Rec_Type;
2353 l_x_Line_Scredit_tbl OE_Order_PUB.Line_Scredit_Tbl_Type;
2354 l_x_Lot_Serial_rec OE_Order_PUB.Lot_Serial_Rec_Type;
2355 l_x_Lot_Serial_tbl OE_Order_PUB.Lot_Serial_Tbl_Type;
2356
2357 --New out parameters
2358 l_x_Header_price_Att_tbl OE_Order_PUB.Header_Price_Att_Tbl_Type;
2359 l_x_Header_Adj_Att_tbl OE_Order_PUB.Header_Adj_Att_Tbl_Type;
2360 l_x_Header_Adj_Assoc_tbl OE_Order_PUB.Header_Adj_Assoc_Tbl_Type;
2361
2362 l_x_Line_price_Att_tbl OE_Order_PUB.Line_Price_Att_Tbl_Type;
2363 l_x_Line_Adj_Att_tbl OE_Order_PUB.Line_Adj_Att_Tbl_Type;
2364 l_x_Line_Adj_Assoc_tbl OE_Order_PUB.Line_Adj_Assoc_Tbl_Type;
2365
2366
2367 --
2368 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
2369 --
2370 BEGIN
2371
2372 IF l_debug_level > 0 THEN
2373 oe_debug_pub.add( 'ENTERING OE_OE_FORM_HEADER_ADJ.PROCESS_DELAYED_REQUESTS' , 1 ) ;
2374 END IF;
2375
2376 /*
2377 OE_DELAYED_REQUESTS_PVT.Process_Request_for_Reqtype
2378 (p_request_type => OE_GLOBALS.G_PRICE_ADJ
2379 ,p_delete => FND_API.G_TRUE
2380 ,x_return_status => l_return_status
2381 );
2382 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2383 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2384 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
2385 RAISE FND_API.G_EXC_ERROR;
2386 END IF;
2387
2388 -- process delayed requests for tax calculation.
2389 OE_DELAYED_REQUESTS_PVT.Process_Request_for_Reqtype
2390 (p_request_type => OE_GLOBALS.G_TAX_LINE
2391 ,p_delete => FND_API.G_TRUE
2392 ,x_return_status => l_return_status
2393 );
2394 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2395 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2396 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
2397 RAISE FND_API.G_EXC_ERROR;
2398 END IF;
2399
2400 oe_debug_pub.ADD('Processing delayed request for Verify Payment for price adjustments changes.', 3);
2401 OE_DELAYED_REQUESTS_PVT.Process_Request_for_Reqtype
2402 (p_request_type => OE_GLOBALS.G_VERIFY_PAYMENT
2403 ,p_delete => FND_API.G_TRUE
2404 ,x_return_status => l_return_status
2405 );
2406 */
2407 Oe_Order_Pvt.Process_Requests_And_Notify
2408 ( p_process_requests => TRUE
2409 , p_notify => TRUE
2410 , p_process_ack => TRUE
2411 , x_return_status => l_return_status
2412 );
2413
2414 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2415 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2416 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
2417 RAISE FND_API.G_EXC_ERROR;
2418 END IF;
2419
2420 x_return_status := FND_API.G_RET_STS_SUCCESS;
2421 -- 16581325 start Get message count and data
2422 OE_MSG_PUB.Count_And_Get
2423 ( p_count => x_msg_count
2424 , p_data => x_msg_data
2425 );
2426 --16581325 end
2427
2428 IF l_debug_level > 0 THEN
2429 oe_debug_pub.add( 'EXITING OE_OE_FORM_HEADER_ADJ.PROCESS_DELAYED_REQUESTS' , 1 ) ;
2430 END IF;
2431 Return;
2432
2433
2434 /*
2435
2436 -- Set the UI flag
2437 OE_GLOBALS.G_UI_FLAG := TRUE;
2438
2439 -- Set control flags.
2440
2441 l_control_rec.controlled_operation := TRUE;
2442 l_control_rec.process := TRUE;
2443 l_control_rec.process_entity := OE_GLOBALS.G_ENTITY_HEADER_ADJ;
2444
2445 l_control_rec.check_security := FALSE;
2446 l_control_rec.clear_dependents := FALSE;
2447 l_control_rec.default_attributes := FALSE;
2448 l_control_rec.change_attributes := FALSE;
2449 l_control_rec.validate_entity := FALSE;
2450 l_control_rec.write_to_DB := FALSE;
2451
2452 -- Instruct API to clear its request table
2453
2454 l_control_rec.clear_api_cache := FALSE;
2455 l_control_rec.clear_api_requests := FALSE;
2456
2457
2458 -- Assign requests in the order that is to be executed
2459 l_request_rec.request_type := OE_GLOBALS.G_CHECK_PERCENTAGE;
2460
2461 -- 1905650
2462 -- G_PRICE_ADJ request should be logged using entity ALL
2463 l_request_rec.entity_code := OE_GLOBALS.G_ENTITY_ALL;
2464 l_request_rec.entity_id := p_header_id;
2465 l_request_tbl(1) := l_request_rec;
2466
2467 l_request_rec.request_type := OE_GLOBALS.G_PRICE_ADJ;
2468 l_request_rec.entity_code := OE_GLOBALS.G_ENTITY_HEADER_ADJ;
2469 l_request_rec.entity_id := p_header_id;
2470 l_request_tbl(2) := l_request_rec;
2471
2472
2473 -- Call OE_Order_PVT.Process_order
2474
2475 OE_Order_PVT.Process_order
2476 ( p_api_version_number => 1.0
2477 , p_init_msg_list => FND_API.G_TRUE
2478 , x_return_status => l_return_status
2479 , x_msg_count => x_msg_count
2480 , x_msg_data => x_msg_data
2481 , p_control_rec => l_control_rec
2482 , p_action_request_tbl => l_request_tbl
2483 , x_header_rec => l_x_header_rec
2484 , x_Header_Adj_tbl => l_x_Header_Adj_tbl
2485
2486 -- New Parameters
2487 , x_Header_price_Att_tbl => l_x_Header_price_Att_tbl
2488 , x_Header_Adj_Att_tbl => l_x_Header_Adj_Att_tbl
2489 , x_Header_Adj_Assoc_tbl => l_x_Header_Adj_Assoc_tbl
2490
2491 , x_Header_Scredit_tbl => l_x_Header_Scredit_tbl
2492 , x_line_tbl => l_x_line_tbl
2493 , x_Line_Adj_tbl => l_x_Line_Adj_tbl
2494
2495 -- New Parameters
2496 , x_Line_price_Att_tbl => l_x_Line_price_Att_tbl
2497 , x_Line_Adj_Att_tbl => l_x_Line_Adj_Att_tbl
2498 , x_Line_Adj_Assoc_tbl => l_x_Line_Adj_Assoc_tbl
2499
2500 , x_Line_Scredit_tbl => l_x_Line_Scredit_tbl
2501 , x_Lot_Serial_tbl => l_x_Lot_Serial_tbl
2502 , x_action_request_tbl => l_action_request_tbl
2503 );
2504
2505 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2506 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2507 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
2508 RAISE FND_API.G_EXC_ERROR;
2509 END IF;
2510
2511
2512 -- Re-set the UI flag to FALSE
2513 OE_GLOBALS.G_UI_FLAG := FALSE;
2514
2515 -- Set return status.
2516
2517 x_return_status := FND_API.G_RET_STS_SUCCESS;
2518
2519 -- Get message count and data
2520
2521 OE_MSG_PUB.Count_And_Get
2522 ( p_count => x_msg_count
2523 , p_data => x_msg_data
2524 );
2525
2526 oe_debug_pub.add('Exiting OE_OE_FORM_HEADER_ADJ.PROCESS_DELAYED_REQUESTS', 1);
2527
2528 */
2529
2530 EXCEPTION
2531
2532 WHEN FND_API.G_EXC_ERROR THEN
2533
2534 OE_GLOBALS.G_UI_FLAG := FALSE;
2535
2536 x_return_status := FND_API.G_RET_STS_ERROR;
2537
2538 -- Get message count and data
2539
2540 OE_MSG_PUB.Count_And_Get
2541 ( p_count => x_msg_count
2542 , p_data => x_msg_data
2543 );
2544
2545 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2546
2547 OE_GLOBALS.G_UI_FLAG := FALSE;
2548
2549 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2550
2551 -- Get message count and data
2552
2553 OE_MSG_PUB.Count_And_Get
2554 ( p_count => x_msg_count
2555 , p_data => x_msg_data
2556 );
2557
2558 WHEN OTHERS THEN
2559
2560 OE_GLOBALS.G_UI_FLAG := FALSE;
2561
2562 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2563
2564 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2565 THEN
2566 OE_MSG_PUB.Add_Exc_Msg
2567 ( G_PKG_NAME
2568 , 'Process_Entity'
2569 );
2570 END IF;
2571
2572 -- Get message count and data
2573
2574 OE_MSG_PUB.Count_And_Get
2575 ( p_count => x_msg_count
2576 , p_data => x_msg_data
2577 );
2578
2579 END Process_Delayed_Requests;
2580
2581 -- Procedure lock_Row
2582 --
2583
2584
2585 PROCEDURE Lock_Row
2586 ( x_return_status OUT NOCOPY VARCHAR2
2587
2588 , x_msg_count OUT NOCOPY NUMBER
2589
2590 , x_msg_data OUT NOCOPY VARCHAR2
2591
2592 , p_price_adjustment_id IN NUMBER
2593 , p_lock_control IN NUMBER
2594 )
2595 IS
2596 l_return_status VARCHAR2(1);
2597 l_Header_Adj_rec OE_Order_PUB.Header_Adj_Rec_Type;
2598 l_Header_Adj_tbl OE_Order_PUB.Header_Adj_Tbl_Type;
2599 l_x_header_rec OE_Order_PUB.Header_Rec_Type;
2600 l_x_Header_Adj_rec OE_Order_PUB.Header_Adj_Rec_Type;
2601 l_x_Header_Adj_tbl OE_Order_PUB.Header_Adj_Tbl_Type;
2602
2603 --
2604 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
2605 --
2606 BEGIN
2607
2608 IF l_debug_level > 0 THEN
2609 oe_debug_pub.add( 'ENTERING OE_OE_FORM_HEADER_ADJ.LOCK_ROW' , 1 ) ;
2610 END IF;
2611
2612 -- Load Header_Adj record
2613
2614 l_x_Header_Adj_rec.operation := OE_GLOBALS.G_OPR_LOCK;
2615
2616 l_x_Header_Adj_rec.lock_control := p_lock_control;
2617 l_x_Header_Adj_rec.price_adjustment_id := p_price_adjustment_id;
2618
2619 OE_Header_Adj_Util.Lock_Row
2620 ( x_return_status => l_return_status
2621 , p_x_header_adj_rec => l_x_header_adj_rec
2622 );
2623
2624 IF l_return_status = FND_API.G_RET_STS_SUCCESS THEN
2625
2626 -- Set DB flag and write record to cache.
2627 l_x_Header_Adj_rec.db_flag := FND_API.G_TRUE;
2628
2629 Write_Header_Adj
2630 ( p_Header_Adj_rec => l_x_Header_Adj_rec
2631 , p_db_record => TRUE
2632 );
2633
2634 END IF;
2635
2636
2637 -- Set return status.
2638 x_return_status := l_return_status;
2639
2640
2641 -- Get message count and data
2642 OE_MSG_PUB.Count_And_Get
2643 ( p_count => x_msg_count
2644 , p_data => x_msg_data
2645 );
2646
2647 IF l_debug_level > 0 THEN
2648 oe_debug_pub.add( 'EXITING OE_OE_FORM_HEADER_ADJ.LOCK_ROW' , 1 ) ;
2649 END IF;
2650
2651 EXCEPTION
2652
2653 WHEN OTHERS THEN
2654
2655 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2656 THEN
2657 OE_MSG_PUB.Add_Exc_Msg
2658 ( G_PKG_NAME
2659 , 'Lock_Row'
2660 );
2661 END IF;
2662
2663 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2664
2665 -- Get message count and data
2666
2667 OE_MSG_PUB.Count_And_Get
2668 ( p_count => x_msg_count
2669 , p_data => x_msg_data
2670 );
2671
2672
2673
2674 END Lock_Row;
2675
2676 -- Procedures maintaining Header_Adj record cache.
2677
2678 PROCEDURE Write_Header_Adj
2679 ( p_Header_Adj_rec IN OE_Order_PUB.Header_Adj_Rec_Type
2680 , p_db_record IN BOOLEAN := FALSE
2681 )
2682 IS
2683 --
2684 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
2685 --
2686 BEGIN
2687
2688 IF l_debug_level > 0 THEN
2689 oe_debug_pub.add( 'ENTERING OE_OE_FORM_HEADER_ADJ.WRITE_HEADER_ADJ' , 1 ) ;
2690 END IF;
2691
2692 g_Header_Adj_rec := p_Header_Adj_rec;
2693
2694 IF p_db_record THEN
2695
2696 g_db_Header_Adj_rec := p_Header_Adj_rec;
2697
2698 END IF;
2699
2700 IF l_debug_level > 0 THEN
2701 oe_debug_pub.add( 'EXITING OE_OE_FORM_HEADER_ADJ.WRITE_HEADER_ADJ' , 1 ) ;
2702 END IF;
2703
2704 END Write_Header_Adj;
2705
2706
2707 PROCEDURE Get_Header_Adj
2708 ( p_db_record IN BOOLEAN := FALSE
2709 , p_price_adjustment_id IN NUMBER
2710 , x_Header_Adj_Rec IN OUT NOCOPY OE_Order_PUB.Header_Adj_Rec_Type
2711 )
2712 IS
2713 --
2714 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
2715 --
2716 BEGIN
2717
2718 IF l_debug_level > 0 THEN
2719 oe_debug_pub.add( 'ENTERING OE_OE_FORM_HEADER_ADJ.GET_HEADER_ADJ' , 1 ) ;
2720 END IF;
2721
2722 IF p_price_adjustment_id <> g_Header_Adj_rec.price_adjustment_id
2723 THEN
2724
2725 -- Query row from DB
2726
2727 OE_Header_Adj_Util.Query_Row
2728 ( p_price_adjustment_id => p_price_adjustment_id
2729 , x_Header_Adj_rec => g_Header_Adj_rec
2730 );
2731
2732 g_Header_Adj_rec.db_flag := FND_API.G_TRUE;
2733
2734 -- Load DB record
2735
2736 g_db_Header_Adj_rec := g_Header_Adj_rec;
2737
2738 END IF;
2739
2740 IF p_db_record THEN
2741
2742 -- RETURN g_db_Header_Adj_rec;
2743 x_header_adj_rec := g_db_Header_Adj_rec;
2744
2745 ELSE
2746
2747 -- RETURN g_Header_Adj_rec;
2748 x_header_adj_rec := g_Header_Adj_rec;
2749
2750 END IF;
2751
2752 IF l_debug_level > 0 THEN
2753 oe_debug_pub.add( 'EXITING OE_OE_FORM_HEADER_ADJ.GET_HEADER_ADJ' , 1 ) ;
2754 END IF;
2755
2756 END Get_Header_Adj;
2757
2758
2759 PROCEDURE Clear_Header_Adj
2760 IS
2761 --
2762 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
2763 --
2764 BEGIN
2765
2766 IF l_debug_level > 0 THEN
2767 oe_debug_pub.add( 'ENTERING OE_OE_FORM_HEADER_ADJ.CLEAR_HEADER_ADJ' , 1 ) ;
2768 END IF;
2769
2770 g_Header_Adj_rec := OE_Order_PUB.G_MISS_HEADER_ADJ_REC;
2771 g_db_Header_Adj_rec := OE_Order_PUB.G_MISS_HEADER_ADJ_REC;
2772
2773 IF l_debug_level > 0 THEN
2774 oe_debug_pub.add( 'EXITING OE_OE_FORM_HEADER_ADJ.CLEAR_HEADER_ADJ' , 1 ) ;
2775 END IF;
2776
2777 END Clear_Header_Adj;
2778
2779 END OE_OE_Form_Header_Adj;