[Home] [Help]
PACKAGE BODY: APPS.OE_DEFAULT_AGREEMENT
Source
1 PACKAGE BODY OE_Default_Agreement AS
2 /* $Header: OEXDAGRB.pls 120.3 2005/12/14 15:57:40 shulin ship $ */
3
4 -- Global constant holding the package name
5
6 G_PKG_NAME CONSTANT VARCHAR2(30) := 'OE_Default_Agreement';
7
8 -- Package global used within the package.
9
10 g_Agreement_rec OE_Pricing_Cont_PUB.Agreement_Rec_Type;
11
12 -- Get functions.
13
14 FUNCTION Get_Accounting_Rule
15 RETURN NUMBER
16 IS
17 BEGIN
18
19 RETURN NULL;
20
21 END Get_Accounting_Rule;
22
23 FUNCTION Get_Agreement_Contact
24 RETURN NUMBER
25 IS
26 BEGIN
27
28 RETURN NULL;
29
30 END Get_Agreement_Contact;
31
32 FUNCTION Get_Agreement
33 RETURN NUMBER
34 IS
35 l_Agreement_Id NUMBER := NULL;
36 BEGIN
37
38 oe_debug_pub.add('Entering OE_Default_Agreement.Get_Agreement');
39
40 select oe_agreements_s.nextval into l_Agreement_Id
41 from dual;
42
43 oe_debug_pub.add('Exiting OE_Default_Agreement.Get_Agreement, agreement_id: '||to_char(l_Agreement_Id));
44
45 RETURN l_Agreement_Id;
46
47 EXCEPTION
48
49 WHEN OTHERS THEN
50
51 IF OE_MSG_PUB.Check_Msg_Level (OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
52 THEN
53 OE_MSG_PUB.Add_Exc_Msg
54 ( G_PKG_NAME ,
55 'Get_Agreement'
56 );
57 END IF;
58
59 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
60
61 END Get_Agreement;
62
63 FUNCTION Get_Agreement_Num
64 RETURN VARCHAR2
65 IS
66 BEGIN
67
68 RETURN NULL;
69
70 END Get_Agreement_Num;
71
72 FUNCTION Get_Agreement_Type
73 RETURN VARCHAR2
74 IS
75 BEGIN
76
77 RETURN NULL;
78
79 END Get_Agreement_Type;
80
81 FUNCTION Get_Customer
82 RETURN NUMBER
83 IS
84 BEGIN
85
86 RETURN NULL;
87
88 END Get_Customer;
89
90 FUNCTION Get_End_Date_Active
91 RETURN DATE
92 IS
93 BEGIN
94
95 /* Changed the following for bug 1524336.
96 End date should be defaulted as NULL
97 RETURN add_months(SYSDATE, 24); */
98
99 RETURN NULL;
100
101 END Get_End_Date_Active;
102
103 FUNCTION Get_Freight_Terms
104 RETURN VARCHAR2
105 IS
106 BEGIN
107
108 RETURN NULL;
109
110 END Get_Freight_Terms;
111
112 FUNCTION Get_Invoice_Contact
113 RETURN NUMBER
114 IS
115 BEGIN
116
117 RETURN NULL;
118
119 END Get_Invoice_Contact;
120
121 FUNCTION Get_Invoice_To_Site_Use
122 RETURN NUMBER
123 IS
124 BEGIN
125
126 RETURN NULL;
127
128 END Get_Invoice_To_Site_Use;
129
130 FUNCTION Get_Invoicing_Rule
131 RETURN NUMBER
132 IS
133 BEGIN
134
135 RETURN NULL;
136
137 END Get_Invoicing_Rule;
138
139 FUNCTION Get_Name
140 RETURN VARCHAR2
141 IS
142 BEGIN
143
144 RETURN NULL;
145
146 END Get_Name;
147
148 FUNCTION Get_Override_Arule
149 RETURN VARCHAR2
150 IS
151 BEGIN
152
153 RETURN 'Y';
154
155 END Get_Override_Arule;
156
157 FUNCTION Get_Override_Irule
158 RETURN VARCHAR2
159 IS
160 BEGIN
161
162 RETURN 'Y';
163
164 END Get_Override_Irule;
165
166 FUNCTION Get_Price_List
167 RETURN NUMBER
168 IS
169 BEGIN
170
171 RETURN NULL;
172
173 END Get_Price_List;
174
175 FUNCTION Get_Purchase_Order_Num
176 RETURN VARCHAR2
177 IS
178 BEGIN
179
180 RETURN NULL;
181
182 END Get_Purchase_Order_Num;
183
184 FUNCTION Get_Revision
185 RETURN VARCHAR2
186 IS
187 BEGIN
188
189 RETURN '1';
190
191 END Get_Revision;
192
193 FUNCTION Get_Revision_Date
194 RETURN DATE
195 IS
196 BEGIN
197
198 RETURN SYSDATE;
199
200 END Get_Revision_Date;
201
202 FUNCTION Get_Revision_Reason
203 RETURN VARCHAR2
204 IS
205 BEGIN
206
207 RETURN NULL;
208
209 END Get_Revision_Reason;
210
211 FUNCTION Get_Salesrep
212 RETURN NUMBER
213 IS
214 BEGIN
215
216 RETURN NULL;
217
218 END Get_Salesrep;
219
220 FUNCTION Get_Ship_Method
221 RETURN VARCHAR2
222 IS
223 BEGIN
224
225 RETURN NULL;
226
227 END Get_Ship_Method;
228
229 FUNCTION Get_Signature_Date
230 RETURN DATE
231 IS
232 BEGIN
233
234 RETURN SYSDATE;
235
236 END Get_Signature_Date;
237
238 FUNCTION Get_Start_Date_Active
239 RETURN DATE
240 IS
241 BEGIN
242
243 RETURN SYSDATE;
244
245 END Get_Start_Date_Active;
246
247 FUNCTION Get_Term
248 RETURN NUMBER
249 IS
250 BEGIN
251
252 RETURN NULL;
253
254 END Get_Term;
255
256 --Begin code added by rchellam for OKC
257 FUNCTION Get_Agreement_Source
258 RETURN VARCHAR2
259 IS
260 BEGIN
261
262 RETURN 'PAGR';
263
264 END Get_Agreement_Source;
265
266 FUNCTION Get_Orig_System_Agr
267 RETURN NUMBER
268 IS
269 BEGIN
270
271 RETURN NULL;
272
273 END Get_Orig_System_Agr;
274 --End code added by rchellam for OKC
275
276 -- Added for bug#4029589
277 FUNCTION Get_Invoice_To_Customer_Id
278 RETURN NUMBER
279 IS
280 BEGIN
281
282 RETURN NULL;
283
284 END Get_Invoice_To_Customer_Id;
285
286 PROCEDURE Get_Flex_Agreement
287 IS
288 BEGIN
289
290 -- In the future call Flex APIs for defaults
291
292 IF g_Agreement_rec.attribute1 = FND_API.G_MISS_CHAR THEN
293 g_Agreement_rec.attribute1 := NULL;
294 END IF;
295
296 IF g_Agreement_rec.attribute10 = FND_API.G_MISS_CHAR THEN
297 g_Agreement_rec.attribute10 := NULL;
298 END IF;
299
300 IF g_Agreement_rec.attribute11 = FND_API.G_MISS_CHAR THEN
301 g_Agreement_rec.attribute11 := NULL;
302 END IF;
303
304 IF g_Agreement_rec.attribute12 = FND_API.G_MISS_CHAR THEN
305 g_Agreement_rec.attribute12 := NULL;
306 END IF;
307
308 IF g_Agreement_rec.attribute13 = FND_API.G_MISS_CHAR THEN
309 g_Agreement_rec.attribute13 := NULL;
310 END IF;
311
312 IF g_Agreement_rec.attribute14 = FND_API.G_MISS_CHAR THEN
313 g_Agreement_rec.attribute14 := NULL;
314 END IF;
315
316 IF g_Agreement_rec.attribute15 = FND_API.G_MISS_CHAR THEN
317 g_Agreement_rec.attribute15 := NULL;
318 END IF;
319
320 IF g_Agreement_rec.attribute2 = FND_API.G_MISS_CHAR THEN
321 g_Agreement_rec.attribute2 := NULL;
322 END IF;
323
324 IF g_Agreement_rec.attribute3 = FND_API.G_MISS_CHAR THEN
325 g_Agreement_rec.attribute3 := NULL;
326 END IF;
327
328 IF g_Agreement_rec.attribute4 = FND_API.G_MISS_CHAR THEN
329 g_Agreement_rec.attribute4 := NULL;
330 END IF;
331
332 IF g_Agreement_rec.attribute5 = FND_API.G_MISS_CHAR THEN
333 g_Agreement_rec.attribute5 := NULL;
334 END IF;
335
336 IF g_Agreement_rec.attribute6 = FND_API.G_MISS_CHAR THEN
337 g_Agreement_rec.attribute6 := NULL;
338 END IF;
339
340 IF g_Agreement_rec.attribute7 = FND_API.G_MISS_CHAR THEN
341 g_Agreement_rec.attribute7 := NULL;
342 END IF;
343
344 IF g_Agreement_rec.attribute8 = FND_API.G_MISS_CHAR THEN
345 g_Agreement_rec.attribute8 := NULL;
346 END IF;
347
348 IF g_Agreement_rec.attribute9 = FND_API.G_MISS_CHAR THEN
349 g_Agreement_rec.attribute9 := NULL;
350 END IF;
351
352 IF g_Agreement_rec.context = FND_API.G_MISS_CHAR THEN
353 g_Agreement_rec.context := NULL;
354 END IF;
355
356 END Get_Flex_Agreement;
357
358 -- Procedure Attributes
359
360 PROCEDURE Attributes
361 ( p_Agreement_rec IN OE_Pricing_Cont_PUB.Agreement_Rec_Type :=
362 OE_Pricing_Cont_PUB.G_MISS_AGREEMENT_REC
363 , p_iteration IN NUMBER := 1
364 , x_Agreement_rec OUT NOCOPY /* file.sql.39 change */ OE_Pricing_Cont_PUB.Agreement_Rec_Type
365 )
366 IS
367 l_Agreement_rec OE_Pricing_Cont_PUB.Agreement_Rec_Type; --[prarasto]
368 BEGIN
369
370 oe_debug_pub.add('Entering OE_Default_Agreement.Attributes');
371
372 -- Check number of iterations.
373
374 IF p_iteration > OE_GLOBALS.G_MAX_DEF_ITERATIONS THEN
375
376 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
377 THEN
378
379 FND_MESSAGE.SET_NAME('OE','OE_DEF_MAX_ITERATION');
380 OE_MSG_PUB.Add;
381
382 END IF;
383
384 RAISE FND_API.G_EXC_ERROR;
385
386 END IF;
387
388 -- Initialize g_Agreement_rec
389
390 g_Agreement_rec := p_Agreement_rec;
391
392 -- Default missing attributes.
393
394 IF g_Agreement_rec.accounting_rule_id = FND_API.G_MISS_NUM THEN
395
396 g_Agreement_rec.accounting_rule_id := Get_Accounting_Rule;
397
398 IF g_Agreement_rec.accounting_rule_id IS NOT NULL THEN
399
400 IF OE_Validate_Attr.Accounting_Rule(g_Agreement_rec.accounting_rule_id)
401 THEN
402
403 l_Agreement_rec := g_Agreement_rec; --[prarasto]
404
405 OE_Agreement_Util.Clear_Dependent_Attr
406 ( p_attr_id => OE_Agreement_Util.G_ACCOUNTING_RULE
407 , p_Agreement_rec => l_Agreement_rec
408 , x_Agreement_rec => g_Agreement_rec
409 );
410 ELSE
411 g_Agreement_rec.accounting_rule_id := NULL;
412 END IF;
413
414 END IF;
415
416 END IF;
417
418 IF g_Agreement_rec.agreement_contact_id = FND_API.G_MISS_NUM THEN
419
420 g_Agreement_rec.agreement_contact_id := Get_Agreement_Contact;
421
422 IF g_Agreement_rec.agreement_contact_id IS NOT NULL THEN
423
424 IF OE_Validate_Attr.Agreement_Contact(g_Agreement_rec.agreement_contact_id)
425 THEN
426
427 l_Agreement_rec := g_Agreement_rec; --[prarasto]
428
429 OE_Agreement_Util.Clear_Dependent_Attr
430 ( p_attr_id => OE_Agreement_Util.G_AGREEMENT_CONTACT
431 , p_Agreement_rec => l_Agreement_rec
432 , x_Agreement_rec => g_Agreement_rec
433 );
434 ELSE
435 g_Agreement_rec.agreement_contact_id := NULL;
436 END IF;
437
438 END IF;
439
440 END IF;
441
442 IF g_Agreement_rec.agreement_id = FND_API.G_MISS_NUM THEN
443
444 g_Agreement_rec.agreement_id := Get_Agreement;
445
446 IF g_Agreement_rec.agreement_id IS NOT NULL THEN
447
448 IF OE_Validate_Attr.Agreement(g_Agreement_rec.agreement_id)
449 THEN
450
451 l_Agreement_rec := g_Agreement_rec; --[prarasto]
452
453 OE_Agreement_Util.Clear_Dependent_Attr
454 ( p_attr_id => OE_Agreement_Util.G_AGREEMENT
455 , p_Agreement_rec => l_Agreement_rec
456 , x_Agreement_rec => g_Agreement_rec
457 );
458 ELSE
459 g_Agreement_rec.agreement_id := NULL;
460 END IF;
461
462 END IF;
463
464 END IF;
465
466 IF g_Agreement_rec.agreement_num = FND_API.G_MISS_CHAR THEN
467
468 g_Agreement_rec.agreement_num := Get_Agreement_Num;
469
470 IF g_Agreement_rec.agreement_num IS NOT NULL THEN
471
472 IF OE_Validate_Attr.Agreement_Num(g_Agreement_rec.agreement_num)
473 THEN
474
475 l_Agreement_rec := g_Agreement_rec; --[prarasto]
476
477 OE_Agreement_Util.Clear_Dependent_Attr
478 ( p_attr_id => OE_Agreement_Util.G_AGREEMENT_NUM
479 , p_Agreement_rec => l_Agreement_rec
480 , x_Agreement_rec => g_Agreement_rec
481 );
482 ELSE
483 g_Agreement_rec.agreement_num := NULL;
484 END IF;
485
486 END IF;
487
488 END IF;
489
490 IF g_Agreement_rec.agreement_type_code = FND_API.G_MISS_CHAR THEN
491
492 g_Agreement_rec.agreement_type_code := Get_Agreement_Type;
493
494 IF g_Agreement_rec.agreement_type_code IS NOT NULL THEN
495
496 IF OE_Validate_Attr.Agreement_Type(g_Agreement_rec.agreement_type_code)
497 THEN
498
499 l_Agreement_rec := g_Agreement_rec; --[prarasto]
500
501 OE_Agreement_Util.Clear_Dependent_Attr
502 ( p_attr_id => OE_Agreement_Util.G_AGREEMENT_TYPE
503 , p_Agreement_rec => l_Agreement_rec
504 , x_Agreement_rec => g_Agreement_rec
505 );
506 ELSE
507 g_Agreement_rec.agreement_type_code := NULL;
508 END IF;
509
510 END IF;
511
512 END IF;
513 --
514
515 IF g_Agreement_rec.sold_to_org_id = FND_API.G_MISS_NUM THEN
516
517 g_Agreement_rec.sold_to_org_id := Get_Customer;
518
519 IF g_Agreement_rec.sold_to_org_id IS NOT NULL THEN
520
521 IF OE_Validate_Attr.Customer(g_Agreement_rec.sold_to_org_id)
522 THEN
523
524 l_Agreement_rec := g_Agreement_rec; --[prarasto]
525
526 OE_Agreement_Util.Clear_Dependent_Attr
527 ( p_attr_id => OE_Agreement_Util.G_CUSTOMER
528 , p_Agreement_rec => l_Agreement_rec
529 , x_Agreement_rec => g_Agreement_rec
530 );
531 ELSE
532 g_Agreement_rec.sold_to_org_id := NULL;
533 END IF;
534
535 END IF;
536
537 END IF;
538
539 --
540 /*
541 IF g_Agreement_rec.customer_id = FND_API.G_MISS_NUM THEN
542
543 g_Agreement_rec.customer_id := Get_Customer;
544
545 IF g_Agreement_rec.customer_id IS NOT NULL THEN
546
547 IF OE_Validate_Attr.Customer(g_Agreement_rec.customer_id)
548 THEN
549
550 l_Agreement_rec := g_Agreement_rec; --[prarasto]
551
552 OE_Agreement_Util.Clear_Dependent_Attr
553 ( p_attr_id => OE_Agreement_Util.G_CUSTOMER
554 , p_Agreement_rec => l_Agreement_rec
555 , x_Agreement_rec => g_Agreement_rec
556 );
557 ELSE
558 g_Agreement_rec.customer_id := NULL;
559 END IF;
560
561 END IF;
562
563 END IF;
564 */
565
566 IF g_Agreement_rec.end_date_active = FND_API.G_MISS_DATE THEN
567
568 g_Agreement_rec.end_date_active := Get_End_Date_Active;
569
570 IF g_Agreement_rec.end_date_active IS NOT NULL THEN
571
572 IF OE_Validate_Attr.End_Date_Active(g_Agreement_rec.end_date_active)
573 THEN
574
575 l_Agreement_rec := g_Agreement_rec; --[prarasto]
576
577 OE_Agreement_Util.Clear_Dependent_Attr
578 ( p_attr_id => OE_Agreement_Util.G_END_DATE_ACTIVE
579 , p_Agreement_rec => l_Agreement_rec
580 , x_Agreement_rec => g_Agreement_rec
581 );
582 ELSE
583 g_Agreement_rec.end_date_active := NULL;
584 END IF;
585
586 END IF;
587
588 END IF;
589
590 IF g_Agreement_rec.freight_terms_code = FND_API.G_MISS_CHAR THEN
591
592 g_Agreement_rec.freight_terms_code := Get_Freight_Terms;
593
594 IF g_Agreement_rec.freight_terms_code IS NOT NULL THEN
595
596 IF OE_Validate_Attr.Freight_Terms(g_Agreement_rec.freight_terms_code)
597 THEN
598
599 l_Agreement_rec := g_Agreement_rec; --[prarasto]
600
601 OE_Agreement_Util.Clear_Dependent_Attr
602 ( p_attr_id => OE_Agreement_Util.G_FREIGHT_TERMS
603 , p_Agreement_rec => l_Agreement_rec
604 , x_Agreement_rec => g_Agreement_rec
605 );
606 ELSE
607 g_Agreement_rec.freight_terms_code := NULL;
608 END IF;
609
610 END IF;
611
612 END IF;
613
614 IF g_Agreement_rec.invoice_contact_id = FND_API.G_MISS_NUM THEN
615
616 g_Agreement_rec.invoice_contact_id := Get_Invoice_Contact;
617
618 IF g_Agreement_rec.invoice_contact_id IS NOT NULL THEN
619
620 IF OE_Validate_Attr.Invoice_Contact(g_Agreement_rec.invoice_contact_id)
621 THEN
622
623 l_Agreement_rec := g_Agreement_rec; --[prarasto]
624
625 OE_Agreement_Util.Clear_Dependent_Attr
626 ( p_attr_id => OE_Agreement_Util.G_INVOICE_CONTACT
627 , p_Agreement_rec => l_Agreement_rec
628 , x_Agreement_rec => g_Agreement_rec
629 );
630 ELSE
631 g_Agreement_rec.invoice_contact_id := NULL;
632 END IF;
633
634 END IF;
635
636 END IF;
637
638 /* IF g_Agreement_rec.invoice_to_site_use_id = FND_API.G_MISS_NUM THEN */
639 IF g_Agreement_rec.invoice_to_org_id = FND_API.G_MISS_NUM THEN
640
641 /* g_Agreement_rec.invoice_to_site_use_id := Get_Invoice_To_Site_Use; */
642 g_Agreement_rec.invoice_to_org_id := Get_Invoice_To_Site_Use;
643
644 /* IF g_Agreement_rec.invoice_to_site_use_id IS NOT NULL THEN */
645 IF g_Agreement_rec.invoice_to_org_id IS NOT NULL THEN
646
647 IF OE_Validate_Attr.Invoice_To_Site_Use(g_Agreement_rec.invoice_to_org_id)
648
649 /* IF OE_Validate_Attr.Invoice_To_Site_Use(g_Agreement_rec.invoice_to_site_use_id) */
650 THEN
651
652 l_Agreement_rec := g_Agreement_rec; --[prarasto]
653
654 OE_Agreement_Util.Clear_Dependent_Attr
655 ( p_attr_id => OE_Agreement_Util.G_INVOICE_TO_SITE_USE
656 , p_Agreement_rec => l_Agreement_rec
657 , x_Agreement_rec => g_Agreement_rec
658 );
659 ELSE
660 /* g_Agreement_rec.invoice_to_site_use_id := NULL; */
661 g_Agreement_rec.invoice_to_org_id := NULL;
662 END IF;
663
664 END IF;
665
666 END IF;
667
668 IF g_Agreement_rec.invoicing_rule_id = FND_API.G_MISS_NUM THEN
669
670 g_Agreement_rec.invoicing_rule_id := Get_Invoicing_Rule;
671
672 IF g_Agreement_rec.invoicing_rule_id IS NOT NULL THEN
673
674 IF OE_Validate_Attr.Invoicing_Rule(g_Agreement_rec.invoicing_rule_id)
675 THEN
676
677 l_Agreement_rec := g_Agreement_rec; --[prarasto]
678
679 OE_Agreement_Util.Clear_Dependent_Attr
680 ( p_attr_id => OE_Agreement_Util.G_INVOICING_RULE
681 , p_Agreement_rec => l_Agreement_rec
682 , x_Agreement_rec => g_Agreement_rec
683 );
684 ELSE
685 g_Agreement_rec.invoicing_rule_id := NULL;
686 END IF;
687
688 END IF;
689
690 END IF;
691
692 IF g_Agreement_rec.name = FND_API.G_MISS_CHAR THEN
693
694 g_Agreement_rec.name := Get_Name;
695
696 IF g_Agreement_rec.name IS NOT NULL THEN
697
698 IF OE_Validate_Attr.Name(g_Agreement_rec.name)
699 THEN
700
701 l_Agreement_rec := g_Agreement_rec; --[prarasto]
702
703 OE_Agreement_Util.Clear_Dependent_Attr
704 ( p_attr_id => OE_Agreement_Util.G_NAME
705 , p_Agreement_rec => l_Agreement_rec
706 , x_Agreement_rec => g_Agreement_rec
707 );
708 ELSE
709 g_Agreement_rec.name := NULL;
710 END IF;
711
712 END IF;
713
714 END IF;
715
716 IF g_Agreement_rec.override_arule_flag = FND_API.G_MISS_CHAR THEN
717
718 g_Agreement_rec.override_arule_flag := Get_Override_Arule;
719
720 IF g_Agreement_rec.override_arule_flag IS NOT NULL THEN
721
722 IF OE_Validate_Attr.Override_Arule(g_Agreement_rec.override_arule_flag)
723 THEN
724
725 l_Agreement_rec := g_Agreement_rec; --[prarasto]
726
727 OE_Agreement_Util.Clear_Dependent_Attr
728 ( p_attr_id => OE_Agreement_Util.G_OVERRIDE_ARULE
729 , p_Agreement_rec => l_Agreement_rec
730 , x_Agreement_rec => g_Agreement_rec
731 );
732 ELSE
733 g_Agreement_rec.override_arule_flag := NULL;
734 END IF;
735
736 END IF;
737
738 END IF;
739
740 IF g_Agreement_rec.override_irule_flag = FND_API.G_MISS_CHAR THEN
741
742 g_Agreement_rec.override_irule_flag := Get_Override_Irule;
743
744 IF g_Agreement_rec.override_irule_flag IS NOT NULL THEN
745
746 IF OE_Validate_Attr.Override_Irule(g_Agreement_rec.override_irule_flag)
747 THEN
748
749 l_Agreement_rec := g_Agreement_rec; --[prarasto]
750
751 OE_Agreement_Util.Clear_Dependent_Attr
752 ( p_attr_id => OE_Agreement_Util.G_OVERRIDE_IRULE
753 , p_Agreement_rec => l_Agreement_rec
754 , x_Agreement_rec => g_Agreement_rec
755 );
756 ELSE
757 g_Agreement_rec.override_irule_flag := NULL;
758 END IF;
759
760 END IF;
761
762 END IF;
763
764 IF g_Agreement_rec.price_list_id = FND_API.G_MISS_NUM THEN
765
766 g_Agreement_rec.price_list_id := Get_Price_List;
767
768 IF g_Agreement_rec.price_list_id IS NOT NULL THEN
769
770 IF OE_Validate_Attr.Price_List(g_Agreement_rec.price_list_id)
771 THEN
772
773 l_Agreement_rec := g_Agreement_rec; --[prarasto]
774
775 OE_Agreement_Util.Clear_Dependent_Attr
776 ( p_attr_id => OE_Agreement_Util.G_PRICE_LIST
777 , p_Agreement_rec => l_Agreement_rec
778 , x_Agreement_rec => g_Agreement_rec
779 );
780 ELSE
781 g_Agreement_rec.price_list_id := NULL;
782 END IF;
783
784 END IF;
785
786 END IF;
787
788 IF g_Agreement_rec.purchase_order_num = FND_API.G_MISS_CHAR THEN
789
790 g_Agreement_rec.purchase_order_num := Get_Purchase_Order_Num;
791
792 IF g_Agreement_rec.purchase_order_num IS NOT NULL THEN
793
794 IF OE_Validate_Attr.Purchase_Order_Num(g_Agreement_rec.purchase_order_num)
795 THEN
796
797 l_Agreement_rec := g_Agreement_rec; --[prarasto]
798
799 OE_Agreement_Util.Clear_Dependent_Attr
800 ( p_attr_id => OE_Agreement_Util.G_PURCHASE_ORDER_NUM
801 , p_Agreement_rec => l_Agreement_rec
802 , x_Agreement_rec => g_Agreement_rec
803 );
804 ELSE
805 g_Agreement_rec.purchase_order_num := NULL;
806 END IF;
807
808 END IF;
809
810 END IF;
811
812 IF g_Agreement_rec.revision = FND_API.G_MISS_CHAR THEN
813
814 g_Agreement_rec.revision := Get_Revision;
815
816 IF g_Agreement_rec.revision IS NOT NULL THEN
817
818 IF OE_Validate_Attr.Revision(g_Agreement_rec.revision)
819 THEN
820
821 l_Agreement_rec := g_Agreement_rec; --[prarasto]
822
823 OE_Agreement_Util.Clear_Dependent_Attr
824 ( p_attr_id => OE_Agreement_Util.G_REVISION
825 , p_Agreement_rec => l_Agreement_rec
826 , x_Agreement_rec => g_Agreement_rec
827 );
828 ELSE
829 g_Agreement_rec.revision := NULL;
830 END IF;
831
832 END IF;
833
834 END IF;
835
836 IF g_Agreement_rec.revision_date = FND_API.G_MISS_DATE THEN
837
838 g_Agreement_rec.revision_date := Get_Revision_Date;
839
840 IF g_Agreement_rec.revision_date IS NOT NULL THEN
841
842 IF OE_Validate_Attr.Revision_Date(g_Agreement_rec.revision_date)
843 THEN
844
845 l_Agreement_rec := g_Agreement_rec; --[prarasto]
846
847 OE_Agreement_Util.Clear_Dependent_Attr
848 ( p_attr_id => OE_Agreement_Util.G_REVISION_DATE
849 , p_Agreement_rec => l_Agreement_rec
850 , x_Agreement_rec => g_Agreement_rec
851 );
852 ELSE
853 g_Agreement_rec.revision_date := NULL;
854 END IF;
855
856 END IF;
857
858 END IF;
859
860 IF g_Agreement_rec.revision_reason_code = FND_API.G_MISS_CHAR THEN
861
862 g_Agreement_rec.revision_reason_code := Get_Revision_Reason;
863
864 IF g_Agreement_rec.revision_reason_code IS NOT NULL THEN
865
866 IF OE_Validate_Attr.Revision_Reason(g_Agreement_rec.revision_reason_code)
867 THEN
868
869 l_Agreement_rec := g_Agreement_rec; --[prarasto]
870
871 OE_Agreement_Util.Clear_Dependent_Attr
872 ( p_attr_id => OE_Agreement_Util.G_REVISION_REASON
873 , p_Agreement_rec => l_Agreement_rec
874 , x_Agreement_rec => g_Agreement_rec
875 );
876 ELSE
877 g_Agreement_rec.revision_reason_code := NULL;
878 END IF;
879
880 END IF;
881
882 END IF;
883
884 IF g_Agreement_rec.salesrep_id = FND_API.G_MISS_NUM THEN
885
886 g_Agreement_rec.salesrep_id := Get_Salesrep;
887
888 IF g_Agreement_rec.salesrep_id IS NOT NULL THEN
889
890 IF OE_Validate_Attr.Salesrep(g_Agreement_rec.salesrep_id)
891 THEN
892
893 l_Agreement_rec := g_Agreement_rec; --[prarasto]
894
895 OE_Agreement_Util.Clear_Dependent_Attr
896 ( p_attr_id => OE_Agreement_Util.G_SALESREP
897 , p_Agreement_rec => l_Agreement_rec
898 , x_Agreement_rec => g_Agreement_rec
899 );
900 ELSE
901 g_Agreement_rec.salesrep_id := NULL;
902 END IF;
903
904 END IF;
905
906 END IF;
907
908 IF g_Agreement_rec.ship_method_code = FND_API.G_MISS_CHAR THEN
909
910 g_Agreement_rec.ship_method_code := Get_Ship_Method;
911
912 IF g_Agreement_rec.ship_method_code IS NOT NULL THEN
913
914 IF OE_Validate_Attr.Ship_Method(g_Agreement_rec.ship_method_code)
915 THEN
916
917 l_Agreement_rec := g_Agreement_rec; --[prarasto]
918
919 OE_Agreement_Util.Clear_Dependent_Attr
920 ( p_attr_id => OE_Agreement_Util.G_SHIP_METHOD
921 , p_Agreement_rec => l_Agreement_rec
922 , x_Agreement_rec => g_Agreement_rec
923 );
924 ELSE
925 g_Agreement_rec.ship_method_code := NULL;
926 END IF;
927
928 END IF;
929
930 END IF;
931
932 IF g_Agreement_rec.signature_date = FND_API.G_MISS_DATE THEN
933
934 g_Agreement_rec.signature_date := Get_Signature_Date;
935
936 IF g_Agreement_rec.signature_date IS NOT NULL THEN
937
938 IF OE_Validate_Attr.Signature_Date(g_Agreement_rec.signature_date)
939 THEN
940
941 l_Agreement_rec := g_Agreement_rec; --[prarasto]
942
943 OE_Agreement_Util.Clear_Dependent_Attr
944 ( p_attr_id => OE_Agreement_Util.G_SIGNATURE_DATE
945 , p_Agreement_rec => l_Agreement_rec
946 , x_Agreement_rec => g_Agreement_rec
947 );
948 ELSE
949 g_Agreement_rec.signature_date := NULL;
950 END IF;
951
952 END IF;
953
954 END IF;
955
956 IF g_Agreement_rec.start_date_active = FND_API.G_MISS_DATE THEN
957
958 g_Agreement_rec.start_date_active := Get_Start_Date_Active;
959
960 IF g_Agreement_rec.start_date_active IS NOT NULL THEN
961
962 IF OE_Validate_Attr.Start_Date_Active(g_Agreement_rec.start_date_active)
963 THEN
964
965 l_Agreement_rec := g_Agreement_rec; --[prarasto]
966
967 OE_Agreement_Util.Clear_Dependent_Attr
968 ( p_attr_id => OE_Agreement_Util.G_START_DATE_ACTIVE
969 , p_Agreement_rec => l_Agreement_rec
970 , x_Agreement_rec => g_Agreement_rec
971 );
972 ELSE
973 g_Agreement_rec.start_date_active := NULL;
974 END IF;
975
976 END IF;
977
978 END IF;
979
980 IF g_Agreement_rec.term_id = FND_API.G_MISS_NUM THEN
981
982 g_Agreement_rec.term_id := Get_Term;
983
984 IF g_Agreement_rec.term_id IS NOT NULL THEN
985
986 IF OE_Validate_Attr.Term(g_Agreement_rec.term_id)
987 THEN
988
989 l_Agreement_rec := g_Agreement_rec; --[prarasto]
990
991 OE_Agreement_Util.Clear_Dependent_Attr
992 ( p_attr_id => OE_Agreement_Util.G_TERM
993 , p_Agreement_rec => l_Agreement_rec
994 , x_Agreement_rec => g_Agreement_rec
995 );
996 ELSE
997 g_Agreement_rec.term_id := NULL;
998 END IF;
999
1000 END IF;
1001
1002 END IF;
1003
1004 --Begin code added by rchellam for OKC
1005 IF g_Agreement_rec.agreement_source_code = FND_API.G_MISS_CHAR THEN
1006
1007 g_Agreement_rec.agreement_source_code := Get_Agreement_Source;
1008
1009 IF g_Agreement_rec.agreement_source_code IS NOT NULL THEN
1010
1011 IF OE_Validate_Attr.Agreement_Source(g_Agreement_rec.agreement_source_code)
1012 THEN
1013
1014 l_Agreement_rec := g_Agreement_rec; --[prarasto]
1015
1016 OE_Agreement_Util.Clear_Dependent_Attr
1017 ( p_attr_id => OE_Agreement_Util.G_AGREEMENT_SOURCE
1018 , p_Agreement_rec => l_Agreement_rec
1019 , x_Agreement_rec => g_Agreement_rec
1020 );
1021 ELSE
1022 g_Agreement_rec.agreement_source_code := NULL;
1023 END IF;
1024
1025 END IF;
1026
1027 END IF;
1028
1029 IF g_Agreement_rec.orig_system_agr_id = FND_API.G_MISS_NUM THEN
1030
1031 g_Agreement_rec.orig_system_agr_id := Get_Orig_System_Agr;
1032
1033 IF g_Agreement_rec.orig_system_agr_id IS NOT NULL THEN
1034
1035 IF OE_Validate_Attr.Orig_System_Agr(g_Agreement_rec.orig_system_agr_id)
1036 THEN
1037
1038 l_Agreement_rec := g_Agreement_rec; --[prarasto]
1039
1040 OE_Agreement_Util.Clear_Dependent_Attr
1041 ( p_attr_id => OE_Agreement_Util.G_ORIG_SYSTEM_AGR
1042 , p_Agreement_rec => l_Agreement_rec
1043 , x_Agreement_rec => g_Agreement_rec
1044 );
1045 ELSE
1046 g_Agreement_rec.orig_system_agr_id := NULL;
1047 END IF;
1048
1049 END IF;
1050
1051 END IF;
1052 --End code added by rchellam for OKC
1053
1054 IF g_Agreement_rec.attribute1 = FND_API.G_MISS_CHAR
1055 OR g_Agreement_rec.attribute10 = FND_API.G_MISS_CHAR
1056 OR g_Agreement_rec.attribute11 = FND_API.G_MISS_CHAR
1057 OR g_Agreement_rec.attribute12 = FND_API.G_MISS_CHAR
1058 OR g_Agreement_rec.attribute13 = FND_API.G_MISS_CHAR
1059 OR g_Agreement_rec.attribute14 = FND_API.G_MISS_CHAR
1060 OR g_Agreement_rec.attribute15 = FND_API.G_MISS_CHAR
1061 OR g_Agreement_rec.attribute2 = FND_API.G_MISS_CHAR
1062 OR g_Agreement_rec.attribute3 = FND_API.G_MISS_CHAR
1063 OR g_Agreement_rec.attribute4 = FND_API.G_MISS_CHAR
1064 OR g_Agreement_rec.attribute5 = FND_API.G_MISS_CHAR
1065 OR g_Agreement_rec.attribute6 = FND_API.G_MISS_CHAR
1066 OR g_Agreement_rec.attribute7 = FND_API.G_MISS_CHAR
1067 OR g_Agreement_rec.attribute8 = FND_API.G_MISS_CHAR
1068 OR g_Agreement_rec.attribute9 = FND_API.G_MISS_CHAR
1069 OR g_Agreement_rec.context = FND_API.G_MISS_CHAR
1070 THEN
1071
1072 Get_Flex_Agreement;
1073
1074 END IF;
1075
1076 IF g_Agreement_rec.created_by = FND_API.G_MISS_NUM THEN
1077
1078 g_Agreement_rec.created_by := NULL;
1079
1080 END IF;
1081
1082 IF g_Agreement_rec.creation_date = FND_API.G_MISS_DATE THEN
1083
1084 g_Agreement_rec.creation_date := NULL;
1085
1086 END IF;
1087
1088 IF g_Agreement_rec.last_updated_by = FND_API.G_MISS_NUM THEN
1089
1090 g_Agreement_rec.last_updated_by := NULL;
1091
1092 END IF;
1093
1094 IF g_Agreement_rec.last_update_date = FND_API.G_MISS_DATE THEN
1095
1096 g_Agreement_rec.last_update_date := NULL;
1097
1098 END IF;
1099
1100 IF g_Agreement_rec.last_update_login = FND_API.G_MISS_NUM THEN
1101
1102 g_Agreement_rec.last_update_login := NULL;
1103
1104 END IF;
1105
1106 -- Redefault if there are any missing attributes.
1107
1108 IF g_Agreement_rec.accounting_rule_id = FND_API.G_MISS_NUM
1109 OR g_Agreement_rec.agreement_contact_id = FND_API.G_MISS_NUM
1110 OR g_Agreement_rec.agreement_id = FND_API.G_MISS_NUM
1111 OR g_Agreement_rec.agreement_num = FND_API.G_MISS_CHAR
1112 OR g_Agreement_rec.agreement_type_code = FND_API.G_MISS_CHAR
1113 OR g_Agreement_rec.attribute1 = FND_API.G_MISS_CHAR
1114 OR g_Agreement_rec.attribute10 = FND_API.G_MISS_CHAR
1115 OR g_Agreement_rec.attribute11 = FND_API.G_MISS_CHAR
1116 OR g_Agreement_rec.attribute12 = FND_API.G_MISS_CHAR
1117 OR g_Agreement_rec.attribute13 = FND_API.G_MISS_CHAR
1118 OR g_Agreement_rec.attribute14 = FND_API.G_MISS_CHAR
1119 OR g_Agreement_rec.attribute15 = FND_API.G_MISS_CHAR
1120 OR g_Agreement_rec.attribute2 = FND_API.G_MISS_CHAR
1121 OR g_Agreement_rec.attribute3 = FND_API.G_MISS_CHAR
1122 OR g_Agreement_rec.attribute4 = FND_API.G_MISS_CHAR
1123 OR g_Agreement_rec.attribute5 = FND_API.G_MISS_CHAR
1124 OR g_Agreement_rec.attribute6 = FND_API.G_MISS_CHAR
1125 OR g_Agreement_rec.attribute7 = FND_API.G_MISS_CHAR
1126 OR g_Agreement_rec.attribute8 = FND_API.G_MISS_CHAR
1127 OR g_Agreement_rec.attribute9 = FND_API.G_MISS_CHAR
1128 OR g_Agreement_rec.context = FND_API.G_MISS_CHAR
1129 OR g_Agreement_rec.created_by = FND_API.G_MISS_NUM
1130 OR g_Agreement_rec.creation_date = FND_API.G_MISS_DATE
1131 /* OR g_Agreement_rec.customer_id = FND_API.G_MISS_NUM */
1132 OR g_Agreement_rec.sold_to_org_id = FND_API.G_MISS_NUM
1133 OR g_Agreement_rec.end_date_active = FND_API.G_MISS_DATE
1134 OR g_Agreement_rec.freight_terms_code = FND_API.G_MISS_CHAR
1135 OR g_Agreement_rec.invoice_contact_id = FND_API.G_MISS_NUM
1136 /* OR g_Agreement_rec.invoice_to_site_use_id = FND_API.G_MISS_NUM */
1137 OR g_Agreement_rec.invoice_to_org_id = FND_API.G_MISS_NUM
1138 OR g_Agreement_rec.invoicing_rule_id = FND_API.G_MISS_NUM
1139 OR g_Agreement_rec.last_updated_by = FND_API.G_MISS_NUM
1140 OR g_Agreement_rec.last_update_date = FND_API.G_MISS_DATE
1141 OR g_Agreement_rec.last_update_login = FND_API.G_MISS_NUM
1142 OR g_Agreement_rec.name = FND_API.G_MISS_CHAR
1143 OR g_Agreement_rec.override_arule_flag = FND_API.G_MISS_CHAR
1144 OR g_Agreement_rec.override_irule_flag = FND_API.G_MISS_CHAR
1145 OR g_Agreement_rec.price_list_id = FND_API.G_MISS_NUM
1146 OR g_Agreement_rec.purchase_order_num = FND_API.G_MISS_CHAR
1147 OR g_Agreement_rec.revision = FND_API.G_MISS_CHAR
1148 OR g_Agreement_rec.revision_date = FND_API.G_MISS_DATE
1149 OR g_Agreement_rec.revision_reason_code = FND_API.G_MISS_CHAR
1150 OR g_Agreement_rec.salesrep_id = FND_API.G_MISS_NUM
1151 OR g_Agreement_rec.ship_method_code = FND_API.G_MISS_CHAR
1152 OR g_Agreement_rec.signature_date = FND_API.G_MISS_DATE
1153 OR g_Agreement_rec.start_date_active = FND_API.G_MISS_DATE
1154 OR g_Agreement_rec.term_id = FND_API.G_MISS_NUM
1155 --begin code added by rchellam for OKC
1156 OR g_Agreement_rec.agreement_source_code = FND_API.G_MISS_CHAR
1157 OR g_Agreement_rec.orig_system_agr_id = FND_API.G_MISS_NUM
1158 --end code added by rchellam for OKC
1159 THEN
1160
1161 OE_Default_Agreement.Attributes
1162 ( p_Agreement_rec => g_Agreement_rec
1163 , p_iteration => p_iteration + 1
1164 , x_Agreement_rec => x_Agreement_rec
1165 );
1166
1167 ELSE
1168
1169 -- Done defaulting attributes
1170
1171 x_Agreement_rec := g_Agreement_rec;
1172
1173 END IF;
1174
1175 oe_debug_pub.add('Exiting OE_Default_Agreement.Attributes');
1176
1177 END Attributes;
1178
1179 END OE_Default_Agreement;