1 PACKAGE BODY QP_Validate_Curr_Lists AS
2 /* $Header: QPXLCURB.pls 120.1 2005/06/08 22:08:46 appldev $ */
3
4 -- Global constant holding the package name
5
6 G_PKG_NAME CONSTANT VARCHAR2(30) := 'QP_Validate_Curr_Lists';
7
8 -- Procedure Entity
9
10 PROCEDURE Entity
11 ( x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
12 , p_CURR_LISTS_rec IN QP_Currency_PUB.Curr_Lists_Rec_Type
13 , p_old_CURR_LISTS_rec IN QP_Currency_PUB.Curr_Lists_Rec_Type :=
14 QP_Currency_PUB.G_MISS_CURR_LISTS_REC
15 )
16 IS
17 l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
18 l_dummy_c VARCHAR2(1);
19 BEGIN
20
21 -- oe_debug_pub.add('VALIDATIONS: Inside Header L Package');
22
23 -- Check required attributes.
24
25 IF p_CURR_LISTS_rec.currency_header_id IS NULL
26 THEN
27
28 l_return_status := FND_API.G_RET_STS_ERROR;
29
30 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
31 THEN
32
33 FND_MESSAGE.SET_NAME('QP','QP_ATTRIBUTE_REQUIRED');
34 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','currency_header_id');
35 OE_MSG_PUB.Add;
36
37 END IF;
38
39 END IF;
40
41 --
42 -- Check rest of required attributes here.
43 --
44 -- Below validations Added by Sunil Pandey
45 -- Validate Header records' base_currency_code
46 BEGIN
47 -- oe_debug_pub.add('VALIDATE Header records base_currency_code');
48
49 SELECT 'X'
50 INTO l_dummy_c
51 FROM fnd_currencies_vl
52 WHERE enabled_flag = 'Y'
53 and currency_flag = 'Y'
54 and currency_code = p_CURR_LISTS_rec.base_currency_code
55 and trunc(sysdate) between nvl(start_date_active,trunc(sysdate))
56 and nvl(end_date_active,trunc(sysdate));
57
58 EXCEPTION
59 WHEN NO_DATA_FOUND THEN
60 l_return_status := FND_API.G_RET_STS_ERROR;
61 FND_MESSAGE.SET_NAME('QP','QP_INVALID_CURRENCY');
62 OE_MSG_PUB.Add;
63
64 END;
65
66 -- Validate header records' base_markup_operator
67 IF (p_CURR_LISTS_rec.base_markup_operator IS NOT NULL and
68 p_CURR_LISTS_rec.base_markup_operator <> FND_API.G_MISS_CHAR)
69 THEN
70 BEGIN
71 -- oe_debug_pub.add('VALIDATE Headers base_markup_operator');
72
73 SELECT 'X'
74 INTO l_dummy_c
75 FROM qp_lookups
76 WHERE lookup_type = 'MARKUP_OPERATOR' and
77 lookup_code = p_CURR_LISTS_rec.base_markup_operator and
78 enabled_flag = 'Y' and
79 trunc(sysdate) between
80 nvl(start_date_active, trunc(sysdate)) and nvl(end_date_active, trunc(sysdate));
81
82 EXCEPTION
83 WHEN NO_DATA_FOUND THEN
84 -- oe_debug_pub.add('ERROR: Base Markup_Operator is Invalid');
85 l_return_status := FND_API.G_RET_STS_ERROR;
86 FND_MESSAGE.SET_NAME('QP','QP_INVALID_MARKUP_OPRTR'); -- CHANGE MESG_CODE
87 FND_MESSAGE.SET_TOKEN('MARKUP_OPERATOR',p_CURR_LISTS_rec.base_markup_operator);
88 OE_MSG_PUB.Add;
89
90 END;
91 END IF;
92
93 -- Validate header records' base_markup_formula
94 IF (p_CURR_LISTS_rec.base_markup_formula_id IS NOT NULL and
95 p_CURR_LISTS_rec.base_markup_formula_id <> FND_API.G_MISS_NUM)
96 THEN
97 BEGIN
98 -- oe_debug_pub.add('VALIDATE Headers base_markup_formula');
99
100 /*
101 SELECT 'X'
102 INTO l_dummy_c
103 FROM qp_price_formulas_vl
104 WHERE trunc(sysdate) between nvl(start_date_active, trunc(sysdate))
105 and nvl(end_date_active, trunc(sysdate))
106 and price_formula_id = p_CURR_LISTS_rec.base_markup_formula_id;
107 */
108
109 -- Only those formulas which do not have a line component of type_code = 'PLL' can
110 -- be attached to a multi-currency list
111 SELECT 'X'
112 INTO l_dummy_c
113 FROM qp_price_formulas_vl fh
114 WHERE trunc(sysdate) between nvl(fh.start_date_active, trunc(sysdate))
115 and nvl(fh.end_date_active, trunc(sysdate))
116 and fh.price_formula_id = p_CURR_LISTS_rec.base_markup_formula_id
117 and not exists (Select 'x'
118 From qp_price_formula_lines fl
119 Where fl.price_formula_id = fh.price_formula_id
120 and fl.PRICE_FORMULA_LINE_TYPE_CODE = 'PLL'
121 and trunc(sysdate) between nvl(fl.start_date_active, trunc(sysdate))
122 and nvl(fl.end_date_active, trunc(sysdate)));
123
124 EXCEPTION
125 WHEN NO_DATA_FOUND THEN
126 l_return_status := FND_API.G_RET_STS_ERROR;
127 FND_MESSAGE.SET_NAME('QP','QP_FORMULA_NOT_FOUND');
128 OE_MSG_PUB.Add;
129
130 END;
131 END IF;
132
133 -- Validate header records' conditional columns
134 -- Markup value or formula should be present if operator is present
135 IF ((p_CURR_LISTS_rec.base_markup_operator IS NOT NULL and
136 p_CURR_LISTS_rec.base_markup_operator <> FND_API.G_MISS_CHAR) AND
137 (p_CURR_LISTS_rec.base_markup_formula_id IS NULL AND
138 p_CURR_LISTS_rec.base_markup_value IS NULL)
139 )
140 THEN
141 -- oe_debug_pub.add('ERROR: Markup Formula or Value should be provided if Markup Operator is present');
142 l_return_status := FND_API.G_RET_STS_ERROR;
143 FND_MESSAGE.SET_NAME('QP','QP_FRML_OR_VAL_REQD'); -- CHANGE MESG_CODE
144 OE_MSG_PUB.Add;
145 END IF;
146
147 -- Markup Operator should be present if either value or formula is present
148 IF ((p_CURR_LISTS_rec.base_markup_operator IS NULL) AND
149 (p_CURR_LISTS_rec.base_markup_formula_id IS NOT NULL OR
150 p_CURR_LISTS_rec.base_markup_value IS NOT NULL)
151 )
152 THEN
153 -- oe_debug_pub.add('ERROR: Markup Formula or Value can be provided only if Markup Operator is present');
154 l_return_status := FND_API.G_RET_STS_ERROR;
155 FND_MESSAGE.SET_NAME('QP','QP_MARKUP_OPRTR_REQD'); -- CHANGE MESG_CODE
156 OE_MSG_PUB.Add;
157 END IF;
158
159 -- Validate rounding factor precision
160 IF p_CURR_LISTS_rec.base_rounding_factor IS NOT NULL AND
161 p_CURR_LISTS_rec.base_currency_code IS NOT NULL THEN
162 IF NOT QP_Validate.Rounding_Factor(p_CURR_LISTS_rec.base_rounding_factor,
163 p_CURR_LISTS_rec.base_currency_code) THEN
164 oe_debug_pub.add('QPXLCURB.ENTITY base rounding_factor error occured');
165 l_return_status := FND_API.G_RET_STS_ERROR;
166 END IF;
167 END IF;
168 -- Bug 2293974 - rounding factor is mandatory
169 If (p_CURR_LISTS_rec.base_rounding_factor is NULL or
170 p_CURR_LISTS_rec.base_rounding_factor = FND_API.G_MISS_NUM )
171 then
172 l_return_status := FND_API.G_RET_STS_ERROR;
173
174 FND_MESSAGE.SET_NAME('QP','QP_RNDG_FACTOR_REQD');
175 oe_msg_pub.add;
176
177 end if;
178 -- Return Error if a required attribute is missing.
179
180 IF l_return_status = FND_API.G_RET_STS_ERROR THEN
181
182 RAISE FND_API.G_EXC_ERROR;
183
184 END IF;
185
186 --
187 -- Check conditionally required attributes here.
188 --
189
190
191 --
192 -- Validate attribute dependencies here.
193 --
194
195
196 -- Done validating entity
197
198 x_return_status := l_return_status;
199
200 EXCEPTION
201
202 WHEN FND_API.G_EXC_ERROR THEN
203
204 x_return_status := FND_API.G_RET_STS_ERROR;
205
206 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
207
208 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
209
210 WHEN OTHERS THEN
211
212 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
213
214 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
215 THEN
216 OE_MSG_PUB.Add_Exc_Msg
217 ( G_PKG_NAME
218 , 'Entity'
219 );
220 END IF;
221
222 END Entity;
223
224 -- Procedure Attributes
225
226 PROCEDURE Attributes
227 ( x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
228 , p_CURR_LISTS_rec IN QP_Currency_PUB.Curr_Lists_Rec_Type
229 , p_old_CURR_LISTS_rec IN QP_Currency_PUB.Curr_Lists_Rec_Type :=
230 QP_Currency_PUB.G_MISS_CURR_LISTS_REC
231 )
232 IS
233 BEGIN
234
235 x_return_status := FND_API.G_RET_STS_SUCCESS;
236
237 -- Validate CURR_LISTS attributes
238
239 IF p_CURR_LISTS_rec.base_currency_code IS NOT NULL AND
240 ( p_CURR_LISTS_rec.base_currency_code <>
241 p_old_CURR_LISTS_rec.base_currency_code OR
242 p_old_CURR_LISTS_rec.base_currency_code IS NULL )
243 THEN
244 IF NOT QP_Validate.Base_Currency(p_CURR_LISTS_rec.base_currency_code) THEN
245 x_return_status := FND_API.G_RET_STS_ERROR;
246 END IF;
247 END IF;
248
249 IF p_CURR_LISTS_rec.created_by IS NOT NULL AND
250 ( p_CURR_LISTS_rec.created_by <>
251 p_old_CURR_LISTS_rec.created_by OR
252 p_old_CURR_LISTS_rec.created_by IS NULL )
253 THEN
254 IF NOT QP_Validate.Created_By(p_CURR_LISTS_rec.created_by) THEN
255 x_return_status := FND_API.G_RET_STS_ERROR;
256 END IF;
257 END IF;
258
259 IF p_CURR_LISTS_rec.creation_date IS NOT NULL AND
260 ( p_CURR_LISTS_rec.creation_date <>
261 p_old_CURR_LISTS_rec.creation_date OR
262 p_old_CURR_LISTS_rec.creation_date IS NULL )
263 THEN
264 IF NOT QP_Validate.Creation_Date(p_CURR_LISTS_rec.creation_date) THEN
265 x_return_status := FND_API.G_RET_STS_ERROR;
266 END IF;
267 END IF;
268
269 IF p_CURR_LISTS_rec.currency_header_id IS NOT NULL AND
270 ( p_CURR_LISTS_rec.currency_header_id <>
271 p_old_CURR_LISTS_rec.currency_header_id OR
272 p_old_CURR_LISTS_rec.currency_header_id IS NULL )
273 THEN
274 IF NOT QP_Validate.Currency_Header(p_CURR_LISTS_rec.currency_header_id) THEN
275 x_return_status := FND_API.G_RET_STS_ERROR;
276 END IF;
277 END IF;
278
279 IF p_CURR_LISTS_rec.description IS NOT NULL AND
280 ( p_CURR_LISTS_rec.description <>
281 p_old_CURR_LISTS_rec.description OR
282 p_old_CURR_LISTS_rec.description IS NULL )
283 THEN
284 IF NOT QP_Validate.Description(p_CURR_LISTS_rec.description) THEN
285 x_return_status := FND_API.G_RET_STS_ERROR;
286 END IF;
287 END IF;
288
289 IF p_CURR_LISTS_rec.last_updated_by IS NOT NULL AND
290 ( p_CURR_LISTS_rec.last_updated_by <>
291 p_old_CURR_LISTS_rec.last_updated_by OR
292 p_old_CURR_LISTS_rec.last_updated_by IS NULL )
293 THEN
294 IF NOT QP_Validate.Last_Updated_By(p_CURR_LISTS_rec.last_updated_by) THEN
295 x_return_status := FND_API.G_RET_STS_ERROR;
296 END IF;
297 END IF;
298
299 IF p_CURR_LISTS_rec.last_update_date IS NOT NULL AND
300 ( p_CURR_LISTS_rec.last_update_date <>
301 p_old_CURR_LISTS_rec.last_update_date OR
302 p_old_CURR_LISTS_rec.last_update_date IS NULL )
303 THEN
304 IF NOT QP_Validate.Last_Update_Date(p_CURR_LISTS_rec.last_update_date) THEN
305 x_return_status := FND_API.G_RET_STS_ERROR;
306 END IF;
307 END IF;
308
309 IF p_CURR_LISTS_rec.last_update_login IS NOT NULL AND
310 ( p_CURR_LISTS_rec.last_update_login <>
311 p_old_CURR_LISTS_rec.last_update_login OR
312 p_old_CURR_LISTS_rec.last_update_login IS NULL )
313 THEN
314 IF NOT QP_Validate.Last_Update_Login(p_CURR_LISTS_rec.last_update_login) THEN
315 x_return_status := FND_API.G_RET_STS_ERROR;
316 END IF;
317 END IF;
318
319 IF p_CURR_LISTS_rec.name IS NOT NULL AND
320 ( p_CURR_LISTS_rec.name <>
321 p_old_CURR_LISTS_rec.name OR
322 p_old_CURR_LISTS_rec.name IS NULL )
323 THEN
324 IF NOT QP_Validate.Name(p_CURR_LISTS_rec.name) THEN
325 x_return_status := FND_API.G_RET_STS_ERROR;
326 END IF;
327 END IF;
328
329 IF p_CURR_LISTS_rec.program_application_id IS NOT NULL AND
330 ( p_CURR_LISTS_rec.program_application_id <>
331 p_old_CURR_LISTS_rec.program_application_id OR
332 p_old_CURR_LISTS_rec.program_application_id IS NULL )
333 THEN
334 IF NOT QP_Validate.Program_Application(p_CURR_LISTS_rec.program_application_id) THEN
335 x_return_status := FND_API.G_RET_STS_ERROR;
336 END IF;
337 END IF;
338
339 IF p_CURR_LISTS_rec.program_id IS NOT NULL AND
340 ( p_CURR_LISTS_rec.program_id <>
341 p_old_CURR_LISTS_rec.program_id OR
342 p_old_CURR_LISTS_rec.program_id IS NULL )
343 THEN
344 IF NOT QP_Validate.Program(p_CURR_LISTS_rec.program_id) THEN
345 x_return_status := FND_API.G_RET_STS_ERROR;
346 END IF;
347 END IF;
348
349 IF p_CURR_LISTS_rec.program_update_date IS NOT NULL AND
350 ( p_CURR_LISTS_rec.program_update_date <>
351 p_old_CURR_LISTS_rec.program_update_date OR
352 p_old_CURR_LISTS_rec.program_update_date IS NULL )
353 THEN
354 IF NOT QP_Validate.Program_Update_Date(p_CURR_LISTS_rec.program_update_date) THEN
355 x_return_status := FND_API.G_RET_STS_ERROR;
356 END IF;
357 END IF;
358
359 IF p_CURR_LISTS_rec.request_id IS NOT NULL AND
360 ( p_CURR_LISTS_rec.request_id <>
361 p_old_CURR_LISTS_rec.request_id OR
362 p_old_CURR_LISTS_rec.request_id IS NULL )
363 THEN
364 IF NOT QP_Validate.Request(p_CURR_LISTS_rec.request_id) THEN
365 x_return_status := FND_API.G_RET_STS_ERROR;
366 END IF;
367 END IF;
368
369 IF p_CURR_LISTS_rec.base_rounding_factor IS NOT NULL AND
370 ( p_CURR_LISTS_rec.base_rounding_factor <>
371 p_old_CURR_LISTS_rec.base_rounding_factor OR
372 p_old_CURR_LISTS_rec.base_rounding_factor IS NULL )
373 THEN
374 IF NOT QP_Validate.base_rounding_factor(p_CURR_LISTS_rec.base_rounding_factor) THEN
375 x_return_status := FND_API.G_RET_STS_ERROR;
376 END IF;
377 END IF;
378
379 IF p_CURR_LISTS_rec.base_markup_operator IS NOT NULL AND
380 ( p_CURR_LISTS_rec.base_markup_operator <>
381 p_old_CURR_LISTS_rec.base_markup_operator OR
382 p_old_CURR_LISTS_rec.base_markup_operator IS NULL )
383 THEN
384 -- oe_debug_pub.add('ERROR: in Attributes procedure of L package for base_markup_operator');
385 IF NOT QP_Validate.base_markup_operator(p_CURR_LISTS_rec.base_markup_operator) THEN
386 x_return_status := FND_API.G_RET_STS_ERROR;
387 END IF;
388 END IF;
389
390 IF p_CURR_LISTS_rec.base_markup_value IS NOT NULL AND
391 ( p_CURR_LISTS_rec.base_markup_value <>
392 p_old_CURR_LISTS_rec.base_markup_value OR
393 p_old_CURR_LISTS_rec.base_markup_value IS NULL )
394 THEN
395 IF NOT QP_Validate.base_markup_value(p_CURR_LISTS_rec.base_markup_value) THEN
396 x_return_status := FND_API.G_RET_STS_ERROR;
397 END IF;
398 END IF;
399
400 IF p_CURR_LISTS_rec.base_markup_formula_id IS NOT NULL AND
401 ( p_CURR_LISTS_rec.base_markup_formula_id <>
402 p_old_CURR_LISTS_rec.base_markup_formula_id OR
403 p_old_CURR_LISTS_rec.base_markup_formula_id IS NULL )
404 THEN
405 IF NOT QP_Validate.base_markup_formula(p_CURR_LISTS_rec.base_markup_formula_id) THEN
406 x_return_status := FND_API.G_RET_STS_ERROR;
407 END IF;
408 END IF;
409
410
411
412
413
414 /* Commented by Sunil
415 IF p_CURR_LISTS_rec.row_id IS NOT NULL AND
416 ( p_CURR_LISTS_rec.row_id <>
417 p_old_CURR_LISTS_rec.row_id OR
418 p_old_CURR_LISTS_rec.row_id IS NULL )
419 THEN
420 IF NOT QP_Validate.Row(p_CURR_LISTS_rec.row_id) THEN
421 x_return_status := FND_API.G_RET_STS_ERROR;
422 END IF;
423 END IF;
424 Commented by Sunil */
425
426 IF (p_CURR_LISTS_rec.attribute1 IS NOT NULL AND
427 ( p_CURR_LISTS_rec.attribute1 <>
428 p_old_CURR_LISTS_rec.attribute1 OR
429 p_old_CURR_LISTS_rec.attribute1 IS NULL ))
430 OR (p_CURR_LISTS_rec.attribute10 IS NOT NULL AND
431 ( p_CURR_LISTS_rec.attribute10 <>
432 p_old_CURR_LISTS_rec.attribute10 OR
433 p_old_CURR_LISTS_rec.attribute10 IS NULL ))
434 OR (p_CURR_LISTS_rec.attribute11 IS NOT NULL AND
435 ( p_CURR_LISTS_rec.attribute11 <>
436 p_old_CURR_LISTS_rec.attribute11 OR
437 p_old_CURR_LISTS_rec.attribute11 IS NULL ))
438 OR (p_CURR_LISTS_rec.attribute12 IS NOT NULL AND
439 ( p_CURR_LISTS_rec.attribute12 <>
440 p_old_CURR_LISTS_rec.attribute12 OR
441 p_old_CURR_LISTS_rec.attribute12 IS NULL ))
442 OR (p_CURR_LISTS_rec.attribute13 IS NOT NULL AND
443 ( p_CURR_LISTS_rec.attribute13 <>
444 p_old_CURR_LISTS_rec.attribute13 OR
445 p_old_CURR_LISTS_rec.attribute13 IS NULL ))
446 OR (p_CURR_LISTS_rec.attribute14 IS NOT NULL AND
447 ( p_CURR_LISTS_rec.attribute14 <>
448 p_old_CURR_LISTS_rec.attribute14 OR
449 p_old_CURR_LISTS_rec.attribute14 IS NULL ))
450 OR (p_CURR_LISTS_rec.attribute15 IS NOT NULL AND
451 ( p_CURR_LISTS_rec.attribute15 <>
452 p_old_CURR_LISTS_rec.attribute15 OR
453 p_old_CURR_LISTS_rec.attribute15 IS NULL ))
454 OR (p_CURR_LISTS_rec.attribute2 IS NOT NULL AND
455 ( p_CURR_LISTS_rec.attribute2 <>
456 p_old_CURR_LISTS_rec.attribute2 OR
457 p_old_CURR_LISTS_rec.attribute2 IS NULL ))
458 OR (p_CURR_LISTS_rec.attribute3 IS NOT NULL AND
459 ( p_CURR_LISTS_rec.attribute3 <>
460 p_old_CURR_LISTS_rec.attribute3 OR
461 p_old_CURR_LISTS_rec.attribute3 IS NULL ))
462 OR (p_CURR_LISTS_rec.attribute4 IS NOT NULL AND
463 ( p_CURR_LISTS_rec.attribute4 <>
464 p_old_CURR_LISTS_rec.attribute4 OR
465 p_old_CURR_LISTS_rec.attribute4 IS NULL ))
466 OR (p_CURR_LISTS_rec.attribute5 IS NOT NULL AND
467 ( p_CURR_LISTS_rec.attribute5 <>
468 p_old_CURR_LISTS_rec.attribute5 OR
469 p_old_CURR_LISTS_rec.attribute5 IS NULL ))
470 OR (p_CURR_LISTS_rec.attribute6 IS NOT NULL AND
471 ( p_CURR_LISTS_rec.attribute6 <>
472 p_old_CURR_LISTS_rec.attribute6 OR
473 p_old_CURR_LISTS_rec.attribute6 IS NULL ))
474 OR (p_CURR_LISTS_rec.attribute7 IS NOT NULL AND
475 ( p_CURR_LISTS_rec.attribute7 <>
476 p_old_CURR_LISTS_rec.attribute7 OR
477 p_old_CURR_LISTS_rec.attribute7 IS NULL ))
478 OR (p_CURR_LISTS_rec.attribute8 IS NOT NULL AND
479 ( p_CURR_LISTS_rec.attribute8 <>
480 p_old_CURR_LISTS_rec.attribute8 OR
481 p_old_CURR_LISTS_rec.attribute8 IS NULL ))
482 OR (p_CURR_LISTS_rec.attribute9 IS NOT NULL AND
483 ( p_CURR_LISTS_rec.attribute9 <>
484 p_old_CURR_LISTS_rec.attribute9 OR
485 p_old_CURR_LISTS_rec.attribute9 IS NULL ))
486 OR (p_CURR_LISTS_rec.context IS NOT NULL AND
487 ( p_CURR_LISTS_rec.context <>
488 p_old_CURR_LISTS_rec.context OR
489 p_old_CURR_LISTS_rec.context IS NULL ))
490 THEN
491
492 -- These calls are temporarily commented out
493
494 /*
495 FND_FLEX_DESC_VAL.Set_Column_Value
496 ( column_name => 'ATTRIBUTE1'
497 , column_value => p_CURR_LISTS_rec.attribute1
498 );
499 FND_FLEX_DESC_VAL.Set_Column_Value
500 ( column_name => 'ATTRIBUTE10'
501 , column_value => p_CURR_LISTS_rec.attribute10
502 );
503 FND_FLEX_DESC_VAL.Set_Column_Value
504 ( column_name => 'ATTRIBUTE11'
505 , column_value => p_CURR_LISTS_rec.attribute11
506 );
507 FND_FLEX_DESC_VAL.Set_Column_Value
508 ( column_name => 'ATTRIBUTE12'
509 , column_value => p_CURR_LISTS_rec.attribute12
510 );
511 FND_FLEX_DESC_VAL.Set_Column_Value
512 ( column_name => 'ATTRIBUTE13'
513 , column_value => p_CURR_LISTS_rec.attribute13
514 );
515 FND_FLEX_DESC_VAL.Set_Column_Value
516 ( column_name => 'ATTRIBUTE14'
517 , column_value => p_CURR_LISTS_rec.attribute14
518 );
519 FND_FLEX_DESC_VAL.Set_Column_Value
520 ( column_name => 'ATTRIBUTE15'
521 , column_value => p_CURR_LISTS_rec.attribute15
522 );
523 FND_FLEX_DESC_VAL.Set_Column_Value
524 ( column_name => 'ATTRIBUTE2'
525 , column_value => p_CURR_LISTS_rec.attribute2
526 );
527 FND_FLEX_DESC_VAL.Set_Column_Value
528 ( column_name => 'ATTRIBUTE3'
529 , column_value => p_CURR_LISTS_rec.attribute3
530 );
531 FND_FLEX_DESC_VAL.Set_Column_Value
532 ( column_name => 'ATTRIBUTE4'
533 , column_value => p_CURR_LISTS_rec.attribute4
534 );
535 FND_FLEX_DESC_VAL.Set_Column_Value
536 ( column_name => 'ATTRIBUTE5'
537 , column_value => p_CURR_LISTS_rec.attribute5
538 );
539 FND_FLEX_DESC_VAL.Set_Column_Value
540 ( column_name => 'ATTRIBUTE6'
541 , column_value => p_CURR_LISTS_rec.attribute6
542 );
543 FND_FLEX_DESC_VAL.Set_Column_Value
544 ( column_name => 'ATTRIBUTE7'
545 , column_value => p_CURR_LISTS_rec.attribute7
546 );
547 FND_FLEX_DESC_VAL.Set_Column_Value
548 ( column_name => 'ATTRIBUTE8'
549 , column_value => p_CURR_LISTS_rec.attribute8
550 );
551 FND_FLEX_DESC_VAL.Set_Column_Value
552 ( column_name => 'ATTRIBUTE9'
553 , column_value => p_CURR_LISTS_rec.attribute9
554 );
555 FND_FLEX_DESC_VAL.Set_Column_Value
556 ( column_name => 'CONTEXT'
557 , column_value => p_CURR_LISTS_rec.context
558 );
559 */
560
561 -- Validate descriptive flexfield.
562
563 IF NOT QP_Validate.Desc_Flex( 'CURR_LISTS' ) THEN
564 x_return_status := FND_API.G_RET_STS_ERROR;
565 END IF;
566
567 END IF;
568
569 -- Done validating attributes
570
571 EXCEPTION
572
573 WHEN FND_API.G_EXC_ERROR THEN
574
575 x_return_status := FND_API.G_RET_STS_ERROR;
576
577 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
578
579 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
580
581 WHEN OTHERS THEN
582
583 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
584
585 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
586 THEN
587 OE_MSG_PUB.Add_Exc_Msg
588 ( G_PKG_NAME
589 , 'Attributes'
590 );
591 END IF;
592
593 END Attributes;
594
595 -- Procedure Entity_Delete
596
597 PROCEDURE Entity_Delete
598 ( x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
599 , p_CURR_LISTS_rec IN QP_Currency_PUB.Curr_Lists_Rec_Type
600 )
601 IS
602 l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
603 BEGIN
604
605 -- Validate entity delete.
606
607 NULL;
608
609 -- Done.
610
611 x_return_status := l_return_status;
612
613 EXCEPTION
614
615 WHEN FND_API.G_EXC_ERROR THEN
616
617 x_return_status := FND_API.G_RET_STS_ERROR;
618
619 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
620
621 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
622
623 WHEN OTHERS THEN
624
625 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
626
627 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
628 THEN
629 OE_MSG_PUB.Add_Exc_Msg
630 ( G_PKG_NAME
631 , 'Entity_Delete'
632 );
633 END IF;
634
635 END Entity_Delete;
636
637 END QP_Validate_Curr_Lists;