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