1 PACKAGE BODY QP_Validate_Formula_Lines AS
2 /* $Header: QPXLPFLB.pls 120.1 2005/06/08 23:46:11 appldev $ */
3
4 -- Global constant holding the package name
5
6 G_PKG_NAME CONSTANT VARCHAR2(30) := 'QP_Validate_Formula_Lines';
7
8 -- Procedure Entity
9
10 PROCEDURE Entity
11 ( x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
12 , p_FORMULA_LINES_rec IN QP_Price_Formula_PUB.Formula_Lines_Rec_Type
13 , p_old_FORMULA_LINES_rec IN QP_Price_Formula_PUB.Formula_Lines_Rec_Type :=
14 QP_Price_Formula_PUB.G_MISS_FORMULA_LINES_REC
15 )
16 IS
17 l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
18 l_count NUMBER := 0;
19 l_qp_status VARCHAR2(1);
20
21 BEGIN
22
23 oe_debug_pub.add('Entering proc Entity of Formula Lines Validation Pkg');
24
25 -- Check if only Basic Pricing installed. If so then Formula Line types
26 -- 'PLL', 'FUNC' and 'LP' are not allowed. They are permitted only when
27 -- Advanced Pricing is installed.
28
29 l_qp_status := QP_UTIL.get_qp_status;
30
31 IF l_qp_status = 'S' AND
32 p_FORMULA_LINES_rec.formula_line_type_code IN ('PLL', 'FUNC', 'LP')
33 THEN
34
35 l_return_status := FND_API.G_RET_STS_ERROR;
36 FND_MESSAGE.SET_NAME('QP', 'QP_BASIC_PRICING_UNAVAILABLE');
37 OE_MSG_PUB.Add;
38 RAISE FND_API.G_EXC_ERROR;
39
40 END IF;
41
42
43 -- Check required attributes.
44
45 IF p_FORMULA_LINES_rec.price_formula_line_id IS NULL
46 THEN
47
48 l_return_status := FND_API.G_RET_STS_ERROR;
49
50 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
51 THEN
52
53 FND_MESSAGE.SET_NAME('QP','QP_ATTRIBUTE_REQUIRED');
54 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','price_formula_line');
55 OE_MSG_PUB.Add;
56
57 END IF;
58
59 END IF;
60
61 --
62 -- Check rest of required attributes here.
63 --
64
65 IF p_FORMULA_LINES_rec.price_formula_id IS NULL
66 THEN
67
68 l_return_status := FND_API.G_RET_STS_ERROR;
69
70 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
71 THEN
72
73 FND_MESSAGE.SET_NAME('QP','QP_ATTRIBUTE_REQUIRED');
74 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','price_formula');
75 OE_MSG_PUB.Add;
76
77 END IF;
78
79 END IF;
80
81 IF p_FORMULA_LINES_rec.formula_line_type_code IS NULL
82 THEN
83
84 l_return_status := FND_API.G_RET_STS_ERROR;
85
86 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
87 THEN
88
89 FND_MESSAGE.SET_NAME('QP','QP_ATTRIBUTE_REQUIRED');
90 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','price_formula_line_type');
91 OE_MSG_PUB.Add;
92
93 END IF;
94
95 END IF;
96
97 IF p_FORMULA_LINES_rec.step_number IS NULL
98 THEN
99
100 l_return_status := FND_API.G_RET_STS_ERROR;
101
102 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
103 THEN
104
105 FND_MESSAGE.SET_NAME('QP','QP_ATTRIBUTE_REQUIRED');
106 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','step_number');
107 OE_MSG_PUB.Add;
108
109 END IF;
110
111 END IF;
112
113
114 -- Return Error if a required attribute is missing.
115
116 IF l_return_status = FND_API.G_RET_STS_ERROR THEN
117
118 RAISE FND_API.G_EXC_ERROR;
119
120 END IF;
121
122 --
123 -- Check conditionally required attributes here.
124 --
125
126 IF p_FORMULA_LINES_rec.formula_line_type_code = 'NUM' THEN
127 -- Formula Line Type is Numeric Constant
128 IF p_FORMULA_LINES_rec.numeric_constant IS NULL THEN
129 l_return_status := FND_API.G_RET_STS_ERROR;
130
131 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
132 THEN
133
134 FND_MESSAGE.SET_NAME('QP','QP_ATTRIBUTE_REQUIRED');
135 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','numeric_constant');
136 OE_MSG_PUB.Add;
137
138 END IF;
139
140 END IF;
141
142 ELSIF p_FORMULA_LINES_rec.formula_line_type_code = 'PLL' THEN
143 -- Formula Line Type is Price List Line
144 IF p_FORMULA_LINES_rec.price_list_line_id IS NULL THEN
145 l_return_status := FND_API.G_RET_STS_ERROR;
146
147 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
148 THEN
149
150 FND_MESSAGE.SET_NAME('QP','QP_ATTRIBUTE_REQUIRED');
151 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','price_list_line');
152 OE_MSG_PUB.Add;
153
154 END IF;
155
156 END IF;
157
158 ELSIF p_FORMULA_LINES_rec.formula_line_type_code = 'ML' THEN
159 -- Formula Line Type is Factor(Modifier) List
160 /*IF p_FORMULA_LINES_rec.price_modifier_list_id IS NULL THEN
161 l_return_status := FND_API.G_RET_STS_ERROR;
162
163 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
164 THEN
165
166 FND_MESSAGE.SET_NAME('QP','QP_ATTRIBUTE_REQUIRED');
167 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','price_modifier_list');
168 OE_MSG_PUB.Add;
169
170 END IF;
171
172 END IF;*/
173 NULL;
174
175 ELSIF p_FORMULA_LINES_rec.formula_line_type_code = 'PRA' THEN
176 -- Formula Line Type is Pricing Attribute
177 IF p_FORMULA_LINES_rec.pricing_attribute_context IS NULL THEN
178 l_return_status := FND_API.G_RET_STS_ERROR;
179
180 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
181 THEN
182
183 FND_MESSAGE.SET_NAME('QP','QP_ATTRIBUTE_REQUIRED');
184 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','pricing_attribute_context');
185 OE_MSG_PUB.Add;
186
187 END IF;
188
189 END IF;
190
191 IF p_FORMULA_LINES_rec.pricing_attribute IS NULL THEN
192 l_return_status := FND_API.G_RET_STS_ERROR;
193
194 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
195 THEN
196
197 FND_MESSAGE.SET_NAME('QP','QP_ATTRIBUTE_REQUIRED');
198 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','pricing_attribute');
199 OE_MSG_PUB.Add;
200
201 END IF;
202
203 END IF;
204
205 -- mkarya for bug 1906545, new formula_line_type_code 'MV' has been added
206 ELSIF p_FORMULA_LINES_rec.formula_line_type_code NOT IN ('FUNC','LP','MV') THEN
207
208 l_return_status := FND_API.G_RET_STS_ERROR;
209
210 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
211 THEN
212
213 FND_MESSAGE.SET_NAME('QP','QP_INVALID_FORMULA_LINE_TYPE');
214 OE_MSG_PUB.Add;
215
216 END IF;
217
218 END IF;
219
220 --
221 -- Check for duplicates here.
222 --
223
224 IF p_FORMULA_LINES_rec.step_number IS NOT NULL AND
225 ( p_FORMULA_LINES_rec.step_number <>
226 p_old_FORMULA_LINES_rec.step_number OR
227 p_old_FORMULA_LINES_rec.step_number IS NULL ) THEN
228
229 SELECT count(*)
230 INTO l_count
231 FROM qp_price_formula_lines
232 WHERE step_number = p_FORMULA_LINES_rec.step_number
233 AND price_formula_id = p_FORMULA_LINES_rec.price_formula_id;
234
235 IF l_count > 0
236 THEN
237
238 l_return_status := FND_API.G_RET_STS_ERROR;
239
240 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
241 THEN
242
243 FND_MESSAGE.SET_NAME('QP','QP_DUPLICATE_ATTRIBUTE');
244 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','step_number');
245 OE_MSG_PUB.Add;
246
247 END IF;
248
249 END IF;
250
251 END IF; -- Check if modified or newly added step number already exists
252
253
254 /**** bug 4049775 ******************************************************/
255 IF p_FORMULA_LINES_rec.pricing_attribute_context IS NOT NULL AND p_FORMULA_LINES_rec.pricing_attribute IS NOT NULL THEN
256 DECLARE
257 l_type VARCHAR2(1);
258 BEGIN
259 select user_format_type into l_type
260 from qp_segments_b b, qp_prc_contexts_b c
261 where c.prc_context_code=p_FORMULA_LINES_rec.pricing_attribute_context
262 and b.SEGMENT_MAPPING_COLUMN = p_FORMULA_LINES_rec.pricing_attribute
263 and b.prc_context_id = c.prc_context_id;
264
265 IF l_type <> 'N' THEN
266
267 l_return_status := FND_API.G_RET_STS_ERROR;
268
269 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
270 THEN
271
272 FND_MESSAGE.SET_NAME('QP','QP_INVALID_NUM_ATTRIBUTE');
273 OE_MSG_PUB.Add;
274
275 END IF;
276
277 END IF;
278 END;
279 END IF;
280
281 -- Return Error if a required attribute is missing or invalid.
282 -- or if duplicates exist
283
284 IF l_return_status = FND_API.G_RET_STS_ERROR THEN
285
286 RAISE FND_API.G_EXC_ERROR;
287
288 END IF;
289
290 --
291 -- Validate attribute dependencies here.
292 --
293
294
295 -- Done validating entity
296
297 x_return_status := l_return_status;
298
299
300
301
302 oe_debug_pub.add('Leaving proc Entity of Formula Lines Validation Pkg');
303 EXCEPTION
304
305 WHEN FND_API.G_EXC_ERROR THEN
306
307 x_return_status := FND_API.G_RET_STS_ERROR;
308
309 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
310
311 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
312
313 WHEN OTHERS THEN
314
315 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
316
317 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
318 THEN
319 OE_MSG_PUB.Add_Exc_Msg
320 ( G_PKG_NAME
321 , 'Entity'
322 );
323 END IF;
324
325 END Entity;
326
327 -- Procedure Attributes
328
329 PROCEDURE Attributes
330 ( x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
331 , p_FORMULA_LINES_rec IN QP_Price_Formula_PUB.Formula_Lines_Rec_Type
332 , p_old_FORMULA_LINES_rec IN QP_Price_Formula_PUB.Formula_Lines_Rec_Type :=
333 QP_Price_Formula_PUB.G_MISS_FORMULA_LINES_REC
334 )
335 IS
336 BEGIN
337
338 oe_debug_pub.add('Entering proc Attributes of Formula Lines Validation Pkg');
339 x_return_status := FND_API.G_RET_STS_SUCCESS;
340
341 -- Validate FORMULA_LINES attributes
342
343 IF p_FORMULA_LINES_rec.created_by IS NOT NULL AND
344 ( p_FORMULA_LINES_rec.created_by <>
345 p_old_FORMULA_LINES_rec.created_by OR
346 p_old_FORMULA_LINES_rec.created_by IS NULL )
347 THEN
348 IF NOT QP_Validate.Created_By(p_FORMULA_LINES_rec.created_by) THEN
349 x_return_status := FND_API.G_RET_STS_ERROR;
350 END IF;
351 END IF;
352
353 IF p_FORMULA_LINES_rec.creation_date IS NOT NULL AND
354 ( p_FORMULA_LINES_rec.creation_date <>
355 p_old_FORMULA_LINES_rec.creation_date OR
356 p_old_FORMULA_LINES_rec.creation_date IS NULL )
357 THEN
358 IF NOT QP_Validate.Creation_Date(p_FORMULA_LINES_rec.creation_date) THEN
359 x_return_status := FND_API.G_RET_STS_ERROR;
360 END IF;
361 END IF;
362
363 IF p_FORMULA_LINES_rec.end_date_active IS NOT NULL AND
364 ( p_FORMULA_LINES_rec.end_date_active <>
365 p_old_FORMULA_LINES_rec.end_date_active OR
366 p_old_FORMULA_LINES_rec.end_date_active IS NULL )
367 THEN
368 IF NOT QP_Validate.End_Date_Active(p_FORMULA_LINES_rec.end_date_active) THEN
369 x_return_status := FND_API.G_RET_STS_ERROR;
370 END IF;
371 END IF;
372
373 IF p_FORMULA_LINES_rec.last_updated_by IS NOT NULL AND
374 ( p_FORMULA_LINES_rec.last_updated_by <>
375 p_old_FORMULA_LINES_rec.last_updated_by OR
376 p_old_FORMULA_LINES_rec.last_updated_by IS NULL )
377 THEN
378 IF NOT QP_Validate.Last_Updated_By(p_FORMULA_LINES_rec.last_updated_by) THEN
379 x_return_status := FND_API.G_RET_STS_ERROR;
380 END IF;
381 END IF;
382
383 IF p_FORMULA_LINES_rec.last_update_date IS NOT NULL AND
384 ( p_FORMULA_LINES_rec.last_update_date <>
385 p_old_FORMULA_LINES_rec.last_update_date OR
386 p_old_FORMULA_LINES_rec.last_update_date IS NULL )
387 THEN
388 IF NOT QP_Validate.Last_Update_Date(p_FORMULA_LINES_rec.last_update_date) THEN
389 x_return_status := FND_API.G_RET_STS_ERROR;
390 END IF;
391 END IF;
392
393 IF p_FORMULA_LINES_rec.last_update_login IS NOT NULL AND
394 ( p_FORMULA_LINES_rec.last_update_login <>
395 p_old_FORMULA_LINES_rec.last_update_login OR
396 p_old_FORMULA_LINES_rec.last_update_login IS NULL )
397 THEN
398 IF NOT QP_Validate.Last_Update_Login(p_FORMULA_LINES_rec.last_update_login) THEN
399 x_return_status := FND_API.G_RET_STS_ERROR;
400 END IF;
401 END IF;
402
403 IF p_FORMULA_LINES_rec.numeric_constant IS NOT NULL AND
404 ( p_FORMULA_LINES_rec.numeric_constant <>
405 p_old_FORMULA_LINES_rec.numeric_constant OR
406 p_old_FORMULA_LINES_rec.numeric_constant IS NULL )
407 THEN
408 IF NOT QP_Validate.Numeric_Constant(p_FORMULA_LINES_rec.numeric_constant) THEN
409 x_return_status := FND_API.G_RET_STS_ERROR;
410 END IF;
411 END IF;
412
413 --POSCO change.
414 IF p_FORMULA_LINES_rec.reqd_flag IS NOT NULL AND
415 ( p_FORMULA_LINES_rec.reqd_flag <>
416 p_old_FORMULA_LINES_rec.reqd_flag OR
417 p_old_FORMULA_LINES_rec.reqd_flag IS NULL )
418 THEN
419 IF NOT QP_Validate.Reqd_Flag(p_FORMULA_LINES_rec.reqd_flag) THEN
420 x_return_status := FND_API.G_RET_STS_ERROR;
421 END IF;
422 END IF;
423
424 IF p_FORMULA_LINES_rec.price_formula_id IS NOT NULL AND
425 ( p_FORMULA_LINES_rec.price_formula_id <>
426 p_old_FORMULA_LINES_rec.price_formula_id OR
427 p_old_FORMULA_LINES_rec.price_formula_id IS NULL )
428 THEN
429 IF NOT QP_Validate.Price_Formula(p_FORMULA_LINES_rec.price_formula_id) THEN
430 x_return_status := FND_API.G_RET_STS_ERROR;
431 END IF;
432 END IF;
433
434 IF p_FORMULA_LINES_rec.price_formula_line_id IS NOT NULL AND
435 ( p_FORMULA_LINES_rec.price_formula_line_id <>
436 p_old_FORMULA_LINES_rec.price_formula_line_id OR
437 p_old_FORMULA_LINES_rec.price_formula_line_id IS NULL )
438 THEN
439 IF NOT QP_Validate.Price_Formula_Line(p_FORMULA_LINES_rec.price_formula_line_id) THEN
440 x_return_status := FND_API.G_RET_STS_ERROR;
441 END IF;
442 END IF;
443
444 IF p_FORMULA_LINES_rec.formula_line_type_code IS NOT NULL AND
445 ( p_FORMULA_LINES_rec.formula_line_type_code <>
446 p_old_FORMULA_LINES_rec.formula_line_type_code OR
447 p_old_FORMULA_LINES_rec.formula_line_type_code IS NULL )
448 THEN
449 IF NOT QP_Validate.Price_Formula_Line_Type(p_FORMULA_LINES_rec.formula_line_type_code) THEN
450 x_return_status := FND_API.G_RET_STS_ERROR;
451 END IF;
452 END IF;
453
454 IF p_FORMULA_LINES_rec.price_list_line_id IS NOT NULL AND
455 ( p_FORMULA_LINES_rec.price_list_line_id <>
456 p_old_FORMULA_LINES_rec.price_list_line_id OR
457 p_old_FORMULA_LINES_rec.price_list_line_id IS NULL )
458 THEN
459 IF NOT QP_Validate.Price_List_Line(p_FORMULA_LINES_rec.price_list_line_id) THEN
460 x_return_status := FND_API.G_RET_STS_ERROR;
461 END IF;
462 END IF;
463
464 IF p_FORMULA_LINES_rec.price_modifier_list_id IS NOT NULL AND
465 ( p_FORMULA_LINES_rec.price_modifier_list_id <>
466 p_old_FORMULA_LINES_rec.price_modifier_list_id OR
467 p_old_FORMULA_LINES_rec.price_modifier_list_id IS NULL )
468 THEN
469 IF NOT QP_Validate.Price_Modifier_List(p_FORMULA_LINES_rec.price_modifier_list_id) THEN
470 x_return_status := FND_API.G_RET_STS_ERROR;
471 END IF;
472 END IF;
473
474 IF p_FORMULA_LINES_rec.pricing_attribute IS NOT NULL AND
475 ( p_FORMULA_LINES_rec.pricing_attribute <>
476 p_old_FORMULA_LINES_rec.pricing_attribute OR
477 p_old_FORMULA_LINES_rec.pricing_attribute IS NULL )
478 THEN
479 IF NOT QP_Validate.Pricing_Attribute(p_FORMULA_LINES_rec.pricing_attribute) THEN
480 x_return_status := FND_API.G_RET_STS_ERROR;
481 END IF;
482 END IF;
483
484 IF p_FORMULA_LINES_rec.pricing_attribute_context IS NOT NULL AND
485 ( p_FORMULA_LINES_rec.pricing_attribute_context <>
486 p_old_FORMULA_LINES_rec.pricing_attribute_context OR
487 p_old_FORMULA_LINES_rec.pricing_attribute_context IS NULL )
488 THEN
489 IF NOT QP_Validate.Pricing_Attribute_Context(p_FORMULA_LINES_rec.pricing_attribute_context) THEN
490 x_return_status := FND_API.G_RET_STS_ERROR;
491 END IF;
492 END IF;
493
494 IF p_FORMULA_LINES_rec.start_date_active IS NOT NULL AND
495 ( p_FORMULA_LINES_rec.start_date_active <>
496 p_old_FORMULA_LINES_rec.start_date_active OR
497 p_old_FORMULA_LINES_rec.start_date_active IS NULL )
498 THEN
499 IF NOT QP_Validate.Start_Date_Active(p_FORMULA_LINES_rec.start_date_active) THEN
500 x_return_status := FND_API.G_RET_STS_ERROR;
501 END IF;
502 END IF;
503
504 IF p_FORMULA_LINES_rec.step_number IS NOT NULL AND
505 ( p_FORMULA_LINES_rec.step_number <>
506 p_old_FORMULA_LINES_rec.step_number OR
507 p_old_FORMULA_LINES_rec.step_number IS NULL )
508 THEN
509 IF NOT QP_Validate.Step_Number(p_FORMULA_LINES_rec.step_number) THEN
510 x_return_status := FND_API.G_RET_STS_ERROR;
511 END IF;
512 END IF;
513
514 IF (p_FORMULA_LINES_rec.attribute1 IS NOT NULL AND
515 ( p_FORMULA_LINES_rec.attribute1 <>
516 p_old_FORMULA_LINES_rec.attribute1 OR
517 p_old_FORMULA_LINES_rec.attribute1 IS NULL ))
518 OR (p_FORMULA_LINES_rec.attribute10 IS NOT NULL AND
519 ( p_FORMULA_LINES_rec.attribute10 <>
520 p_old_FORMULA_LINES_rec.attribute10 OR
521 p_old_FORMULA_LINES_rec.attribute10 IS NULL ))
522 OR (p_FORMULA_LINES_rec.attribute11 IS NOT NULL AND
523 ( p_FORMULA_LINES_rec.attribute11 <>
524 p_old_FORMULA_LINES_rec.attribute11 OR
525 p_old_FORMULA_LINES_rec.attribute11 IS NULL ))
526 OR (p_FORMULA_LINES_rec.attribute12 IS NOT NULL AND
527 ( p_FORMULA_LINES_rec.attribute12 <>
528 p_old_FORMULA_LINES_rec.attribute12 OR
529 p_old_FORMULA_LINES_rec.attribute12 IS NULL ))
530 OR (p_FORMULA_LINES_rec.attribute13 IS NOT NULL AND
531 ( p_FORMULA_LINES_rec.attribute13 <>
532 p_old_FORMULA_LINES_rec.attribute13 OR
533 p_old_FORMULA_LINES_rec.attribute13 IS NULL ))
534 OR (p_FORMULA_LINES_rec.attribute14 IS NOT NULL AND
535 ( p_FORMULA_LINES_rec.attribute14 <>
536 p_old_FORMULA_LINES_rec.attribute14 OR
537 p_old_FORMULA_LINES_rec.attribute14 IS NULL ))
538 OR (p_FORMULA_LINES_rec.attribute15 IS NOT NULL AND
539 ( p_FORMULA_LINES_rec.attribute15 <>
540 p_old_FORMULA_LINES_rec.attribute15 OR
541 p_old_FORMULA_LINES_rec.attribute15 IS NULL ))
542 OR (p_FORMULA_LINES_rec.attribute2 IS NOT NULL AND
543 ( p_FORMULA_LINES_rec.attribute2 <>
544 p_old_FORMULA_LINES_rec.attribute2 OR
545 p_old_FORMULA_LINES_rec.attribute2 IS NULL ))
546 OR (p_FORMULA_LINES_rec.attribute3 IS NOT NULL AND
547 ( p_FORMULA_LINES_rec.attribute3 <>
548 p_old_FORMULA_LINES_rec.attribute3 OR
549 p_old_FORMULA_LINES_rec.attribute3 IS NULL ))
550 OR (p_FORMULA_LINES_rec.attribute4 IS NOT NULL AND
551 ( p_FORMULA_LINES_rec.attribute4 <>
552 p_old_FORMULA_LINES_rec.attribute4 OR
553 p_old_FORMULA_LINES_rec.attribute4 IS NULL ))
554 OR (p_FORMULA_LINES_rec.attribute5 IS NOT NULL AND
555 ( p_FORMULA_LINES_rec.attribute5 <>
556 p_old_FORMULA_LINES_rec.attribute5 OR
557 p_old_FORMULA_LINES_rec.attribute5 IS NULL ))
558 OR (p_FORMULA_LINES_rec.attribute6 IS NOT NULL AND
559 ( p_FORMULA_LINES_rec.attribute6 <>
560 p_old_FORMULA_LINES_rec.attribute6 OR
561 p_old_FORMULA_LINES_rec.attribute6 IS NULL ))
562 OR (p_FORMULA_LINES_rec.attribute7 IS NOT NULL AND
563 ( p_FORMULA_LINES_rec.attribute7 <>
564 p_old_FORMULA_LINES_rec.attribute7 OR
565 p_old_FORMULA_LINES_rec.attribute7 IS NULL ))
566 OR (p_FORMULA_LINES_rec.attribute8 IS NOT NULL AND
567 ( p_FORMULA_LINES_rec.attribute8 <>
568 p_old_FORMULA_LINES_rec.attribute8 OR
569 p_old_FORMULA_LINES_rec.attribute8 IS NULL ))
570 OR (p_FORMULA_LINES_rec.attribute9 IS NOT NULL AND
571 ( p_FORMULA_LINES_rec.attribute9 <>
572 p_old_FORMULA_LINES_rec.attribute9 OR
573 p_old_FORMULA_LINES_rec.attribute9 IS NULL ))
574 OR (p_FORMULA_LINES_rec.context IS NOT NULL AND
575 ( p_FORMULA_LINES_rec.context <>
576 p_old_FORMULA_LINES_rec.context OR
577 p_old_FORMULA_LINES_rec.context IS NULL ))
578 THEN
579
580 -- These calls are temporarily commented out
581
582 /*
583 FND_FLEX_DESC_VAL.Set_Column_Value
584 ( column_name => 'ATTRIBUTE1'
585 , column_value => p_FORMULA_LINES_rec.attribute1
586 );
587 FND_FLEX_DESC_VAL.Set_Column_Value
588 ( column_name => 'ATTRIBUTE10'
589 , column_value => p_FORMULA_LINES_rec.attribute10
590 );
591 FND_FLEX_DESC_VAL.Set_Column_Value
592 ( column_name => 'ATTRIBUTE11'
593 , column_value => p_FORMULA_LINES_rec.attribute11
594 );
595 FND_FLEX_DESC_VAL.Set_Column_Value
596 ( column_name => 'ATTRIBUTE12'
597 , column_value => p_FORMULA_LINES_rec.attribute12
598 );
599 FND_FLEX_DESC_VAL.Set_Column_Value
600 ( column_name => 'ATTRIBUTE13'
601 , column_value => p_FORMULA_LINES_rec.attribute13
602 );
603 FND_FLEX_DESC_VAL.Set_Column_Value
604 ( column_name => 'ATTRIBUTE14'
605 , column_value => p_FORMULA_LINES_rec.attribute14
606 );
607 FND_FLEX_DESC_VAL.Set_Column_Value
608 ( column_name => 'ATTRIBUTE15'
609 , column_value => p_FORMULA_LINES_rec.attribute15
610 );
611 FND_FLEX_DESC_VAL.Set_Column_Value
612 ( column_name => 'ATTRIBUTE2'
613 , column_value => p_FORMULA_LINES_rec.attribute2
614 );
615 FND_FLEX_DESC_VAL.Set_Column_Value
616 ( column_name => 'ATTRIBUTE3'
617 , column_value => p_FORMULA_LINES_rec.attribute3
618 );
619 FND_FLEX_DESC_VAL.Set_Column_Value
620 ( column_name => 'ATTRIBUTE4'
621 , column_value => p_FORMULA_LINES_rec.attribute4
622 );
623 FND_FLEX_DESC_VAL.Set_Column_Value
624 ( column_name => 'ATTRIBUTE5'
625 , column_value => p_FORMULA_LINES_rec.attribute5
626 );
627 FND_FLEX_DESC_VAL.Set_Column_Value
628 ( column_name => 'ATTRIBUTE6'
629 , column_value => p_FORMULA_LINES_rec.attribute6
630 );
631 FND_FLEX_DESC_VAL.Set_Column_Value
632 ( column_name => 'ATTRIBUTE7'
633 , column_value => p_FORMULA_LINES_rec.attribute7
634 );
635 FND_FLEX_DESC_VAL.Set_Column_Value
636 ( column_name => 'ATTRIBUTE8'
637 , column_value => p_FORMULA_LINES_rec.attribute8
638 );
639 FND_FLEX_DESC_VAL.Set_Column_Value
640 ( column_name => 'ATTRIBUTE9'
641 , column_value => p_FORMULA_LINES_rec.attribute9
642 );
643 FND_FLEX_DESC_VAL.Set_Column_Value
644 ( column_name => 'CONTEXT'
645 , column_value => p_FORMULA_LINES_rec.context
646 );
647 */
648
649 -- Validate descriptive flexfield.
650
651 IF NOT QP_Validate.Desc_Flex( 'FORMULA_LINES' ) THEN
652 x_return_status := FND_API.G_RET_STS_ERROR;
653 END IF;
654
655 END IF;
656
657 -- Done validating attributes
658
659 oe_debug_pub.add('Leaving proc Attributes of Formula Lines Validation Pkg');
660 EXCEPTION
661
662 WHEN FND_API.G_EXC_ERROR THEN
663
664 x_return_status := FND_API.G_RET_STS_ERROR;
665
666 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
667
668 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
669
670 WHEN OTHERS THEN
671
672 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
673
674 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
675 THEN
676 OE_MSG_PUB.Add_Exc_Msg
677 ( G_PKG_NAME
678 , 'Attributes'
679 );
680 END IF;
681
682 END Attributes;
683
684 -- Procedure Entity_Delete
685
686 PROCEDURE Entity_Delete
687 ( x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
688 , p_FORMULA_LINES_rec IN QP_Price_Formula_PUB.Formula_Lines_Rec_Type
689 )
690 IS
691 l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
692 BEGIN
693
694 oe_debug_pub.add('Entering proc Entity_Delete of Formula Lines Validation Pkg');
695 -- Validate entity delete.
696
697 NULL;
698
699 -- Done.
700
701 x_return_status := l_return_status;
702
703 oe_debug_pub.add('Leaving proc Entity_Delete of Formula Lines Validation Pkg');
704 EXCEPTION
705
706 WHEN FND_API.G_EXC_ERROR THEN
707
708 x_return_status := FND_API.G_RET_STS_ERROR;
709
710 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
711
712 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
713
714 WHEN OTHERS THEN
715
716 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
717
718 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
719 THEN
720 OE_MSG_PUB.Add_Exc_Msg
721 ( G_PKG_NAME
722 , 'Entity_Delete'
723 );
724 END IF;
725
726 END Entity_Delete;
727
728 END QP_Validate_Formula_Lines;