DBA Data[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;