DBA Data[Home] [Help]

PACKAGE BODY: APPS.OE_CNCL_VALIDATE_HEADER_ADJ

Source


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;