[Home] [Help]
PACKAGE BODY: APPS.QP_DEFAULT_CURR_LISTS
Source
1 PACKAGE BODY QP_Default_Curr_Lists AS
2 /* $Header: QPXDCURB.pls 120.2 2005/07/07 04:26:46 appldev ship $ */
3
4 -- Global constant holding the package name
5
6 G_PKG_NAME CONSTANT VARCHAR2(30) := 'QP_Default_Curr_Lists';
7
8 -- Package global used within the package.
9
10 g_CURR_LISTS_rec QP_Currency_PUB.Curr_Lists_Rec_Type;
11
12 -- Get functions.
13
14 FUNCTION Get_Base_Currency
15 RETURN VARCHAR2
16 IS
17 BEGIN
18
19 RETURN NULL;
20
21 END Get_Base_Currency;
22
23 FUNCTION Get_Currency_Header
24 RETURN NUMBER
25 IS
26 l_currency_header_id NUMBER := FND_API.G_MISS_NUM;
27 BEGIN
28 -- oe_debug_pub.add('Get_Currency_Header of D-HDR is being called to generate new header_id');
29
30 select QP_CURRENCY_LISTS_B_S.nextval
31 into l_currency_header_id
32 from dual;
33
34 RETURN l_currency_header_id;
35
36 END Get_Currency_Header;
37
38 FUNCTION Get_Description
39 RETURN VARCHAR2
40 IS
41 BEGIN
42
43 RETURN NULL;
44
45 END Get_Description;
46
47 FUNCTION Get_Name
48 RETURN VARCHAR2
49 IS
50 BEGIN
51
52 RETURN NULL;
53
54 END Get_Name;
55
56 FUNCTION Get_base_rounding_factor
57 RETURN VARCHAR2
58 IS
59 BEGIN
60
61 RETURN NULL;
62
63 END Get_base_rounding_factor;
64
65 FUNCTION Get_base_markup_operator
66 RETURN VARCHAR2
67 IS
68 BEGIN
69
70 RETURN NULL;
71
72 END Get_base_markup_operator;
73
74 FUNCTION Get_base_markup_value
75 RETURN VARCHAR2
76 IS
77 BEGIN
78
79 RETURN NULL;
80
81 END Get_base_markup_value;
82
83 FUNCTION Get_base_markup_formula
84 RETURN VARCHAR2
85 IS
86 BEGIN
87
88 RETURN NULL;
89
90 END Get_base_markup_formula;
91
92 FUNCTION Get_Row
93 RETURN ROWID
94 IS
95 BEGIN
96
97 RETURN NULL;
98
99 END Get_Row;
100
101 PROCEDURE Get_Flex_Curr_Lists
102 IS
103 BEGIN
104
105 -- In the future call Flex APIs for defaults
106
107 IF g_CURR_LISTS_rec.attribute1 = FND_API.G_MISS_CHAR THEN
108 g_CURR_LISTS_rec.attribute1 := NULL;
109 END IF;
110
111 IF g_CURR_LISTS_rec.attribute10 = FND_API.G_MISS_CHAR THEN
112 g_CURR_LISTS_rec.attribute10 := NULL;
113 END IF;
114
115 IF g_CURR_LISTS_rec.attribute11 = FND_API.G_MISS_CHAR THEN
116 g_CURR_LISTS_rec.attribute11 := NULL;
117 END IF;
118
119 IF g_CURR_LISTS_rec.attribute12 = FND_API.G_MISS_CHAR THEN
120 g_CURR_LISTS_rec.attribute12 := NULL;
121 END IF;
122
123 IF g_CURR_LISTS_rec.attribute13 = FND_API.G_MISS_CHAR THEN
124 g_CURR_LISTS_rec.attribute13 := NULL;
125 END IF;
126
127 IF g_CURR_LISTS_rec.attribute14 = FND_API.G_MISS_CHAR THEN
128 g_CURR_LISTS_rec.attribute14 := NULL;
129 END IF;
130
131 IF g_CURR_LISTS_rec.attribute15 = FND_API.G_MISS_CHAR THEN
132 g_CURR_LISTS_rec.attribute15 := NULL;
133 END IF;
134
135 IF g_CURR_LISTS_rec.attribute2 = FND_API.G_MISS_CHAR THEN
136 g_CURR_LISTS_rec.attribute2 := NULL;
137 END IF;
138
139 IF g_CURR_LISTS_rec.attribute3 = FND_API.G_MISS_CHAR THEN
140 g_CURR_LISTS_rec.attribute3 := NULL;
141 END IF;
142
143 IF g_CURR_LISTS_rec.attribute4 = FND_API.G_MISS_CHAR THEN
144 g_CURR_LISTS_rec.attribute4 := NULL;
145 END IF;
146
147 IF g_CURR_LISTS_rec.attribute5 = FND_API.G_MISS_CHAR THEN
148 g_CURR_LISTS_rec.attribute5 := NULL;
149 END IF;
150
151 IF g_CURR_LISTS_rec.attribute6 = FND_API.G_MISS_CHAR THEN
152 g_CURR_LISTS_rec.attribute6 := NULL;
153 END IF;
154
155 IF g_CURR_LISTS_rec.attribute7 = FND_API.G_MISS_CHAR THEN
156 g_CURR_LISTS_rec.attribute7 := NULL;
157 END IF;
158
159 IF g_CURR_LISTS_rec.attribute8 = FND_API.G_MISS_CHAR THEN
160 g_CURR_LISTS_rec.attribute8 := NULL;
161 END IF;
162
163 IF g_CURR_LISTS_rec.attribute9 = FND_API.G_MISS_CHAR THEN
164 g_CURR_LISTS_rec.attribute9 := NULL;
165 END IF;
166
167 IF g_CURR_LISTS_rec.context = FND_API.G_MISS_CHAR THEN
168 g_CURR_LISTS_rec.context := NULL;
169 END IF;
170
171 END Get_Flex_Curr_Lists;
172
173 -- Procedure Attributes
174
175 PROCEDURE Attributes
176 ( p_CURR_LISTS_rec IN QP_Currency_PUB.Curr_Lists_Rec_Type :=
177 QP_Currency_PUB.G_MISS_CURR_LISTS_REC
178 , p_iteration IN NUMBER := 1
179 , x_CURR_LISTS_rec OUT NOCOPY /* file.sql.39 change */ QP_Currency_PUB.Curr_Lists_Rec_Type
180 )
181 IS
182 l_CURR_LISTS_rec QP_Currency_PUB.Curr_Lists_Rec_Type; --[prarasto]
183 BEGIN
184
185 -- Check number of iterations.
186
187 IF p_iteration > QP_GLOBALS.G_MAX_DEF_ITERATIONS THEN
188
189 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
190 THEN
191
192 FND_MESSAGE.SET_NAME('QP','OE_DEF_MAX_ITERATION');
193 OE_MSG_PUB.Add;
194
195 END IF;
196
197 RAISE FND_API.G_EXC_ERROR;
198
199 END IF;
200
201 -- Initialize g_CURR_LISTS_rec
202
203 g_CURR_LISTS_rec := p_CURR_LISTS_rec;
204
205 -- Default missing attributes.
206
207 IF g_CURR_LISTS_rec.base_currency_code = FND_API.G_MISS_CHAR THEN
208
209 g_CURR_LISTS_rec.base_currency_code := Get_Base_Currency;
210
211 IF g_CURR_LISTS_rec.base_currency_code IS NOT NULL THEN
212
213 IF QP_Validate.Base_Currency(g_CURR_LISTS_rec.base_currency_code)
214 THEN
215
216 l_CURR_LISTS_rec := g_CURR_LISTS_rec; --[prarasto]
217
218 QP_Curr_Lists_Util.Clear_Dependent_Attr
219 ( p_attr_id => QP_Curr_Lists_Util.G_BASE_CURRENCY
220 , p_CURR_LISTS_rec => l_CURR_LISTS_rec
221 , x_CURR_LISTS_rec => g_CURR_LISTS_rec
222 );
223 ELSE
224 g_CURR_LISTS_rec.base_currency_code := NULL;
225 END IF;
226
227 END IF;
228
229 END IF;
230
231 IF g_CURR_LISTS_rec.currency_header_id = FND_API.G_MISS_NUM THEN
232
233 g_CURR_LISTS_rec.currency_header_id := Get_Currency_Header;
234
235 IF g_CURR_LISTS_rec.currency_header_id IS NOT NULL THEN
236
237 IF QP_Validate.Currency_Header(g_CURR_LISTS_rec.currency_header_id)
238 THEN
239
240 l_CURR_LISTS_rec := g_CURR_LISTS_rec; --[prarasto]
241
242 QP_Curr_Lists_Util.Clear_Dependent_Attr
243 ( p_attr_id => QP_Curr_Lists_Util.G_CURRENCY_HEADER
244 , p_CURR_LISTS_rec => l_CURR_LISTS_rec
245 , x_CURR_LISTS_rec => g_CURR_LISTS_rec
246 );
247 ELSE
248 g_CURR_LISTS_rec.currency_header_id := NULL;
249 END IF;
250
251 END IF;
252
253 END IF;
254
255 IF g_CURR_LISTS_rec.description = FND_API.G_MISS_CHAR THEN
256
257 g_CURR_LISTS_rec.description := Get_Description;
258
259 IF g_CURR_LISTS_rec.description IS NOT NULL THEN
260
261 IF QP_Validate.Description(g_CURR_LISTS_rec.description)
262 THEN
263
264 l_CURR_LISTS_rec := g_CURR_LISTS_rec; --[prarasto]
265
266 QP_Curr_Lists_Util.Clear_Dependent_Attr
267 ( p_attr_id => QP_Curr_Lists_Util.G_DESCRIPTION
268 , p_CURR_LISTS_rec => l_CURR_LISTS_rec
269 , x_CURR_LISTS_rec => g_CURR_LISTS_rec
270 );
271 ELSE
272 g_CURR_LISTS_rec.description := NULL;
273 END IF;
274
275 END IF;
276
277 END IF;
278
279 IF g_CURR_LISTS_rec.name = FND_API.G_MISS_CHAR THEN
280
281 g_CURR_LISTS_rec.name := Get_Name;
282
283 IF g_CURR_LISTS_rec.name IS NOT NULL THEN
284
285 IF QP_Validate.Name(g_CURR_LISTS_rec.name)
286 THEN
287
288 l_CURR_LISTS_rec := g_CURR_LISTS_rec; --[prarasto]
289
290 QP_Curr_Lists_Util.Clear_Dependent_Attr
291 ( p_attr_id => QP_Curr_Lists_Util.G_NAME
292 , p_CURR_LISTS_rec => l_CURR_LISTS_rec
293 , x_CURR_LISTS_rec => g_CURR_LISTS_rec
294 );
295 ELSE
296 g_CURR_LISTS_rec.name := NULL;
297 END IF;
298
299 END IF;
300
301 END IF;
302
303 IF g_CURR_LISTS_rec.base_rounding_factor = FND_API.G_MISS_NUM THEN
304
305 g_CURR_LISTS_rec.base_rounding_factor := Get_base_rounding_factor;
306
307 IF g_CURR_LISTS_rec.base_rounding_factor IS NOT NULL THEN
308
309 IF QP_Validate.base_rounding_factor(g_CURR_LISTS_rec.base_rounding_factor)
310 THEN
311
312 l_CURR_LISTS_rec := g_CURR_LISTS_rec; --[prarasto]
313
314 QP_Curr_Lists_Util.Clear_Dependent_Attr
315 ( p_attr_id => QP_Curr_Lists_Util.G_BASE_ROUNDING_FACTOR
316 , p_CURR_LISTS_rec => l_CURR_LISTS_rec
317 , x_CURR_LISTS_rec => g_CURR_LISTS_rec
318 );
319 ELSE
320 g_CURR_LISTS_rec.base_rounding_factor := NULL;
321 END IF;
322
323 END IF;
324
325 END IF;
326
327 IF g_CURR_LISTS_rec.base_markup_operator = FND_API.G_MISS_CHAR THEN
328
329 g_CURR_LISTS_rec.base_markup_operator := Get_base_markup_operator;
330
331 IF g_CURR_LISTS_rec.base_markup_operator IS NOT NULL THEN
332
333 IF QP_Validate.base_markup_operator(g_CURR_LISTS_rec.base_markup_operator)
334 THEN
335
336 l_CURR_LISTS_rec := g_CURR_LISTS_rec; --[prarasto]
337
338 QP_Curr_Lists_Util.Clear_Dependent_Attr
339 ( p_attr_id => QP_Curr_Lists_Util.G_BASE_MARKUP_OPERATOR
340 , p_CURR_LISTS_rec => l_CURR_LISTS_rec
341 , x_CURR_LISTS_rec => g_CURR_LISTS_rec
342 );
343 ELSE
344 g_CURR_LISTS_rec.base_markup_operator := NULL;
345 END IF;
346
347 END IF;
348
349 END IF;
350
351 IF g_CURR_LISTS_rec.base_markup_value = FND_API.G_MISS_NUM THEN
352
353 g_CURR_LISTS_rec.base_markup_value := Get_base_markup_value;
354
355 IF g_CURR_LISTS_rec.base_markup_value IS NOT NULL THEN
356
357 IF QP_Validate.base_markup_value(g_CURR_LISTS_rec.base_markup_value)
358 THEN
359
360 l_CURR_LISTS_rec := g_CURR_LISTS_rec; --[prarasto]
361
362 QP_Curr_Lists_Util.Clear_Dependent_Attr
363 ( p_attr_id => QP_Curr_Lists_Util.G_BASE_MARKUP_VALUE
364 , p_CURR_LISTS_rec => l_CURR_LISTS_rec
365 , x_CURR_LISTS_rec => g_CURR_LISTS_rec
366 );
367 ELSE
368 g_CURR_LISTS_rec.base_markup_value := NULL;
369 END IF;
370
371 END IF;
372
373 END IF;
374
375 IF g_CURR_LISTS_rec.base_markup_formula_id = FND_API.G_MISS_NUM THEN
376
377 g_CURR_LISTS_rec.base_markup_formula_id := Get_base_markup_formula;
378
379 IF g_CURR_LISTS_rec.base_markup_formula_id IS NOT NULL THEN
380
381 IF QP_Validate.base_markup_formula(g_CURR_LISTS_rec.base_markup_formula_id)
382 THEN
383
384 l_CURR_LISTS_rec := g_CURR_LISTS_rec; --[prarasto]
385
386 QP_Curr_Lists_Util.Clear_Dependent_Attr
387 ( p_attr_id => QP_Curr_Lists_Util.G_BASE_MARKUP_FORMULA
388 , p_CURR_LISTS_rec => l_CURR_LISTS_rec
389 , x_CURR_LISTS_rec => g_CURR_LISTS_rec
390 );
391 ELSE
392 g_CURR_LISTS_rec.base_markup_formula_id := NULL;
393 END IF;
394
395 END IF;
396
397 END IF;
398
399
400 /* Commented by Sunil
401 IF g_CURR_LISTS_rec.row_id = FND_API.G_MISS_CHAR THEN
402
403 g_CURR_LISTS_rec.row_id := Get_Row;
404
405 IF g_CURR_LISTS_rec.row_id IS NOT NULL THEN
406
407 IF QP_Validate.Row(g_CURR_LISTS_rec.row_id)
408 THEN
409
410 l_CURR_LISTS_rec := g_CURR_LISTS_rec; --[prarasto]
411
412 QP_Curr_Lists_Util.Clear_Dependent_Attr
413 ( p_attr_id => QP_Curr_Lists_Util.G_ROW
414 , p_CURR_LISTS_rec => l_CURR_LISTS_rec
415 , x_CURR_LISTS_rec => g_CURR_LISTS_rec
416 );
417 ELSE
418 g_CURR_LISTS_rec.row_id := NULL;
419 END IF;
420
421 END IF;
422
423 END IF;
424 Commented by Sunil */
425
426 IF g_CURR_LISTS_rec.attribute1 = FND_API.G_MISS_CHAR
427 OR g_CURR_LISTS_rec.attribute10 = FND_API.G_MISS_CHAR
428 OR g_CURR_LISTS_rec.attribute11 = FND_API.G_MISS_CHAR
429 OR g_CURR_LISTS_rec.attribute12 = FND_API.G_MISS_CHAR
430 OR g_CURR_LISTS_rec.attribute13 = FND_API.G_MISS_CHAR
431 OR g_CURR_LISTS_rec.attribute14 = FND_API.G_MISS_CHAR
432 OR g_CURR_LISTS_rec.attribute15 = FND_API.G_MISS_CHAR
433 OR g_CURR_LISTS_rec.attribute2 = FND_API.G_MISS_CHAR
434 OR g_CURR_LISTS_rec.attribute3 = FND_API.G_MISS_CHAR
435 OR g_CURR_LISTS_rec.attribute4 = FND_API.G_MISS_CHAR
436 OR g_CURR_LISTS_rec.attribute5 = FND_API.G_MISS_CHAR
437 OR g_CURR_LISTS_rec.attribute6 = FND_API.G_MISS_CHAR
438 OR g_CURR_LISTS_rec.attribute7 = FND_API.G_MISS_CHAR
439 OR g_CURR_LISTS_rec.attribute8 = FND_API.G_MISS_CHAR
440 OR g_CURR_LISTS_rec.attribute9 = FND_API.G_MISS_CHAR
441 OR g_CURR_LISTS_rec.context = FND_API.G_MISS_CHAR
442 THEN
443
444 Get_Flex_Curr_Lists;
445
446 END IF;
447
448 IF g_CURR_LISTS_rec.created_by = FND_API.G_MISS_NUM THEN
449
450 g_CURR_LISTS_rec.created_by := NULL;
451
452 END IF;
453
454 IF g_CURR_LISTS_rec.creation_date = FND_API.G_MISS_DATE THEN
455
456 g_CURR_LISTS_rec.creation_date := NULL;
457
458 END IF;
459
460 IF g_CURR_LISTS_rec.last_updated_by = FND_API.G_MISS_NUM THEN
461
462 g_CURR_LISTS_rec.last_updated_by := NULL;
463
464 END IF;
465
466 IF g_CURR_LISTS_rec.last_update_date = FND_API.G_MISS_DATE THEN
467
468 g_CURR_LISTS_rec.last_update_date := NULL;
469
470 END IF;
471
472 IF g_CURR_LISTS_rec.last_update_login = FND_API.G_MISS_NUM THEN
473
474 g_CURR_LISTS_rec.last_update_login := NULL;
475
476 END IF;
477
478 IF g_CURR_LISTS_rec.program_application_id = FND_API.G_MISS_NUM THEN
479
480 g_CURR_LISTS_rec.program_application_id := NULL;
481
482 END IF;
483
484 IF g_CURR_LISTS_rec.program_id = FND_API.G_MISS_NUM THEN
485
486 g_CURR_LISTS_rec.program_id := NULL;
487
488 END IF;
489
490 IF g_CURR_LISTS_rec.program_update_date = FND_API.G_MISS_DATE THEN
491
492 g_CURR_LISTS_rec.program_update_date := NULL;
493
494 END IF;
495
496 IF g_CURR_LISTS_rec.request_id = FND_API.G_MISS_NUM THEN
497
498 g_CURR_LISTS_rec.request_id := NULL;
499
500 END IF;
501
502 -- Redefault if there are any missing attributes.
503
504 IF g_CURR_LISTS_rec.attribute1 = FND_API.G_MISS_CHAR
505 OR g_CURR_LISTS_rec.attribute10 = FND_API.G_MISS_CHAR
506 OR g_CURR_LISTS_rec.attribute11 = FND_API.G_MISS_CHAR
507 OR g_CURR_LISTS_rec.attribute12 = FND_API.G_MISS_CHAR
508 OR g_CURR_LISTS_rec.attribute13 = FND_API.G_MISS_CHAR
509 OR g_CURR_LISTS_rec.attribute14 = FND_API.G_MISS_CHAR
510 OR g_CURR_LISTS_rec.attribute15 = FND_API.G_MISS_CHAR
511 OR g_CURR_LISTS_rec.attribute2 = FND_API.G_MISS_CHAR
512 OR g_CURR_LISTS_rec.attribute3 = FND_API.G_MISS_CHAR
513 OR g_CURR_LISTS_rec.attribute4 = FND_API.G_MISS_CHAR
514 OR g_CURR_LISTS_rec.attribute5 = FND_API.G_MISS_CHAR
515 OR g_CURR_LISTS_rec.attribute6 = FND_API.G_MISS_CHAR
516 OR g_CURR_LISTS_rec.attribute7 = FND_API.G_MISS_CHAR
517 OR g_CURR_LISTS_rec.attribute8 = FND_API.G_MISS_CHAR
518 OR g_CURR_LISTS_rec.attribute9 = FND_API.G_MISS_CHAR
519 OR g_CURR_LISTS_rec.base_currency_code = FND_API.G_MISS_CHAR
520 OR g_CURR_LISTS_rec.context = FND_API.G_MISS_CHAR
521 OR g_CURR_LISTS_rec.created_by = FND_API.G_MISS_NUM
522 OR g_CURR_LISTS_rec.creation_date = FND_API.G_MISS_DATE
523 OR g_CURR_LISTS_rec.currency_header_id = FND_API.G_MISS_NUM
524 OR g_CURR_LISTS_rec.description = FND_API.G_MISS_CHAR
525 OR g_CURR_LISTS_rec.last_updated_by = FND_API.G_MISS_NUM
526 OR g_CURR_LISTS_rec.last_update_date = FND_API.G_MISS_DATE
527 OR g_CURR_LISTS_rec.last_update_login = FND_API.G_MISS_NUM
528 OR g_CURR_LISTS_rec.name = FND_API.G_MISS_CHAR
529 OR g_CURR_LISTS_rec.program_application_id = FND_API.G_MISS_NUM
530 OR g_CURR_LISTS_rec.program_id = FND_API.G_MISS_NUM
531 OR g_CURR_LISTS_rec.program_update_date = FND_API.G_MISS_DATE
532 OR g_CURR_LISTS_rec.request_id = FND_API.G_MISS_NUM
533 OR g_CURR_LISTS_rec.request_id = FND_API.G_MISS_NUM
534 OR g_CURR_LISTS_rec.base_rounding_factor = FND_API.G_MISS_NUM
535 OR g_CURR_LISTS_rec.base_markup_operator = FND_API.G_MISS_CHAR
536 OR g_CURR_LISTS_rec.base_markup_value = FND_API.G_MISS_NUM
537 OR g_CURR_LISTS_rec.base_markup_formula_id = FND_API.G_MISS_NUM
538 -- OR g_CURR_LISTS_rec.row_id = FND_API.G_MISS_NUM --Commented by Sunil
539 THEN
540
541 QP_Default_Curr_Lists.Attributes
542 ( p_CURR_LISTS_rec => g_CURR_LISTS_rec
543 , p_iteration => p_iteration + 1
544 , x_CURR_LISTS_rec => x_CURR_LISTS_rec
545 );
546
547 ELSE
548
549 -- Done defaulting attributes
550
551 x_CURR_LISTS_rec := g_CURR_LISTS_rec;
552
553 END IF;
554
555 END Attributes;
556
557 END QP_Default_Curr_Lists;