[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.1 2006/07/25 11:43:52 ppnair noship $ */
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_ARITHMETIC_OPERATOR then
876 l_x_Header_Adj_rec.arithmetic_operator := p_attr_value1 ;
877
878 ELSIF p_attr_id = OE_Header_Adj_Util.G_ADJUSTED_AMOUNT then
879 l_x_Header_Adj_rec.adjusted_amount := p_attr_value1 ;
880 ELSIF p_attr_id = OE_Header_Adj_Util.G_PRICING_PHASE_ID then
881 l_x_Header_Adj_rec.pricing_phase_id := p_attr_value1 ;
882 ELSIF p_attr_id = OE_Header_Adj_Util.G_LIST_LINE_NO then
883 l_x_Header_Adj_rec.list_line_no := p_attr_value1 ;
884 ELSIF p_attr_id = OE_Header_Adj_Util.G_SOURCE_SYSTEM_CODE then
885 l_x_Header_Adj_rec.source_system_code := p_attr_value1;
886 ELSIF p_attr_id = OE_Header_Adj_Util.G_BENEFIT_QTY then
887 l_x_Header_Adj_rec.benefit_qty := TO_NUMBER(p_attr_value1);
888 ELSIF p_attr_id = OE_Header_Adj_Util.G_BENEFIT_UOM_CODE then
889 l_x_Header_Adj_rec.benefit_uom_code := p_attr_value1;
890 ELSIF p_attr_id = OE_Header_Adj_Util.G_PRINT_ON_INVOICE_FLAG then
891 l_x_Header_Adj_rec.print_on_invoice_flag := p_attr_value1;
892 ELSIF p_attr_id = OE_Header_Adj_Util.G_EXPIRATION_DATE then
893 --l_x_Header_Adj_rec.expiration_date := TO_DATE(p_attr_value1, l_date_format);
894 l_x_Header_Adj_rec.expiration_date := fnd_date.string_TO_DATE(p_attr_value1, l_date_format); --bug5402396
895 ELSIF p_attr_id = OE_Header_Adj_Util.G_REBATE_TRANSACTION_TYPE_CODE then
896 l_x_Header_Adj_rec.rebate_transaction_type_code := p_attr_value1;
897 ELSIF p_attr_id = OE_Header_Adj_Util.G_REBATE_TRANSACTION_REFERENCE then
898 l_x_Header_Adj_rec.rebate_transaction_reference := p_attr_value1;
899 ELSIF p_attr_id = OE_Header_Adj_Util.G_REBATE_PAYMENT_SYSTEM_CODE then
900 l_x_Header_Adj_rec.rebate_payment_system_code := p_attr_value1;
901 ELSIF p_attr_id = OE_Header_Adj_Util.G_REDEEMED_DATE then
902 --l_x_Header_Adj_rec.redeemed_date := TO_DATE(p_attr_value1, l_date_format);
903 l_x_Header_Adj_rec.redeemed_date := fnd_date.string_TO_DATE(p_attr_value1, l_date_format); --bug5402396
904 ELSIF p_attr_id = OE_Header_Adj_Util.G_REDEEMED_FLAG then
905 l_x_Header_Adj_rec.redeemed_flag := p_attr_value1;
906 ELSIF p_attr_id = OE_Header_Adj_Util.G_ACCRUAL_FLAG then
907 l_x_Header_Adj_rec.accrual_flag := p_attr_value1;
908
909 ELSIF p_attr_id = OE_Header_Adj_Util.G_AUTOMATIC THEN
910 l_x_Header_Adj_rec.automatic_flag := p_attr_value1;
911 ELSIF p_attr_id = OE_Header_Adj_Util.G_PERCENT THEN
912 l_x_Header_Adj_rec.percent := TO_NUMBER(p_attr_value1);
913 --Manual begin
914 ELSIF p_attr_id = OE_Header_Adj_Util.G_LINE THEN
915 If p_attr_value1 is Not Null Then
916 l_x_Header_Adj_rec.line_id := TO_NUMBER(p_attr_value1);
917 Else
918 l_x_Header_Adj_rec.line_id := NULL;
919 End If;
920 --Manual end
921 ELSIF p_attr_id = OE_Header_Adj_Util.G_ESTIMATED_FLAG THEN
922 l_x_Header_Adj_rec.estimated_flag := p_attr_value1;
923 ELSIF p_attr_id = OE_Header_Adj_Util.G_INVOICED_FLAG THEN
924 l_x_Header_Adj_rec.INVOICED_FLAG := p_attr_value1;
925 ELSIF p_attr_id = OE_Header_Adj_Util.G_credit_or_charge_flag THEN
926 l_x_Header_Adj_rec.credit_or_charge_flag := p_attr_value1;
927 ELSIF p_attr_id = OE_Header_Adj_Util.G_include_on_returns_flag THEN
928 l_x_Header_Adj_rec.include_on_returns_flag := p_attr_value1;
929 ELSIF p_attr_id = OE_Header_Adj_Util.G_charge_type_code THEN
930 l_x_Header_Adj_rec.charge_type_code := p_attr_value1;
931 ELSIF p_attr_id = OE_Header_Adj_Util.G_charge_subtype_code THEN
932 l_x_Header_Adj_rec.charge_subtype_code := p_attr_value1;
933 --uom begin
934 ELSIF p_attr_id = OE_Header_Adj_Util.G_operand_per_pqty Then
935 l_x_Header_Adj_rec.operand_per_pqty := to_number(p_attr_value1);
936 ELSIF p_attr_id = OE_Header_Adj_Util.G_adjusted_amount_per_pqty Then
937 l_x_Header_Adj_rec.adjusted_amount_per_pqty := to_number(p_attr_value1);
938 --uom end
939 --Manual begin
940 ELSIF p_attr_id = OE_Header_Adj_Util.G_modifier_level_code Then
941 l_x_Header_Adj_rec.modifier_level_code := p_attr_value1;
942 ELSIF p_attr_id = OE_Header_Adj_Util.G_OVERRIDE_ALLOWED_FLAG Then
943 l_x_Header_Adj_rec.update_allowed:= p_attr_value1;
944 --Manual end
945 ELSIF p_attr_id = OE_Header_Adj_Util.G_CONTEXT
946 OR p_attr_id = OE_Header_Adj_Util.G_ATTRIBUTE1
947 OR p_attr_id = OE_Header_Adj_Util.G_ATTRIBUTE2
948 OR p_attr_id = OE_Header_Adj_Util.G_ATTRIBUTE3
949 OR p_attr_id = OE_Header_Adj_Util.G_ATTRIBUTE4
950 OR p_attr_id = OE_Header_Adj_Util.G_ATTRIBUTE5
951 OR p_attr_id = OE_Header_Adj_Util.G_ATTRIBUTE6
952 OR p_attr_id = OE_Header_Adj_Util.G_ATTRIBUTE7
953 OR p_attr_id = OE_Header_Adj_Util.G_ATTRIBUTE8
954 OR p_attr_id = OE_Header_Adj_Util.G_ATTRIBUTE9
955 OR p_attr_id = OE_Header_Adj_Util.G_ATTRIBUTE10
956 OR p_attr_id = OE_Header_Adj_Util.G_ATTRIBUTE11
957 OR p_attr_id = OE_Header_Adj_Util.G_ATTRIBUTE12
958 OR p_attr_id = OE_Header_Adj_Util.G_ATTRIBUTE13
959 OR p_attr_id = OE_Header_Adj_Util.G_ATTRIBUTE14
960 OR p_attr_id = OE_Header_Adj_Util.G_ATTRIBUTE15
961 THEN
962
963 l_x_Header_Adj_rec.context := p_context;
964 l_x_Header_Adj_rec.attribute1 := p_attribute1;
965 l_x_Header_Adj_rec.attribute2 := p_attribute2;
966 l_x_Header_Adj_rec.attribute3 := p_attribute3;
967 l_x_Header_Adj_rec.attribute4 := p_attribute4;
968 l_x_Header_Adj_rec.attribute5 := p_attribute5;
969 l_x_Header_Adj_rec.attribute6 := p_attribute6;
970 l_x_Header_Adj_rec.attribute7 := p_attribute7;
971 l_x_Header_Adj_rec.attribute8 := p_attribute8;
972 l_x_Header_Adj_rec.attribute9 := p_attribute9;
973 l_x_Header_Adj_rec.attribute10 := p_attribute10;
974 l_x_Header_Adj_rec.attribute11 := p_attribute11;
975 l_x_Header_Adj_rec.attribute12 := p_attribute12;
976 l_x_Header_Adj_rec.attribute13 := p_attribute13;
977 l_x_Header_Adj_rec.attribute14 := p_attribute14;
978 l_x_Header_Adj_rec.attribute15 := p_attribute15;
979 ELSIF p_attr_id = OE_Header_Adj_Util.G_AC_CONTEXT
980 OR p_attr_id = OE_Header_Adj_Util.G_AC_ATTRIBUTE1
981 OR p_attr_id = OE_Header_Adj_Util.G_AC_ATTRIBUTE2
982 OR p_attr_id = OE_Header_Adj_Util.G_AC_ATTRIBUTE3
983 OR p_attr_id = OE_Header_Adj_Util.G_AC_ATTRIBUTE4
984 OR p_attr_id = OE_Header_Adj_Util.G_AC_ATTRIBUTE5
985 OR p_attr_id = OE_Header_Adj_Util.G_AC_ATTRIBUTE6
986 OR p_attr_id = OE_Header_Adj_Util.G_AC_ATTRIBUTE7
987 OR p_attr_id = OE_Header_Adj_Util.G_AC_ATTRIBUTE8
988 OR p_attr_id = OE_Header_Adj_Util.G_AC_ATTRIBUTE9
989 OR p_attr_id = OE_Header_Adj_Util.G_AC_ATTRIBUTE10
990 OR p_attr_id = OE_Header_Adj_Util.G_AC_ATTRIBUTE11
991 OR p_attr_id = OE_Header_Adj_Util.G_AC_ATTRIBUTE12
992 OR p_attr_id = OE_Header_Adj_Util.G_AC_ATTRIBUTE13
993 OR p_attr_id = OE_Header_Adj_Util.G_AC_ATTRIBUTE14
994 OR p_attr_id = OE_Header_Adj_Util.G_AC_ATTRIBUTE15
995 THEN
996
997 l_x_Header_Adj_rec.ac_context := p_ac_context;
998 l_x_Header_Adj_rec.ac_attribute1 := p_ac_attribute1;
999 l_x_Header_Adj_rec.ac_attribute2 := p_ac_attribute2;
1000 l_x_Header_Adj_rec.ac_attribute3 := p_ac_attribute3;
1001 l_x_Header_Adj_rec.ac_attribute4 := p_ac_attribute4;
1002 l_x_Header_Adj_rec.ac_attribute5 := p_ac_attribute5;
1003 l_x_Header_Adj_rec.ac_attribute6 := p_ac_attribute6;
1004 l_x_Header_Adj_rec.ac_attribute7 := p_ac_attribute7;
1005 l_x_Header_Adj_rec.ac_attribute8 := p_ac_attribute8;
1006 l_x_Header_Adj_rec.ac_attribute9 := p_ac_attribute9;
1007 l_x_Header_Adj_rec.ac_attribute10 := p_ac_attribute10;
1008 l_x_Header_Adj_rec.ac_attribute11 := p_ac_attribute11;
1009 l_x_Header_Adj_rec.ac_attribute12 := p_ac_attribute12;
1010 l_x_Header_Adj_rec.ac_attribute13 := p_ac_attribute13;
1011 l_x_Header_Adj_rec.ac_attribute14 := p_ac_attribute14;
1012 l_x_Header_Adj_rec.ac_attribute15 := p_ac_attribute15;
1013
1014 ELSE
1015
1016 -- Unexpected error, unrecognized attribute
1017 stmt:=5;
1018 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1019 THEN
1020 OE_MSG_PUB.Add_Exc_Msg
1021 ( G_PKG_NAME
1022 , 'Change_Attributes'
1023 , 'Unrecognized attribute:'||p_attr_id
1024 );
1025 END IF;
1026
1027 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1028
1029 END IF;
1030 stmt:=10;
1031
1032 -- Set Operation.
1033 IF FND_API.To_Boolean(l_x_Header_Adj_rec.db_flag) THEN
1034 l_x_Header_Adj_rec.operation := OE_GLOBALS.G_OPR_UPDATE;
1035 ELSE
1036 l_x_Header_Adj_rec.operation := OE_GLOBALS.G_OPR_CREATE;
1037 END IF;
1038
1039
1040 -- Request execution of delayed request on if a discount is
1041 -- applied
1042 /* IF p_attr_id = OE_Header_Adj_Util.G_DISCOUNT_LINE
1043 OR
1044 p_attr_id = OE_Header_Adj_Util.G_DISCOUNT
1045 THEN
1046
1047 -- Assign requests that are to be executed
1048 l_request_rec.entity_code:= OE_GLOBALS.G_ENTITY_HEADER_ADJ;
1049 l_request_rec.entity_id := l_header_adj_rec.price_adjustment_id;
1050 l_request_rec.param1 := l_header_adj_rec.discount_id;
1051 l_request_rec.param2 := l_header_adj_rec.header_id;
1052 l_request_rec.request_type := OE_GLOBALS.G_CHECK_DUPLICATE;
1053 l_request_tbl(1) := l_request_rec;
1054
1055 END IF; */
1056
1057 -- Populate Header_Adj table
1058 -- l_Header_Adj_tbl(1) := l_Header_Adj_rec;
1059 l_x_Header_Adj_tbl(1) := l_x_Header_Adj_rec;
1060 l_old_Header_Adj_tbl(1) := l_old_Header_Adj_rec;
1061
1062 -- Call Oe_Order_Adj_Pvt.Header_Adj
1063 l_Header_Adj_rec := l_x_Header_Adj_rec;
1064 stmt:=15;
1065 oe_order_adj_pvt.Header_Adjs
1066 ( p_init_msg_list => FND_API.G_TRUE
1067 , p_validation_level => FND_API.G_VALID_LEVEL_NONE
1068 , p_control_rec => l_control_rec
1069 , p_x_header_adj_tbl => l_x_Header_Adj_tbl
1070 , p_x_old_header_adj_tbl => l_x_old_header_adj_tbl
1071 );
1072
1073 -- Unload out tbl
1074 l_x_Header_Adj_rec := l_x_Header_Adj_tbl(1);
1075
1076 stmt:=20;
1077 IF l_x_header_adj_rec.return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1078 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1079 ELSIF l_x_header_adj_rec.return_status = FND_API.G_RET_STS_ERROR THEN
1080 RAISE FND_API.G_EXC_ERROR;
1081 END IF;
1082 stmt:=25;
1083 OE_DELAYED_REQUESTS_PVT.Process_Request_for_Reqtype
1084 (p_request_type => OE_GLOBALS.G_CHECK_DUPLICATE
1085 ,p_delete => FND_API.G_TRUE
1086 ,x_return_status => l_return_status
1087 );
1088 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1089 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1090 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1091 RAISE FND_API.G_EXC_ERROR;
1092 END IF;
1093
1094 OE_DELAYED_REQUESTS_PVT.Process_Request_for_Reqtype
1095 (p_request_type => OE_GLOBALS.G_CHECK_FIXED_PRICE
1096 ,p_delete => FND_API.G_TRUE
1097 ,x_return_status => l_return_status
1098 );
1099 IF p_enforce_fixed_price = 'YES' THEN
1100 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1101 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1102 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1103 RAISE FND_API.G_EXC_ERROR;
1104 END IF;
1105 ELSE
1106 l_return_status := FND_API.G_RET_STS_SUCCESS;
1107 END IF;
1108
1109
1110 stmt:=30;
1111 -- Init OUT parameters to missing.
1112
1113 x_price_adjustment_id := FND_API.G_MISS_NUM;
1114 x_header_id := FND_API.G_MISS_NUM;
1115 x_discount_id := FND_API.G_MISS_NUM;
1116 x_discount := FND_API.G_MISS_CHAR;
1117 x_discount_line_id := FND_API.G_MISS_NUM;
1118 x_automatic_flag := FND_API.G_MISS_CHAR;
1119 x_percent := FND_API.G_MISS_NUM;
1120 x_line_id := FND_API.G_MISS_NUM;
1121 x_context := FND_API.G_MISS_CHAR;
1122 x_attribute1 := FND_API.G_MISS_CHAR;
1123 x_attribute2 := FND_API.G_MISS_CHAR;
1124 x_attribute3 := FND_API.G_MISS_CHAR;
1125 x_attribute4 := FND_API.G_MISS_CHAR;
1126 x_attribute5 := FND_API.G_MISS_CHAR;
1127 x_attribute6 := FND_API.G_MISS_CHAR;
1128 x_attribute7 := FND_API.G_MISS_CHAR;
1129 x_attribute8 := FND_API.G_MISS_CHAR;
1130 x_attribute9 := FND_API.G_MISS_CHAR;
1131 x_attribute10 := FND_API.G_MISS_CHAR;
1132 x_attribute11 := FND_API.G_MISS_CHAR;
1133 x_attribute12 := FND_API.G_MISS_CHAR;
1134 x_attribute13 := FND_API.G_MISS_CHAR;
1135 x_attribute14 := FND_API.G_MISS_CHAR;
1136 x_attribute15 := FND_API.G_MISS_CHAR;
1137 x_ac_context := FND_API.G_MISS_CHAR;
1138 x_ac_attribute1 := FND_API.G_MISS_CHAR;
1139 x_ac_attribute2 := FND_API.G_MISS_CHAR;
1140 x_ac_attribute3 := FND_API.G_MISS_CHAR;
1141 x_ac_attribute4 := FND_API.G_MISS_CHAR;
1142 x_ac_attribute5 := FND_API.G_MISS_CHAR;
1143 x_ac_attribute6 := FND_API.G_MISS_CHAR;
1144 x_ac_attribute7 := FND_API.G_MISS_CHAR;
1145 x_ac_attribute8 := FND_API.G_MISS_CHAR;
1146 x_ac_attribute9 := FND_API.G_MISS_CHAR;
1147 x_ac_attribute10 := FND_API.G_MISS_CHAR;
1148 x_ac_attribute11 := FND_API.G_MISS_CHAR;
1149 x_ac_attribute12 := FND_API.G_MISS_CHAR;
1150 x_ac_attribute13 := FND_API.G_MISS_CHAR;
1151 x_ac_attribute14 := FND_API.G_MISS_CHAR;
1152 x_ac_attribute15 := FND_API.G_MISS_CHAR;
1153
1154 stmt:=35;
1155 -- New columns names added
1156 x_list_header_id := FND_API.G_MISS_NUM;
1157 x_list_line_id := FND_API.G_MISS_NUM;
1158 x_list_line_type_code := FND_API.G_MISS_CHAR;
1159 x_modifier_mechanism_type_code := FND_API.G_MISS_CHAR;
1160 x_modified_from := FND_API.G_MISS_CHAR;
1161 x_modified_to := FND_API.G_MISS_CHAR;
1162 x_update_allowed := FND_API.G_MISS_CHAR;
1163 x_updated_flag := FND_API.G_MISS_CHAR;
1164 x_applied_flag := FND_API.G_MISS_CHAR;
1165 x_change_reason_code := FND_API.G_MISS_CHAR;
1166 x_change_reason_text := FND_API.G_MISS_CHAR;
1167 x_operand := FND_API.G_MISS_NUM;
1168 x_arithmetic_operator := FND_API.G_MISS_CHAR;
1169
1170 x_adjusted_amount := FND_API.G_MISS_NUM;
1171 x_pricing_phase_id := FND_API.G_MISS_NUM;
1172 x_list_line_no := FND_API.G_MISS_CHAR;
1173 x_source_system_code := FND_API.G_MISS_CHAR;
1174 x_benefit_qty := FND_API.G_MISS_NUM;
1175 x_benefit_uom_code := FND_API.G_MISS_CHAR;
1176 x_print_on_invoice_flag := FND_API.G_MISS_CHAR;
1177 x_expiration_date := FND_API.G_MISS_DATE;
1178 x_rebate_transaction_type_code := FND_API.G_MISS_CHAR;
1179 x_rebate_transaction_reference := FND_API.G_MISS_CHAR;
1180 x_rebate_payment_system_code := FND_API.G_MISS_CHAR;
1181 x_redeemed_date := FND_API.G_MISS_DATE;
1182 x_redeemed_flag := FND_API.G_MISS_CHAR;
1183 x_accrual_flag := FND_API.G_MISS_CHAR;
1184 x_invoiced_flag := FND_API.G_MISS_CHAR;
1185 x_estimated_flag := FND_API.G_MISS_CHAR;
1186 x_credit_or_charge_flag := FND_API.G_MISS_CHAR;
1187 x_include_on_returns_flag := FND_API.G_MISS_CHAR;
1188 x_charge_type_code := FND_API.G_MISS_CHAR;
1189 x_charge_subtype_code := FND_API.G_MISS_CHAR;
1190
1191 --uom begin
1192 x_operand_per_pqty := FND_API.G_MISS_NUM;
1193 x_adjusted_amount_per_pqty := FND_API.G_MISS_NUM;
1194 --uom end
1195
1196 -- Load display out parameters if any
1197 stmt:=40;
1198 l_Header_Adj_val_rec := OE_Header_Adj_Util.Get_Values
1199 ( p_Header_Adj_rec => l_x_Header_Adj_rec
1200 , p_old_Header_Adj_rec => l_Header_Adj_rec
1201 );
1202 stmt:=45;
1203 -- New column changes :: new code
1204
1205 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.list_header_id,
1206 l_Header_Adj_rec.list_header_id)
1207 THEN
1208 x_list_header_id := l_x_Header_Adj_rec.list_header_id;
1209 END IF;
1210
1211 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.list_line_id,
1212 l_Header_Adj_rec.list_line_id)
1213 THEN
1214 x_list_line_id := l_x_Header_Adj_rec.list_line_id;
1215 END IF;
1216
1217 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.list_line_type_code,
1218
1219 l_Header_Adj_rec.list_line_type_code)
1220 THEN
1221 x_list_line_type_code := l_x_Header_Adj_rec.list_line_type_code;
1222 END IF;
1223
1224 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.modifier_mechanism_type_code,
1225
1226 l_Header_Adj_rec.modifier_mechanism_type_code)
1227 THEN
1228 x_modifier_mechanism_type_code := l_x_Header_Adj_rec.modifier_mechanism_type_code;
1229 END IF;
1230
1231 stmt:=50;
1232 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.update_allowed,
1233
1234 l_Header_Adj_rec.update_allowed)
1235 THEN
1236 x_update_allowed := l_x_Header_Adj_rec.update_allowed;
1237 END IF;
1238
1239 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.updated_flag,
1240
1241 l_Header_Adj_rec.updated_flag)
1242 THEN
1243 x_updated_flag := l_x_Header_Adj_rec.updated_flag;
1244 END IF;
1245 stmt:=55;
1246 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.modified_from,
1247
1248 l_Header_Adj_rec.modified_from)
1249 THEN
1250 x_modified_from := l_x_Header_Adj_rec.modified_from;
1251 END IF;
1252
1253 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.modified_to,
1254
1255 l_Header_Adj_rec.modified_to)
1256 THEN
1257 x_modified_to := l_x_Header_Adj_rec.modified_to;
1258 END IF;
1259 stmt:=60;
1260 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.applied_flag,
1261 l_Header_Adj_rec.applied_flag)
1262 THEN
1263 x_applied_flag := l_x_Header_Adj_rec.applied_flag;
1264 END IF;
1265 stmt:=65;
1266 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.change_reason_code,
1267 l_Header_Adj_rec.change_reason_code)
1268 THEN
1269 x_change_reason_code := l_x_Header_Adj_rec.change_reason_code;
1270 END IF;
1271
1272 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.change_reason_text,
1273 l_Header_Adj_rec.change_reason_text)
1274 THEN
1275 x_change_reason_text := l_x_Header_Adj_rec.change_reason_text;
1276 END IF;
1277 stmt:=70;
1278 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.operand,
1279 l_Header_Adj_rec.operand)
1280 THEN
1281 x_operand := l_x_Header_Adj_rec.operand;
1282 END IF;
1283
1284 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.arithmetic_operator,
1285 l_Header_Adj_rec.arithmetic_operator)
1286 THEN
1287 x_arithmetic_operator := l_x_Header_Adj_rec.arithmetic_operator;
1288 END IF;
1289
1290
1291 -- Return changed attributes.
1292
1293 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.attribute1,
1294 l_Header_Adj_rec.attribute1)
1295 THEN
1296 x_attribute1 := l_x_Header_Adj_rec.attribute1;
1297 END IF;
1298 stmt:=75;
1299 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.attribute10,
1300 l_Header_Adj_rec.attribute10)
1301 THEN
1302 x_attribute10 := l_x_Header_Adj_rec.attribute10;
1303 END IF;
1304
1305 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.attribute11,
1306 l_Header_Adj_rec.attribute11)
1307 THEN
1308 x_attribute11 := l_x_Header_Adj_rec.attribute11;
1309 END IF;
1310
1311 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.attribute12,
1312 l_Header_Adj_rec.attribute12)
1313 THEN
1314 x_attribute12 := l_x_Header_Adj_rec.attribute12;
1315 END IF;
1316 stmt:=80;
1317 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.attribute13,
1318 l_Header_Adj_rec.attribute13)
1319 THEN
1320 x_attribute13 := l_x_Header_Adj_rec.attribute13;
1321 END IF;
1322
1323 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.attribute14,
1324 l_Header_Adj_rec.attribute14)
1325 THEN
1326 x_attribute14 := l_x_Header_Adj_rec.attribute14;
1327 END IF;
1328 stmt:=85;
1329 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.attribute15,
1330 l_Header_Adj_rec.attribute15)
1331 THEN
1332 x_attribute15 := l_x_Header_Adj_rec.attribute15;
1333 END IF;
1334
1335 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.attribute2,
1336 l_Header_Adj_rec.attribute2)
1337 THEN
1338 x_attribute2 := l_x_Header_Adj_rec.attribute2;
1339 END IF;
1340
1341 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.attribute3,
1342 l_Header_Adj_rec.attribute3)
1343 THEN
1344 x_attribute3 := l_x_Header_Adj_rec.attribute3;
1345 END IF;
1346
1347 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.attribute4,
1348 l_Header_Adj_rec.attribute4)
1349 THEN
1350 x_attribute4 := l_x_Header_Adj_rec.attribute4;
1351 END IF;
1352
1353 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.attribute5,
1354 l_Header_Adj_rec.attribute5)
1355 THEN
1356 x_attribute5 := l_x_Header_Adj_rec.attribute5;
1357 END IF;
1358
1359 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.attribute6,
1360 l_Header_Adj_rec.attribute6)
1361 THEN
1362 x_attribute6 := l_x_Header_Adj_rec.attribute6;
1363 END IF;
1364
1365 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.attribute7,
1366 l_Header_Adj_rec.attribute7)
1367 THEN
1368 x_attribute7 := l_x_Header_Adj_rec.attribute7;
1369 END IF;
1370
1371 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.attribute8,
1372 l_Header_Adj_rec.attribute8)
1373 THEN
1374 x_attribute8 := l_x_Header_Adj_rec.attribute8;
1375 END IF;
1376
1377 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.attribute9,
1378 l_Header_Adj_rec.attribute9)
1379 THEN
1380 x_attribute9 := l_x_Header_Adj_rec.attribute9;
1381 END IF;
1382
1383 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.automatic_flag,
1384 l_Header_Adj_rec.automatic_flag)
1385 THEN
1386 x_automatic_flag := l_x_Header_Adj_rec.automatic_flag;
1387 END IF;
1388
1389 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.context,
1390 l_Header_Adj_rec.context)
1391 THEN
1392 x_context := l_x_Header_Adj_rec.context;
1393 END IF;
1394 stmt:=95;
1395 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.discount_id,
1396 l_Header_Adj_rec.discount_id)
1397 THEN
1398 x_discount_id := l_x_Header_Adj_rec.discount_id;
1399 x_discount := l_Header_Adj_val_rec.discount;
1400 END IF;
1401
1402 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.discount_line_id,
1403 l_Header_Adj_rec.discount_line_id)
1404 THEN
1405 x_discount_line_id := l_x_Header_Adj_rec.discount_line_id;
1406 END IF;
1407
1408 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.header_id,
1409 l_Header_Adj_rec.header_id)
1410 THEN
1411 x_header_id := l_x_Header_Adj_rec.header_id;
1412 END IF;
1413 stmt:=100;
1414 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.line_id,
1415 l_Header_Adj_rec.line_id)
1416 THEN
1417 x_line_id := l_x_Header_Adj_rec.line_id;
1418 END IF;
1419
1420 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.percent,
1421 l_Header_Adj_rec.percent)
1422 THEN
1423 x_percent := l_x_Header_Adj_rec.percent;
1424 END IF;
1425
1426 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.price_adjustment_id,
1427 l_Header_Adj_rec.price_adjustment_id)
1428 THEN
1429 x_price_adjustment_id := l_x_Header_Adj_rec.price_adjustment_id;
1430 END IF;
1431
1432
1433 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.adjusted_amount,
1434 l_Header_Adj_rec.adjusted_amount)
1435 THEN
1436 x_adjusted_amount := l_x_Header_Adj_rec.adjusted_amount;
1437 END IF;
1438
1439 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.pricing_phase_id,
1440 l_Header_Adj_rec.pricing_phase_id)
1441 THEN
1442 x_pricing_phase_id := l_x_Header_Adj_rec.pricing_phase_id;
1443 END IF;
1444
1445 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.list_line_no, l_Header_Adj_rec.list_line_no)
1446 THEN
1447 x_list_line_no := l_x_Header_Adj_rec.list_line_no;
1448 END IF;
1449
1450 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.source_system_code, l_Header_Adj_rec.source_system_code)
1451 THEN
1452 x_source_system_code := l_x_Header_Adj_rec.source_system_code;
1453 END IF;
1454
1455 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.benefit_qty, l_Header_Adj_rec.benefit_qty)
1456 THEN
1457 x_benefit_qty := l_x_Header_Adj_rec.benefit_qty;
1458 END IF;
1459
1460 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.benefit_uom_code, l_Header_Adj_rec.benefit_uom_code)
1461 THEN
1462 x_benefit_uom_code := l_x_Header_Adj_rec.benefit_uom_code;
1463 END IF;
1464
1465 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.print_on_invoice_flag, l_Header_Adj_rec.print_on_invoice_flag)
1466 THEN
1467 x_print_on_invoice_flag := l_x_Header_Adj_rec.print_on_invoice_flag;
1468 END IF;
1469
1470 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.expiration_date, l_Header_Adj_rec.expiration_date)
1471 THEN
1472 x_expiration_date := l_x_Header_Adj_rec.expiration_date;
1473 END IF;
1474
1475 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.rebate_transaction_type_code, l_Header_Adj_rec.rebate_transaction_type_code)
1476 THEN
1477 x_rebate_transaction_type_code := l_x_Header_Adj_rec.rebate_transaction_type_code;
1478 END IF;
1479
1480 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.rebate_transaction_reference, l_Header_Adj_rec.rebate_transaction_reference)
1481 THEN
1482 x_rebate_transaction_reference := l_x_Header_Adj_rec.rebate_transaction_reference;
1483 END IF;
1484
1485 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.rebate_payment_system_code, l_Header_Adj_rec.rebate_payment_system_code)
1486 THEN
1487 x_rebate_payment_system_code := l_x_Header_Adj_rec.rebate_payment_system_code;
1488 END IF;
1489
1490 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.redeemed_date, l_Header_Adj_rec.redeemed_date)
1491 THEN
1492 x_redeemed_date := l_x_Header_Adj_rec.redeemed_date;
1493 END IF;
1494
1495 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.redeemed_flag, l_Header_Adj_rec.redeemed_flag)
1496 THEN
1497 x_redeemed_flag := l_x_Header_Adj_rec.redeemed_flag;
1498 END IF;
1499
1500 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.accrual_flag, l_Header_Adj_rec.accrual_flag)
1501 THEN
1502 x_accrual_flag := l_x_Header_Adj_rec.accrual_flag;
1503 END IF;
1504
1505 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.estimated_flag, l_Header_Adj_rec.estimated_flag)
1506 THEN
1507 x_estimated_flag := l_x_Header_Adj_rec.estimated_flag;
1508 END IF;
1509
1510 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.invoiced_flag, l_Header_Adj_rec.invoiced_flag)
1511 THEN
1512 x_invoiced_flag := l_x_Header_Adj_rec.invoiced_flag;
1513 END IF;
1514
1515 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.charge_type_code, l_Header_Adj_rec.charge_type_code)
1516 THEN
1517 x_charge_type_code := l_x_Header_Adj_rec.charge_type_code;
1518 END IF;
1519
1520 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.charge_subtype_code, l_Header_Adj_rec.charge_subtype_code)
1521 THEN
1522 x_charge_subtype_code := l_x_Header_Adj_rec.charge_subtype_code;
1523 END IF;
1524
1525 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.credit_or_charge_flag, l_Header_Adj_rec.credit_or_charge_flag)
1526 THEN
1527 x_credit_or_charge_flag := l_x_Header_Adj_rec.credit_or_charge_flag;
1528 END IF;
1529
1530 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.include_on_returns_flag, l_Header_Adj_rec.include_on_returns_flag)
1531 THEN
1532 x_include_on_returns_flag := l_x_Header_Adj_rec.include_on_returns_flag;
1533 END IF;
1534
1535 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.ac_attribute1,
1536 l_Header_Adj_rec.ac_attribute1)
1537 THEN
1538 x_ac_attribute1 := l_x_Header_Adj_rec.ac_attribute1;
1539 END IF;
1540
1541 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.ac_attribute10,
1542 l_Header_Adj_rec.ac_attribute10)
1543 THEN
1544 x_ac_attribute10 := l_x_Header_Adj_rec.ac_attribute10;
1545 END IF;
1546
1547 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.ac_attribute11,
1548 l_Header_Adj_rec.ac_attribute11)
1549 THEN
1550 x_ac_attribute11 := l_x_Header_Adj_rec.ac_attribute11;
1551 END IF;
1552
1553 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.ac_attribute12,
1554 l_Header_Adj_rec.ac_attribute12)
1555 THEN
1556 x_ac_attribute12 := l_x_Header_Adj_rec.ac_attribute12;
1557 END IF;
1558
1559 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.ac_attribute13,
1560 l_Header_Adj_rec.ac_attribute13)
1561 THEN
1562 x_ac_attribute13 := l_x_Header_Adj_rec.ac_attribute13;
1563 END IF;
1564
1565 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.ac_attribute14,
1566 l_Header_Adj_rec.ac_attribute14)
1567 THEN
1568 x_ac_attribute14 := l_x_Header_Adj_rec.ac_attribute14;
1569 END IF;
1570
1571 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.ac_attribute15,
1572 l_Header_Adj_rec.ac_attribute15)
1573 THEN
1574 x_ac_attribute15 := l_x_Header_Adj_rec.ac_attribute15;
1575 END IF;
1576
1577 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.ac_attribute2,
1578 l_Header_Adj_rec.ac_attribute2)
1579 THEN
1580 x_ac_attribute2 := l_x_Header_Adj_rec.ac_attribute2;
1581 END IF;
1582
1583 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.ac_attribute3,
1584 l_Header_Adj_rec.ac_attribute3)
1585 THEN
1586 x_ac_attribute3 := l_x_Header_Adj_rec.ac_attribute3;
1587 END IF;
1588
1589 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.ac_attribute4,
1590 l_Header_Adj_rec.ac_attribute4)
1591 THEN
1592 x_ac_attribute4 := l_x_Header_Adj_rec.ac_attribute4;
1593 END IF;
1594
1595 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.ac_attribute5,
1596 l_Header_Adj_rec.ac_attribute5)
1597 THEN
1598 x_ac_attribute5 := l_x_Header_Adj_rec.ac_attribute5;
1599 END IF;
1600
1601 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.ac_attribute6,
1602 l_Header_Adj_rec.ac_attribute6)
1603 THEN
1604 x_ac_attribute6 := l_x_Header_Adj_rec.ac_attribute6;
1605 END IF;
1606
1607 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.ac_attribute7,
1608 l_Header_Adj_rec.ac_attribute7)
1609 THEN
1610 x_ac_attribute7 := l_x_Header_Adj_rec.ac_attribute7;
1611 END IF;
1612
1613 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.ac_attribute8,
1614 l_Header_Adj_rec.ac_attribute8)
1615 THEN
1616 x_ac_attribute8 := l_x_Header_Adj_rec.ac_attribute8;
1617 END IF;
1618
1619 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.ac_attribute9,
1620 l_Header_Adj_rec.ac_attribute9)
1621 THEN
1622 x_ac_attribute9 := l_x_Header_Adj_rec.ac_attribute9;
1623 END IF;
1624
1625 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.ac_context,
1626 l_Header_Adj_rec.ac_context)
1627 THEN
1628 x_ac_context := l_x_Header_Adj_rec.ac_context;
1629 END IF;
1630 stmt:=120;
1631 --uom begin
1632 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.operand_per_pqty,
1633 l_Header_Adj_rec.operand_per_pqty)
1634 THEN
1635 x_operand_per_pqty := l_x_Header_Adj_rec.operand_per_pqty;
1636 END IF;
1637
1638 IF NOT OE_GLOBALS.Equal(l_x_Header_Adj_rec.adjusted_amount_per_pqty,
1639 l_Header_Adj_rec.adjusted_amount_per_pqty)
1640 THEN
1641 x_adjusted_amount_per_pqty := l_x_Header_Adj_rec.adjusted_amount_per_pqty;
1642 END IF;
1643
1644 --uom end
1645 stmt:=130;
1646
1647 -- Write to cache.
1648
1649 Write_Header_Adj
1650 ( p_Header_Adj_rec => l_x_Header_Adj_rec
1651 );
1652
1653 stmt:=140;
1654 -- Re-set the UI flag to FALSE
1655 OE_GLOBALS.G_UI_FLAG := FALSE;
1656
1657 -- Set return status.
1658 x_return_status := FND_API.G_RET_STS_SUCCESS;
1659
1660
1661 -- Get message count and data
1662 OE_MSG_PUB.Count_And_Get
1663 ( p_count => x_msg_count
1664 , p_data => x_msg_data
1665 );
1666
1667 IF l_debug_level > 0 THEN
1668 oe_debug_pub.add( 'EXITING OE_OE_FORM_HEADER_ADJ.CHANGE_ATTRIBUTES' , 1 ) ;
1669 END IF;
1670
1671 EXCEPTION
1672
1673 WHEN FND_API.G_EXC_ERROR THEN
1674
1675 OE_GLOBALS.G_UI_FLAG := FALSE;
1676
1677 x_return_status := FND_API.G_RET_STS_ERROR;
1678
1679 -- Get message count and data
1680
1681 /* Msg is commented out nocopy for the bug #2485694 */
1682
1683 /* OE_MSG_PUB.Add_Exc_Msg
1684 ( G_PKG_NAME
1685 , 'Change_Attributes'||stmt
1686 ); */
1687
1688 IF l_debug_level > 0 THEN
1689 oe_debug_pub.add( G_PKG_NAME|| 'CHANGE_ATTRIBUTES'||STMT , 1 ) ;
1690 END IF;
1691
1692 OE_MSG_PUB.Count_And_Get
1693 ( p_count => x_msg_count
1694 , p_data => x_msg_data
1695 );
1696
1697 IF l_debug_level > 0 THEN
1698 oe_debug_pub.add( 'STMT:'||STMT ) ;
1699 END IF;
1700 ROLLBACK TO SAVEPOINT change_attributes;
1701
1702 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1703 IF l_debug_level > 0 THEN
1704 oe_debug_pub.add( 'STMT:'||STMT ) ;
1705 END IF;
1706 OE_GLOBALS.G_UI_FLAG := FALSE;
1707
1708 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1709
1710 -- Get message count and data
1711 IF l_debug_level > 0 THEN
1712 oe_debug_pub.add( 'STMT:'||STMT ) ;
1713 END IF;
1714 OE_MSG_PUB.Add_Exc_Msg
1715 ( G_PKG_NAME
1716 , 'Change_Attributes:'||stmt
1717 );
1718 OE_MSG_PUB.Count_And_Get
1719 ( p_count => x_msg_count
1720 , p_data => x_msg_data
1721 );
1722
1723 ROLLBACK TO SAVEPOINT change_attributes;
1724
1725 WHEN OTHERS THEN
1726
1727 OE_GLOBALS.G_UI_FLAG := FALSE;
1728
1729 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1730
1731 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1732 THEN
1733 OE_MSG_PUB.Add_Exc_Msg
1734 ( G_PKG_NAME
1735 , 'Change_Attributes:'||stmt
1736 );
1737 END IF;
1738
1739 -- Get message count and data
1740
1741 OE_MSG_PUB.Count_And_Get
1742 ( p_count => x_msg_count
1743 , p_data => x_msg_data
1744 );
1745
1746 ROLLBACK TO SAVEPOINT change_attributes;
1747
1748 END Change_Attributes;
1749
1750
1751 -- Procedure Validate_And_Write
1752 --
1753
1754
1755 PROCEDURE Validate_And_Write
1756 ( x_return_status OUT NOCOPY VARCHAR2
1757
1758 , x_msg_count OUT NOCOPY NUMBER
1759
1760 , x_msg_data OUT NOCOPY VARCHAR2
1761
1762 , p_price_adjustment_id IN NUMBER
1763 , x_creation_date OUT NOCOPY DATE
1764
1765 , x_created_by OUT NOCOPY NUMBER
1766
1767 , x_last_update_date OUT NOCOPY DATE
1768
1769 , x_last_updated_by OUT NOCOPY NUMBER
1770
1771 , x_last_update_login OUT NOCOPY NUMBER
1772
1773 , p_ok_flag IN VARCHAR2
1774 , x_program_id OUT NOCOPY NUMBER
1775
1776 , x_program_application_id OUT NOCOPY NUMBER
1777
1778 , x_program_update_date OUT NOCOPY DATE
1779
1780 , x_request_id OUT NOCOPY NUMBER
1781
1782 , x_lock_control OUT NOCOPY NUMBER
1783
1784 )
1785 IS
1786 l_request_rec OE_order_pub.Request_Rec_Type;
1787 l_request_tbl OE_order_pub.Request_Tbl_Type;
1788 l_Header_Adj_rec OE_Order_PUB.Header_Adj_Rec_Type;
1789 l_old_Header_Adj_rec OE_Order_PUB.Header_Adj_Rec_Type;
1790 l_x_old_Header_Adj_rec OE_Order_PUB.Header_Adj_Rec_Type;
1791 l_Header_Adj_tbl OE_Order_PUB.Header_Adj_Tbl_Type;
1792 l_old_Header_Adj_tbl OE_Order_PUB.Header_Adj_Tbl_Type;
1793 l_x_old_Header_Adj_tbl OE_Order_PUB.Header_Adj_Tbl_Type;
1794 l_control_rec OE_GLOBALS.Control_Rec_Type;
1795 l_return_status VARCHAR2(1);
1796 l_action_request_tbl OE_Order_PUB.Request_Tbl_Type;
1797 l_x_header_rec OE_Order_PUB.Header_Rec_Type;
1798 l_x_Header_Adj_rec OE_Order_PUB.Header_Adj_Rec_Type;
1799 l_x_Header_Adj_tbl OE_Order_PUB.Header_Adj_Tbl_Type;
1800 l_x_Header_Scredit_rec OE_Order_PUB.Header_Scredit_Rec_Type;
1801 l_x_Header_Scredit_tbl OE_Order_PUB.Header_Scredit_Tbl_Type;
1802 l_x_line_rec OE_Order_PUB.Line_Rec_Type;
1803 l_x_line_tbl OE_Order_PUB.Line_Tbl_Type;
1804 l_x_Line_Adj_rec OE_Order_PUB.Line_Adj_Rec_Type;
1805 l_x_Line_Adj_tbl OE_Order_PUB.Line_Adj_Tbl_Type;
1806 l_x_Line_Scredit_rec OE_Order_PUB.Line_Scredit_Rec_Type;
1807 l_x_Line_Scredit_tbl OE_Order_PUB.Line_Scredit_Tbl_Type;
1808 l_x_Lot_Serial_rec OE_Order_PUB.Lot_Serial_Rec_Type;
1809 l_x_Lot_Serial_tbl OE_Order_PUB.Lot_Serial_Tbl_Type;
1810
1811 --New out parameters
1812 l_x_Header_price_Att_tbl OE_Order_PUB.Header_Price_Att_Tbl_Type;
1813 l_x_Header_Adj_Att_tbl OE_Order_PUB.Header_Adj_Att_Tbl_Type;
1814 l_x_Header_Adj_Assoc_tbl OE_Order_PUB.Header_Adj_Assoc_Tbl_Type;
1815
1816 l_x_Line_price_Att_tbl OE_Order_PUB.Line_Price_Att_Tbl_Type;
1817 l_x_Line_Adj_Att_tbl OE_Order_PUB.Line_Adj_Att_Tbl_Type;
1818 l_x_Line_Adj_Assoc_tbl OE_Order_PUB.Line_Adj_Assoc_Tbl_Type;
1819
1820 --
1821 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
1822 --
1823 BEGIN
1824 --3340264{
1825 x_return_status := FND_API.G_RET_STS_SUCCESS;
1826 --3340264}
1827 IF l_debug_level > 0 THEN
1828 oe_debug_pub.add( 'ENTERING OE_OE_FORM_HEADER_ADJ.VALIDATE_AND_WRITE' , 1 ) ;
1829 END IF;
1830
1831 -- Set the UI flag
1832 OE_GLOBALS.G_UI_FLAG := TRUE;
1833
1834 -- Set control flags.
1835 l_control_rec.controlled_operation := TRUE;
1836 l_control_rec.validate_entity := TRUE;
1837 l_control_rec.write_to_DB := TRUE;
1838
1839 l_control_rec.check_security := FALSE;
1840 l_control_rec.clear_dependents := FALSE;
1841 l_control_rec.default_attributes := FALSE;
1842 l_control_rec.change_attributes := FALSE;
1843 l_control_rec.process := FALSE;
1844 l_control_rec.process_entity := OE_GLOBALS.G_ENTITY_HEADER_ADJ;
1845
1846
1847 -- Instruct API to retain its caches
1848 l_control_rec.clear_api_cache := FALSE;
1849 l_control_rec.clear_api_requests := FALSE;
1850
1851
1852 -- Save point to rollback to if there were
1853 -- any errors
1854 SAVEPOINT validate_and_write;
1855
1856
1857 -- Read Header_Adj from cache
1858 Get_Header_Adj
1859 ( p_db_record => TRUE
1860 , p_price_adjustment_id => p_price_adjustment_id
1861 , x_Header_Adj_Rec => l_x_old_Header_Adj_rec
1862 );
1863
1864 Get_Header_Adj
1865 ( p_db_record => FALSE
1866 , p_price_adjustment_id => p_price_adjustment_id
1867 , x_Header_Adj_rec => l_x_Header_Adj_rec
1868 );
1869
1870 -- Set Operation.
1871 --3340264{
1872 IF(l_x_Header_Adj_rec.db_flag= FND_API.G_MISS_CHAR) THEN
1873 return;
1874 ELSE
1875 IF FND_API.To_Boolean(l_x_Header_Adj_rec.db_flag) THEN
1876 l_x_Header_Adj_rec.operation := OE_GLOBALS.G_OPR_UPDATE;
1877 ELSE
1878 l_x_Header_Adj_rec.operation := OE_GLOBALS.G_OPR_CREATE;
1879 END IF;
1880 END IF;
1881 --3340264}
1882
1883 -- Populate Header_Adj table
1884 l_x_Header_Adj_tbl(1) := l_x_Header_Adj_rec;
1885 l_x_old_Header_Adj_tbl(1) := l_x_old_Header_Adj_rec;
1886
1887 -- Call Oe_Order_Adj_Pvt.Header_Adj
1888 oe_order_adj_pvt.Header_Adjs
1889 ( p_init_msg_list => FND_API.G_TRUE
1890 , p_validation_level => FND_API.G_VALID_LEVEL_FULL
1891 , p_control_rec => l_control_rec
1892 , p_x_header_adj_tbl => l_x_Header_Adj_tbl
1893 , p_x_old_header_adj_tbl => l_x_old_header_adj_tbl
1894 );
1895
1896 /***************************************************************
1897 ** commented out nocopy for performance changes **
1898
1899 -- Call OE_Order_PVT.Process_order
1900 OE_Order_PVT.Process_order
1901 ( p_api_version_number => 1.0
1902 , p_init_msg_list => FND_API.G_TRUE
1903 , x_return_status => l_return_status
1904 , x_msg_count => x_msg_count
1905 , x_msg_data => x_msg_data
1906 , p_control_rec => l_control_rec
1907 --, p_request_tbl => l_request_tbl
1908 , p_Header_Adj_tbl => l_Header_Adj_tbl
1909 , p_old_Header_Adj_tbl => l_old_Header_Adj_tbl
1910 , x_header_rec => l_x_header_rec
1911 , x_Header_Adj_tbl => l_x_Header_Adj_tbl
1912 -- New Parameters
1913 , x_Header_price_Att_tbl => l_x_Header_price_Att_tbl
1914 , x_Header_Adj_Att_tbl => l_x_Header_Adj_Att_tbl
1915 , x_Header_Adj_Assoc_tbl => l_x_Header_Adj_Assoc_tbl
1916
1917 , x_Header_Scredit_tbl => l_x_Header_Scredit_tbl
1918 , x_line_tbl => l_x_line_tbl
1919 , x_Line_Adj_tbl => l_x_Line_Adj_tbl
1920
1921 -- New Parameters
1922 , x_Line_price_Att_tbl => l_x_Line_price_Att_tbl
1923 , x_Line_Adj_Att_tbl => l_x_Line_Adj_Att_tbl
1924 , x_Line_Adj_Assoc_tbl => l_x_Line_Adj_Assoc_tbl
1925
1926 , x_Line_Scredit_tbl => l_x_Line_Scredit_tbl
1927 , x_Lot_Serial_tbl => l_x_Lot_Serial_tbl
1928 , x_action_request_tbl => l_action_request_tbl
1929 );
1930
1931 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1932 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1933 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1934 RAISE FND_API.G_EXC_ERROR;
1935 END IF;
1936 **********************************************************/
1937
1938 -- Load OUT parameters.
1939 l_x_Header_Adj_rec := l_x_Header_Adj_tbl(1);
1940
1941 IF l_x_header_adj_rec.return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1942 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1943 ELSIF l_x_header_adj_rec.return_status = FND_API.G_RET_STS_ERROR THEN
1944 RAISE FND_API.G_EXC_ERROR;
1945 END IF;
1946
1947 /*******
1948 Oe_Order_Pvt.Process_Requests_And_Notify
1949 ( p_process_requests => FALSE
1950 , p_notify => TRUE
1951 , p_header_adj_tbl => l_x_header_adj_tbl
1952 , p_old_header_adj_tbl => l_x_old_header_adj_tbl
1953 , x_return_status => l_return_status
1954 );
1955
1956 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1957 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1958 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1959 RAISE FND_API.G_EXC_ERROR;
1960 END IF;
1961 *******/
1962
1963 x_lock_control := l_x_Header_Adj_rec.lock_control;
1964
1965 OE_DELAYED_REQUESTS_PVT.Process_Request_for_Reqtype
1966 (p_request_type => OE_GLOBALS.G_CHECK_PERCENTAGE
1967 ,p_delete => FND_API.G_TRUE
1968 ,x_return_status => l_return_status
1969 );
1970 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1971 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1972 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1973 RAISE FND_API.G_EXC_ERROR;
1974 END IF;
1975
1976 -- fixed bug 3271297
1977 OE_DELAYED_REQUESTS_PVT.Process_Request_for_Reqtype
1978 (p_request_type => OE_GLOBALS.G_VERIFY_PAYMENT
1979 ,p_delete => FND_API.G_TRUE
1980 ,x_return_status => l_return_status
1981 );
1982 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1983 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1984 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1985 RAISE FND_API.G_EXC_ERROR;
1986 END IF;
1987
1988 /*****
1989 IF p_ok_flag = 'Y' THEN
1990 OE_DELAYED_REQUESTS_PVT.Process_Request_for_Reqtype
1991 (p_request_type => OE_GLOBALS.G_PRICE_ADJ
1992 ,p_delete => FND_API.G_TRUE
1993 ,x_return_status => l_return_status
1994 );
1995 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1996 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1997 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1998 RAISE FND_API.G_EXC_ERROR;
1999 END IF;
2000 END IF;
2001 ******/
2002
2003 x_creation_date := l_x_Header_Adj_rec.creation_date;
2004 x_created_by := l_x_Header_Adj_rec.created_by;
2005 x_last_update_date := l_x_Header_Adj_rec.last_update_date;
2006 x_last_updated_by := l_x_Header_Adj_rec.last_updated_by;
2007 x_last_update_login := l_x_Header_Adj_rec.last_update_login;
2008 x_program_id := l_x_Line_Adj_rec.program_id;
2009 x_program_application_id := l_x_Line_Adj_rec.program_application_id;
2010 x_program_update_date := l_x_Line_Adj_rec.program_update_date;
2011 x_request_id := l_x_Line_Adj_rec.request_id;
2012
2013
2014 -- Clear Header_Adj record cache
2015 Clear_Header_Adj;
2016
2017
2018 -- Re-set the UI flag to FALSE
2019 OE_GLOBALS.G_UI_FLAG := FALSE;
2020
2021 -- Set return status.
2022 x_return_status := FND_API.G_RET_STS_SUCCESS;
2023
2024
2025 -- Get message count and data
2026 OE_MSG_PUB.Count_And_Get
2027 ( p_count => x_msg_count
2028 , p_data => x_msg_data
2029 );
2030
2031 IF l_debug_level > 0 THEN
2032 oe_debug_pub.add( 'EXITING OE_OE_FORM_HEADER_ADJ.VALIDATE_AND_WRITE' , 1 ) ;
2033 END IF;
2034
2035 EXCEPTION
2036
2037 WHEN FND_API.G_EXC_ERROR THEN
2038
2039 OE_GLOBALS.G_UI_FLAG := FALSE;
2040
2041 x_return_status := FND_API.G_RET_STS_ERROR;
2042
2043 -- Get message count and data
2044
2045 OE_MSG_PUB.Count_And_Get
2046 ( p_count => x_msg_count
2047 , p_data => x_msg_data
2048 );
2049
2050 ROLLBACK TO SAVEPOINT validate_and_write;
2051
2052 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2053
2054 OE_GLOBALS.G_UI_FLAG := FALSE;
2055
2056 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2057
2058 -- Get message count and data
2059
2060 OE_MSG_PUB.Count_And_Get
2061 ( p_count => x_msg_count
2062 , p_data => x_msg_data
2063 );
2064
2065 ROLLBACK TO SAVEPOINT validate_and_write;
2066
2067 WHEN OTHERS THEN
2068
2069 OE_GLOBALS.G_UI_FLAG := FALSE;
2070
2071 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2072
2073 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2074 THEN
2075 OE_MSG_PUB.Add_Exc_Msg
2076 ( G_PKG_NAME
2077 , 'Validate_And_Write'
2078 );
2079 END IF;
2080
2081 -- Get message count and data
2082
2083 OE_MSG_PUB.Count_And_Get
2084 ( p_count => x_msg_count
2085 , p_data => x_msg_data
2086 );
2087
2088 ROLLBACK TO SAVEPOINT validate_and_write;
2089
2090 END Validate_And_Write;
2091
2092
2093 -- Procedure Delete_Row
2094 --
2095
2096 PROCEDURE Delete_Row
2097 ( x_return_status OUT NOCOPY VARCHAR2
2098
2099 , x_msg_count OUT NOCOPY NUMBER
2100
2101 , x_msg_data OUT NOCOPY VARCHAR2
2102
2103 , p_price_adjustment_id IN NUMBER
2104 , p_change_reason_code IN VARCHAR2 Default Null
2105 , p_change_comments IN VARCHAR2 Default Null
2106 )
2107 IS
2108 l_Header_Adj_rec OE_Order_PUB.Header_Adj_Rec_Type;
2109 l_Header_Adj_tbl OE_Order_PUB.Header_Adj_Tbl_Type;
2110 l_control_rec OE_GLOBALS.Control_Rec_Type;
2111 l_return_status VARCHAR2(1);
2112 l_action_request_tbl OE_Order_PUB.Request_Tbl_Type;
2113 l_x_header_rec OE_Order_PUB.Header_Rec_Type;
2114 l_x_Header_Adj_rec OE_Order_PUB.Header_Adj_Rec_Type;
2115 l_x_old_Header_Adj_rec OE_Order_PUB.Header_Adj_Rec_Type;
2116 l_x_Header_Adj_tbl OE_Order_PUB.Header_Adj_Tbl_Type;
2117 l_x_old_Header_Adj_tbl OE_Order_PUB.Header_Adj_Tbl_Type;
2118 l_x_Header_Scredit_rec OE_Order_PUB.Header_Scredit_Rec_Type;
2119 l_x_Header_Scredit_tbl OE_Order_PUB.Header_Scredit_Tbl_Type;
2120 l_x_line_rec OE_Order_PUB.Line_Rec_Type;
2121 l_x_line_tbl OE_Order_PUB.Line_Tbl_Type;
2122 l_x_Line_Adj_rec OE_Order_PUB.Line_Adj_Rec_Type;
2123 l_x_Line_Adj_tbl OE_Order_PUB.Line_Adj_Tbl_Type;
2124 l_x_Line_Scredit_rec OE_Order_PUB.Line_Scredit_Rec_Type;
2125 l_x_Line_Scredit_tbl OE_Order_PUB.Line_Scredit_Tbl_Type;
2126 l_x_Lot_Serial_rec OE_Order_PUB.Lot_Serial_Rec_Type;
2127 l_x_Lot_Serial_tbl OE_Order_PUB.Lot_Serial_Tbl_Type;
2128
2129
2130 --New out parameters
2131
2132 l_x_Header_price_Att_tbl OE_Order_PUB.Header_Price_Att_Tbl_Type;
2133 l_x_Header_Adj_Att_tbl OE_Order_PUB.Header_Adj_Att_Tbl_Type;
2134 l_x_Header_Adj_Assoc_tbl OE_Order_PUB.Header_Adj_Assoc_Tbl_Type;
2135
2136 l_x_Line_price_Att_tbl OE_Order_PUB.Line_Price_Att_Tbl_Type;
2137 l_x_Line_Adj_Att_tbl OE_Order_PUB.Line_Adj_Att_Tbl_Type;
2138 l_x_Line_Adj_Assoc_tbl OE_Order_PUB.Line_Adj_Assoc_Tbl_Type;
2139
2140 --
2141 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
2142 --
2143 BEGIN
2144
2145 IF l_debug_level > 0 THEN
2146 oe_debug_pub.add( 'ENTERING OE_OE_FORM_HEADER_ADJ.DELETE_ROW' , 1 ) ;
2147 END IF;
2148
2149 -- Set the UI flag
2150 OE_GLOBALS.G_UI_FLAG := TRUE;
2151
2152 -- Set control flags.
2153 l_control_rec.controlled_operation := TRUE;
2154 l_control_rec.check_security := TRUE;
2155 l_control_rec.validate_entity := TRUE;
2156 l_control_rec.write_to_DB := TRUE;
2157
2158 l_control_rec.clear_dependents := FALSE;
2159 l_control_rec.default_attributes := FALSE;
2160 l_control_rec.change_attributes := FALSE;
2161 l_control_rec.process := FALSE;
2162
2163
2164 -- Instruct API to retain its caches
2165 l_control_rec.clear_api_cache := FALSE;
2166 l_control_rec.clear_api_requests := FALSE;
2167
2168
2169 -- Read DB record from cache
2170 Get_Header_Adj
2171 ( p_db_record => TRUE
2172 , p_price_adjustment_id => p_price_adjustment_id
2173 , x_Header_Adj_rec => l_x_Header_Adj_rec
2174 );
2175
2176
2177 -- Set Operation.
2178 l_x_Header_Adj_rec.operation := OE_GLOBALS.G_OPR_DELETE;
2179
2180
2181 -- Populate Header_Adj table
2182 l_x_Header_Adj_tbl(1) := l_x_Header_Adj_rec;
2183 l_x_Header_Adj_tbl(1).change_reason_code := p_change_reason_code;
2184 l_x_Header_Adj_tbl(1).change_reason_text := p_change_comments;
2185
2186 -- Call Oe_Order_Adj_Pvt.Header_Adj
2187 oe_order_adj_pvt.Header_Adjs
2188 ( p_init_msg_list => FND_API.G_TRUE
2189 , p_validation_level => FND_API.G_VALID_LEVEL_FULL
2190 , p_control_rec => l_control_rec
2191 , p_x_header_adj_tbl => l_x_Header_Adj_tbl
2192 , p_x_old_header_adj_tbl => l_x_old_header_adj_tbl
2193 );
2194
2195 /*****************************************************************
2196 -- Call OE_Order_PVT.Process_order
2197 OE_Order_PVT.Process_order
2198 ( p_api_version_number => 1.0
2199 , p_init_msg_list => FND_API.G_TRUE
2200 , x_return_status => l_return_status
2201 , x_msg_count => x_msg_count
2202 , x_msg_data => x_msg_data
2203 , p_control_rec => l_control_rec
2204 , p_x_Header_Adj_tbl => l_x_Header_Adj_tbl
2205 , p_x_header_rec => l_x_header_rec
2206 -- , x_Header_Adj_tbl => l_x_Header_Adj_tbl
2207 -- New Parameters
2208 , p_x_Header_price_Att_tbl => l_x_Header_price_Att_tbl
2209 , p_x_Header_Adj_Att_tbl => l_x_Header_Adj_Att_tbl
2210 , p_x_Header_Adj_Assoc_tbl => l_x_Header_Adj_Assoc_tbl
2211
2212 , p_x_Header_Scredit_tbl => l_x_Header_Scredit_tbl
2213 , p_x_line_tbl => l_x_line_tbl
2214 , p_x_Line_Adj_tbl => l_x_Line_Adj_tbl
2215
2216 -- New Parameters
2217 , p_x_Line_price_Att_tbl => l_x_Line_price_Att_tbl
2218 , p_x_Line_Adj_Att_tbl => l_x_Line_Adj_Att_tbl
2219 , p_x_Line_Adj_Assoc_tbl => l_x_Line_Adj_Assoc_tbl
2220
2221 , p_x_Line_Scredit_tbl => l_x_Line_Scredit_tbl
2222 , p_x_Lot_Serial_tbl => l_x_Lot_Serial_tbl
2223 , p_x_action_request_tbl => l_action_request_tbl
2224 );
2225 *********************************************************************/
2226
2227 -- Load OUT parameters.
2228 l_x_Header_Adj_rec := l_x_Header_Adj_tbl(1);
2229
2230 IF l_x_Header_Adj_rec.return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2231 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2232 ELSIF l_x_Header_Adj_rec.return_status = FND_API.G_RET_STS_ERROR THEN
2233 RAISE FND_API.G_EXC_ERROR;
2234 END IF;
2235
2236
2237 -- Clear Header_Adj record cache
2238 Clear_Header_Adj;
2239
2240
2241 -- Re-set the UI flag to FALSE
2242 OE_GLOBALS.G_UI_FLAG := FALSE;
2243
2244 -- Set return status.
2245 x_return_status := FND_API.G_RET_STS_SUCCESS;
2246
2247
2248 -- Get message count and data
2249 OE_MSG_PUB.Count_And_Get
2250 ( p_count => x_msg_count
2251 , p_data => x_msg_data
2252 );
2253
2254 IF l_debug_level > 0 THEN
2255 oe_debug_pub.add( 'EXITING OE_OE_FORM_HEADER_ADJ.DELETE_ROW' , 1 ) ;
2256 END IF;
2257
2258 EXCEPTION
2259
2260 WHEN FND_API.G_EXC_ERROR THEN
2261
2262 OE_GLOBALS.G_UI_FLAG := FALSE;
2263
2264 x_return_status := FND_API.G_RET_STS_ERROR;
2265
2266 -- Get message count and data
2267 OE_MSG_PUB.Count_And_Get
2268 ( p_count => x_msg_count
2269 , p_data => x_msg_data
2270 );
2271
2272 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2273
2274 OE_GLOBALS.G_UI_FLAG := FALSE;
2275
2276 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2277
2278 -- Get message count and data
2279 OE_MSG_PUB.Count_And_Get
2280 ( p_count => x_msg_count
2281 , p_data => x_msg_data
2282 );
2283
2284 WHEN OTHERS THEN
2285
2286 OE_GLOBALS.G_UI_FLAG := FALSE;
2287
2288 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2289
2290 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2291 THEN
2292 OE_MSG_PUB.Add_Exc_Msg
2293 ( G_PKG_NAME
2294 , 'Delete_Row'
2295 );
2296 END IF;
2297
2298 -- Get message count and data
2299 OE_MSG_PUB.Count_And_Get
2300 ( p_count => x_msg_count
2301 , p_data => x_msg_data
2302 );
2303
2304 END Delete_Row;
2305
2306
2307 -- Procedure Process_Entity
2308 --
2309
2310
2311 PROCEDURE Process_Delayed_Requests
2312 ( x_return_status OUT NOCOPY VARCHAR2
2313
2314 , x_msg_count OUT NOCOPY NUMBER
2315
2316 , x_msg_data OUT NOCOPY VARCHAR2
2317
2318 , p_header_id IN NUMBER
2319 )
2320 IS
2321 l_control_rec OE_GLOBALS.Control_Rec_Type;
2322 l_return_status VARCHAR2(1);
2323 l_action_request_tbl OE_Order_PUB.Request_Tbl_Type;
2324 l_request_rec OE_Order_Pub.Request_Rec_Type;
2325 l_request_tbl OE_Order_Pub.Request_Tbl_Type;
2326 l_x_header_rec OE_Order_PUB.Header_Rec_Type;
2327 l_x_Header_Adj_rec OE_Order_PUB.Header_Adj_Rec_Type;
2328 l_x_Header_Adj_tbl OE_Order_PUB.Header_Adj_Tbl_Type;
2329 l_x_Header_Scredit_rec OE_Order_PUB.Header_Scredit_Rec_Type;
2330 l_x_Header_Scredit_tbl OE_Order_PUB.Header_Scredit_Tbl_Type;
2331 l_x_line_rec OE_Order_PUB.Line_Rec_Type;
2332 l_x_line_tbl OE_Order_PUB.Line_Tbl_Type;
2333 l_x_Line_Adj_rec OE_Order_PUB.Line_Adj_Rec_Type;
2334 l_x_Line_Adj_tbl OE_Order_PUB.Line_Adj_Tbl_Type;
2335 l_x_Line_Scredit_rec OE_Order_PUB.Line_Scredit_Rec_Type;
2336 l_x_Line_Scredit_tbl OE_Order_PUB.Line_Scredit_Tbl_Type;
2337 l_x_Lot_Serial_rec OE_Order_PUB.Lot_Serial_Rec_Type;
2338 l_x_Lot_Serial_tbl OE_Order_PUB.Lot_Serial_Tbl_Type;
2339
2340 --New out parameters
2341 l_x_Header_price_Att_tbl OE_Order_PUB.Header_Price_Att_Tbl_Type;
2342 l_x_Header_Adj_Att_tbl OE_Order_PUB.Header_Adj_Att_Tbl_Type;
2343 l_x_Header_Adj_Assoc_tbl OE_Order_PUB.Header_Adj_Assoc_Tbl_Type;
2344
2345 l_x_Line_price_Att_tbl OE_Order_PUB.Line_Price_Att_Tbl_Type;
2346 l_x_Line_Adj_Att_tbl OE_Order_PUB.Line_Adj_Att_Tbl_Type;
2347 l_x_Line_Adj_Assoc_tbl OE_Order_PUB.Line_Adj_Assoc_Tbl_Type;
2348
2349
2350 --
2351 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
2352 --
2353 BEGIN
2354
2355 IF l_debug_level > 0 THEN
2356 oe_debug_pub.add( 'ENTERING OE_OE_FORM_HEADER_ADJ.PROCESS_DELAYED_REQUESTS' , 1 ) ;
2357 END IF;
2358
2359 /*
2360 OE_DELAYED_REQUESTS_PVT.Process_Request_for_Reqtype
2361 (p_request_type => OE_GLOBALS.G_PRICE_ADJ
2362 ,p_delete => FND_API.G_TRUE
2363 ,x_return_status => l_return_status
2364 );
2365 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2366 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2367 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
2368 RAISE FND_API.G_EXC_ERROR;
2369 END IF;
2370
2371 -- process delayed requests for tax calculation.
2372 OE_DELAYED_REQUESTS_PVT.Process_Request_for_Reqtype
2373 (p_request_type => OE_GLOBALS.G_TAX_LINE
2374 ,p_delete => FND_API.G_TRUE
2375 ,x_return_status => l_return_status
2376 );
2377 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2378 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2379 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
2380 RAISE FND_API.G_EXC_ERROR;
2381 END IF;
2382
2383 oe_debug_pub.ADD('Processing delayed request for Verify Payment for price adjustments changes.', 3);
2384 OE_DELAYED_REQUESTS_PVT.Process_Request_for_Reqtype
2385 (p_request_type => OE_GLOBALS.G_VERIFY_PAYMENT
2386 ,p_delete => FND_API.G_TRUE
2387 ,x_return_status => l_return_status
2388 );
2389 */
2390 Oe_Order_Pvt.Process_Requests_And_Notify
2391 ( p_process_requests => TRUE
2392 , p_notify => TRUE
2393 , p_process_ack => TRUE
2394 , x_return_status => l_return_status
2395 );
2396
2397 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2398 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2399 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
2400 RAISE FND_API.G_EXC_ERROR;
2401 END IF;
2402
2403 x_return_status := FND_API.G_RET_STS_SUCCESS;
2404
2405 IF l_debug_level > 0 THEN
2406 oe_debug_pub.add( 'EXITING OE_OE_FORM_HEADER_ADJ.PROCESS_DELAYED_REQUESTS' , 1 ) ;
2407 END IF;
2408 Return;
2409
2410
2411 /*
2412
2413 -- Set the UI flag
2414 OE_GLOBALS.G_UI_FLAG := TRUE;
2415
2416 -- Set control flags.
2417
2418 l_control_rec.controlled_operation := TRUE;
2419 l_control_rec.process := TRUE;
2420 l_control_rec.process_entity := OE_GLOBALS.G_ENTITY_HEADER_ADJ;
2421
2422 l_control_rec.check_security := FALSE;
2423 l_control_rec.clear_dependents := FALSE;
2424 l_control_rec.default_attributes := FALSE;
2425 l_control_rec.change_attributes := FALSE;
2426 l_control_rec.validate_entity := FALSE;
2427 l_control_rec.write_to_DB := FALSE;
2428
2429 -- Instruct API to clear its request table
2430
2431 l_control_rec.clear_api_cache := FALSE;
2432 l_control_rec.clear_api_requests := FALSE;
2433
2434
2435 -- Assign requests in the order that is to be executed
2436 l_request_rec.request_type := OE_GLOBALS.G_CHECK_PERCENTAGE;
2437
2438 -- 1905650
2439 -- G_PRICE_ADJ request should be logged using entity ALL
2440 l_request_rec.entity_code := OE_GLOBALS.G_ENTITY_ALL;
2441 l_request_rec.entity_id := p_header_id;
2442 l_request_tbl(1) := l_request_rec;
2443
2444 l_request_rec.request_type := OE_GLOBALS.G_PRICE_ADJ;
2445 l_request_rec.entity_code := OE_GLOBALS.G_ENTITY_HEADER_ADJ;
2446 l_request_rec.entity_id := p_header_id;
2447 l_request_tbl(2) := l_request_rec;
2448
2449
2450 -- Call OE_Order_PVT.Process_order
2451
2452 OE_Order_PVT.Process_order
2453 ( p_api_version_number => 1.0
2454 , p_init_msg_list => FND_API.G_TRUE
2455 , x_return_status => l_return_status
2456 , x_msg_count => x_msg_count
2457 , x_msg_data => x_msg_data
2458 , p_control_rec => l_control_rec
2459 , p_action_request_tbl => l_request_tbl
2460 , x_header_rec => l_x_header_rec
2461 , x_Header_Adj_tbl => l_x_Header_Adj_tbl
2462
2463 -- New Parameters
2464 , x_Header_price_Att_tbl => l_x_Header_price_Att_tbl
2465 , x_Header_Adj_Att_tbl => l_x_Header_Adj_Att_tbl
2466 , x_Header_Adj_Assoc_tbl => l_x_Header_Adj_Assoc_tbl
2467
2468 , x_Header_Scredit_tbl => l_x_Header_Scredit_tbl
2469 , x_line_tbl => l_x_line_tbl
2470 , x_Line_Adj_tbl => l_x_Line_Adj_tbl
2471
2472 -- New Parameters
2473 , x_Line_price_Att_tbl => l_x_Line_price_Att_tbl
2474 , x_Line_Adj_Att_tbl => l_x_Line_Adj_Att_tbl
2475 , x_Line_Adj_Assoc_tbl => l_x_Line_Adj_Assoc_tbl
2476
2477 , x_Line_Scredit_tbl => l_x_Line_Scredit_tbl
2478 , x_Lot_Serial_tbl => l_x_Lot_Serial_tbl
2479 , x_action_request_tbl => l_action_request_tbl
2480 );
2481
2482 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2483 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2484 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
2485 RAISE FND_API.G_EXC_ERROR;
2486 END IF;
2487
2488
2489 -- Re-set the UI flag to FALSE
2490 OE_GLOBALS.G_UI_FLAG := FALSE;
2491
2492 -- Set return status.
2493
2494 x_return_status := FND_API.G_RET_STS_SUCCESS;
2495
2496 -- Get message count and data
2497
2498 OE_MSG_PUB.Count_And_Get
2499 ( p_count => x_msg_count
2500 , p_data => x_msg_data
2501 );
2502
2503 oe_debug_pub.add('Exiting OE_OE_FORM_HEADER_ADJ.PROCESS_DELAYED_REQUESTS', 1);
2504
2505 */
2506
2507 EXCEPTION
2508
2509 WHEN FND_API.G_EXC_ERROR THEN
2510
2511 OE_GLOBALS.G_UI_FLAG := FALSE;
2512
2513 x_return_status := FND_API.G_RET_STS_ERROR;
2514
2515 -- Get message count and data
2516
2517 OE_MSG_PUB.Count_And_Get
2518 ( p_count => x_msg_count
2519 , p_data => x_msg_data
2520 );
2521
2522 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2523
2524 OE_GLOBALS.G_UI_FLAG := FALSE;
2525
2526 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2527
2528 -- Get message count and data
2529
2530 OE_MSG_PUB.Count_And_Get
2531 ( p_count => x_msg_count
2532 , p_data => x_msg_data
2533 );
2534
2535 WHEN OTHERS THEN
2536
2537 OE_GLOBALS.G_UI_FLAG := FALSE;
2538
2539 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2540
2541 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2542 THEN
2543 OE_MSG_PUB.Add_Exc_Msg
2544 ( G_PKG_NAME
2545 , 'Process_Entity'
2546 );
2547 END IF;
2548
2549 -- Get message count and data
2550
2551 OE_MSG_PUB.Count_And_Get
2552 ( p_count => x_msg_count
2553 , p_data => x_msg_data
2554 );
2555
2556 END Process_Delayed_Requests;
2557
2558 -- Procedure lock_Row
2559 --
2560
2561
2562 PROCEDURE Lock_Row
2563 ( x_return_status OUT NOCOPY VARCHAR2
2564
2565 , x_msg_count OUT NOCOPY NUMBER
2566
2567 , x_msg_data OUT NOCOPY VARCHAR2
2568
2569 , p_price_adjustment_id IN NUMBER
2570 , p_lock_control IN NUMBER
2571 )
2572 IS
2573 l_return_status VARCHAR2(1);
2574 l_Header_Adj_rec OE_Order_PUB.Header_Adj_Rec_Type;
2575 l_Header_Adj_tbl OE_Order_PUB.Header_Adj_Tbl_Type;
2576 l_x_header_rec OE_Order_PUB.Header_Rec_Type;
2577 l_x_Header_Adj_rec OE_Order_PUB.Header_Adj_Rec_Type;
2578 l_x_Header_Adj_tbl OE_Order_PUB.Header_Adj_Tbl_Type;
2579
2580 --
2581 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
2582 --
2583 BEGIN
2584
2585 IF l_debug_level > 0 THEN
2586 oe_debug_pub.add( 'ENTERING OE_OE_FORM_HEADER_ADJ.LOCK_ROW' , 1 ) ;
2587 END IF;
2588
2589 -- Load Header_Adj record
2590
2591 l_x_Header_Adj_rec.operation := OE_GLOBALS.G_OPR_LOCK;
2592
2593 l_x_Header_Adj_rec.lock_control := p_lock_control;
2594 l_x_Header_Adj_rec.price_adjustment_id := p_price_adjustment_id;
2595
2596 OE_Header_Adj_Util.Lock_Row
2597 ( x_return_status => l_return_status
2598 , p_x_header_adj_rec => l_x_header_adj_rec
2599 );
2600
2601 IF l_return_status = FND_API.G_RET_STS_SUCCESS THEN
2602
2603 -- Set DB flag and write record to cache.
2604 l_x_Header_Adj_rec.db_flag := FND_API.G_TRUE;
2605
2606 Write_Header_Adj
2607 ( p_Header_Adj_rec => l_x_Header_Adj_rec
2608 , p_db_record => TRUE
2609 );
2610
2611 END IF;
2612
2613
2614 -- Set return status.
2615 x_return_status := l_return_status;
2616
2617
2618 -- Get message count and data
2619 OE_MSG_PUB.Count_And_Get
2620 ( p_count => x_msg_count
2621 , p_data => x_msg_data
2622 );
2623
2624 IF l_debug_level > 0 THEN
2625 oe_debug_pub.add( 'EXITING OE_OE_FORM_HEADER_ADJ.LOCK_ROW' , 1 ) ;
2626 END IF;
2627
2628 EXCEPTION
2629
2630 WHEN OTHERS THEN
2631
2632 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2633 THEN
2634 OE_MSG_PUB.Add_Exc_Msg
2635 ( G_PKG_NAME
2636 , 'Lock_Row'
2637 );
2638 END IF;
2639
2640 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2641
2642 -- Get message count and data
2643
2644 OE_MSG_PUB.Count_And_Get
2645 ( p_count => x_msg_count
2646 , p_data => x_msg_data
2647 );
2648
2649
2650
2651 END Lock_Row;
2652
2653 -- Procedures maintaining Header_Adj record cache.
2654
2655 PROCEDURE Write_Header_Adj
2656 ( p_Header_Adj_rec IN OE_Order_PUB.Header_Adj_Rec_Type
2657 , p_db_record IN BOOLEAN := FALSE
2658 )
2659 IS
2660 --
2661 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
2662 --
2663 BEGIN
2664
2665 IF l_debug_level > 0 THEN
2666 oe_debug_pub.add( 'ENTERING OE_OE_FORM_HEADER_ADJ.WRITE_HEADER_ADJ' , 1 ) ;
2667 END IF;
2668
2669 g_Header_Adj_rec := p_Header_Adj_rec;
2670
2671 IF p_db_record THEN
2672
2673 g_db_Header_Adj_rec := p_Header_Adj_rec;
2674
2675 END IF;
2676
2677 IF l_debug_level > 0 THEN
2678 oe_debug_pub.add( 'EXITING OE_OE_FORM_HEADER_ADJ.WRITE_HEADER_ADJ' , 1 ) ;
2679 END IF;
2680
2681 END Write_Header_Adj;
2682
2683
2684 PROCEDURE Get_Header_Adj
2685 ( p_db_record IN BOOLEAN := FALSE
2686 , p_price_adjustment_id IN NUMBER
2687 , x_Header_Adj_Rec IN OUT NOCOPY OE_Order_PUB.Header_Adj_Rec_Type
2688 )
2689 IS
2690 --
2691 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
2692 --
2693 BEGIN
2694
2695 IF l_debug_level > 0 THEN
2696 oe_debug_pub.add( 'ENTERING OE_OE_FORM_HEADER_ADJ.GET_HEADER_ADJ' , 1 ) ;
2697 END IF;
2698
2699 IF p_price_adjustment_id <> g_Header_Adj_rec.price_adjustment_id
2700 THEN
2701
2702 -- Query row from DB
2703
2704 OE_Header_Adj_Util.Query_Row
2705 ( p_price_adjustment_id => p_price_adjustment_id
2706 , x_Header_Adj_rec => g_Header_Adj_rec
2707 );
2708
2709 g_Header_Adj_rec.db_flag := FND_API.G_TRUE;
2710
2711 -- Load DB record
2712
2713 g_db_Header_Adj_rec := g_Header_Adj_rec;
2714
2715 END IF;
2716
2717 IF p_db_record THEN
2718
2719 -- RETURN g_db_Header_Adj_rec;
2720 x_header_adj_rec := g_db_Header_Adj_rec;
2721
2722 ELSE
2723
2724 -- RETURN g_Header_Adj_rec;
2725 x_header_adj_rec := g_Header_Adj_rec;
2726
2727 END IF;
2728
2729 IF l_debug_level > 0 THEN
2730 oe_debug_pub.add( 'EXITING OE_OE_FORM_HEADER_ADJ.GET_HEADER_ADJ' , 1 ) ;
2731 END IF;
2732
2733 END Get_Header_Adj;
2734
2735
2736 PROCEDURE Clear_Header_Adj
2737 IS
2738 --
2739 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
2740 --
2741 BEGIN
2742
2743 IF l_debug_level > 0 THEN
2744 oe_debug_pub.add( 'ENTERING OE_OE_FORM_HEADER_ADJ.CLEAR_HEADER_ADJ' , 1 ) ;
2745 END IF;
2746
2747 g_Header_Adj_rec := OE_Order_PUB.G_MISS_HEADER_ADJ_REC;
2748 g_db_Header_Adj_rec := OE_Order_PUB.G_MISS_HEADER_ADJ_REC;
2749
2750 IF l_debug_level > 0 THEN
2751 oe_debug_pub.add( 'EXITING OE_OE_FORM_HEADER_ADJ.CLEAR_HEADER_ADJ' , 1 ) ;
2752 END IF;
2753
2754 END Clear_Header_Adj;
2755
2756 END OE_OE_Form_Header_Adj;