1 PACKAGE BODY OE_CNCL_Validate_Header_Adj AS
2 /* $Header: OEXVCHAB.pls 120.0 2005/05/31 23:51:30 appldev noship $ */
3
4 -- Global constant holding the package name
5
6 G_PKG_NAME CONSTANT VARCHAR2(30) := 'OE_CNCL_Validate_Header_Adj';
7
8 -- Procedure Entity
9
10 PROCEDURE Entity
11 ( x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
12 , p_Header_Adj_rec IN OE_Order_PUB.Header_Adj_Rec_Type
13 )
14 IS
15 l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
16 l_price_adj_error VARCHAR2(30):= NULL;
17 l_attribute_name VARCHAR2(50):= NULL;
18 l_tmp_string VARCHAR2(30):= NULL;
19 l_agr_type_code VARCHAR2(30):= NULL;
20 -- This change is required since we are dropping the profile OE_ORGANIZATION
21 -- _ID. Change made by Esha.
22 l_organization_id NUMBER:= To_number(OE_Sys_Parameters.VALUE
23 ('MASTER_ORGANIZATION_ID'));
24 /* l_organization_id NUMBER := To_number(FND_PROFILE.VALUE
25 ('SO_ORGANIZATION_ID'));*/
26 BEGIN
27
28 oe_debug_pub.Add('Entering OE_CNCL_VALIDATE_HEADER_ADJ.Entity',1);
29 -- Check required attributes.
30
31 /* IF p_Header_Adj_rec.price_adjustment_id IS NULL
32 THEN
33
34 l_return_status := FND_API.G_RET_STS_ERROR;
35
36 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
37 THEN
38
39 FND_MESSAGE.SET_NAME('ONT','OE_ATTRIBUTE_REQUIRED');
40 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','price_adjustment');
41 OE_MSG_PUB.Add;
42
43 END IF;
44
45 END IF;
46
47 -- Check the Header_Id on the record.
48
49 IF p_Header_Adj_rec.header_id IS NULL
50 THEN
51
52 l_return_status := FND_API.G_RET_STS_ERROR;
53
54 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
55 THEN
56
57 FND_MESSAGE.SET_NAME('ONT','OE_ATTRIBUTE_REQUIRED');
58 FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
59 OE_Order_UTIL.Get_Attribute_Name('HEADER_ID'));
60 OE_MSG_PUB.Add;
61
62 END IF;
63
64 END IF;
65 */
66
67 IF p_Header_adj_rec.list_header_id is null
68 and p_Header_adj_rec.list_line_type_code not in ('COST','TAX')
69 THEN
70
71 l_return_status := FND_API.G_RET_STS_ERROR;
72
73 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
74 THEN
75
76 FND_MESSAGE.SET_NAME('ONT','OE_ATTRIBUTE_REQUIRED');
77 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','List_header');
78 OE_MSG_PUB.Add;
79
80 END IF;
81
82 END IF;
83
84
85 IF p_Header_adj_rec.list_header_id is not null and
86 p_Header_adj_rec.list_line_id IS NULL THEN
87
88 l_return_status := FND_API.G_RET_STS_ERROR;
89
90 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
91 THEN
92
93 FND_MESSAGE.SET_NAME('ONT','OE_ATTRIBUTE_REQUIRED');
94 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','List_Line');
95 OE_MSG_PUB.Add;
96
97 END IF;
98
99 END IF;
100
101
102 IF p_Header_adj_rec.list_line_type_code IS NULL THEN
103
104 l_return_status := FND_API.G_RET_STS_ERROR;
105
106 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
107 THEN
108
109 FND_MESSAGE.SET_NAME('ONT','OE_ATTRIBUTE_REQUIRED');
110 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','List_line_type_code');
111 OE_MSG_PUB.Add;
112
113 END IF;
114
115 END IF;
116
117
118 --
119 -- Check rest of required attributes here.
120 --
121
122
123 -- Return Error if a required attribute is missing.
124
125 IF l_return_status = FND_API.G_RET_STS_ERROR THEN
126
127 RAISE FND_API.G_EXC_ERROR;
128
129 ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
130
131 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
132
133 END IF;
134
135 --
136 -- Check conditionally required attributes here.
137 --
138
139 IF upper(p_Header_adj_rec.updated_flag) ='Y' and
140 p_Header_adj_rec.change_reason_code is null THEN
141
142 l_return_status := FND_API.G_RET_STS_ERROR;
143
144 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
145 THEN
146
147 FND_MESSAGE.SET_NAME('ONT','OE_ATTRIBUTE_REQUIRED');
148 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','change_reason_code');
149 OE_MSG_PUB.Add;
150
151 END IF;
152
153 END IF;
154
155 IF p_Header_adj_rec.list_line_type_code = 'FREIGHT_CHARGE' and
156 p_Header_adj_rec.charge_type_code IS NULL THEN
157
158 l_return_status := FND_API.G_RET_STS_ERROR;
159
160 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
161 THEN
162
163 FND_MESSAGE.SET_NAME('ONT','OE_ATTRIBUTE_REQUIRED');
164 FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
165 OE_Order_UTIL.Get_Attribute_Name('CHARGE_TYPE_CODE'));
166 OE_MSG_PUB.Add;
167
168 END IF;
169
170 END IF;
171
172 IF p_Header_adj_rec.list_line_type_code = 'FREIGHT_CHARGE' AND
173 p_Header_adj_rec.adjusted_amount IS NULL
174 THEN
175
176 l_return_status := FND_API.G_RET_STS_ERROR;
177
178 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
179 THEN
180
181 FND_MESSAGE.SET_NAME('ONT','OE_ATTRIBUTE_REQUIRED');
182 FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
183 OE_Order_UTIL.Get_Attribute_Name('ADJUSTED_AMOUNT'));
184 OE_MSG_PUB.Add;
185
186 END IF;
187 END IF;
188
189 IF p_Header_adj_rec.list_line_type_code = 'FREIGHT_CHARGE' AND
190 p_Header_adj_rec.operand IS NULL
191 THEN
192
193 l_return_status := FND_API.G_RET_STS_ERROR;
194
195 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
196 THEN
197
198 FND_MESSAGE.SET_NAME('ONT','OE_ATTRIBUTE_REQUIRED');
199 FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
200 OE_Order_UTIL.Get_Attribute_Name('OPERAND'));
201 OE_MSG_PUB.Add;
202
203 END IF;
204 END IF;
205
206 /* Added Validation check for the AETC flexfield */
207
208 IF p_Header_adj_rec.ac_attribute1 IS NOT NULL OR
209 p_Header_adj_rec.ac_attribute2 IS NOT NULL OR
210 p_Header_adj_rec.ac_attribute3 IS NOT NULL OR
211 p_Header_adj_rec.ac_attribute4 IS NOT NULL OR
212 p_Header_adj_rec.ac_attribute5 IS NOT NULL OR
213 p_Header_adj_rec.ac_attribute6 IS NOT NULL
214 THEN
215 l_attribute_name := NULL;
216 IF p_Header_adj_rec.ac_attribute4 IS NULL THEN
217 l_attribute_name := 'AETC Number';
218 END IF;
219 IF p_Header_adj_rec.ac_attribute5 IS NULL THEN
220 l_attribute_name := 'AETC Responsibility Code';
221 END IF;
222 IF p_Header_adj_rec.ac_attribute6 IS NULL THEN
223 l_attribute_name := 'AETC Reason Code';
224 END IF;
225 IF l_attribute_name IS NOT NULL THEN
226 l_return_status := FND_API.G_RET_STS_ERROR;
227
228 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
229 THEN
230
231 FND_MESSAGE.SET_NAME('ONT','OE_ATTRIBUTE_REQUIRED');
232 FND_MESSAGE.SET_TOKEN('ATTRIBUTE',l_attribute_name);
233 OE_MSG_PUB.Add;
234
235 END IF;
236 END IF;
237
238 END IF;
239 --
240 -- Validate attribute dependencies here.
241 --
242
243 IF p_Header_adj_rec.list_line_type_code = 'FREIGHT_CHARGE' AND
244 p_Header_adj_rec.charge_type_code IS NOT NULL AND
245 p_Header_adj_rec.charge_subtype_code IS NOT NULL
246 THEN
247
248 BEGIN
249 SELECT 'VALID'
250 INTO l_tmp_string
251 FROM QP_LOOKUPS
252 WHERE LOOKUP_TYPE = p_Header_Adj_rec.charge_type_code
253 AND LOOKUP_CODE = p_Header_Adj_rec.charge_subtype_code
254 AND ROWNUM = 1;
255 --
256 -- Commented out when importing CLOSED orders
257 --
258 -- AND TRUNC(sysdate) BETWEEN TRUNC(NVL(START_DATE_ACTIVE,sysdate))
259 -- AND TRUNC(NVL(END_DATE_ACTIVE,sysdate))
260 -- AND ENABLED_FLAG = 'Y';
261 EXCEPTION
262
263 WHEN NO_DATA_FOUND THEN
264 l_return_status := FND_API.G_RET_STS_ERROR;
265 FND_MESSAGE.SET_NAME('ONT','OE_INVALID_ATTRIBUTE');
266 FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
267 OE_Order_Util.Get_Attribute_Name('CHARGE_SUBTYPE_CODE'));
268 OE_MSG_PUB.Add;
269
270 WHEN OTHERS THEN
271 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
272 THEN
273 OE_MSG_PUB.Add_Exc_Msg
274 ( G_PKG_NAME ,
275 'Record - Charge Type/Subtype validation'
276 );
277 END IF;
278 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
279 END;
280 END IF;
281
282 IF p_Header_adj_rec.list_line_type_code = 'FREIGHT_CHARGE' and
283 p_Header_adj_rec.arithmetic_operator <> 'LUMPSUM'
284 THEN
285
286 l_return_status := FND_API.G_RET_STS_ERROR;
287
288 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
289 THEN
290
291 FND_MESSAGE.SET_NAME('ONT','OE_INVALID_ATTRIBUTE');
292 FND_MESSAGE.SET_TOKEN('ATTRIBUTE',
293 OE_Order_Util.Get_Attribute_Name('ARITHMETIC_OPERATOR'));
294 OE_MSG_PUB.Add;
295
296 END IF;
297
298 END IF;
299
300
301
302
303 -- Validate list_header_id , list_line_id, list_line_type_code
304 /*
305 -- Validate that the total percentage on the header has not exceeded
306 -- 100%. LOG A DELAYED REQUEST TO EXECUTE LATER.
307 oe_delayed_requests_pvt.
308 log_request(p_entity_code => OE_GLOBALS.G_ENTITY_HEADER_ADJ,
309 p_entity_id => p_Header_adj_rec.header_id,
310 p_requesting_entity_code => OE_GLOBALS.G_ENTITY_HEADER_ADJ,
311 p_requesting_entity_id => p_Header_adj_rec.price_adjustment_id,
312 p_request_type => OE_GLOBALS.G_CHECK_PERCENTAGE,
313 x_return_status => l_return_status);
314 */
315
316
317 -- Done validating entity
318
319 x_return_status := l_return_status;
320 oe_debug_pub.Add('Exiting OE_CNCL_VALIDATE_HEADER_ADJ.Entity',1);
321
322 EXCEPTION
323
324 WHEN FND_API.G_EXC_ERROR THEN
325
326 x_return_status := FND_API.G_RET_STS_ERROR;
327
328 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
329
330 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
331
332 WHEN OTHERS THEN
333
334 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
335
336 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
337 THEN
338 OE_MSG_PUB.Add_Exc_Msg
339 ( G_PKG_NAME
340 , 'Entity'
341 );
342 END IF;
343
344 END Entity;
345
346 -- Procedure Attributes
347
348 PROCEDURE Attributes
349 ( x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
350 , p_Header_Adj_rec IN OE_Order_PUB.Header_Adj_Rec_Type
351 )
352 IS
353 BEGIN
354
355 oe_debug_pub.Add('Entering OE_CNCL_VALIDATE_HEADER_ADJ.Attributes',1);
356 x_return_status := FND_API.G_RET_STS_SUCCESS;
357
358 -- Validate Header_Adj attributes
359
360 /* IF p_Header_Adj_rec.price_adjustment_id IS NOT NULL
361 THEN
362 IF NOT OE_CNCL_Validate_Adj.Price_Adjustment(p_Header_Adj_rec.price_adjustment_id) THEN
363 x_return_status := FND_API.G_RET_STS_ERROR;
364 END IF;
365 END IF;
366 */
367
368 IF p_Header_Adj_rec.creation_date IS NOT NULL
369 THEN
370 IF NOT OE_CNCL_Validate_Adj.Creation_Date(p_Header_Adj_rec.creation_date) THEN
371 x_return_status := FND_API.G_RET_STS_ERROR;
372 END IF;
373 END IF;
374 IF p_Header_Adj_rec.pricing_phase_id IS NOT NULL
375 THEN
376 IF NOT OE_CNCL_Validate_Adj.Pricing_Phase_id(p_Header_Adj_rec.pricing_phase_id)
377 THEN
378 x_return_status := FND_API.G_RET_STS_ERROR;
379 END IF;
380 END IF;
381
382
383 IF p_Header_Adj_rec.adjusted_amount IS NOT NULL
384 THEN
385 IF NOT OE_CNCL_Validate_Adj.Adjusted_Amount(p_Header_Adj_rec.adjusted_amount)
386 THEN
387 x_return_status := FND_API.G_RET_STS_ERROR;
388 END IF;
389 END IF;
390
391 IF p_Header_Adj_rec.created_by IS NOT NULL
392 THEN
393 IF NOT OE_CNCL_Validate_Adj.Created_By(p_Header_Adj_rec.created_by) THEN
394 x_return_status := FND_API.G_RET_STS_ERROR;
395 END IF;
396 END IF;
397
398 IF p_Header_Adj_rec.last_update_date IS NOT NULL
399 THEN
400 IF NOT OE_CNCL_Validate_Adj.Last_Update_Date(p_Header_Adj_rec.last_update_date) THEN
401 x_return_status := FND_API.G_RET_STS_ERROR;
402 END IF;
403 END IF;
404
405 IF p_Header_Adj_rec.last_updated_by IS NOT NULL
406 THEN
407 IF NOT OE_CNCL_Validate_Adj.Last_Updated_By(p_Header_Adj_rec.last_updated_by) THEN
408 x_return_status := FND_API.G_RET_STS_ERROR;
409 END IF;
410 END IF;
411
412 IF p_Header_Adj_rec.last_update_login IS NOT NULL
413 THEN
414 IF NOT OE_CNCL_Validate_Adj.Last_Update_Login(p_Header_Adj_rec.last_update_login) THEN
415 x_return_status := FND_API.G_RET_STS_ERROR;
416 END IF;
417 END IF;
418
419 IF p_Header_Adj_rec.program_application_id IS NOT NULL
420 THEN
421 IF NOT OE_CNCL_Validate_Adj.Program_Application(p_Header_Adj_rec.program_application_id) THEN
422 x_return_status := FND_API.G_RET_STS_ERROR;
423 END IF;
424 END IF;
425
426 IF p_Header_Adj_rec.program_id IS NOT NULL
427 THEN
428 IF NOT OE_CNCL_Validate_Adj.Program(p_Header_Adj_rec.program_id) THEN
429 x_return_status := FND_API.G_RET_STS_ERROR;
430 END IF;
431 END IF;
432
433 IF p_Header_Adj_rec.program_update_date IS NOT NULL
434 THEN
435 IF NOT OE_CNCL_Validate_Adj.Program_Update_Date(p_Header_Adj_rec.program_update_date) THEN
436 x_return_status := FND_API.G_RET_STS_ERROR;
437 END IF;
438 END IF;
439
440 IF p_Header_Adj_rec.request_id IS NOT NULL
441 THEN
442 IF NOT OE_CNCL_Validate_Adj.Request(p_Header_Adj_rec.request_id) THEN
443 x_return_status := FND_API.G_RET_STS_ERROR;
444 END IF;
445 END IF;
446
447 /* IF p_Header_Adj_rec.header_id IS NOT NULL
448 THEN
449 IF NOT OE_CNCL_Validate_Adj.Header(p_Header_Adj_rec.header_id) THEN
450 x_return_status := FND_API.G_RET_STS_ERROR;
451 END IF;
452 END IF;
453 */
454
455 IF p_Header_Adj_rec.discount_id IS NOT NULL
456 THEN
457 IF NOT OE_CNCL_Validate_Adj.Discount(p_Header_Adj_rec.discount_id) THEN
458 x_return_status := FND_API.G_RET_STS_ERROR;
459 END IF;
460 END IF;
461
462 IF p_Header_Adj_rec.discount_line_id IS NOT NULL
463 THEN
464 IF NOT OE_CNCL_Validate_Adj.Discount_Line(p_Header_Adj_rec.discount_line_id) THEN
465 x_return_status := FND_API.G_RET_STS_ERROR;
466 END IF;
467 END IF;
468
469 IF p_Header_Adj_rec.automatic_flag IS NOT NULL
470 THEN
471 IF NOT OE_CNCL_Validate_Adj.Automatic(p_Header_Adj_rec.automatic_flag) THEN
472 x_return_status := FND_API.G_RET_STS_ERROR;
473 END IF;
474 END IF;
475
476 IF p_Header_Adj_rec.percent IS NOT NULL
477 THEN
478 IF NOT OE_CNCL_Validate_Adj.Percent(p_Header_Adj_rec.percent) THEN
479 x_return_status := FND_API.G_RET_STS_ERROR;
480 END IF;
481 END IF;
482
483 IF p_Header_Adj_rec.line_id IS NOT NULL
484 THEN
485 IF NOT OE_CNCL_Validate_Adj.Line(p_Header_Adj_rec.line_id) THEN
486 x_return_status := FND_API.G_RET_STS_ERROR;
487 END IF;
488 END IF;
489
490 IF p_Header_Adj_rec.list_line_no IS NOT NULL
491 THEN
492 IF NOT OE_CNCL_Validate_Adj.List_Line_No(p_Header_Adj_rec.list_line_no) THEN
493 x_return_status := FND_API.G_RET_STS_ERROR;
494 END IF;
495 END IF;
496
497 IF p_Header_Adj_rec.source_system_code IS NOT NULL
498 THEN
499 IF NOT OE_CNCL_Validate_Adj.source_system_code(p_Header_Adj_rec.source_system_code) THEN
500 x_return_status := FND_API.G_RET_STS_ERROR;
501 END IF;
502 END IF;
503
504 IF p_Header_Adj_rec.benefit_qty IS NOT NULL
505 THEN
506 IF NOT OE_CNCL_Validate_Adj.benefit_qty(p_Header_Adj_rec.benefit_qty) THEN
507 x_return_status := FND_API.G_RET_STS_ERROR;
508 END IF;
509 END IF;
510
511 IF p_Header_Adj_rec.benefit_uom_code IS NOT NULL
512 THEN
513 IF NOT OE_CNCL_Validate_Adj.benefit_uom_code(p_Header_Adj_rec.benefit_uom_code) THEN
514 x_return_status := FND_API.G_RET_STS_ERROR;
515 END IF;
516 END IF;
517
518 IF p_Header_Adj_rec.print_on_invoice_flag IS NOT NULL
519 THEN
520 IF NOT OE_CNCL_Validate_Adj.print_on_invoice_flag(p_Header_Adj_rec.print_on_invoice_flag) THEN
521 x_return_status := FND_API.G_RET_STS_ERROR;
522 END IF;
523 END IF;
524
525 IF p_Header_Adj_rec.expiration_date IS NOT NULL
526 THEN
527 IF NOT OE_CNCL_Validate_Adj.expiration_date(p_Header_Adj_rec.expiration_date) THEN
528 x_return_status := FND_API.G_RET_STS_ERROR;
529 END IF;
530 END IF;
531
532 IF p_Header_Adj_rec.rebate_transaction_type_code IS NOT NULL
533 THEN
534 IF NOT OE_CNCL_Validate_Adj.rebate_transaction_type_code(p_Header_Adj_rec.rebate_transaction_type_code) THEN
535 x_return_status := FND_API.G_RET_STS_ERROR;
536 END IF;
537 END IF;
538
539
540 IF p_Header_Adj_rec.rebate_transaction_reference IS NOT NULL
541 THEN
542 IF NOT OE_CNCL_Validate_Adj.rebate_transaction_reference(p_Header_Adj_rec.rebate_transaction_reference) THEN
543 x_return_status := FND_API.G_RET_STS_ERROR;
544 END IF;
545 END IF;
546
547 IF p_Header_Adj_rec.rebate_payment_system_code IS NOT NULL
548 THEN
549 IF NOT OE_CNCL_Validate_Adj.rebate_payment_system_code(p_Header_Adj_rec.rebate_payment_system_code) THEN
550 x_return_status := FND_API.G_RET_STS_ERROR;
551 END IF;
552 END IF;
553
554 IF p_Header_Adj_rec.Redeemed_Date IS NOT NULL
555 THEN
556 IF NOT OE_CNCL_Validate_Adj.Redeemed_Date(p_Header_Adj_rec.Redeemed_Date) THEN
557 x_return_status := FND_API.G_RET_STS_ERROR;
558 END IF;
559 END IF;
560
561 IF p_Header_Adj_rec.redeemed_flag IS NOT NULL
562 THEN
563 IF NOT OE_CNCL_Validate_Adj.Redeemed_Flag(p_Header_Adj_rec.redeemed_flag) THEN
564 x_return_status := FND_API.G_RET_STS_ERROR;
565 END IF;
566 END IF;
567
568 IF p_Header_Adj_rec.accrual_flag IS NOT NULL
569 THEN
570 IF NOT OE_CNCL_Validate_Adj.Accrual_Flag(p_Header_Adj_rec.accrual_flag) THEN
571 x_return_status := FND_API.G_RET_STS_ERROR;
572 END IF;
573 END IF;
574
575 IF p_Header_Adj_rec.credit_or_charge_flag IS NOT NULL
576 THEN
577 IF NOT OE_CNCL_Validate.credit_or_charge_flag(p_Header_Adj_rec.credit_or_charge_flag) THEN
578 x_return_status := FND_API.G_RET_STS_ERROR;
579 END IF;
580 END IF;
581
582 IF p_Header_Adj_rec.charge_type_code IS NOT NULL
583 THEN
584 IF NOT OE_CNCL_Validate.charge_type_code(p_Header_Adj_rec.charge_type_code) THEN
585 x_return_status := FND_API.G_RET_STS_ERROR;
586 END IF;
587 END IF;
588
589 IF p_Header_Adj_rec.charge_subtype_code IS NOT NULL
590 THEN
591 IF NOT OE_CNCL_Validate.charge_subtype_code(p_Header_Adj_rec.charge_subtype_code) THEN
592 x_return_status := FND_API.G_RET_STS_ERROR;
593 END IF;
594 END IF;
595
596 IF p_Header_Adj_rec.estimated_flag IS NOT NULL
597 THEN
598 IF NOT OE_CNCL_Validate.estimated(p_Header_Adj_rec.estimated_flag) THEN
599 x_return_status := FND_API.G_RET_STS_ERROR;
600 END IF;
601 END IF;
602
603 IF p_Header_Adj_rec.invoiced_flag IS NOT NULL
604 THEN
605 IF NOT OE_CNCL_Validate.invoiced(p_Header_Adj_rec.invoiced_flag) THEN
606 x_return_status := FND_API.G_RET_STS_ERROR;
607 END IF;
608 END IF;
609
610 IF p_Header_Adj_rec.context IS NOT NULL
611 OR p_Header_Adj_rec.attribute1 IS NOT NULL
612 OR p_Header_Adj_rec.attribute2 IS NOT NULL
613 OR p_Header_Adj_rec.attribute3 IS NOT NULL
614 OR p_Header_Adj_rec.attribute4 IS NOT NULL
615 OR p_Header_Adj_rec.attribute5 IS NOT NULL
616 OR p_Header_Adj_rec.attribute6 IS NOT NULL
617 OR p_Header_Adj_rec.attribute7 IS NOT NULL
618 OR p_Header_Adj_rec.attribute8 IS NOT NULL
619 OR p_Header_Adj_rec.attribute9 IS NOT NULL
620 OR p_Header_Adj_rec.attribute10 IS NOT NULL
621 OR p_Header_Adj_rec.attribute11 IS NOT NULL
622 OR p_Header_Adj_rec.attribute12 IS NOT NULL
623 OR p_Header_Adj_rec.attribute13 IS NOT NULL
624 OR p_Header_Adj_rec.attribute14 IS NOT NULL
625 OR p_Header_Adj_rec.attribute15 IS NOT NULL
626 THEN
627
628 -- These calls are temporarily commented out
629
630 oe_debug_pub.add('Before calling Header Adjustment Price_Adj_Desc_Flex',2);
631
632 IF NOT OE_CNCL_Validate_Adj.Price_Adj_Desc_Flex
633 (p_context => p_Header_Adj_rec.context
634 ,p_attribute1 => p_Header_Adj_rec.attribute1
635 ,p_attribute2 => p_Header_Adj_rec.attribute2
636 ,p_attribute3 => p_Header_Adj_rec.attribute3
637 ,p_attribute4 => p_Header_Adj_rec.attribute4
638 ,p_attribute5 => p_Header_Adj_rec.attribute5
639 ,p_attribute6 => p_Header_Adj_rec.attribute6
640 ,p_attribute7 => p_Header_Adj_rec.attribute7
641 ,p_attribute8 => p_Header_Adj_rec.attribute8
642 ,p_attribute9 => p_Header_Adj_rec.attribute9
643 ,p_attribute10 => p_Header_Adj_rec.attribute10
644 ,p_attribute11 => p_Header_Adj_rec.attribute11
645 ,p_attribute12 => p_Header_Adj_rec.attribute12
646 ,p_attribute13 => p_Header_Adj_rec.attribute13
647 ,p_attribute14 => p_Header_Adj_rec.attribute14
648 ,p_attribute15 => p_Header_Adj_rec.attribute15) THEN
649
650
651 x_return_status := FND_API.G_RET_STS_ERROR;
652
653 oe_debug_pub.add('After Header Adjustment desc_flex ' || x_return_status,2);
654
655 END IF;
656
657 END IF;
658
659 -- Done validating attributes
660 oe_debug_pub.Add('Exiting OE_CNCL_VALIDATE_HEADER_ADJ.Attributes',1);
661
662 EXCEPTION
663
664 WHEN FND_API.G_EXC_ERROR THEN
665
666 x_return_status := FND_API.G_RET_STS_ERROR;
667
668 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
669
670 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
671
672 WHEN OTHERS THEN
673
674 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
675
676 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
677 THEN
678 OE_MSG_PUB.Add_Exc_Msg
679 ( G_PKG_NAME
680 , 'Attributes'
681 );
682 END IF;
683
684 END Attributes;
685
686
687 END OE_CNCL_Validate_Header_Adj;