DBA Data[Home] [Help]

PACKAGE BODY: APPS.OE_CONTRACT_UTIL

Source


1 PACKAGE BODY OE_Contract_Util AS
2 /* $Header: OEXUPCTB.pls 115.0 99/07/15 19:27:47 porting shi $ */
3 
4 --  Global constant holding the package name
5 
6 G_PKG_NAME                    CONSTANT VARCHAR2(30) := 'OE_Contract_Util';
7 
8 --  Procedure Clear_Dependent_Attr
9 
10 PROCEDURE Clear_Dependent_Attr
11 (   p_attr_id                       IN  NUMBER := FND_API.G_MISS_NUM
12 ,   p_Contract_rec                  IN  OE_Pricing_Cont_PUB.Contract_Rec_Type
13 ,   p_old_Contract_rec              IN  OE_Pricing_Cont_PUB.Contract_Rec_Type :=
14                                         OE_Pricing_Cont_PUB.G_MISS_CONTRACT_REC
15 ,   x_Contract_rec                  OUT OE_Pricing_Cont_PUB.Contract_Rec_Type
16 )
17 IS
18 BEGIN
19 
20     --  Load out record
21 
22     x_Contract_rec := p_Contract_rec;
23 
24     --  If attr_id is missing compare old and new records and for
25     --  every changed attribute clear its dependent fields.
26 
27     IF p_attr_id = FND_API.G_MISS_NUM THEN
28 
29         IF NOT OE_GLOBALS.Equal(p_Contract_rec.agreement_id,p_old_Contract_rec.agreement_id)
30         THEN
31             NULL;
32         END IF;
33 
34         IF NOT OE_GLOBALS.Equal(p_Contract_rec.attribute1,p_old_Contract_rec.attribute1)
35         THEN
36             NULL;
37         END IF;
38 
39         IF NOT OE_GLOBALS.Equal(p_Contract_rec.attribute10,p_old_Contract_rec.attribute10)
40         THEN
41             NULL;
42         END IF;
43 
44         IF NOT OE_GLOBALS.Equal(p_Contract_rec.attribute11,p_old_Contract_rec.attribute11)
45         THEN
46             NULL;
47         END IF;
48 
49         IF NOT OE_GLOBALS.Equal(p_Contract_rec.attribute12,p_old_Contract_rec.attribute12)
50         THEN
51             NULL;
52         END IF;
53 
54         IF NOT OE_GLOBALS.Equal(p_Contract_rec.attribute13,p_old_Contract_rec.attribute13)
55         THEN
56             NULL;
57         END IF;
58 
59         IF NOT OE_GLOBALS.Equal(p_Contract_rec.attribute14,p_old_Contract_rec.attribute14)
60         THEN
61             NULL;
62         END IF;
63 
64         IF NOT OE_GLOBALS.Equal(p_Contract_rec.attribute15,p_old_Contract_rec.attribute15)
65         THEN
66             NULL;
67         END IF;
68 
69         IF NOT OE_GLOBALS.Equal(p_Contract_rec.attribute2,p_old_Contract_rec.attribute2)
70         THEN
71             NULL;
72         END IF;
73 
74         IF NOT OE_GLOBALS.Equal(p_Contract_rec.attribute3,p_old_Contract_rec.attribute3)
75         THEN
76             NULL;
77         END IF;
78 
79         IF NOT OE_GLOBALS.Equal(p_Contract_rec.attribute4,p_old_Contract_rec.attribute4)
80         THEN
81             NULL;
82         END IF;
83 
84         IF NOT OE_GLOBALS.Equal(p_Contract_rec.attribute5,p_old_Contract_rec.attribute5)
85         THEN
86             NULL;
87         END IF;
88 
89         IF NOT OE_GLOBALS.Equal(p_Contract_rec.attribute6,p_old_Contract_rec.attribute6)
90         THEN
91             NULL;
92         END IF;
93 
94         IF NOT OE_GLOBALS.Equal(p_Contract_rec.attribute7,p_old_Contract_rec.attribute7)
95         THEN
96             NULL;
97         END IF;
98 
99         IF NOT OE_GLOBALS.Equal(p_Contract_rec.attribute8,p_old_Contract_rec.attribute8)
100         THEN
101             NULL;
102         END IF;
103 
104         IF NOT OE_GLOBALS.Equal(p_Contract_rec.attribute9,p_old_Contract_rec.attribute9)
105         THEN
106             NULL;
107         END IF;
108 
109         IF NOT OE_GLOBALS.Equal(p_Contract_rec.context,p_old_Contract_rec.context)
110         THEN
111             NULL;
112         END IF;
113 
114         IF NOT OE_GLOBALS.Equal(p_Contract_rec.created_by,p_old_Contract_rec.created_by)
115         THEN
116             NULL;
117         END IF;
118 
119         IF NOT OE_GLOBALS.Equal(p_Contract_rec.creation_date,p_old_Contract_rec.creation_date)
120         THEN
121             NULL;
122         END IF;
123 
124         IF NOT OE_GLOBALS.Equal(p_Contract_rec.discount_id,p_old_Contract_rec.discount_id)
125         THEN
126             NULL;
127         END IF;
128 
129         IF NOT OE_GLOBALS.Equal(p_Contract_rec.last_updated_by,p_old_Contract_rec.last_updated_by)
130         THEN
131             NULL;
132         END IF;
133 
134         IF NOT OE_GLOBALS.Equal(p_Contract_rec.last_update_date,p_old_Contract_rec.last_update_date)
135         THEN
136             NULL;
137         END IF;
138 
139         IF NOT OE_GLOBALS.Equal(p_Contract_rec.last_update_login,p_old_Contract_rec.last_update_login)
140         THEN
141             NULL;
142         END IF;
143 
144         IF NOT OE_GLOBALS.Equal(p_Contract_rec.price_list_id,p_old_Contract_rec.price_list_id)
145         THEN
146             NULL;
147         END IF;
148 
149         IF NOT OE_GLOBALS.Equal(p_Contract_rec.pricing_contract_id,p_old_Contract_rec.pricing_contract_id)
150         THEN
151             NULL;
152         END IF;
153 
154     ELSIF p_attr_id = G_AGREEMENT THEN
155         NULL;
156     ELSIF p_attr_id = G_ATTRIBUTE1 THEN
157         NULL;
158     ELSIF p_attr_id = G_ATTRIBUTE10 THEN
159         NULL;
160     ELSIF p_attr_id = G_ATTRIBUTE11 THEN
161         NULL;
162     ELSIF p_attr_id = G_ATTRIBUTE12 THEN
163         NULL;
164     ELSIF p_attr_id = G_ATTRIBUTE13 THEN
165         NULL;
166     ELSIF p_attr_id = G_ATTRIBUTE14 THEN
167         NULL;
168     ELSIF p_attr_id = G_ATTRIBUTE15 THEN
169         NULL;
170     ELSIF p_attr_id = G_ATTRIBUTE2 THEN
171         NULL;
172     ELSIF p_attr_id = G_ATTRIBUTE3 THEN
173         NULL;
174     ELSIF p_attr_id = G_ATTRIBUTE4 THEN
175         NULL;
176     ELSIF p_attr_id = G_ATTRIBUTE5 THEN
177         NULL;
178     ELSIF p_attr_id = G_ATTRIBUTE6 THEN
179         NULL;
180     ELSIF p_attr_id = G_ATTRIBUTE7 THEN
181         NULL;
182     ELSIF p_attr_id = G_ATTRIBUTE8 THEN
183         NULL;
184     ELSIF p_attr_id = G_ATTRIBUTE9 THEN
185         NULL;
186     ELSIF p_attr_id = G_CONTEXT THEN
187         NULL;
188     ELSIF p_attr_id = G_CREATED_BY THEN
189         NULL;
190     ELSIF p_attr_id = G_CREATION_DATE THEN
191         NULL;
192     ELSIF p_attr_id = G_DISCOUNT THEN
193         NULL;
194     ELSIF p_attr_id = G_LAST_UPDATED_BY THEN
195         NULL;
196     ELSIF p_attr_id = G_LAST_UPDATE_DATE THEN
197         NULL;
198     ELSIF p_attr_id = G_LAST_UPDATE_LOGIN THEN
199         NULL;
200     ELSIF p_attr_id = G_PRICE_LIST THEN
201         NULL;
202     ELSIF p_attr_id = G_PRICING_CONTRACT THEN
203         NULL;
204     END IF;
205 
206 END Clear_Dependent_Attr;
207 
208 --  Procedure Apply_Attribute_Changes
209 
210 PROCEDURE Apply_Attribute_Changes
211 (   p_Contract_rec                  IN  OE_Pricing_Cont_PUB.Contract_Rec_Type
212 ,   p_old_Contract_rec              IN  OE_Pricing_Cont_PUB.Contract_Rec_Type :=
213                                         OE_Pricing_Cont_PUB.G_MISS_CONTRACT_REC
214 ,   x_Contract_rec                  OUT OE_Pricing_Cont_PUB.Contract_Rec_Type
215 )
216 IS
217 BEGIN
218 
219     --  Load out record
220 
221     x_Contract_rec := p_Contract_rec;
222 
223     IF NOT OE_GLOBALS.Equal(p_Contract_rec.agreement_id,p_old_Contract_rec.agreement_id)
224     THEN
225         NULL;
226     END IF;
227 
228     IF NOT OE_GLOBALS.Equal(p_Contract_rec.attribute1,p_old_Contract_rec.attribute1)
229     THEN
230         NULL;
231     END IF;
232 
233     IF NOT OE_GLOBALS.Equal(p_Contract_rec.attribute10,p_old_Contract_rec.attribute10)
234     THEN
235         NULL;
236     END IF;
237 
238     IF NOT OE_GLOBALS.Equal(p_Contract_rec.attribute11,p_old_Contract_rec.attribute11)
239     THEN
240         NULL;
241     END IF;
242 
243     IF NOT OE_GLOBALS.Equal(p_Contract_rec.attribute12,p_old_Contract_rec.attribute12)
244     THEN
245         NULL;
246     END IF;
247 
248     IF NOT OE_GLOBALS.Equal(p_Contract_rec.attribute13,p_old_Contract_rec.attribute13)
249     THEN
250         NULL;
251     END IF;
252 
253     IF NOT OE_GLOBALS.Equal(p_Contract_rec.attribute14,p_old_Contract_rec.attribute14)
254     THEN
255         NULL;
256     END IF;
257 
258     IF NOT OE_GLOBALS.Equal(p_Contract_rec.attribute15,p_old_Contract_rec.attribute15)
259     THEN
260         NULL;
261     END IF;
262 
263     IF NOT OE_GLOBALS.Equal(p_Contract_rec.attribute2,p_old_Contract_rec.attribute2)
264     THEN
265         NULL;
266     END IF;
267 
268     IF NOT OE_GLOBALS.Equal(p_Contract_rec.attribute3,p_old_Contract_rec.attribute3)
269     THEN
270         NULL;
271     END IF;
272 
273     IF NOT OE_GLOBALS.Equal(p_Contract_rec.attribute4,p_old_Contract_rec.attribute4)
274     THEN
275         NULL;
276     END IF;
277 
278     IF NOT OE_GLOBALS.Equal(p_Contract_rec.attribute5,p_old_Contract_rec.attribute5)
279     THEN
280         NULL;
281     END IF;
282 
283     IF NOT OE_GLOBALS.Equal(p_Contract_rec.attribute6,p_old_Contract_rec.attribute6)
284     THEN
285         NULL;
286     END IF;
287 
288     IF NOT OE_GLOBALS.Equal(p_Contract_rec.attribute7,p_old_Contract_rec.attribute7)
289     THEN
290         NULL;
291     END IF;
292 
293     IF NOT OE_GLOBALS.Equal(p_Contract_rec.attribute8,p_old_Contract_rec.attribute8)
294     THEN
295         NULL;
296     END IF;
297 
298     IF NOT OE_GLOBALS.Equal(p_Contract_rec.attribute9,p_old_Contract_rec.attribute9)
299     THEN
300         NULL;
301     END IF;
302 
303     IF NOT OE_GLOBALS.Equal(p_Contract_rec.context,p_old_Contract_rec.context)
304     THEN
305         NULL;
306     END IF;
307 
308     IF NOT OE_GLOBALS.Equal(p_Contract_rec.created_by,p_old_Contract_rec.created_by)
309     THEN
310         NULL;
311     END IF;
312 
313     IF NOT OE_GLOBALS.Equal(p_Contract_rec.creation_date,p_old_Contract_rec.creation_date)
314     THEN
315         NULL;
316     END IF;
317 
318     IF NOT OE_GLOBALS.Equal(p_Contract_rec.discount_id,p_old_Contract_rec.discount_id)
319     THEN
320         NULL;
321     END IF;
322 
323     IF NOT OE_GLOBALS.Equal(p_Contract_rec.last_updated_by,p_old_Contract_rec.last_updated_by)
324     THEN
325         NULL;
326     END IF;
327 
328     IF NOT OE_GLOBALS.Equal(p_Contract_rec.last_update_date,p_old_Contract_rec.last_update_date)
329     THEN
330         NULL;
331     END IF;
332 
333     IF NOT OE_GLOBALS.Equal(p_Contract_rec.last_update_login,p_old_Contract_rec.last_update_login)
334     THEN
335         NULL;
336     END IF;
337 
338     IF NOT OE_GLOBALS.Equal(p_Contract_rec.price_list_id,p_old_Contract_rec.price_list_id)
339     THEN
340         NULL;
341     END IF;
342 
343     IF NOT OE_GLOBALS.Equal(p_Contract_rec.pricing_contract_id,p_old_Contract_rec.pricing_contract_id)
344     THEN
345         NULL;
346     END IF;
347 
348 END Apply_Attribute_Changes;
349 
350 --  Function Complete_Record
351 
352 FUNCTION Complete_Record
353 (   p_Contract_rec                  IN  OE_Pricing_Cont_PUB.Contract_Rec_Type
354 ,   p_old_Contract_rec              IN  OE_Pricing_Cont_PUB.Contract_Rec_Type
355 ) RETURN OE_Pricing_Cont_PUB.Contract_Rec_Type
356 IS
357 l_Contract_rec                OE_Pricing_Cont_PUB.Contract_Rec_Type := p_Contract_rec;
358 BEGIN
359 
360     IF l_Contract_rec.agreement_id = FND_API.G_MISS_NUM THEN
361         l_Contract_rec.agreement_id := p_old_Contract_rec.agreement_id;
362     END IF;
363 
364     IF l_Contract_rec.attribute1 = FND_API.G_MISS_CHAR THEN
365         l_Contract_rec.attribute1 := p_old_Contract_rec.attribute1;
366     END IF;
367 
368     IF l_Contract_rec.attribute10 = FND_API.G_MISS_CHAR THEN
369         l_Contract_rec.attribute10 := p_old_Contract_rec.attribute10;
370     END IF;
371 
372     IF l_Contract_rec.attribute11 = FND_API.G_MISS_CHAR THEN
373         l_Contract_rec.attribute11 := p_old_Contract_rec.attribute11;
374     END IF;
375 
376     IF l_Contract_rec.attribute12 = FND_API.G_MISS_CHAR THEN
377         l_Contract_rec.attribute12 := p_old_Contract_rec.attribute12;
378     END IF;
379 
380     IF l_Contract_rec.attribute13 = FND_API.G_MISS_CHAR THEN
381         l_Contract_rec.attribute13 := p_old_Contract_rec.attribute13;
382     END IF;
383 
384     IF l_Contract_rec.attribute14 = FND_API.G_MISS_CHAR THEN
385         l_Contract_rec.attribute14 := p_old_Contract_rec.attribute14;
386     END IF;
387 
388     IF l_Contract_rec.attribute15 = FND_API.G_MISS_CHAR THEN
389         l_Contract_rec.attribute15 := p_old_Contract_rec.attribute15;
390     END IF;
391 
392     IF l_Contract_rec.attribute2 = FND_API.G_MISS_CHAR THEN
393         l_Contract_rec.attribute2 := p_old_Contract_rec.attribute2;
394     END IF;
395 
396     IF l_Contract_rec.attribute3 = FND_API.G_MISS_CHAR THEN
397         l_Contract_rec.attribute3 := p_old_Contract_rec.attribute3;
398     END IF;
399 
400     IF l_Contract_rec.attribute4 = FND_API.G_MISS_CHAR THEN
401         l_Contract_rec.attribute4 := p_old_Contract_rec.attribute4;
402     END IF;
403 
404     IF l_Contract_rec.attribute5 = FND_API.G_MISS_CHAR THEN
405         l_Contract_rec.attribute5 := p_old_Contract_rec.attribute5;
406     END IF;
407 
411 
408     IF l_Contract_rec.attribute6 = FND_API.G_MISS_CHAR THEN
409         l_Contract_rec.attribute6 := p_old_Contract_rec.attribute6;
410     END IF;
412     IF l_Contract_rec.attribute7 = FND_API.G_MISS_CHAR THEN
413         l_Contract_rec.attribute7 := p_old_Contract_rec.attribute7;
414     END IF;
415 
416     IF l_Contract_rec.attribute8 = FND_API.G_MISS_CHAR THEN
417         l_Contract_rec.attribute8 := p_old_Contract_rec.attribute8;
418     END IF;
419 
420     IF l_Contract_rec.attribute9 = FND_API.G_MISS_CHAR THEN
421         l_Contract_rec.attribute9 := p_old_Contract_rec.attribute9;
422     END IF;
423 
424     IF l_Contract_rec.context = FND_API.G_MISS_CHAR THEN
425         l_Contract_rec.context := p_old_Contract_rec.context;
426     END IF;
427 
428     IF l_Contract_rec.created_by = FND_API.G_MISS_NUM THEN
429         l_Contract_rec.created_by := p_old_Contract_rec.created_by;
430     END IF;
431 
432     IF l_Contract_rec.creation_date = FND_API.G_MISS_DATE THEN
433         l_Contract_rec.creation_date := p_old_Contract_rec.creation_date;
434     END IF;
435 
436     IF l_Contract_rec.discount_id = FND_API.G_MISS_NUM THEN
437         l_Contract_rec.discount_id := p_old_Contract_rec.discount_id;
438     END IF;
439 
440     IF l_Contract_rec.last_updated_by = FND_API.G_MISS_NUM THEN
441         l_Contract_rec.last_updated_by := p_old_Contract_rec.last_updated_by;
442     END IF;
443 
444     IF l_Contract_rec.last_update_date = FND_API.G_MISS_DATE THEN
445         l_Contract_rec.last_update_date := p_old_Contract_rec.last_update_date;
446     END IF;
447 
448     IF l_Contract_rec.last_update_login = FND_API.G_MISS_NUM THEN
449         l_Contract_rec.last_update_login := p_old_Contract_rec.last_update_login;
450     END IF;
451 
452     IF l_Contract_rec.price_list_id = FND_API.G_MISS_NUM THEN
453         l_Contract_rec.price_list_id := p_old_Contract_rec.price_list_id;
454     END IF;
455 
456     IF l_Contract_rec.pricing_contract_id = FND_API.G_MISS_NUM THEN
457         l_Contract_rec.pricing_contract_id := p_old_Contract_rec.pricing_contract_id;
458     END IF;
459 
460     RETURN l_Contract_rec;
461 
462 END Complete_Record;
463 
464 --  Function Convert_Miss_To_Null
465 
466 FUNCTION Convert_Miss_To_Null
467 (   p_Contract_rec                  IN  OE_Pricing_Cont_PUB.Contract_Rec_Type
468 ) RETURN OE_Pricing_Cont_PUB.Contract_Rec_Type
469 IS
470 l_Contract_rec                OE_Pricing_Cont_PUB.Contract_Rec_Type := p_Contract_rec;
471 BEGIN
472 
473     IF l_Contract_rec.agreement_id = FND_API.G_MISS_NUM THEN
474         l_Contract_rec.agreement_id := NULL;
475     END IF;
476 
477     IF l_Contract_rec.attribute1 = FND_API.G_MISS_CHAR THEN
478         l_Contract_rec.attribute1 := NULL;
479     END IF;
480 
481     IF l_Contract_rec.attribute10 = FND_API.G_MISS_CHAR THEN
482         l_Contract_rec.attribute10 := NULL;
483     END IF;
484 
485     IF l_Contract_rec.attribute11 = FND_API.G_MISS_CHAR THEN
486         l_Contract_rec.attribute11 := NULL;
487     END IF;
488 
489     IF l_Contract_rec.attribute12 = FND_API.G_MISS_CHAR THEN
490         l_Contract_rec.attribute12 := NULL;
491     END IF;
492 
493     IF l_Contract_rec.attribute13 = FND_API.G_MISS_CHAR THEN
494         l_Contract_rec.attribute13 := NULL;
495     END IF;
496 
497     IF l_Contract_rec.attribute14 = FND_API.G_MISS_CHAR THEN
498         l_Contract_rec.attribute14 := NULL;
499     END IF;
500 
501     IF l_Contract_rec.attribute15 = FND_API.G_MISS_CHAR THEN
502         l_Contract_rec.attribute15 := NULL;
503     END IF;
504 
505     IF l_Contract_rec.attribute2 = FND_API.G_MISS_CHAR THEN
506         l_Contract_rec.attribute2 := NULL;
507     END IF;
508 
509     IF l_Contract_rec.attribute3 = FND_API.G_MISS_CHAR THEN
510         l_Contract_rec.attribute3 := NULL;
511     END IF;
512 
513     IF l_Contract_rec.attribute4 = FND_API.G_MISS_CHAR THEN
514         l_Contract_rec.attribute4 := NULL;
515     END IF;
516 
517     IF l_Contract_rec.attribute5 = FND_API.G_MISS_CHAR THEN
518         l_Contract_rec.attribute5 := NULL;
519     END IF;
520 
521     IF l_Contract_rec.attribute6 = FND_API.G_MISS_CHAR THEN
522         l_Contract_rec.attribute6 := NULL;
523     END IF;
524 
525     IF l_Contract_rec.attribute7 = FND_API.G_MISS_CHAR THEN
526         l_Contract_rec.attribute7 := NULL;
527     END IF;
528 
529     IF l_Contract_rec.attribute8 = FND_API.G_MISS_CHAR THEN
530         l_Contract_rec.attribute8 := NULL;
531     END IF;
532 
533     IF l_Contract_rec.attribute9 = FND_API.G_MISS_CHAR THEN
534         l_Contract_rec.attribute9 := NULL;
535     END IF;
536 
537     IF l_Contract_rec.context = FND_API.G_MISS_CHAR THEN
538         l_Contract_rec.context := NULL;
539     END IF;
540 
541     IF l_Contract_rec.created_by = FND_API.G_MISS_NUM THEN
542         l_Contract_rec.created_by := NULL;
543     END IF;
544 
545     IF l_Contract_rec.creation_date = FND_API.G_MISS_DATE THEN
546         l_Contract_rec.creation_date := NULL;
547     END IF;
548 
549     IF l_Contract_rec.discount_id = FND_API.G_MISS_NUM THEN
550         l_Contract_rec.discount_id := NULL;
551     END IF;
552 
553     IF l_Contract_rec.last_updated_by = FND_API.G_MISS_NUM THEN
554         l_Contract_rec.last_updated_by := NULL;
555     END IF;
556 
557     IF l_Contract_rec.last_update_date = FND_API.G_MISS_DATE THEN
558         l_Contract_rec.last_update_date := NULL;
559     END IF;
560 
561     IF l_Contract_rec.last_update_login = FND_API.G_MISS_NUM THEN
562         l_Contract_rec.last_update_login := NULL;
566         l_Contract_rec.price_list_id := NULL;
563     END IF;
564 
565     IF l_Contract_rec.price_list_id = FND_API.G_MISS_NUM THEN
567     END IF;
568 
569     IF l_Contract_rec.pricing_contract_id = FND_API.G_MISS_NUM THEN
570         l_Contract_rec.pricing_contract_id := NULL;
571     END IF;
572 
573     RETURN l_Contract_rec;
574 
575 END Convert_Miss_To_Null;
576 
577 --  Procedure Update_Row
578 
579 PROCEDURE Update_Row
580 (   p_Contract_rec                  IN  OE_Pricing_Cont_PUB.Contract_Rec_Type
581 )
582 IS
583 BEGIN
584 
585     UPDATE  OE_PRICING_CONTRACTS
589     ,       ATTRIBUTE11                    = p_Contract_rec.attribute11
586     SET     AGREEMENT_ID                   = p_Contract_rec.agreement_id
587     ,       ATTRIBUTE1                     = p_Contract_rec.attribute1
588     ,       ATTRIBUTE10                    = p_Contract_rec.attribute10
590     ,       ATTRIBUTE12                    = p_Contract_rec.attribute12
591     ,       ATTRIBUTE13                    = p_Contract_rec.attribute13
592     ,       ATTRIBUTE14                    = p_Contract_rec.attribute14
593     ,       ATTRIBUTE15                    = p_Contract_rec.attribute15
594     ,       ATTRIBUTE2                     = p_Contract_rec.attribute2
595     ,       ATTRIBUTE3                     = p_Contract_rec.attribute3
596     ,       ATTRIBUTE4                     = p_Contract_rec.attribute4
597     ,       ATTRIBUTE5                     = p_Contract_rec.attribute5
598     ,       ATTRIBUTE6                     = p_Contract_rec.attribute6
599     ,       ATTRIBUTE7                     = p_Contract_rec.attribute7
600     ,       ATTRIBUTE8                     = p_Contract_rec.attribute8
601     ,       ATTRIBUTE9                     = p_Contract_rec.attribute9
602     ,       CONTEXT                        = p_Contract_rec.context
603     ,       CREATED_BY                     = p_Contract_rec.created_by
604     ,       CREATION_DATE                  = p_Contract_rec.creation_date
605     ,       DISCOUNT_ID                    = p_Contract_rec.discount_id
606     ,       LAST_UPDATED_BY                = p_Contract_rec.last_updated_by
607     ,       LAST_UPDATE_DATE               = p_Contract_rec.last_update_date
608     ,       LAST_UPDATE_LOGIN              = p_Contract_rec.last_update_login
609     ,       PRICE_LIST_ID                  = p_Contract_rec.price_list_id
610     ,       PRICING_CONTRACT_ID            = p_Contract_rec.pricing_contract_id
611     WHERE   PRICING_CONTRACT_ID = p_Contract_rec.pricing_contract_id
612     ;
613 
614 EXCEPTION
615 
616     WHEN OTHERS THEN
617 
618         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
619         THEN
620             OE_MSG_PUB.Add_Exc_Msg
621             (   G_PKG_NAME
622             ,   'Update_Row'
623             );
624         END IF;
625 
626         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
627 
628 END Update_Row;
629 
630 --  Procedure Insert_Row
631 
632 PROCEDURE Insert_Row
633 (   p_Contract_rec                  IN  OE_Pricing_Cont_PUB.Contract_Rec_Type
634 )
635 IS
636 BEGIN
637 
638     oe_debug_pub.add('Entering OE_Contract_Util.Insert_Row');
639 
640     INSERT  INTO OE_PRICING_CONTRACTS
641     (       AGREEMENT_ID
642     ,       ATTRIBUTE1
643     ,       ATTRIBUTE10
644     ,       ATTRIBUTE11
645     ,       ATTRIBUTE12
646     ,       ATTRIBUTE13
647     ,       ATTRIBUTE14
648     ,       ATTRIBUTE15
649     ,       ATTRIBUTE2
650     ,       ATTRIBUTE3
651     ,       ATTRIBUTE4
652     ,       ATTRIBUTE5
653     ,       ATTRIBUTE6
654     ,       ATTRIBUTE7
655     ,       ATTRIBUTE8
656     ,       ATTRIBUTE9
657     ,       CONTEXT
658     ,       CREATED_BY
659     ,       CREATION_DATE
660     ,       DISCOUNT_ID
661     ,       LAST_UPDATED_BY
662     ,       LAST_UPDATE_DATE
663     ,       LAST_UPDATE_LOGIN
667     VALUES
664     ,       PRICE_LIST_ID
665     ,       PRICING_CONTRACT_ID
666     )
668     (       p_Contract_rec.agreement_id
669     ,       p_Contract_rec.attribute1
670     ,       p_Contract_rec.attribute10
671     ,       p_Contract_rec.attribute11
672     ,       p_Contract_rec.attribute12
673     ,       p_Contract_rec.attribute13
674     ,       p_Contract_rec.attribute14
675     ,       p_Contract_rec.attribute15
676     ,       p_Contract_rec.attribute2
677     ,       p_Contract_rec.attribute3
678     ,       p_Contract_rec.attribute4
679     ,       p_Contract_rec.attribute5
680     ,       p_Contract_rec.attribute6
681     ,       p_Contract_rec.attribute7
682     ,       p_Contract_rec.attribute8
683     ,       p_Contract_rec.attribute9
684     ,       p_Contract_rec.context
685     ,       p_Contract_rec.created_by
686     ,       p_Contract_rec.creation_date
687     ,       p_Contract_rec.discount_id
688     ,       p_Contract_rec.last_updated_by
689     ,       p_Contract_rec.last_update_date
690     ,       p_Contract_rec.last_update_login
691     ,       p_Contract_rec.price_list_id
692     ,       p_Contract_rec.pricing_contract_id
693     );
694 
695     oe_debug_pub.add('Exiting OE_Contract_Util.Insert_Row');
696 
697 EXCEPTION
698 
699     WHEN OTHERS THEN
700 
701         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
702         THEN
703             OE_MSG_PUB.Add_Exc_Msg
704             (   G_PKG_NAME
705             ,   'Insert_Row'
706             );
707         END IF;
708 
709         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
710 
711 END Insert_Row;
712 
713 --  Procedure Delete_Row
714 
715 PROCEDURE Delete_Row
716 (   p_pricing_contract_id           IN  NUMBER
717 )
718 IS
719 BEGIN
720 
721     DELETE  FROM OE_PRICING_CONTRACTS
722     WHERE   PRICING_CONTRACT_ID = p_pricing_contract_id
723     ;
724 
725 EXCEPTION
726 
727     WHEN OTHERS THEN
728 
729         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
730         THEN
731             OE_MSG_PUB.Add_Exc_Msg
732             (   G_PKG_NAME
733             ,   'Delete_Row'
734             );
735         END IF;
736 
737         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
738 
739 END Delete_Row;
740 
741 --  Function Query_Row
742 
743 FUNCTION Query_Row
744 (   p_pricing_contract_id           IN  NUMBER
745 ) RETURN OE_Pricing_Cont_PUB.Contract_Rec_Type
746 IS
747 l_Contract_rec                OE_Pricing_Cont_PUB.Contract_Rec_Type;
748 BEGIN
749 
750     SELECT  AGREEMENT_ID
751     ,       ATTRIBUTE1
752     ,       ATTRIBUTE10
753     ,       ATTRIBUTE11
754     ,       ATTRIBUTE12
755     ,       ATTRIBUTE13
756     ,       ATTRIBUTE14
757     ,       ATTRIBUTE15
758     ,       ATTRIBUTE2
759     ,       ATTRIBUTE3
760     ,       ATTRIBUTE4
761     ,       ATTRIBUTE5
762     ,       ATTRIBUTE6
763     ,       ATTRIBUTE7
764     ,       ATTRIBUTE8
765     ,       ATTRIBUTE9
766     ,       CONTEXT
767     ,       CREATED_BY
768     ,       CREATION_DATE
769     ,       DISCOUNT_ID
770     ,       LAST_UPDATED_BY
771     ,       LAST_UPDATE_DATE
772     ,       LAST_UPDATE_LOGIN
776     ,       l_Contract_rec.attribute1
773     ,       PRICE_LIST_ID
774     ,       PRICING_CONTRACT_ID
775     INTO    l_Contract_rec.agreement_id
777     ,       l_Contract_rec.attribute10
778     ,       l_Contract_rec.attribute11
779     ,       l_Contract_rec.attribute12
780     ,       l_Contract_rec.attribute13
781     ,       l_Contract_rec.attribute14
782     ,       l_Contract_rec.attribute15
783     ,       l_Contract_rec.attribute2
784     ,       l_Contract_rec.attribute3
785     ,       l_Contract_rec.attribute4
786     ,       l_Contract_rec.attribute5
787     ,       l_Contract_rec.attribute6
788     ,       l_Contract_rec.attribute7
789     ,       l_Contract_rec.attribute8
790     ,       l_Contract_rec.attribute9
791     ,       l_Contract_rec.context
792     ,       l_Contract_rec.created_by
793     ,       l_Contract_rec.creation_date
794     ,       l_Contract_rec.discount_id
795     ,       l_Contract_rec.last_updated_by
796     ,       l_Contract_rec.last_update_date
797     ,       l_Contract_rec.last_update_login
798     ,       l_Contract_rec.price_list_id
799     ,       l_Contract_rec.pricing_contract_id
800     FROM    OE_PRICING_CONTRACTS
801     WHERE   PRICING_CONTRACT_ID = p_pricing_contract_id
802     ;
803 
804     RETURN l_Contract_rec;
805 
806 EXCEPTION
807 
811         THEN
808     WHEN OTHERS THEN
809 
810         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
812             OE_MSG_PUB.Add_Exc_Msg
813             (   G_PKG_NAME
814             ,   'Query_Row'
815             );
816         END IF;
817 
818         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
819 
820 END Query_Row;
821 
822 --  Procedure       lock_Row
823 --
824 
825 PROCEDURE Lock_Row
826 (   x_return_status                 OUT VARCHAR2
827 ,   p_Contract_rec                  IN  OE_Pricing_Cont_PUB.Contract_Rec_Type
828 ,   x_Contract_rec                  OUT OE_Pricing_Cont_PUB.Contract_Rec_Type
829 )
830 IS
831 l_Contract_rec                OE_Pricing_Cont_PUB.Contract_Rec_Type;
832 BEGIN
833 
834     SELECT  AGREEMENT_ID
835     ,       ATTRIBUTE1
836     ,       ATTRIBUTE10
837     ,       ATTRIBUTE11
838     ,       ATTRIBUTE12
839     ,       ATTRIBUTE13
840     ,       ATTRIBUTE14
841     ,       ATTRIBUTE15
842     ,       ATTRIBUTE2
843     ,       ATTRIBUTE3
844     ,       ATTRIBUTE4
845     ,       ATTRIBUTE5
846     ,       ATTRIBUTE6
847     ,       ATTRIBUTE7
848     ,       ATTRIBUTE8
849     ,       ATTRIBUTE9
850     ,       CONTEXT
851     ,       CREATED_BY
852     ,       CREATION_DATE
853     ,       DISCOUNT_ID
854     ,       LAST_UPDATED_BY
855     ,       LAST_UPDATE_DATE
856     ,       LAST_UPDATE_LOGIN
857     ,       PRICE_LIST_ID
858     ,       PRICING_CONTRACT_ID
859     INTO    l_Contract_rec.agreement_id
860     ,       l_Contract_rec.attribute1
861     ,       l_Contract_rec.attribute10
862     ,       l_Contract_rec.attribute11
863     ,       l_Contract_rec.attribute12
864     ,       l_Contract_rec.attribute13
865     ,       l_Contract_rec.attribute14
866     ,       l_Contract_rec.attribute15
867     ,       l_Contract_rec.attribute2
868     ,       l_Contract_rec.attribute3
869     ,       l_Contract_rec.attribute4
870     ,       l_Contract_rec.attribute5
871     ,       l_Contract_rec.attribute6
872     ,       l_Contract_rec.attribute7
873     ,       l_Contract_rec.attribute8
874     ,       l_Contract_rec.attribute9
875     ,       l_Contract_rec.context
876     ,       l_Contract_rec.created_by
877     ,       l_Contract_rec.creation_date
878     ,       l_Contract_rec.discount_id
879     ,       l_Contract_rec.last_updated_by
880     ,       l_Contract_rec.last_update_date
881     ,       l_Contract_rec.last_update_login
882     ,       l_Contract_rec.price_list_id
883     ,       l_Contract_rec.pricing_contract_id
884     FROM    OE_PRICING_CONTRACTS
885     WHERE   PRICING_CONTRACT_ID = p_Contract_rec.pricing_contract_id
886         FOR UPDATE NOWAIT;
887 
888     --  Row locked. Compare IN attributes to DB attributes.
889 
890     IF  (   (l_Contract_rec.agreement_id =
891              p_Contract_rec.agreement_id) OR
892             ((p_Contract_rec.agreement_id = FND_API.G_MISS_NUM) OR
893             (   (l_Contract_rec.agreement_id IS NULL) AND
894                 (p_Contract_rec.agreement_id IS NULL))))
895     AND (   (l_Contract_rec.attribute1 =
896              p_Contract_rec.attribute1) OR
897             ((p_Contract_rec.attribute1 = FND_API.G_MISS_CHAR) OR
898             (   (l_Contract_rec.attribute1 IS NULL) AND
899                 (p_Contract_rec.attribute1 IS NULL))))
900     AND (   (l_Contract_rec.attribute10 =
901              p_Contract_rec.attribute10) OR
902             ((p_Contract_rec.attribute10 = FND_API.G_MISS_CHAR) OR
903             (   (l_Contract_rec.attribute10 IS NULL) AND
904                 (p_Contract_rec.attribute10 IS NULL))))
905     AND (   (l_Contract_rec.attribute11 =
906              p_Contract_rec.attribute11) OR
907             ((p_Contract_rec.attribute11 = FND_API.G_MISS_CHAR) OR
908             (   (l_Contract_rec.attribute11 IS NULL) AND
909                 (p_Contract_rec.attribute11 IS NULL))))
910     AND (   (l_Contract_rec.attribute12 =
911              p_Contract_rec.attribute12) OR
912             ((p_Contract_rec.attribute12 = FND_API.G_MISS_CHAR) OR
913             (   (l_Contract_rec.attribute12 IS NULL) AND
914                 (p_Contract_rec.attribute12 IS NULL))))
915     AND (   (l_Contract_rec.attribute13 =
916              p_Contract_rec.attribute13) OR
917             ((p_Contract_rec.attribute13 = FND_API.G_MISS_CHAR) OR
918             (   (l_Contract_rec.attribute13 IS NULL) AND
919                 (p_Contract_rec.attribute13 IS NULL))))
920     AND (   (l_Contract_rec.attribute14 =
921              p_Contract_rec.attribute14) OR
922             ((p_Contract_rec.attribute14 = FND_API.G_MISS_CHAR) OR
923             (   (l_Contract_rec.attribute14 IS NULL) AND
924                 (p_Contract_rec.attribute14 IS NULL))))
925     AND (   (l_Contract_rec.attribute15 =
926              p_Contract_rec.attribute15) OR
927             ((p_Contract_rec.attribute15 = FND_API.G_MISS_CHAR) OR
928             (   (l_Contract_rec.attribute15 IS NULL) AND
929                 (p_Contract_rec.attribute15 IS NULL))))
930     AND (   (l_Contract_rec.attribute2 =
931              p_Contract_rec.attribute2) OR
932             ((p_Contract_rec.attribute2 = FND_API.G_MISS_CHAR) OR
933             (   (l_Contract_rec.attribute2 IS NULL) AND
934                 (p_Contract_rec.attribute2 IS NULL))))
935     AND (   (l_Contract_rec.attribute3 =
939                 (p_Contract_rec.attribute3 IS NULL))))
936              p_Contract_rec.attribute3) OR
937             ((p_Contract_rec.attribute3 = FND_API.G_MISS_CHAR) OR
938             (   (l_Contract_rec.attribute3 IS NULL) AND
940     AND (   (l_Contract_rec.attribute4 =
941              p_Contract_rec.attribute4) OR
942             ((p_Contract_rec.attribute4 = FND_API.G_MISS_CHAR) OR
943             (   (l_Contract_rec.attribute4 IS NULL) AND
944                 (p_Contract_rec.attribute4 IS NULL))))
945     AND (   (l_Contract_rec.attribute5 =
946              p_Contract_rec.attribute5) OR
947             ((p_Contract_rec.attribute5 = FND_API.G_MISS_CHAR) OR
948             (   (l_Contract_rec.attribute5 IS NULL) AND
949                 (p_Contract_rec.attribute5 IS NULL))))
950     AND (   (l_Contract_rec.attribute6 =
951              p_Contract_rec.attribute6) OR
952             ((p_Contract_rec.attribute6 = FND_API.G_MISS_CHAR) OR
953             (   (l_Contract_rec.attribute6 IS NULL) AND
954                 (p_Contract_rec.attribute6 IS NULL))))
955     AND (   (l_Contract_rec.attribute7 =
956              p_Contract_rec.attribute7) OR
957             ((p_Contract_rec.attribute7 = FND_API.G_MISS_CHAR) OR
958             (   (l_Contract_rec.attribute7 IS NULL) AND
959                 (p_Contract_rec.attribute7 IS NULL))))
960     AND (   (l_Contract_rec.attribute8 =
961              p_Contract_rec.attribute8) OR
962             ((p_Contract_rec.attribute8 = FND_API.G_MISS_CHAR) OR
963             (   (l_Contract_rec.attribute8 IS NULL) AND
964                 (p_Contract_rec.attribute8 IS NULL))))
965     AND (   (l_Contract_rec.attribute9 =
966              p_Contract_rec.attribute9) OR
967             ((p_Contract_rec.attribute9 = FND_API.G_MISS_CHAR) OR
968             (   (l_Contract_rec.attribute9 IS NULL) AND
969                 (p_Contract_rec.attribute9 IS NULL))))
970     AND (   (l_Contract_rec.context =
971              p_Contract_rec.context) OR
972             ((p_Contract_rec.context = FND_API.G_MISS_CHAR) OR
973             (   (l_Contract_rec.context IS NULL) AND
974                 (p_Contract_rec.context IS NULL))))
975     AND (   (l_Contract_rec.created_by =
976              p_Contract_rec.created_by) OR
977             ((p_Contract_rec.created_by = FND_API.G_MISS_NUM) OR
978             (   (l_Contract_rec.created_by IS NULL) AND
979                 (p_Contract_rec.created_by IS NULL))))
980     AND (   (l_Contract_rec.creation_date =
981              p_Contract_rec.creation_date) OR
982             ((p_Contract_rec.creation_date = FND_API.G_MISS_DATE) OR
983             (   (l_Contract_rec.creation_date IS NULL) AND
984                 (p_Contract_rec.creation_date IS NULL))))
985     AND (   (l_Contract_rec.discount_id =
986              p_Contract_rec.discount_id) OR
987             ((p_Contract_rec.discount_id = FND_API.G_MISS_NUM) OR
988             (   (l_Contract_rec.discount_id IS NULL) AND
989                 (p_Contract_rec.discount_id IS NULL))))
990     AND (   (l_Contract_rec.last_updated_by =
991              p_Contract_rec.last_updated_by) OR
992             ((p_Contract_rec.last_updated_by = FND_API.G_MISS_NUM) OR
993             (   (l_Contract_rec.last_updated_by IS NULL) AND
994                 (p_Contract_rec.last_updated_by IS NULL))))
995     AND (   (l_Contract_rec.last_update_date =
996              p_Contract_rec.last_update_date) OR
997             ((p_Contract_rec.last_update_date = FND_API.G_MISS_DATE) OR
998             (   (l_Contract_rec.last_update_date IS NULL) AND
999                 (p_Contract_rec.last_update_date IS NULL))))
1000     AND (   (l_Contract_rec.last_update_login =
1001              p_Contract_rec.last_update_login) OR
1002             ((p_Contract_rec.last_update_login = FND_API.G_MISS_NUM) OR
1003             (   (l_Contract_rec.last_update_login IS NULL) AND
1004                 (p_Contract_rec.last_update_login IS NULL))))
1005     AND (   (l_Contract_rec.price_list_id =
1006              p_Contract_rec.price_list_id) OR
1007             ((p_Contract_rec.price_list_id = FND_API.G_MISS_NUM) OR
1008             (   (l_Contract_rec.price_list_id IS NULL) AND
1009                 (p_Contract_rec.price_list_id IS NULL))))
1010     AND (   (l_Contract_rec.pricing_contract_id =
1011              p_Contract_rec.pricing_contract_id) OR
1012             ((p_Contract_rec.pricing_contract_id = FND_API.G_MISS_NUM) OR
1013             (   (l_Contract_rec.pricing_contract_id IS NULL) AND
1014                 (p_Contract_rec.pricing_contract_id IS NULL))))
1015     THEN
1016 
1017         --  Row has not changed. Set out parameter.
1018 
1019         x_Contract_rec                 := l_Contract_rec;
1020 
1021         --  Set return status
1022 
1023         x_return_status                := FND_API.G_RET_STS_SUCCESS;
1024         x_Contract_rec.return_status   := FND_API.G_RET_STS_SUCCESS;
1025 
1026     ELSE
1027 
1028         --  Row has changed by another user.
1029 
1030         x_return_status                := FND_API.G_RET_STS_ERROR;
1031         x_Contract_rec.return_status   := FND_API.G_RET_STS_ERROR;
1032 
1033         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
1034         THEN
1035 
1036             FND_MESSAGE.SET_NAME('OE','OE_LOCK_ROW_CHANGED');
1037             OE_MSG_PUB.Add;
1038 
1039         END IF;
1040 
1041     END IF;
1042 
1043 EXCEPTION
1044 
1048         x_Contract_rec.return_status   := FND_API.G_RET_STS_ERROR;
1045     WHEN NO_DATA_FOUND THEN
1046 
1047         x_return_status                := FND_API.G_RET_STS_ERROR;
1049 
1050         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
1051         THEN
1052 
1053             FND_MESSAGE.SET_NAME('OE','OE_LOCK_ROW_DELETED');
1054             OE_MSG_PUB.Add;
1055 
1056         END IF;
1057     WHEN APP_EXCEPTIONS.RECORD_LOCK_EXCEPTION THEN
1058 
1059         x_return_status                := FND_API.G_RET_STS_ERROR;
1060         x_Contract_rec.return_status   := FND_API.G_RET_STS_ERROR;
1061 
1062         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
1063         THEN
1064 
1065             FND_MESSAGE.SET_NAME('OE','OE_LOCK_ROW_ALREADY_LOCKED');
1066             OE_MSG_PUB.Add;
1067 
1068         END IF;
1069     WHEN OTHERS THEN
1070 
1071         x_return_status                := FND_API.G_RET_STS_UNEXP_ERROR;
1072         x_Contract_rec.return_status   := FND_API.G_RET_STS_UNEXP_ERROR;
1073 
1074         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1075         THEN
1076             OE_MSG_PUB.Add_Exc_Msg
1077             (   G_PKG_NAME
1078             ,   'Lock_Row'
1079             );
1080         END IF;
1081 
1082 END Lock_Row;
1083 
1084 --  Function Get_Values
1085 
1086 FUNCTION Get_Values
1090 ) RETURN OE_Pricing_Cont_PUB.Contract_Val_Rec_Type
1087 (   p_Contract_rec                  IN  OE_Pricing_Cont_PUB.Contract_Rec_Type
1088 ,   p_old_Contract_rec              IN  OE_Pricing_Cont_PUB.Contract_Rec_Type :=
1089                                         OE_Pricing_Cont_PUB.G_MISS_CONTRACT_REC
1091 IS
1092 l_Contract_val_rec            OE_Pricing_Cont_PUB.Contract_Val_Rec_Type;
1093 BEGIN
1094 
1095     IF p_Contract_rec.agreement_id IS NOT NULL AND
1096         p_Contract_rec.agreement_id <> FND_API.G_MISS_NUM AND
1097         NOT OE_GLOBALS.Equal(p_Contract_rec.agreement_id,
1098         p_old_Contract_rec.agreement_id)
1099     THEN
1100         l_Contract_val_rec.agreement := OE_Id_To_Value.Agreement
1101         (   p_agreement_id                => p_Contract_rec.agreement_id
1102         );
1103     END IF;
1104 
1105     IF p_Contract_rec.discount_id IS NOT NULL AND
1106         p_Contract_rec.discount_id <> FND_API.G_MISS_NUM AND
1107         NOT OE_GLOBALS.Equal(p_Contract_rec.discount_id,
1108         p_old_Contract_rec.discount_id)
1109     THEN
1110         l_Contract_val_rec.discount := OE_Id_To_Value.Discount
1111         (   p_discount_id                 => p_Contract_rec.discount_id
1112         );
1113     END IF;
1114 
1115     IF p_Contract_rec.price_list_id IS NOT NULL AND
1116         p_Contract_rec.price_list_id <> FND_API.G_MISS_NUM AND
1117         NOT OE_GLOBALS.Equal(p_Contract_rec.price_list_id,
1118         p_old_Contract_rec.price_list_id)
1119     THEN
1120         l_Contract_val_rec.price_list := OE_Id_To_Value.Price_List
1121         (   p_price_list_id               => p_Contract_rec.price_list_id
1122         );
1123     END IF;
1124 
1125     RETURN l_Contract_val_rec;
1126 
1127 END Get_Values;
1128 
1129 --  Function Get_Ids
1130 
1131 FUNCTION Get_Ids
1132 (   p_Contract_rec                  IN  OE_Pricing_Cont_PUB.Contract_Rec_Type
1133 ,   p_Contract_val_rec              IN  OE_Pricing_Cont_PUB.Contract_Val_Rec_Type
1134 ) RETURN OE_Pricing_Cont_PUB.Contract_Rec_Type
1135 IS
1136 l_Contract_rec                OE_Pricing_Cont_PUB.Contract_Rec_Type;
1137 BEGIN
1138 
1139     --  initialize  return_status.
1140 
1141     l_Contract_rec.return_status := FND_API.G_RET_STS_SUCCESS;
1142 
1143     --  initialize l_Contract_rec.
1144 
1145     l_Contract_rec := p_Contract_rec;
1146 
1147     IF  p_Contract_val_rec.agreement <> FND_API.G_MISS_CHAR
1148     THEN
1149 
1150         IF p_Contract_rec.agreement_id <> FND_API.G_MISS_NUM THEN
1151 
1152             l_Contract_rec.agreement_id := p_Contract_rec.agreement_id;
1153 
1154             IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
1155             THEN
1156 
1157                 FND_MESSAGE.SET_NAME('OE','FND_BOTH_VAL_AND_ID_EXIST');
1158                 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','agreement');
1159                 OE_MSG_PUB.Add;
1160 
1161             END IF;
1162 
1163         ELSE
1164 
1165             l_Contract_rec.agreement_id := OE_Value_To_Id.agreement
1166             (   p_agreement                   => p_Contract_val_rec.agreement
1167             );
1168 
1169             IF l_Contract_rec.agreement_id = FND_API.G_MISS_NUM THEN
1170                 l_Contract_rec.return_status := FND_API.G_RET_STS_ERROR;
1171             END IF;
1172 
1173         END IF;
1174 
1175     END IF;
1176 
1180         IF p_Contract_rec.discount_id <> FND_API.G_MISS_NUM THEN
1177     IF  p_Contract_val_rec.discount <> FND_API.G_MISS_CHAR
1178     THEN
1179 
1181 
1182             l_Contract_rec.discount_id := p_Contract_rec.discount_id;
1183 
1184             IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
1185             THEN
1186 
1187                 FND_MESSAGE.SET_NAME('OE','FND_BOTH_VAL_AND_ID_EXIST');
1188                 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','discount');
1189                 OE_MSG_PUB.Add;
1190 
1191             END IF;
1192 
1193         ELSE
1194 
1195             l_Contract_rec.discount_id := OE_Value_To_Id.discount
1196             (   p_discount                    => p_Contract_val_rec.discount
1197             );
1198 
1199             IF l_Contract_rec.discount_id = FND_API.G_MISS_NUM THEN
1200                 l_Contract_rec.return_status := FND_API.G_RET_STS_ERROR;
1201             END IF;
1202 
1203         END IF;
1204 
1205     END IF;
1206 
1207     IF  p_Contract_val_rec.price_list <> FND_API.G_MISS_CHAR
1208     THEN
1209 
1210         IF p_Contract_rec.price_list_id <> FND_API.G_MISS_NUM THEN
1211 
1212             l_Contract_rec.price_list_id := p_Contract_rec.price_list_id;
1213 
1214             IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
1215             THEN
1216 
1217                 FND_MESSAGE.SET_NAME('OE','FND_BOTH_VAL_AND_ID_EXIST');
1218                 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','price_list');
1219                 OE_MSG_PUB.Add;
1220 
1221             END IF;
1222 
1223         ELSE
1224 
1225             l_Contract_rec.price_list_id := OE_Value_To_Id.price_list
1226             (   p_price_list                  => p_Contract_val_rec.price_list
1227             );
1228 
1229             IF l_Contract_rec.price_list_id = FND_API.G_MISS_NUM THEN
1230                 l_Contract_rec.return_status := FND_API.G_RET_STS_ERROR;
1231             END IF;
1232 
1233         END IF;
1234 
1235     END IF;
1236 
1237 
1238     RETURN l_Contract_rec;
1239 
1240 END Get_Ids;
1241 
1242 END OE_Contract_Util;