[Home] [Help]
PACKAGE BODY: APPS.QP_DEFAULT_LIMIT_BALANCES
Source
1 PACKAGE BODY QP_Default_Limit_Balances AS
2 /* $Header: QPXDLMBB.pls 120.2 2005/07/07 04:27:37 appldev ship $ */
3
4 -- Global constant holding the package name
5
6 G_PKG_NAME CONSTANT VARCHAR2(30) := 'QP_Default_Limit_Balances';
7
8 -- Package global used within the package.
9
10 g_LIMIT_BALANCES_rec QP_Limits_PUB.Limit_Balances_Rec_Type;
11
12 -- Get functions.
13
14 FUNCTION Get_Available_Amount
15 RETURN NUMBER
16 IS
17 BEGIN
18
19 RETURN NULL;
20
21 END Get_Available_Amount;
22
23 FUNCTION Get_Consumed_Amount
24 RETURN NUMBER
25 IS
26 BEGIN
27
28 RETURN NULL;
29
30 END Get_Consumed_Amount;
31
32 FUNCTION Get_Limit_Balance
33 RETURN NUMBER
34 IS
35 l_limit_balance_id NUMBER;
36 BEGIN
37
38
39 SELECT qp_limit_balances_s.nextval
40 INTO l_limit_balance_id
41 FROM dual;
42
43 RETURN l_limit_balance_id;
44
45 END Get_Limit_Balance;
46
47 FUNCTION Get_Limit
48 RETURN NUMBER
49 IS
50 BEGIN
51
52 RETURN NULL;
53
54 END Get_Limit;
55
56 FUNCTION Get_Multival_Attr1_Type
57 RETURN VARCHAR2
58 IS
59 BEGIN
60
61 RETURN NULL;
62
63 END Get_Multival_Attr1_Type;
64
65 FUNCTION Get_Multival_Attr1_Context
66 RETURN VARCHAR2
67 IS
68 BEGIN
69
70 RETURN NULL;
71
72 END Get_Multival_Attr1_Context;
73
74 FUNCTION Get_Multival_Attribute1
75 RETURN VARCHAR2
76 IS
77 BEGIN
78
79 RETURN NULL;
80
81 END Get_Multival_Attribute1;
82
83 FUNCTION Get_Multival_Attr1_Value
84 RETURN VARCHAR2
85 IS
86 BEGIN
87
88 RETURN NULL;
89
90 END Get_Multival_Attr1_Value;
91
92
93 FUNCTION Get_Multival_Attr1_Datatype
94 RETURN VARCHAR2
95 IS
96 BEGIN
97
98 RETURN NULL;
99
100 END Get_Multival_Attr1_Datatype;
101
102 FUNCTION Get_Multival_Attr2_Type
103 RETURN VARCHAR2
104 IS
105 BEGIN
106
107 RETURN NULL;
108
109 END Get_Multival_Attr2_Type;
110
111 FUNCTION Get_Multival_Attr2_Context
112 RETURN VARCHAR2
113 IS
114 BEGIN
115
116 RETURN NULL;
117
118 END Get_Multival_Attr2_Context;
119
120 FUNCTION Get_Multival_Attribute2
121 RETURN VARCHAR2
122 IS
123 BEGIN
124
125 RETURN NULL;
126
127 END Get_Multival_Attribute2;
128
129 FUNCTION Get_Multival_Attr2_Value
130 RETURN VARCHAR2
131 IS
132 BEGIN
133
134 RETURN NULL;
135
136 END Get_Multival_Attr2_Value;
137
138
139 FUNCTION Get_Multival_Attr2_Datatype
140 RETURN VARCHAR2
141 IS
142 BEGIN
143
144 RETURN NULL;
145
146 END Get_Multival_Attr2_Datatype;
147
148 FUNCTION Get_Organization_Attr_Context
149 RETURN VARCHAR2
150 IS
151 BEGIN
152
153 RETURN NULL;
154
155 END Get_Organization_Attr_Context;
156
157 FUNCTION Get_Organization_Attribute
158 RETURN VARCHAR2
159 IS
160 BEGIN
161
162 RETURN NULL;
163
164 END Get_Organization_Attribute;
165
166 FUNCTION Get_Organization_Attr_Value
167 RETURN VARCHAR2
168 IS
169 BEGIN
170
171 RETURN NULL;
172
173 END Get_Organization_Attr_Value;
174
175 FUNCTION Get_Reserved_Amount
176 RETURN NUMBER
177 IS
178 BEGIN
179
180 RETURN NULL;
181
182 END Get_Reserved_Amount;
183
184 PROCEDURE Get_Flex_Limit_Balances
185 IS
186 BEGIN
187
188 -- In the future call Flex APIs for defaults
189
190 IF g_LIMIT_BALANCES_rec.attribute1 = FND_API.G_MISS_CHAR THEN
191 g_LIMIT_BALANCES_rec.attribute1 := NULL;
192 END IF;
193
194 IF g_LIMIT_BALANCES_rec.attribute10 = FND_API.G_MISS_CHAR THEN
195 g_LIMIT_BALANCES_rec.attribute10 := NULL;
196 END IF;
197
198 IF g_LIMIT_BALANCES_rec.attribute11 = FND_API.G_MISS_CHAR THEN
199 g_LIMIT_BALANCES_rec.attribute11 := NULL;
200 END IF;
201
202 IF g_LIMIT_BALANCES_rec.attribute12 = FND_API.G_MISS_CHAR THEN
203 g_LIMIT_BALANCES_rec.attribute12 := NULL;
204 END IF;
205
206 IF g_LIMIT_BALANCES_rec.attribute13 = FND_API.G_MISS_CHAR THEN
207 g_LIMIT_BALANCES_rec.attribute13 := NULL;
208 END IF;
209
210 IF g_LIMIT_BALANCES_rec.attribute14 = FND_API.G_MISS_CHAR THEN
211 g_LIMIT_BALANCES_rec.attribute14 := NULL;
212 END IF;
213
214 IF g_LIMIT_BALANCES_rec.attribute15 = FND_API.G_MISS_CHAR THEN
215 g_LIMIT_BALANCES_rec.attribute15 := NULL;
216 END IF;
217
218 IF g_LIMIT_BALANCES_rec.attribute2 = FND_API.G_MISS_CHAR THEN
219 g_LIMIT_BALANCES_rec.attribute2 := NULL;
220 END IF;
221
222 IF g_LIMIT_BALANCES_rec.attribute3 = FND_API.G_MISS_CHAR THEN
223 g_LIMIT_BALANCES_rec.attribute3 := NULL;
224 END IF;
225
226 IF g_LIMIT_BALANCES_rec.attribute4 = FND_API.G_MISS_CHAR THEN
227 g_LIMIT_BALANCES_rec.attribute4 := NULL;
228 END IF;
229
230 IF g_LIMIT_BALANCES_rec.attribute5 = FND_API.G_MISS_CHAR THEN
231 g_LIMIT_BALANCES_rec.attribute5 := NULL;
232 END IF;
233
234 IF g_LIMIT_BALANCES_rec.attribute6 = FND_API.G_MISS_CHAR THEN
235 g_LIMIT_BALANCES_rec.attribute6 := NULL;
236 END IF;
237
238 IF g_LIMIT_BALANCES_rec.attribute7 = FND_API.G_MISS_CHAR THEN
239 g_LIMIT_BALANCES_rec.attribute7 := NULL;
240 END IF;
241
242 IF g_LIMIT_BALANCES_rec.attribute8 = FND_API.G_MISS_CHAR THEN
243 g_LIMIT_BALANCES_rec.attribute8 := NULL;
244 END IF;
245
246 IF g_LIMIT_BALANCES_rec.attribute9 = FND_API.G_MISS_CHAR THEN
247 g_LIMIT_BALANCES_rec.attribute9 := NULL;
248 END IF;
249
250 IF g_LIMIT_BALANCES_rec.context = FND_API.G_MISS_CHAR THEN
251 g_LIMIT_BALANCES_rec.context := NULL;
252 END IF;
253
254 END Get_Flex_Limit_Balances;
255
256 -- Procedure Attributes
257
258 PROCEDURE Attributes
259 ( p_LIMIT_BALANCES_rec IN QP_Limits_PUB.Limit_Balances_Rec_Type :=
260 QP_Limits_PUB.G_MISS_LIMIT_BALANCES_REC
261 , p_iteration IN NUMBER := 1
262 , x_LIMIT_BALANCES_rec OUT NOCOPY /* file.sql.39 change */ QP_Limits_PUB.Limit_Balances_Rec_Type
263 )
264 IS
265 l_LIMIT_BALANCES_rec QP_Limits_PUB.Limit_Balances_Rec_Type; --[prarasto]
266 BEGIN
267
268 -- Check number of iterations.
269
270 IF p_iteration > QP_GLOBALS.G_MAX_DEF_ITERATIONS THEN
271
272 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
273 THEN
274
275 FND_MESSAGE.SET_NAME('QP','OE_DEF_MAX_ITERATION');
276 OE_MSG_PUB.Add;
277
278 END IF;
279
280 RAISE FND_API.G_EXC_ERROR;
281
282 END IF;
283
284 -- Initialize g_LIMIT_BALANCES_rec
285
286 g_LIMIT_BALANCES_rec := p_LIMIT_BALANCES_rec;
287
288 -- Default missing attributes.
289
290 IF g_LIMIT_BALANCES_rec.available_amount = FND_API.G_MISS_NUM THEN
291
292 g_LIMIT_BALANCES_rec.available_amount := Get_Available_Amount;
293
294 IF g_LIMIT_BALANCES_rec.available_amount IS NOT NULL THEN
295
296 IF QP_Validate.Available_Amount(g_LIMIT_BALANCES_rec.available_amount)
297 THEN
298
299 l_LIMIT_BALANCES_rec := g_LIMIT_BALANCES_rec; --[prarasto]
300
301 QP_Limit_Balances_Util.Clear_Dependent_Attr
302 ( p_attr_id => QP_Limit_Balances_Util.G_AVAILABLE_AMOUNT
303 , p_LIMIT_BALANCES_rec => l_LIMIT_BALANCES_rec
304 , x_LIMIT_BALANCES_rec => g_LIMIT_BALANCES_rec
305 );
306 ELSE
307 g_LIMIT_BALANCES_rec.available_amount := NULL;
308 END IF;
309
310 END IF;
311
312 END IF;
313
314 IF g_LIMIT_BALANCES_rec.consumed_amount = FND_API.G_MISS_NUM THEN
315
316 g_LIMIT_BALANCES_rec.consumed_amount := Get_Consumed_Amount;
317
318 IF g_LIMIT_BALANCES_rec.consumed_amount IS NOT NULL THEN
319
320 IF QP_Validate.Consumed_Amount(g_LIMIT_BALANCES_rec.consumed_amount)
321 THEN
322
323 l_LIMIT_BALANCES_rec := g_LIMIT_BALANCES_rec; --[prarasto]
324
325 QP_Limit_Balances_Util.Clear_Dependent_Attr
326 ( p_attr_id => QP_Limit_Balances_Util.G_CONSUMED_AMOUNT
327 , p_LIMIT_BALANCES_rec => l_LIMIT_BALANCES_rec
328 , x_LIMIT_BALANCES_rec => g_LIMIT_BALANCES_rec
329 );
330 ELSE
331 g_LIMIT_BALANCES_rec.consumed_amount := NULL;
332 END IF;
333
334 END IF;
335
336 END IF;
337
338
339 IF g_LIMIT_BALANCES_rec.limit_balance_id = FND_API.G_MISS_NUM THEN
340
341 g_LIMIT_BALANCES_rec.limit_balance_id := Get_Limit_Balance;
342
343 IF g_LIMIT_BALANCES_rec.limit_balance_id IS NOT NULL THEN
344
345 IF QP_Validate.Limit_Balance(g_LIMIT_BALANCES_rec.limit_balance_id)
346 THEN
347
348 l_LIMIT_BALANCES_rec := g_LIMIT_BALANCES_rec; --[prarasto]
349
350 QP_Limit_Balances_Util.Clear_Dependent_Attr
351 ( p_attr_id => QP_Limit_Balances_Util.G_LIMIT_BALANCE
352 , p_LIMIT_BALANCES_rec => l_LIMIT_BALANCES_rec
353 , x_LIMIT_BALANCES_rec => g_LIMIT_BALANCES_rec
354 );
355 ELSE
356 g_LIMIT_BALANCES_rec.limit_balance_id := NULL;
357 END IF;
358
359 END IF;
360
361 END IF;
362
363 IF g_LIMIT_BALANCES_rec.limit_id = FND_API.G_MISS_NUM THEN
364
365 g_LIMIT_BALANCES_rec.limit_id := Get_Limit;
366
367 IF g_LIMIT_BALANCES_rec.limit_id IS NOT NULL THEN
368
369 IF QP_Validate.Limit(g_LIMIT_BALANCES_rec.limit_id)
370 THEN
371
372 l_LIMIT_BALANCES_rec := g_LIMIT_BALANCES_rec; --[prarasto]
373
374 QP_Limit_Balances_Util.Clear_Dependent_Attr
375 ( p_attr_id => QP_Limit_Balances_Util.G_LIMIT
376 , p_LIMIT_BALANCES_rec => l_LIMIT_BALANCES_rec
377 , x_LIMIT_BALANCES_rec => g_LIMIT_BALANCES_rec
378 );
379 ELSE
380 g_LIMIT_BALANCES_rec.limit_id := NULL;
381 END IF;
382
383 END IF;
384
385 END IF;
386
387 IF g_LIMIT_BALANCES_rec.multival_attr1_type = FND_API.G_MISS_CHAR THEN
388
389 g_LIMIT_BALANCES_rec.multival_attr1_type := Get_Multival_Attr1_Type;
390
391 IF g_LIMIT_BALANCES_rec.multival_attr1_type IS NOT NULL THEN
392
393 IF QP_Validate.Multival_Attr1_Type(g_LIMIT_BALANCES_rec.multival_attr1_type)
394 THEN
395
396 l_LIMIT_BALANCES_rec := g_LIMIT_BALANCES_rec; --[prarasto]
397
398 QP_Limit_Balances_Util.Clear_Dependent_Attr
399 ( p_attr_id => QP_Limit_Balances_Util.G_MULTIVAL_ATTR1_TYPE
400 , p_LIMIT_BALANCES_rec => l_LIMIT_BALANCES_rec
401 , x_LIMIT_BALANCES_rec => g_LIMIT_BALANCES_rec
402 );
403 ELSE
404 g_LIMIT_BALANCES_rec.multival_attr1_type := NULL;
405 END IF;
406
407 END IF;
408
409 END IF;
410
411 IF g_LIMIT_BALANCES_rec.multival_attr1_context = FND_API.G_MISS_CHAR THEN
412
413 g_LIMIT_BALANCES_rec.multival_attr1_context := Get_Multival_Attr1_Context;
414
415 IF g_LIMIT_BALANCES_rec.multival_attr1_context IS NOT NULL THEN
416
417 IF QP_Validate.Multival_Attr1_Context(g_LIMIT_BALANCES_rec.multival_attr1_context)
418 THEN
419
420 l_LIMIT_BALANCES_rec := g_LIMIT_BALANCES_rec; --[prarasto]
421
422 QP_Limit_Balances_Util.Clear_Dependent_Attr
423 ( p_attr_id => QP_Limit_Balances_Util.G_MULTIVAL_ATTR1_CONTEXT
424 , p_LIMIT_BALANCES_rec => l_LIMIT_BALANCES_rec
425 , x_LIMIT_BALANCES_rec => g_LIMIT_BALANCES_rec
426 );
427 ELSE
428 g_LIMIT_BALANCES_rec.multival_attr1_context := NULL;
429 END IF;
430
431 END IF;
432
433 END IF;
434
435 IF g_LIMIT_BALANCES_rec.multival_attribute1 = FND_API.G_MISS_CHAR THEN
436
437 g_LIMIT_BALANCES_rec.multival_attribute1 := Get_Multival_Attribute1;
438
439 IF g_LIMIT_BALANCES_rec.multival_attribute1 IS NOT NULL THEN
440
441 IF QP_Validate.Multival_Attribute1(g_LIMIT_BALANCES_rec.multival_attribute1)
442 THEN
443
444 l_LIMIT_BALANCES_rec := g_LIMIT_BALANCES_rec; --[prarasto]
445
446 QP_Limit_Balances_Util.Clear_Dependent_Attr
447 ( p_attr_id => QP_Limit_Balances_Util.G_MULTIVAL_ATTRIBUTE1
448 , p_LIMIT_BALANCES_rec => l_LIMIT_BALANCES_rec
449 , x_LIMIT_BALANCES_rec => g_LIMIT_BALANCES_rec
450 );
451 ELSE
452 g_LIMIT_BALANCES_rec.multival_attribute1 := NULL;
453 END IF;
454
455 END IF;
456
457 END IF;
458
459 IF g_LIMIT_BALANCES_rec.multival_attr1_value = FND_API.G_MISS_CHAR THEN
460
461 g_LIMIT_BALANCES_rec.multival_attr1_value := Get_Multival_Attr1_Value;
462
463 IF g_LIMIT_BALANCES_rec.multival_attr1_value IS NOT NULL THEN
464
465 IF QP_Validate.Multival_Attr1_Value(g_LIMIT_BALANCES_rec.multival_attr1_value)
466 THEN
467
468 l_LIMIT_BALANCES_rec := g_LIMIT_BALANCES_rec; --[prarasto]
469
470 QP_Limit_Balances_Util.Clear_Dependent_Attr
471 ( p_attr_id => QP_Limit_Balances_Util.G_MULTIVAL_ATTR1_VALUE
472 , p_LIMIT_BALANCES_rec => l_LIMIT_BALANCES_rec
473 , x_LIMIT_BALANCES_rec => g_LIMIT_BALANCES_rec
474 );
475 ELSE
476 g_LIMIT_BALANCES_rec.multival_attr1_value := NULL;
477 END IF;
478
479 END IF;
480
481 END IF;
482
483 IF g_LIMIT_BALANCES_rec.multival_attr1_datatype = FND_API.G_MISS_CHAR THEN
484
485 g_LIMIT_BALANCES_rec.multival_attr1_datatype := Get_Multival_Attr1_Datatype;
486
487 IF g_LIMIT_BALANCES_rec.multival_attr1_datatype IS NOT NULL THEN
488
489 IF QP_Validate.Multival_Attr1_Datatype(g_LIMIT_BALANCES_rec.multival_attr1_datatype)
490 THEN
491
492 l_LIMIT_BALANCES_rec := g_LIMIT_BALANCES_rec; --[prarasto]
493
494 QP_Limit_Balances_Util.Clear_Dependent_Attr
495 ( p_attr_id => QP_Limit_Balances_Util.G_MULTIVAL_ATTR1_DATATYPE
496 , p_LIMIT_BALANCES_rec => l_LIMIT_BALANCES_rec
497 , x_LIMIT_BALANCES_rec => g_LIMIT_BALANCES_rec
498 );
499 ELSE
500 g_LIMIT_BALANCES_rec.multival_attr1_datatype := NULL;
501 END IF;
502
503 END IF;
504
505 END IF;
506
507
508 IF g_LIMIT_BALANCES_rec.multival_attr2_type = FND_API.G_MISS_CHAR THEN
509
510 g_LIMIT_BALANCES_rec.multival_attr2_type := Get_Multival_Attr2_Type;
511
512 IF g_LIMIT_BALANCES_rec.multival_attr2_type IS NOT NULL THEN
513
514 IF QP_Validate.Multival_Attr2_Type(g_LIMIT_BALANCES_rec.multival_attr2_type)
515 THEN
516
517 l_LIMIT_BALANCES_rec := g_LIMIT_BALANCES_rec; --[prarasto]
518
519 QP_Limit_Balances_Util.Clear_Dependent_Attr
520 ( p_attr_id => QP_Limit_Balances_Util.G_MULTIVAL_ATTR2_TYPE
521 , p_LIMIT_BALANCES_rec => l_LIMIT_BALANCES_rec
522 , x_LIMIT_BALANCES_rec => g_LIMIT_BALANCES_rec
523 );
524 ELSE
525 g_LIMIT_BALANCES_rec.multival_attr2_type := NULL;
526 END IF;
527
528 END IF;
529
530 END IF;
531
532 IF g_LIMIT_BALANCES_rec.multival_attr2_context = FND_API.G_MISS_CHAR THEN
533
534 g_LIMIT_BALANCES_rec.multival_attr2_context := Get_Multival_Attr2_Context;
535
536 IF g_LIMIT_BALANCES_rec.multival_attr2_context IS NOT NULL THEN
537
538 IF QP_Validate.Multival_Attr2_Context(g_LIMIT_BALANCES_rec.multival_attr2_context)
539 THEN
540
541 l_LIMIT_BALANCES_rec := g_LIMIT_BALANCES_rec; --[prarasto]
542
543 QP_Limit_Balances_Util.Clear_Dependent_Attr
544 ( p_attr_id => QP_Limit_Balances_Util.G_MULTIVAL_ATTR2_CONTEXT
545 , p_LIMIT_BALANCES_rec => l_LIMIT_BALANCES_rec
546 , x_LIMIT_BALANCES_rec => g_LIMIT_BALANCES_rec
547 );
548 ELSE
549 g_LIMIT_BALANCES_rec.multival_attr2_context := NULL;
550 END IF;
551
552 END IF;
553
554 END IF;
555
556 IF g_LIMIT_BALANCES_rec.multival_attribute2 = FND_API.G_MISS_CHAR THEN
557
558 g_LIMIT_BALANCES_rec.multival_attribute2 := Get_Multival_Attribute2;
559
560 IF g_LIMIT_BALANCES_rec.multival_attribute2 IS NOT NULL THEN
561
562 IF QP_Validate.Multival_Attribute2(g_LIMIT_BALANCES_rec.multival_attribute2)
563 THEN
564
565 l_LIMIT_BALANCES_rec := g_LIMIT_BALANCES_rec; --[prarasto]
566
567 QP_Limit_Balances_Util.Clear_Dependent_Attr
568 ( p_attr_id => QP_Limit_Balances_Util.G_MULTIVAL_ATTRIBUTE2
569 , p_LIMIT_BALANCES_rec => l_LIMIT_BALANCES_rec
570 , x_LIMIT_BALANCES_rec => g_LIMIT_BALANCES_rec
571 );
572 ELSE
573 g_LIMIT_BALANCES_rec.multival_attribute2 := NULL;
574 END IF;
575
576 END IF;
577
578 END IF;
579
580 IF g_LIMIT_BALANCES_rec.multival_attr2_value = FND_API.G_MISS_CHAR THEN
581
582 g_LIMIT_BALANCES_rec.multival_attr2_value := Get_Multival_Attr2_Value;
583
584 IF g_LIMIT_BALANCES_rec.multival_attr2_value IS NOT NULL THEN
585
586 IF QP_Validate.Multival_Attr2_Value(g_LIMIT_BALANCES_rec.multival_attr2_value)
587 THEN
588
589 l_LIMIT_BALANCES_rec := g_LIMIT_BALANCES_rec; --[prarasto]
590
591 QP_Limit_Balances_Util.Clear_Dependent_Attr
592 ( p_attr_id => QP_Limit_Balances_Util.G_MULTIVAL_ATTR2_VALUE
593 , p_LIMIT_BALANCES_rec => l_LIMIT_BALANCES_rec
594 , x_LIMIT_BALANCES_rec => g_LIMIT_BALANCES_rec
595 );
596 ELSE
597 g_LIMIT_BALANCES_rec.multival_attr2_value := NULL;
598 END IF;
599
600 END IF;
601
602 END IF;
603
604 IF g_LIMIT_BALANCES_rec.multival_attr2_datatype = FND_API.G_MISS_CHAR THEN
605
606 g_LIMIT_BALANCES_rec.multival_attr2_datatype := Get_Multival_Attr2_Datatype;
607
608 IF g_LIMIT_BALANCES_rec.multival_attr2_datatype IS NOT NULL THEN
609
610 IF QP_Validate.Multival_Attr2_Datatype(g_LIMIT_BALANCES_rec.multival_attr2_datatype)
611 THEN
612
613 l_LIMIT_BALANCES_rec := g_LIMIT_BALANCES_rec; --[prarasto]
614
615 QP_Limit_Balances_Util.Clear_Dependent_Attr
616 ( p_attr_id => QP_Limit_Balances_Util.G_MULTIVAL_ATTR2_DATATYPE
617 , p_LIMIT_BALANCES_rec => l_LIMIT_BALANCES_rec
618 , x_LIMIT_BALANCES_rec => g_LIMIT_BALANCES_rec
619 );
620 ELSE
621 g_LIMIT_BALANCES_rec.multival_attr2_datatype := NULL;
622 END IF;
623
624 END IF;
625
626 END IF;
627
628 IF g_LIMIT_BALANCES_rec.organization_attr_context = FND_API.G_MISS_CHAR THEN
629
630 g_LIMIT_BALANCES_rec.organization_attr_context := Get_Organization_Attr_Context;
631
632 IF g_LIMIT_BALANCES_rec.organization_attr_context IS NOT NULL THEN
633
634 IF QP_Validate.Organization_Attr_Context(g_LIMIT_BALANCES_rec.organization_attr_context)
635 THEN
636
637 l_LIMIT_BALANCES_rec := g_LIMIT_BALANCES_rec; --[prarasto]
638
639 QP_Limit_Balances_Util.Clear_Dependent_Attr
640 ( p_attr_id => QP_Limit_Balances_Util.G_ORGANIZATION_ATTR_CONTEXT
641 , p_LIMIT_BALANCES_rec => l_LIMIT_BALANCES_rec
642 , x_LIMIT_BALANCES_rec => g_LIMIT_BALANCES_rec
643 );
644 ELSE
645 g_LIMIT_BALANCES_rec.organization_attr_context := NULL;
646 END IF;
647
648 END IF;
649
650 END IF;
651
652 IF g_LIMIT_BALANCES_rec.organization_attribute = FND_API.G_MISS_CHAR THEN
653
654 g_LIMIT_BALANCES_rec.organization_attribute := Get_Organization_Attribute;
655
656 IF g_LIMIT_BALANCES_rec.organization_attribute IS NOT NULL THEN
657
658 IF QP_Validate.Organization_Attribute(g_LIMIT_BALANCES_rec.organization_attribute)
659 THEN
660
661 l_LIMIT_BALANCES_rec := g_LIMIT_BALANCES_rec; --[prarasto]
662
663 QP_Limit_Balances_Util.Clear_Dependent_Attr
664 ( p_attr_id => QP_Limit_Balances_Util.G_ORGANIZATION_ATTRIBUTE
665 , p_LIMIT_BALANCES_rec => l_LIMIT_BALANCES_rec
666 , x_LIMIT_BALANCES_rec => g_LIMIT_BALANCES_rec
667 );
668 ELSE
669 g_LIMIT_BALANCES_rec.organization_attribute := NULL;
670 END IF;
671
672 END IF;
673
674 END IF;
675
676
677 IF g_LIMIT_BALANCES_rec.organization_attr_value = FND_API.G_MISS_CHAR THEN
678
679 g_LIMIT_BALANCES_rec.organization_attr_value := Get_Organization_Attr_Value;
680
681 IF g_LIMIT_BALANCES_rec.organization_attr_value IS NOT NULL THEN
682
683 IF QP_Validate.Organization_Attr_Value(g_LIMIT_BALANCES_rec.organization_attr_value)
684 THEN
685
686 l_LIMIT_BALANCES_rec := g_LIMIT_BALANCES_rec; --[prarasto]
687
688 QP_Limit_Balances_Util.Clear_Dependent_Attr
689 ( p_attr_id => QP_Limit_Balances_Util.G_ORGANIZATION_ATTR_VALUE
690 , p_LIMIT_BALANCES_rec => l_LIMIT_BALANCES_rec
691 , x_LIMIT_BALANCES_rec => g_LIMIT_BALANCES_rec
692 );
693 ELSE
694 g_LIMIT_BALANCES_rec.organization_attr_value := NULL;
695 END IF;
696
697 END IF;
698
699 END IF;
700
701
702 IF g_LIMIT_BALANCES_rec.reserved_amount = FND_API.G_MISS_NUM THEN
703
704 g_LIMIT_BALANCES_rec.reserved_amount := Get_Reserved_Amount;
705
706 IF g_LIMIT_BALANCES_rec.reserved_amount IS NOT NULL THEN
707
708 IF QP_Validate.Reserved_Amount(g_LIMIT_BALANCES_rec.reserved_amount)
709 THEN
710
711 l_LIMIT_BALANCES_rec := g_LIMIT_BALANCES_rec; --[prarasto]
712
713 QP_Limit_Balances_Util.Clear_Dependent_Attr
714 ( p_attr_id => QP_Limit_Balances_Util.G_RESERVED_AMOUNT
715 , p_LIMIT_BALANCES_rec => l_LIMIT_BALANCES_rec
716 , x_LIMIT_BALANCES_rec => g_LIMIT_BALANCES_rec
717 );
718 ELSE
719 g_LIMIT_BALANCES_rec.reserved_amount := NULL;
720 END IF;
721
722 END IF;
723
724 END IF;
725
726 IF g_LIMIT_BALANCES_rec.attribute1 = FND_API.G_MISS_CHAR
727 OR g_LIMIT_BALANCES_rec.attribute10 = FND_API.G_MISS_CHAR
728 OR g_LIMIT_BALANCES_rec.attribute11 = FND_API.G_MISS_CHAR
729 OR g_LIMIT_BALANCES_rec.attribute12 = FND_API.G_MISS_CHAR
730 OR g_LIMIT_BALANCES_rec.attribute13 = FND_API.G_MISS_CHAR
731 OR g_LIMIT_BALANCES_rec.attribute14 = FND_API.G_MISS_CHAR
732 OR g_LIMIT_BALANCES_rec.attribute15 = FND_API.G_MISS_CHAR
733 OR g_LIMIT_BALANCES_rec.attribute2 = FND_API.G_MISS_CHAR
734 OR g_LIMIT_BALANCES_rec.attribute3 = FND_API.G_MISS_CHAR
735 OR g_LIMIT_BALANCES_rec.attribute4 = FND_API.G_MISS_CHAR
736 OR g_LIMIT_BALANCES_rec.attribute5 = FND_API.G_MISS_CHAR
737 OR g_LIMIT_BALANCES_rec.attribute6 = FND_API.G_MISS_CHAR
738 OR g_LIMIT_BALANCES_rec.attribute7 = FND_API.G_MISS_CHAR
739 OR g_LIMIT_BALANCES_rec.attribute8 = FND_API.G_MISS_CHAR
740 OR g_LIMIT_BALANCES_rec.attribute9 = FND_API.G_MISS_CHAR
741 OR g_LIMIT_BALANCES_rec.context = FND_API.G_MISS_CHAR
742 THEN
743
744 Get_Flex_Limit_Balances;
745
746 END IF;
747
748 IF g_LIMIT_BALANCES_rec.created_by = FND_API.G_MISS_NUM THEN
749
750 g_LIMIT_BALANCES_rec.created_by := NULL;
751
752 END IF;
753
754 IF g_LIMIT_BALANCES_rec.creation_date = FND_API.G_MISS_DATE THEN
755
756 g_LIMIT_BALANCES_rec.creation_date := NULL;
757
758 END IF;
759
760 IF g_LIMIT_BALANCES_rec.last_updated_by = FND_API.G_MISS_NUM THEN
761
762 g_LIMIT_BALANCES_rec.last_updated_by := NULL;
763
764 END IF;
765
766 IF g_LIMIT_BALANCES_rec.last_update_date = FND_API.G_MISS_DATE THEN
767
768 g_LIMIT_BALANCES_rec.last_update_date := NULL;
769
770 END IF;
771
772 IF g_LIMIT_BALANCES_rec.last_update_login = FND_API.G_MISS_NUM THEN
773
774 g_LIMIT_BALANCES_rec.last_update_login := NULL;
775
776 END IF;
777
778 IF g_LIMIT_BALANCES_rec.program_application_id = FND_API.G_MISS_NUM THEN
779
780 g_LIMIT_BALANCES_rec.program_application_id := NULL;
781
782 END IF;
783
784 IF g_LIMIT_BALANCES_rec.program_id = FND_API.G_MISS_NUM THEN
785
786 g_LIMIT_BALANCES_rec.program_id := NULL;
787
788 END IF;
789
790 IF g_LIMIT_BALANCES_rec.program_update_date = FND_API.G_MISS_DATE THEN
791
792 g_LIMIT_BALANCES_rec.program_update_date := NULL;
793
794 END IF;
795
796 IF g_LIMIT_BALANCES_rec.request_id = FND_API.G_MISS_NUM THEN
797
798 g_LIMIT_BALANCES_rec.request_id := NULL;
799
800 END IF;
801
802 -- Redefault if there are any missing attributes.
803
804 IF g_LIMIT_BALANCES_rec.attribute1 = FND_API.G_MISS_CHAR
805 OR g_LIMIT_BALANCES_rec.attribute10 = FND_API.G_MISS_CHAR
806 OR g_LIMIT_BALANCES_rec.attribute11 = FND_API.G_MISS_CHAR
807 OR g_LIMIT_BALANCES_rec.attribute12 = FND_API.G_MISS_CHAR
808 OR g_LIMIT_BALANCES_rec.attribute13 = FND_API.G_MISS_CHAR
809 OR g_LIMIT_BALANCES_rec.attribute14 = FND_API.G_MISS_CHAR
810 OR g_LIMIT_BALANCES_rec.attribute15 = FND_API.G_MISS_CHAR
811 OR g_LIMIT_BALANCES_rec.attribute2 = FND_API.G_MISS_CHAR
812 OR g_LIMIT_BALANCES_rec.attribute3 = FND_API.G_MISS_CHAR
813 OR g_LIMIT_BALANCES_rec.attribute4 = FND_API.G_MISS_CHAR
814 OR g_LIMIT_BALANCES_rec.attribute5 = FND_API.G_MISS_CHAR
815 OR g_LIMIT_BALANCES_rec.attribute6 = FND_API.G_MISS_CHAR
816 OR g_LIMIT_BALANCES_rec.attribute7 = FND_API.G_MISS_CHAR
817 OR g_LIMIT_BALANCES_rec.attribute8 = FND_API.G_MISS_CHAR
818 OR g_LIMIT_BALANCES_rec.attribute9 = FND_API.G_MISS_CHAR
819 OR g_LIMIT_BALANCES_rec.available_amount = FND_API.G_MISS_NUM
820 OR g_LIMIT_BALANCES_rec.consumed_amount = FND_API.G_MISS_NUM
821 OR g_LIMIT_BALANCES_rec.context = FND_API.G_MISS_CHAR
822 OR g_LIMIT_BALANCES_rec.created_by = FND_API.G_MISS_NUM
823 OR g_LIMIT_BALANCES_rec.creation_date = FND_API.G_MISS_DATE
824 OR g_LIMIT_BALANCES_rec.last_updated_by = FND_API.G_MISS_NUM
825 OR g_LIMIT_BALANCES_rec.last_update_date = FND_API.G_MISS_DATE
826 OR g_LIMIT_BALANCES_rec.last_update_login = FND_API.G_MISS_NUM
827 OR g_LIMIT_BALANCES_rec.limit_balance_id = FND_API.G_MISS_NUM
828 OR g_LIMIT_BALANCES_rec.limit_id = FND_API.G_MISS_NUM
829 OR g_LIMIT_BALANCES_rec.multival_attr1_type = FND_API.G_MISS_CHAR
830 OR g_LIMIT_BALANCES_rec.multival_attr1_context = FND_API.G_MISS_CHAR
831 OR g_LIMIT_BALANCES_rec.multival_attribute1 = FND_API.G_MISS_CHAR
832 OR g_LIMIT_BALANCES_rec.multival_attr1_value = FND_API.G_MISS_CHAR
833 OR g_LIMIT_BALANCES_rec.multival_attr1_datatype = FND_API.G_MISS_CHAR
834 OR g_LIMIT_BALANCES_rec.multival_attr2_type = FND_API.G_MISS_CHAR
835 OR g_LIMIT_BALANCES_rec.multival_attr2_context = FND_API.G_MISS_CHAR
836 OR g_LIMIT_BALANCES_rec.multival_attribute2 = FND_API.G_MISS_CHAR
837 OR g_LIMIT_BALANCES_rec.multival_attr2_value = FND_API.G_MISS_CHAR
838 OR g_LIMIT_BALANCES_rec.multival_attr2_datatype = FND_API.G_MISS_CHAR
839 OR g_LIMIT_BALANCES_rec.organization_attr_context = FND_API.G_MISS_CHAR
840 OR g_LIMIT_BALANCES_rec.organization_attribute = FND_API.G_MISS_CHAR
841 OR g_LIMIT_BALANCES_rec.organization_attr_value = FND_API.G_MISS_CHAR
842 OR g_LIMIT_BALANCES_rec.program_application_id = FND_API.G_MISS_NUM
843 OR g_LIMIT_BALANCES_rec.program_id = FND_API.G_MISS_NUM
844 OR g_LIMIT_BALANCES_rec.program_update_date = FND_API.G_MISS_DATE
845 OR g_LIMIT_BALANCES_rec.request_id = FND_API.G_MISS_NUM
846 OR g_LIMIT_BALANCES_rec.reserved_amount = FND_API.G_MISS_NUM
847 THEN
848
849 QP_Default_Limit_Balances.Attributes
850 ( p_LIMIT_BALANCES_rec => g_LIMIT_BALANCES_rec
851 , p_iteration => p_iteration + 1
852 , x_LIMIT_BALANCES_rec => x_LIMIT_BALANCES_rec
853 );
854
855 ELSE
856
857 -- Done defaulting attributes
858
859 x_LIMIT_BALANCES_rec := g_LIMIT_BALANCES_rec;
860
861 END IF;
862
863 END Attributes;
864
865 END QP_Default_Limit_Balances;