[Home] [Help]
PACKAGE BODY: APPS.QP_DEFAULT_CURR_DETAILS
Source
1 PACKAGE BODY QP_Default_Curr_Details AS
2 /* $Header: QPXDCDTB.pls 120.2 2005/07/07 04:26:12 appldev ship $ */
3
4 -- Global constant holding the package name
5
6 G_PKG_NAME CONSTANT VARCHAR2(30) := 'QP_Default_Curr_Details';
7
8 -- Package global used within the package.
9
10 g_CURR_DETAILS_rec QP_Currency_PUB.Curr_Details_Rec_Type;
11
12 -- Get functions.
13
14 FUNCTION Get_Conversion_Date
15 RETURN DATE
16 IS
17 BEGIN
18
19 RETURN NULL;
20
21 END Get_Conversion_Date;
22
23 FUNCTION Get_Conversion_Date_Type
24 RETURN VARCHAR2
25 IS
26 BEGIN
27
28 RETURN NULL;
29
30 END Get_Conversion_Date_Type;
31
32 /*
33 FUNCTION Get_Conversion_Method
34 RETURN VARCHAR2
35 IS
36 BEGIN
37
38 RETURN NULL;
39
40 END Get_Conversion_Method;
41 */
42
43 FUNCTION Get_Conversion_Type
44 RETURN VARCHAR2
45 IS
46 BEGIN
47
48 RETURN NULL;
49
50 END Get_Conversion_Type;
51
52 FUNCTION Get_Currency_Detail
53 RETURN NUMBER
54 IS
55 l_currency_detail_id NUMBER := FND_API.G_MISS_NUM;
56 BEGIN
57
58 select QP_CURRENCY_DETAILS_S.nextval
59 into l_currency_detail_id
60 from dual;
61
62 RETURN l_currency_detail_id;
63
64 END Get_Currency_Detail;
65
66 FUNCTION Get_Currency_Header
67 RETURN NUMBER
68 IS
69 BEGIN
70
71 RETURN NULL;
72
73 END Get_Currency_Header;
74
75 FUNCTION Get_End_Date_Active
76 RETURN DATE
77 IS
78 BEGIN
79
80 RETURN NULL;
81
82 END Get_End_Date_Active;
83
84 FUNCTION Get_Fixed_Value
85 RETURN NUMBER
86 IS
87 BEGIN
88
89 RETURN NULL;
90
91 END Get_Fixed_Value;
92
93 FUNCTION Get_Markup_Formula
94 RETURN NUMBER
95 IS
96 BEGIN
97
98 RETURN NULL;
99
100 END Get_Markup_Formula;
101
102 FUNCTION Get_Markup_Operator
103 RETURN VARCHAR2
104 IS
105 BEGIN
106
107 RETURN NULL;
108
109 END Get_Markup_Operator;
110
111 FUNCTION Get_Markup_Value
112 RETURN NUMBER
113 IS
114 BEGIN
115
116 RETURN NULL;
117
118 END Get_Markup_Value;
119
120 FUNCTION Get_Price_Formula
121 RETURN NUMBER
122 IS
123 BEGIN
124
125 RETURN NULL;
126
127 END Get_Price_Formula;
128
129 FUNCTION Get_Rounding_Factor
130 RETURN NUMBER
131 IS
132 BEGIN
133
134 RETURN NULL;
135
136 END Get_Rounding_Factor;
137
138 FUNCTION Get_Selling_Rounding_Factor
139 RETURN NUMBER
140 IS
141 BEGIN
142
143 RETURN NULL;
144
145 END Get_Selling_Rounding_Factor;
146
147 FUNCTION Get_Start_Date_Active
148 RETURN DATE
149 IS
150 BEGIN
151
152 RETURN NULL;
153
154 END Get_Start_Date_Active;
155
156 FUNCTION Get_To_Currency
157 RETURN VARCHAR2
158 IS
159 BEGIN
160
161 RETURN NULL;
162
163 END Get_To_Currency;
164
165 FUNCTION Get_curr_attribute_type
166 RETURN VARCHAR2
167 IS
168 BEGIN
169
170 RETURN NULL;
171
172 END Get_curr_attribute_type;
173
174 FUNCTION Get_curr_attribute_context
175 RETURN VARCHAR2
176 IS
177 BEGIN
178
179 RETURN NULL;
180
181 END Get_curr_attribute_context;
182
183 FUNCTION Get_curr_attribute
184 RETURN VARCHAR2
185 IS
186 BEGIN
187
188 RETURN NULL;
189
190 END Get_curr_attribute;
191
192 FUNCTION Get_curr_attribute_value
193 RETURN VARCHAR2
194 IS
195 BEGIN
196
197 RETURN NULL;
198
199 END Get_curr_attribute_value;
200
201 FUNCTION Get_Precedence
202 RETURN NUMBER
203 IS
204 BEGIN
205
206 RETURN NULL;
207
208 END Get_Precedence;
209
210
211 PROCEDURE Get_Flex_Curr_Details
212 IS
213 BEGIN
214
215 -- In the future call Flex APIs for defaults
216
217 IF g_CURR_DETAILS_rec.attribute1 = FND_API.G_MISS_CHAR THEN
218 g_CURR_DETAILS_rec.attribute1 := NULL;
219 END IF;
220
221 IF g_CURR_DETAILS_rec.attribute10 = FND_API.G_MISS_CHAR THEN
222 g_CURR_DETAILS_rec.attribute10 := NULL;
223 END IF;
224
225 IF g_CURR_DETAILS_rec.attribute11 = FND_API.G_MISS_CHAR THEN
226 g_CURR_DETAILS_rec.attribute11 := NULL;
227 END IF;
228
229 IF g_CURR_DETAILS_rec.attribute12 = FND_API.G_MISS_CHAR THEN
230 g_CURR_DETAILS_rec.attribute12 := NULL;
231 END IF;
232
233 IF g_CURR_DETAILS_rec.attribute13 = FND_API.G_MISS_CHAR THEN
234 g_CURR_DETAILS_rec.attribute13 := NULL;
235 END IF;
236
237 IF g_CURR_DETAILS_rec.attribute14 = FND_API.G_MISS_CHAR THEN
238 g_CURR_DETAILS_rec.attribute14 := NULL;
239 END IF;
240
241 IF g_CURR_DETAILS_rec.attribute15 = FND_API.G_MISS_CHAR THEN
242 g_CURR_DETAILS_rec.attribute15 := NULL;
243 END IF;
244
245 IF g_CURR_DETAILS_rec.attribute2 = FND_API.G_MISS_CHAR THEN
246 g_CURR_DETAILS_rec.attribute2 := NULL;
247 END IF;
248
249 IF g_CURR_DETAILS_rec.attribute3 = FND_API.G_MISS_CHAR THEN
250 g_CURR_DETAILS_rec.attribute3 := NULL;
251 END IF;
252
253 IF g_CURR_DETAILS_rec.attribute4 = FND_API.G_MISS_CHAR THEN
254 g_CURR_DETAILS_rec.attribute4 := NULL;
255 END IF;
256
257 IF g_CURR_DETAILS_rec.attribute5 = FND_API.G_MISS_CHAR THEN
258 g_CURR_DETAILS_rec.attribute5 := NULL;
259 END IF;
260
261 IF g_CURR_DETAILS_rec.attribute6 = FND_API.G_MISS_CHAR THEN
262 g_CURR_DETAILS_rec.attribute6 := NULL;
263 END IF;
264
265 IF g_CURR_DETAILS_rec.attribute7 = FND_API.G_MISS_CHAR THEN
266 g_CURR_DETAILS_rec.attribute7 := NULL;
267 END IF;
268
269 IF g_CURR_DETAILS_rec.attribute8 = FND_API.G_MISS_CHAR THEN
270 g_CURR_DETAILS_rec.attribute8 := NULL;
271 END IF;
272
273 IF g_CURR_DETAILS_rec.attribute9 = FND_API.G_MISS_CHAR THEN
274 g_CURR_DETAILS_rec.attribute9 := NULL;
275 END IF;
276
277 IF g_CURR_DETAILS_rec.context = FND_API.G_MISS_CHAR THEN
278 g_CURR_DETAILS_rec.context := NULL;
279 END IF;
280
281 END Get_Flex_Curr_Details;
282
283 -- Procedure Attributes
284
285 PROCEDURE Attributes
286 ( p_CURR_DETAILS_rec IN QP_Currency_PUB.Curr_Details_Rec_Type :=
287 QP_Currency_PUB.G_MISS_CURR_DETAILS_REC
288 , p_iteration IN NUMBER := 1
289 , x_CURR_DETAILS_rec OUT NOCOPY /* file.sql.39 change */ QP_Currency_PUB.Curr_Details_Rec_Type
290 )
291 IS
292 l_CURR_DETAILS_rec QP_Currency_PUB.Curr_Details_Rec_Type; --[prarasto]
293 BEGIN
294
295 -- Check number of iterations.
296
297 IF p_iteration > QP_GLOBALS.G_MAX_DEF_ITERATIONS THEN
298
299 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
300 THEN
301
302 FND_MESSAGE.SET_NAME('QP','OE_DEF_MAX_ITERATION');
303 OE_MSG_PUB.Add;
304
305 END IF;
306
307 RAISE FND_API.G_EXC_ERROR;
308
309 END IF;
310
311 -- Initialize g_CURR_DETAILS_rec
312
313 g_CURR_DETAILS_rec := p_CURR_DETAILS_rec;
314
315 -- Default missing attributes.
316
317 IF g_CURR_DETAILS_rec.conversion_date = FND_API.G_MISS_DATE THEN
318
319 g_CURR_DETAILS_rec.conversion_date := Get_Conversion_Date;
320
321 IF g_CURR_DETAILS_rec.conversion_date IS NOT NULL THEN
322
323 IF QP_Validate.Conversion_Date(g_CURR_DETAILS_rec.conversion_date)
324 THEN
325
326 l_CURR_DETAILS_rec := g_CURR_DETAILS_rec; --[prarasto]
327
328 QP_Curr_Details_Util.Clear_Dependent_Attr
329 ( p_attr_id => QP_Curr_Details_Util.G_CONVERSION_DATE
330 , p_CURR_DETAILS_rec => l_CURR_DETAILS_rec
331 , x_CURR_DETAILS_rec => g_CURR_DETAILS_rec
332 );
333 ELSE
334 g_CURR_DETAILS_rec.conversion_date := NULL;
335 END IF;
336
337 END IF;
338
339 END IF;
340
341 IF g_CURR_DETAILS_rec.conversion_date_type = FND_API.G_MISS_CHAR THEN
342
343 g_CURR_DETAILS_rec.conversion_date_type := Get_Conversion_Date_Type;
344
345 IF g_CURR_DETAILS_rec.conversion_date_type IS NOT NULL THEN
346
347 IF QP_Validate.Conversion_Date_Type(g_CURR_DETAILS_rec.conversion_date_type)
348 THEN
349
350 l_CURR_DETAILS_rec := g_CURR_DETAILS_rec; --[prarasto]
351
352 QP_Curr_Details_Util.Clear_Dependent_Attr
353 ( p_attr_id => QP_Curr_Details_Util.G_CONVERSION_DATE_TYPE
354 , p_CURR_DETAILS_rec => l_CURR_DETAILS_rec
355 , x_CURR_DETAILS_rec => g_CURR_DETAILS_rec
356 );
357 ELSE
358 g_CURR_DETAILS_rec.conversion_date_type := NULL;
359 END IF;
360
361 END IF;
362
363 END IF;
364
365 /*
366 IF g_CURR_DETAILS_rec.conversion_method = FND_API.G_MISS_CHAR THEN
367
368 g_CURR_DETAILS_rec.conversion_method := Get_Conversion_Method;
369
370 IF g_CURR_DETAILS_rec.conversion_method IS NOT NULL THEN
371
372 IF QP_Validate.Conversion_Method(g_CURR_DETAILS_rec.conversion_method)
373 THEN
374
375 l_CURR_DETAILS_rec := g_CURR_DETAILS_rec; --[prarasto]
376
377 QP_Curr_Details_Util.Clear_Dependent_Attr
378 ( p_attr_id => QP_Curr_Details_Util.G_CONVERSION_METHOD
379 , p_CURR_DETAILS_rec => l_CURR_DETAILS_rec
380 , x_CURR_DETAILS_rec => g_CURR_DETAILS_rec
381 );
382 ELSE
383 g_CURR_DETAILS_rec.conversion_method := NULL;
384 END IF;
385
386 END IF;
387
388 END IF;
389 */
390
391 IF g_CURR_DETAILS_rec.conversion_type = FND_API.G_MISS_CHAR THEN
392
393 g_CURR_DETAILS_rec.conversion_type := Get_Conversion_Type;
394
395 IF g_CURR_DETAILS_rec.conversion_type IS NOT NULL THEN
396
397 IF QP_Validate.Conversion_Type(g_CURR_DETAILS_rec.conversion_type)
398 THEN
399
400 l_CURR_DETAILS_rec := g_CURR_DETAILS_rec; --[prarasto]
401
402 QP_Curr_Details_Util.Clear_Dependent_Attr
403 ( p_attr_id => QP_Curr_Details_Util.G_CONVERSION_TYPE
404 , p_CURR_DETAILS_rec => l_CURR_DETAILS_rec
405 , x_CURR_DETAILS_rec => g_CURR_DETAILS_rec
406 );
407 ELSE
408 g_CURR_DETAILS_rec.conversion_type := NULL;
409 END IF;
410
411 END IF;
412
413 END IF;
414
415 IF g_CURR_DETAILS_rec.currency_detail_id = FND_API.G_MISS_NUM THEN
416
417 g_CURR_DETAILS_rec.currency_detail_id := Get_Currency_Detail;
418
419 IF g_CURR_DETAILS_rec.currency_detail_id IS NOT NULL THEN
420
421 IF QP_Validate.Currency_Detail(g_CURR_DETAILS_rec.currency_detail_id)
422 THEN
423
424 l_CURR_DETAILS_rec := g_CURR_DETAILS_rec; --[prarasto]
425
426 QP_Curr_Details_Util.Clear_Dependent_Attr
427 ( p_attr_id => QP_Curr_Details_Util.G_CURRENCY_DETAIL
428 , p_CURR_DETAILS_rec => l_CURR_DETAILS_rec
429 , x_CURR_DETAILS_rec => g_CURR_DETAILS_rec
430 );
431 ELSE
432 g_CURR_DETAILS_rec.currency_detail_id := NULL;
433 END IF;
434
435 END IF;
436
437 END IF;
438
439 IF g_CURR_DETAILS_rec.currency_header_id = FND_API.G_MISS_NUM THEN
440
441 g_CURR_DETAILS_rec.currency_header_id := Get_Currency_Header;
442
443 IF g_CURR_DETAILS_rec.currency_header_id IS NOT NULL THEN
444
445 IF QP_Validate.Currency_Header(g_CURR_DETAILS_rec.currency_header_id)
446 THEN
447
448 l_CURR_DETAILS_rec := g_CURR_DETAILS_rec; --[prarasto]
449
450 QP_Curr_Details_Util.Clear_Dependent_Attr
451 ( p_attr_id => QP_Curr_Details_Util.G_CURRENCY_HEADER
452 , p_CURR_DETAILS_rec => l_CURR_DETAILS_rec
453 , x_CURR_DETAILS_rec => g_CURR_DETAILS_rec
454 );
455 ELSE
456 g_CURR_DETAILS_rec.currency_header_id := NULL;
457 END IF;
458
459 END IF;
460
461 END IF;
462
463 IF g_CURR_DETAILS_rec.end_date_active = FND_API.G_MISS_DATE THEN
464
465 g_CURR_DETAILS_rec.end_date_active := Get_End_Date_Active;
466
467 IF g_CURR_DETAILS_rec.end_date_active IS NOT NULL THEN
468
469 IF QP_Validate.End_Date_Active(g_CURR_DETAILS_rec.end_date_active)
470 THEN
471
472 l_CURR_DETAILS_rec := g_CURR_DETAILS_rec; --[prarasto]
473
474 QP_Curr_Details_Util.Clear_Dependent_Attr
475 ( p_attr_id => QP_Curr_Details_Util.G_END_DATE_ACTIVE
476 , p_CURR_DETAILS_rec => l_CURR_DETAILS_rec
477 , x_CURR_DETAILS_rec => g_CURR_DETAILS_rec
478 );
479 ELSE
480 g_CURR_DETAILS_rec.end_date_active := NULL;
481 END IF;
482
483 END IF;
484
485 END IF;
486
487 IF g_CURR_DETAILS_rec.fixed_value = FND_API.G_MISS_NUM THEN
488
489 g_CURR_DETAILS_rec.fixed_value := Get_Fixed_Value;
490
491 IF g_CURR_DETAILS_rec.fixed_value IS NOT NULL THEN
492
493 IF QP_Validate.Fixed_Value(g_CURR_DETAILS_rec.fixed_value)
494 THEN
495
496 l_CURR_DETAILS_rec := g_CURR_DETAILS_rec; --[prarasto]
497
498 QP_Curr_Details_Util.Clear_Dependent_Attr
499 ( p_attr_id => QP_Curr_Details_Util.G_FIXED_VALUE
500 , p_CURR_DETAILS_rec => l_CURR_DETAILS_rec
501 , x_CURR_DETAILS_rec => g_CURR_DETAILS_rec
502 );
503 ELSE
504 g_CURR_DETAILS_rec.fixed_value := NULL;
505 END IF;
506
507 END IF;
508
509 END IF;
510
511 IF g_CURR_DETAILS_rec.markup_formula_id = FND_API.G_MISS_NUM THEN
512
513 g_CURR_DETAILS_rec.markup_formula_id := Get_Markup_Formula;
514
515 IF g_CURR_DETAILS_rec.markup_formula_id IS NOT NULL THEN
516
517 IF QP_Validate.Markup_Formula(g_CURR_DETAILS_rec.markup_formula_id)
518 THEN
519
520 l_CURR_DETAILS_rec := g_CURR_DETAILS_rec; --[prarasto]
521
522 QP_Curr_Details_Util.Clear_Dependent_Attr
523 ( p_attr_id => QP_Curr_Details_Util.G_MARKUP_FORMULA
524 , p_CURR_DETAILS_rec => l_CURR_DETAILS_rec
525 , x_CURR_DETAILS_rec => g_CURR_DETAILS_rec
526 );
527 ELSE
528 g_CURR_DETAILS_rec.markup_formula_id := NULL;
529 END IF;
530
531 END IF;
532
533 END IF;
534
535 IF g_CURR_DETAILS_rec.markup_operator = FND_API.G_MISS_CHAR THEN
536
537 g_CURR_DETAILS_rec.markup_operator := Get_Markup_Operator;
538
539 IF g_CURR_DETAILS_rec.markup_operator IS NOT NULL THEN
540
541 IF QP_Validate.Markup_Operator(g_CURR_DETAILS_rec.markup_operator)
542 THEN
543
544 l_CURR_DETAILS_rec := g_CURR_DETAILS_rec; --[prarasto]
545
546 QP_Curr_Details_Util.Clear_Dependent_Attr
547 ( p_attr_id => QP_Curr_Details_Util.G_MARKUP_OPERATOR
548 , p_CURR_DETAILS_rec => l_CURR_DETAILS_rec
549 , x_CURR_DETAILS_rec => g_CURR_DETAILS_rec
550 );
551 ELSE
552 g_CURR_DETAILS_rec.markup_operator := NULL;
553 END IF;
554
555 END IF;
556
557 END IF;
558
559 IF g_CURR_DETAILS_rec.markup_value = FND_API.G_MISS_NUM THEN
560
561 g_CURR_DETAILS_rec.markup_value := Get_Markup_Value;
562
563 IF g_CURR_DETAILS_rec.markup_value IS NOT NULL THEN
564
565 IF QP_Validate.Markup_Value(g_CURR_DETAILS_rec.markup_value)
566 THEN
567
568 l_CURR_DETAILS_rec := g_CURR_DETAILS_rec; --[prarasto]
569
570 QP_Curr_Details_Util.Clear_Dependent_Attr
571 ( p_attr_id => QP_Curr_Details_Util.G_MARKUP_VALUE
572 , p_CURR_DETAILS_rec => l_CURR_DETAILS_rec
573 , x_CURR_DETAILS_rec => g_CURR_DETAILS_rec
574 );
575 ELSE
576 g_CURR_DETAILS_rec.markup_value := NULL;
577 END IF;
578
579 END IF;
580
581 END IF;
582
583 IF g_CURR_DETAILS_rec.price_formula_id = FND_API.G_MISS_NUM THEN
584
585 g_CURR_DETAILS_rec.price_formula_id := Get_Price_Formula;
586
587 IF g_CURR_DETAILS_rec.price_formula_id IS NOT NULL THEN
588
589 IF QP_Validate.Price_Formula(g_CURR_DETAILS_rec.price_formula_id)
590 THEN
591
592 l_CURR_DETAILS_rec := g_CURR_DETAILS_rec; --[prarasto]
593
594 QP_Curr_Details_Util.Clear_Dependent_Attr
595 ( p_attr_id => QP_Curr_Details_Util.G_PRICE_FORMULA
596 , p_CURR_DETAILS_rec => l_CURR_DETAILS_rec
597 , x_CURR_DETAILS_rec => g_CURR_DETAILS_rec
598 );
599 ELSE
600 g_CURR_DETAILS_rec.price_formula_id := NULL;
601 END IF;
602
603 END IF;
604
605 END IF;
606
607 IF g_CURR_DETAILS_rec.rounding_factor = FND_API.G_MISS_NUM THEN
608
609 g_CURR_DETAILS_rec.rounding_factor := Get_Rounding_Factor;
610
611 IF g_CURR_DETAILS_rec.rounding_factor IS NOT NULL THEN
612
613 IF QP_Validate.Rounding_Factor(g_CURR_DETAILS_rec.rounding_factor)
614 THEN
615
616 l_CURR_DETAILS_rec := g_CURR_DETAILS_rec; --[prarasto]
617
618 QP_Curr_Details_Util.Clear_Dependent_Attr
619 ( p_attr_id => QP_Curr_Details_Util.G_ROUNDING_FACTOR
620 , p_CURR_DETAILS_rec => l_CURR_DETAILS_rec
621 , x_CURR_DETAILS_rec => g_CURR_DETAILS_rec
622 );
623 ELSE
624 g_CURR_DETAILS_rec.rounding_factor := NULL;
625 END IF;
626
627 END IF;
628
629 END IF;
630
631 IF g_CURR_DETAILS_rec.selling_rounding_factor = FND_API.G_MISS_NUM THEN
632
633 g_CURR_DETAILS_rec.selling_rounding_factor := Get_Selling_Rounding_Factor;
634
635 IF g_CURR_DETAILS_rec.selling_rounding_factor IS NOT NULL THEN
636
637 IF QP_Validate.Rounding_Factor(g_CURR_DETAILS_rec.selling_rounding_factor)
638 THEN
639
640 l_CURR_DETAILS_rec := g_CURR_DETAILS_rec; --[prarasto]
641
642 QP_Curr_Details_Util.Clear_Dependent_Attr
643 ( p_attr_id => QP_Curr_Details_Util.G_SELLING_ROUNDING_FACTOR
644 , p_CURR_DETAILS_rec => l_CURR_DETAILS_rec
645 , x_CURR_DETAILS_rec => g_CURR_DETAILS_rec
646 );
647 ELSE
648 g_CURR_DETAILS_rec.selling_rounding_factor := NULL;
649 END IF;
650
651 END IF;
652
653 END IF;
654
655 IF g_CURR_DETAILS_rec.start_date_active = FND_API.G_MISS_DATE THEN
656
657 g_CURR_DETAILS_rec.start_date_active := Get_Start_Date_Active;
658
659 IF g_CURR_DETAILS_rec.start_date_active IS NOT NULL THEN
660
661 IF QP_Validate.Start_Date_Active(g_CURR_DETAILS_rec.start_date_active)
662 THEN
663
664 l_CURR_DETAILS_rec := g_CURR_DETAILS_rec; --[prarasto]
665
666 QP_Curr_Details_Util.Clear_Dependent_Attr
667 ( p_attr_id => QP_Curr_Details_Util.G_START_DATE_ACTIVE
668 , p_CURR_DETAILS_rec => l_CURR_DETAILS_rec
669 , x_CURR_DETAILS_rec => g_CURR_DETAILS_rec
670 );
671 ELSE
672 g_CURR_DETAILS_rec.start_date_active := NULL;
673 END IF;
674
675 END IF;
676
677 END IF;
678
679 IF g_CURR_DETAILS_rec.to_currency_code = FND_API.G_MISS_CHAR THEN
680
681 g_CURR_DETAILS_rec.to_currency_code := Get_To_Currency;
682
683 IF g_CURR_DETAILS_rec.to_currency_code IS NOT NULL THEN
684
685 IF QP_Validate.To_Currency(g_CURR_DETAILS_rec.to_currency_code)
686 THEN
687
688 l_CURR_DETAILS_rec := g_CURR_DETAILS_rec; --[prarasto]
689
690 QP_Curr_Details_Util.Clear_Dependent_Attr
691 ( p_attr_id => QP_Curr_Details_Util.G_TO_CURRENCY
692 , p_CURR_DETAILS_rec => l_CURR_DETAILS_rec
693 , x_CURR_DETAILS_rec => g_CURR_DETAILS_rec
694 );
695 ELSE
696 g_CURR_DETAILS_rec.to_currency_code := NULL;
697 END IF;
698
699 END IF;
700
701 END IF;
702
703 IF g_CURR_DETAILS_rec.curr_attribute_type = FND_API.G_MISS_CHAR THEN
704
705 g_CURR_DETAILS_rec.curr_attribute_type := Get_curr_attribute_type;
706
707 IF g_CURR_DETAILS_rec.curr_attribute_type IS NOT NULL THEN
708
709 IF QP_Validate.Curr_Attribute_Type(g_CURR_DETAILS_rec.curr_attribute_type)
710 THEN
711
712 l_CURR_DETAILS_rec := g_CURR_DETAILS_rec; --[prarasto]
713
714 QP_Curr_Details_Util.Clear_Dependent_Attr
715 ( p_attr_id => QP_Curr_Details_Util.G_curr_attribute_type
716 , p_CURR_DETAILS_rec => l_CURR_DETAILS_rec
717 , x_CURR_DETAILS_rec => g_CURR_DETAILS_rec
718 );
719 ELSE
720 g_CURR_DETAILS_rec.curr_attribute_type := NULL;
721 END IF;
722
723 END IF;
724
725 END IF;
726
727 IF g_CURR_DETAILS_rec.curr_attribute_context = FND_API.G_MISS_CHAR THEN
728
729 g_CURR_DETAILS_rec.curr_attribute_context := Get_curr_attribute_context;
730
731 IF g_CURR_DETAILS_rec.curr_attribute_context IS NOT NULL THEN
732
733 IF QP_Validate.Curr_Attribute_Context(g_CURR_DETAILS_rec.curr_attribute_context)
734 THEN
735
736 l_CURR_DETAILS_rec := g_CURR_DETAILS_rec; --[prarasto]
737
738 QP_Curr_Details_Util.Clear_Dependent_Attr
739 ( p_attr_id => QP_Curr_Details_Util.G_curr_attribute_context
740 , p_CURR_DETAILS_rec => l_CURR_DETAILS_rec
741 , x_CURR_DETAILS_rec => g_CURR_DETAILS_rec
742 );
743 ELSE
744 g_CURR_DETAILS_rec.curr_attribute_context := NULL;
745 END IF;
746
747 END IF;
748
749 END IF;
750
751 IF g_CURR_DETAILS_rec.curr_attribute = FND_API.G_MISS_CHAR THEN
752
753 g_CURR_DETAILS_rec.curr_attribute := Get_curr_attribute;
754
755 IF g_CURR_DETAILS_rec.curr_attribute IS NOT NULL THEN
756
757 IF QP_Validate.Curr_Attribute(g_CURR_DETAILS_rec.curr_attribute)
758 THEN
759
760 l_CURR_DETAILS_rec := g_CURR_DETAILS_rec; --[prarasto]
761
762 QP_Curr_Details_Util.Clear_Dependent_Attr
763 ( p_attr_id => QP_Curr_Details_Util.G_curr_attribute
764 , p_CURR_DETAILS_rec => l_CURR_DETAILS_rec
765 , x_CURR_DETAILS_rec => g_CURR_DETAILS_rec
766 );
767 ELSE
768 g_CURR_DETAILS_rec.curr_attribute := NULL;
769 END IF;
770
771 END IF;
772
773 END IF;
774
775 IF g_CURR_DETAILS_rec.curr_attribute_value = FND_API.G_MISS_CHAR THEN
776
777 g_CURR_DETAILS_rec.curr_attribute_value := Get_curr_attribute_value;
778
779 IF g_CURR_DETAILS_rec.curr_attribute_value IS NOT NULL THEN
780
781 IF QP_Validate.Curr_Attribute_Value(g_CURR_DETAILS_rec.curr_attribute_value)
782 THEN
783
784 l_CURR_DETAILS_rec := g_CURR_DETAILS_rec; --[prarasto]
785
786 QP_Curr_Details_Util.Clear_Dependent_Attr
787 ( p_attr_id => QP_Curr_Details_Util.G_curr_attribute_value
788 , p_CURR_DETAILS_rec => l_CURR_DETAILS_rec
789 , x_CURR_DETAILS_rec => g_CURR_DETAILS_rec
790 );
791 ELSE
792 g_CURR_DETAILS_rec.curr_attribute_value := NULL;
793 END IF;
794
795 END IF;
796
797 END IF;
798
799 IF g_CURR_DETAILS_rec.precedence = FND_API.G_MISS_NUM THEN
800
801 g_CURR_DETAILS_rec.precedence := Get_Precedence;
802
803 IF g_CURR_DETAILS_rec.precedence IS NOT NULL THEN
804
805 IF QP_Validate.Precedence(g_CURR_DETAILS_rec.precedence)
806 THEN
807
808 l_CURR_DETAILS_rec := g_CURR_DETAILS_rec; --[prarasto]
809
810 QP_Curr_Details_Util.Clear_Dependent_Attr
811 ( p_attr_id => QP_Curr_Details_Util.G_precedence
812 , p_CURR_DETAILS_rec => l_CURR_DETAILS_rec
813 , x_CURR_DETAILS_rec => g_CURR_DETAILS_rec
814 );
815 ELSE
816 g_CURR_DETAILS_rec.precedence := NULL;
817 END IF;
818
819 END IF;
820
821 END IF;
822
823
824 IF g_CURR_DETAILS_rec.attribute1 = FND_API.G_MISS_CHAR
825 OR g_CURR_DETAILS_rec.attribute10 = FND_API.G_MISS_CHAR
826 OR g_CURR_DETAILS_rec.attribute11 = FND_API.G_MISS_CHAR
827 OR g_CURR_DETAILS_rec.attribute12 = FND_API.G_MISS_CHAR
828 OR g_CURR_DETAILS_rec.attribute13 = FND_API.G_MISS_CHAR
829 OR g_CURR_DETAILS_rec.attribute14 = FND_API.G_MISS_CHAR
830 OR g_CURR_DETAILS_rec.attribute15 = FND_API.G_MISS_CHAR
831 OR g_CURR_DETAILS_rec.attribute2 = FND_API.G_MISS_CHAR
832 OR g_CURR_DETAILS_rec.attribute3 = FND_API.G_MISS_CHAR
833 OR g_CURR_DETAILS_rec.attribute4 = FND_API.G_MISS_CHAR
834 OR g_CURR_DETAILS_rec.attribute5 = FND_API.G_MISS_CHAR
835 OR g_CURR_DETAILS_rec.attribute6 = FND_API.G_MISS_CHAR
836 OR g_CURR_DETAILS_rec.attribute7 = FND_API.G_MISS_CHAR
837 OR g_CURR_DETAILS_rec.attribute8 = FND_API.G_MISS_CHAR
838 OR g_CURR_DETAILS_rec.attribute9 = FND_API.G_MISS_CHAR
839 OR g_CURR_DETAILS_rec.context = FND_API.G_MISS_CHAR
840 THEN
841
842 Get_Flex_Curr_Details;
843
844 END IF;
845
846 IF g_CURR_DETAILS_rec.created_by = FND_API.G_MISS_NUM THEN
847
848 g_CURR_DETAILS_rec.created_by := NULL;
849
850 END IF;
851
852 IF g_CURR_DETAILS_rec.creation_date = FND_API.G_MISS_DATE THEN
853
854 g_CURR_DETAILS_rec.creation_date := NULL;
855
856 END IF;
857
858 IF g_CURR_DETAILS_rec.last_updated_by = FND_API.G_MISS_NUM THEN
859
860 g_CURR_DETAILS_rec.last_updated_by := NULL;
861
862 END IF;
863
864 IF g_CURR_DETAILS_rec.last_update_date = FND_API.G_MISS_DATE THEN
865
866 g_CURR_DETAILS_rec.last_update_date := NULL;
867
868 END IF;
869
870 IF g_CURR_DETAILS_rec.last_update_login = FND_API.G_MISS_NUM THEN
871
872 g_CURR_DETAILS_rec.last_update_login := NULL;
873
874 END IF;
875
876 IF g_CURR_DETAILS_rec.program_application_id = FND_API.G_MISS_NUM THEN
877
878 g_CURR_DETAILS_rec.program_application_id := NULL;
879
880 END IF;
881
882 IF g_CURR_DETAILS_rec.program_id = FND_API.G_MISS_NUM THEN
883
884 g_CURR_DETAILS_rec.program_id := NULL;
885
886 END IF;
887
888 IF g_CURR_DETAILS_rec.program_update_date = FND_API.G_MISS_DATE THEN
889
890 g_CURR_DETAILS_rec.program_update_date := NULL;
891
892 END IF;
893
894 IF g_CURR_DETAILS_rec.request_id = FND_API.G_MISS_NUM THEN
895
896 g_CURR_DETAILS_rec.request_id := NULL;
897
898 END IF;
899
900 -- Redefault if there are any missing attributes.
901
902 IF g_CURR_DETAILS_rec.attribute1 = FND_API.G_MISS_CHAR
903 OR g_CURR_DETAILS_rec.attribute10 = FND_API.G_MISS_CHAR
904 OR g_CURR_DETAILS_rec.attribute11 = FND_API.G_MISS_CHAR
905 OR g_CURR_DETAILS_rec.attribute12 = FND_API.G_MISS_CHAR
906 OR g_CURR_DETAILS_rec.attribute13 = FND_API.G_MISS_CHAR
907 OR g_CURR_DETAILS_rec.attribute14 = FND_API.G_MISS_CHAR
908 OR g_CURR_DETAILS_rec.attribute15 = FND_API.G_MISS_CHAR
909 OR g_CURR_DETAILS_rec.attribute2 = FND_API.G_MISS_CHAR
910 OR g_CURR_DETAILS_rec.attribute3 = FND_API.G_MISS_CHAR
911 OR g_CURR_DETAILS_rec.attribute4 = FND_API.G_MISS_CHAR
912 OR g_CURR_DETAILS_rec.attribute5 = FND_API.G_MISS_CHAR
913 OR g_CURR_DETAILS_rec.attribute6 = FND_API.G_MISS_CHAR
914 OR g_CURR_DETAILS_rec.attribute7 = FND_API.G_MISS_CHAR
915 OR g_CURR_DETAILS_rec.attribute8 = FND_API.G_MISS_CHAR
916 OR g_CURR_DETAILS_rec.attribute9 = FND_API.G_MISS_CHAR
917 OR g_CURR_DETAILS_rec.context = FND_API.G_MISS_CHAR
918 OR g_CURR_DETAILS_rec.conversion_date = FND_API.G_MISS_DATE
919 OR g_CURR_DETAILS_rec.conversion_date_type = FND_API.G_MISS_CHAR
920 --OR g_CURR_DETAILS_rec.conversion_method = FND_API.G_MISS_CHAR
921 OR g_CURR_DETAILS_rec.conversion_type = FND_API.G_MISS_CHAR
922 OR g_CURR_DETAILS_rec.created_by = FND_API.G_MISS_NUM
923 OR g_CURR_DETAILS_rec.creation_date = FND_API.G_MISS_DATE
924 OR g_CURR_DETAILS_rec.currency_detail_id = FND_API.G_MISS_NUM
925 OR g_CURR_DETAILS_rec.currency_header_id = FND_API.G_MISS_NUM
926 OR g_CURR_DETAILS_rec.end_date_active = FND_API.G_MISS_DATE
927 OR g_CURR_DETAILS_rec.fixed_value = FND_API.G_MISS_NUM
928 OR g_CURR_DETAILS_rec.last_updated_by = FND_API.G_MISS_NUM
929 OR g_CURR_DETAILS_rec.last_update_date = FND_API.G_MISS_DATE
930 OR g_CURR_DETAILS_rec.last_update_login = FND_API.G_MISS_NUM
931 OR g_CURR_DETAILS_rec.markup_formula_id = FND_API.G_MISS_NUM
932 OR g_CURR_DETAILS_rec.markup_operator = FND_API.G_MISS_CHAR
933 OR g_CURR_DETAILS_rec.markup_value = FND_API.G_MISS_NUM
934 OR g_CURR_DETAILS_rec.price_formula_id = FND_API.G_MISS_NUM
935 OR g_CURR_DETAILS_rec.program_application_id = FND_API.G_MISS_NUM
936 OR g_CURR_DETAILS_rec.program_id = FND_API.G_MISS_NUM
937 OR g_CURR_DETAILS_rec.program_update_date = FND_API.G_MISS_DATE
938 OR g_CURR_DETAILS_rec.request_id = FND_API.G_MISS_NUM
939 OR g_CURR_DETAILS_rec.rounding_factor = FND_API.G_MISS_NUM
940 OR g_CURR_DETAILS_rec.selling_rounding_factor = FND_API.G_MISS_NUM
941 OR g_CURR_DETAILS_rec.start_date_active = FND_API.G_MISS_DATE
942 OR g_CURR_DETAILS_rec.to_currency_code = FND_API.G_MISS_CHAR
943 OR g_CURR_DETAILS_rec.curr_attribute_type = FND_API.G_MISS_CHAR
944 OR g_CURR_DETAILS_rec.curr_attribute_context = FND_API.G_MISS_CHAR
945 OR g_CURR_DETAILS_rec.curr_attribute = FND_API.G_MISS_CHAR
946 OR g_CURR_DETAILS_rec.curr_attribute_value = FND_API.G_MISS_CHAR
947 OR g_CURR_DETAILS_rec.precedence = FND_API.G_MISS_NUM
948 THEN
949
950 QP_Default_Curr_Details.Attributes
951 ( p_CURR_DETAILS_rec => g_CURR_DETAILS_rec
952 , p_iteration => p_iteration + 1
953 , x_CURR_DETAILS_rec => x_CURR_DETAILS_rec
954 );
955
956 ELSE
957
958 -- Done defaulting attributes
959
960 x_CURR_DETAILS_rec := g_CURR_DETAILS_rec;
961
962 END IF;
963
964 END Attributes;
965
966 END QP_Default_Curr_Details;