DBA Data[Home] [Help]

PACKAGE BODY: APPS.OE_VALIDATE_CONTRACT

Source


1 PACKAGE BODY OE_Validate_Contract AS
2 /* $Header: OEXLPCTB.pls 115.0 99/07/15 19:24:37 porting shi $ */
3 
4 --  Global constant holding the package name
5 
6 G_PKG_NAME                    CONSTANT VARCHAR2(30) := 'OE_Validate_Contract';
7 
8 --  Procedure Entity
9 
10 PROCEDURE Entity
11 (   x_return_status                 OUT VARCHAR2
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 )
16 IS
17 l_return_status               VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
18 BEGIN
19 
20     --  Check required attributes.
21 
22     IF  p_Contract_rec.pricing_contract_id IS NULL
23     THEN
24 
25         l_return_status := FND_API.G_RET_STS_ERROR;
26 
27         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
28         THEN
29 
30             FND_MESSAGE.SET_NAME('OE','OE_ATTRIBUTE_REQUIRED');
31             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','agreement');
32             OE_MSG_PUB.Add;
33 
34         END IF;
35 
36     END IF;
37 
38     --
39     --  Check rest of required attributes here.
40     --
41 
42 
43     --  Return Error if a required attribute is missing.
44 
45     IF l_return_status = FND_API.G_RET_STS_ERROR THEN
46 
47         RAISE FND_API.G_EXC_ERROR;
48 
49     END IF;
50 
51     --
52     --  Check conditionally required attributes here.
53     --
54 
55 
56     --
57     --  Validate attribute dependencies here.
58     --
59 
60 
61     --  Done validating entity
62 
63     x_return_status := l_return_status;
64 
65 EXCEPTION
66 
67     WHEN FND_API.G_EXC_ERROR THEN
68 
69         x_return_status := FND_API.G_RET_STS_ERROR;
70 
71     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
72 
73         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
74 
75     WHEN OTHERS THEN
76 
77         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
78 
79         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
80         THEN
81             OE_MSG_PUB.Add_Exc_Msg
82             (   G_PKG_NAME
83             ,   'Entity'
84             );
85         END IF;
86 
87 END Entity;
88 
89 --  Procedure Attributes
90 
91 PROCEDURE Attributes
92 (   x_return_status                 OUT VARCHAR2
93 ,   p_Contract_rec                  IN  OE_Pricing_Cont_PUB.Contract_Rec_Type
94 ,   p_old_Contract_rec              IN  OE_Pricing_Cont_PUB.Contract_Rec_Type :=
95                                         OE_Pricing_Cont_PUB.G_MISS_CONTRACT_REC
96 )
97 IS
98 BEGIN
99 
100     x_return_status := FND_API.G_RET_STS_SUCCESS;
101 
102     --  Validate Contract attributes
103 
104     IF  p_Contract_rec.agreement_id IS NOT NULL AND
105         (   p_Contract_rec.agreement_id <>
106             p_old_Contract_rec.agreement_id OR
107             p_old_Contract_rec.agreement_id IS NULL )
108     THEN
109         IF NOT OE_Validate_Attr.Agreement(p_Contract_rec.agreement_id) THEN
110             x_return_status := FND_API.G_RET_STS_ERROR;
111         END IF;
112     END IF;
113 
114     IF  p_Contract_rec.created_by IS NOT NULL AND
115         (   p_Contract_rec.created_by <>
116             p_old_Contract_rec.created_by OR
117             p_old_Contract_rec.created_by IS NULL )
118     THEN
119         IF NOT OE_Validate_Attr.Created_By(p_Contract_rec.created_by) THEN
120             x_return_status := FND_API.G_RET_STS_ERROR;
121         END IF;
122     END IF;
123 
124     IF  p_Contract_rec.creation_date IS NOT NULL AND
125         (   p_Contract_rec.creation_date <>
126             p_old_Contract_rec.creation_date OR
127             p_old_Contract_rec.creation_date IS NULL )
128     THEN
129         IF NOT OE_Validate_Attr.Creation_Date(p_Contract_rec.creation_date) THEN
130             x_return_status := FND_API.G_RET_STS_ERROR;
131         END IF;
132     END IF;
133 
134     IF  p_Contract_rec.discount_id IS NOT NULL AND
135         (   p_Contract_rec.discount_id <>
136             p_old_Contract_rec.discount_id OR
137             p_old_Contract_rec.discount_id IS NULL )
138     THEN
139         IF NOT OE_Validate_Attr.Discount(p_Contract_rec.discount_id) THEN
140             x_return_status := FND_API.G_RET_STS_ERROR;
141         END IF;
142     END IF;
143 
144     IF  p_Contract_rec.last_updated_by IS NOT NULL AND
145         (   p_Contract_rec.last_updated_by <>
146             p_old_Contract_rec.last_updated_by OR
147             p_old_Contract_rec.last_updated_by IS NULL )
148     THEN
149         IF NOT OE_Validate_Attr.Last_Updated_By(p_Contract_rec.last_updated_by) THEN
150             x_return_status := FND_API.G_RET_STS_ERROR;
151         END IF;
152     END IF;
153 
154     IF  p_Contract_rec.last_update_date IS NOT NULL AND
155         (   p_Contract_rec.last_update_date <>
156             p_old_Contract_rec.last_update_date OR
157             p_old_Contract_rec.last_update_date IS NULL )
158     THEN
159         IF NOT OE_Validate_Attr.Last_Update_Date(p_Contract_rec.last_update_date) THEN
160             x_return_status := FND_API.G_RET_STS_ERROR;
161         END IF;
162     END IF;
163 
164     IF  p_Contract_rec.last_update_login IS NOT NULL AND
165         (   p_Contract_rec.last_update_login <>
166             p_old_Contract_rec.last_update_login OR
167             p_old_Contract_rec.last_update_login IS NULL )
168     THEN
169         IF NOT OE_Validate_Attr.Last_Update_Login(p_Contract_rec.last_update_login) THEN
170             x_return_status := FND_API.G_RET_STS_ERROR;
171         END IF;
172     END IF;
173 
174     IF  p_Contract_rec.price_list_id IS NOT NULL AND
175         (   p_Contract_rec.price_list_id <>
176             p_old_Contract_rec.price_list_id OR
177             p_old_Contract_rec.price_list_id IS NULL )
178     THEN
179         IF NOT OE_Validate_Attr.Price_List(p_Contract_rec.price_list_id) THEN
180             x_return_status := FND_API.G_RET_STS_ERROR;
181         END IF;
182     END IF;
183 
184     IF  p_Contract_rec.pricing_contract_id IS NOT NULL AND
185         (   p_Contract_rec.pricing_contract_id <>
186             p_old_Contract_rec.pricing_contract_id OR
187             p_old_Contract_rec.pricing_contract_id IS NULL )
188     THEN
189         IF NOT OE_Validate_Attr.Pricing_Contract(p_Contract_rec.pricing_contract_id) THEN
190             x_return_status := FND_API.G_RET_STS_ERROR;
191         END IF;
192     END IF;
193 
194     IF  (p_Contract_rec.attribute1 IS NOT NULL AND
195         (   p_Contract_rec.attribute1 <>
196             p_old_Contract_rec.attribute1 OR
197             p_old_Contract_rec.attribute1 IS NULL ))
198     OR  (p_Contract_rec.attribute10 IS NOT NULL AND
199         (   p_Contract_rec.attribute10 <>
200             p_old_Contract_rec.attribute10 OR
201             p_old_Contract_rec.attribute10 IS NULL ))
202     OR  (p_Contract_rec.attribute11 IS NOT NULL AND
203         (   p_Contract_rec.attribute11 <>
204             p_old_Contract_rec.attribute11 OR
205             p_old_Contract_rec.attribute11 IS NULL ))
206     OR  (p_Contract_rec.attribute12 IS NOT NULL AND
207         (   p_Contract_rec.attribute12 <>
208             p_old_Contract_rec.attribute12 OR
209             p_old_Contract_rec.attribute12 IS NULL ))
210     OR  (p_Contract_rec.attribute13 IS NOT NULL AND
211         (   p_Contract_rec.attribute13 <>
212             p_old_Contract_rec.attribute13 OR
213             p_old_Contract_rec.attribute13 IS NULL ))
214     OR  (p_Contract_rec.attribute14 IS NOT NULL AND
215         (   p_Contract_rec.attribute14 <>
216             p_old_Contract_rec.attribute14 OR
217             p_old_Contract_rec.attribute14 IS NULL ))
218     OR  (p_Contract_rec.attribute15 IS NOT NULL AND
219         (   p_Contract_rec.attribute15 <>
220             p_old_Contract_rec.attribute15 OR
221             p_old_Contract_rec.attribute15 IS NULL ))
222     OR  (p_Contract_rec.attribute2 IS NOT NULL AND
223         (   p_Contract_rec.attribute2 <>
224             p_old_Contract_rec.attribute2 OR
225             p_old_Contract_rec.attribute2 IS NULL ))
226     OR  (p_Contract_rec.attribute3 IS NOT NULL AND
227         (   p_Contract_rec.attribute3 <>
228             p_old_Contract_rec.attribute3 OR
229             p_old_Contract_rec.attribute3 IS NULL ))
230     OR  (p_Contract_rec.attribute4 IS NOT NULL AND
231         (   p_Contract_rec.attribute4 <>
232             p_old_Contract_rec.attribute4 OR
233             p_old_Contract_rec.attribute4 IS NULL ))
234     OR  (p_Contract_rec.attribute5 IS NOT NULL AND
235         (   p_Contract_rec.attribute5 <>
236             p_old_Contract_rec.attribute5 OR
237             p_old_Contract_rec.attribute5 IS NULL ))
238     OR  (p_Contract_rec.attribute6 IS NOT NULL AND
239         (   p_Contract_rec.attribute6 <>
240             p_old_Contract_rec.attribute6 OR
241             p_old_Contract_rec.attribute6 IS NULL ))
242     OR  (p_Contract_rec.attribute7 IS NOT NULL AND
243         (   p_Contract_rec.attribute7 <>
244             p_old_Contract_rec.attribute7 OR
245             p_old_Contract_rec.attribute7 IS NULL ))
246     OR  (p_Contract_rec.attribute8 IS NOT NULL AND
247         (   p_Contract_rec.attribute8 <>
248             p_old_Contract_rec.attribute8 OR
249             p_old_Contract_rec.attribute8 IS NULL ))
250     OR  (p_Contract_rec.attribute9 IS NOT NULL AND
251         (   p_Contract_rec.attribute9 <>
252             p_old_Contract_rec.attribute9 OR
253             p_old_Contract_rec.attribute9 IS NULL ))
254     OR  (p_Contract_rec.context IS NOT NULL AND
255         (   p_Contract_rec.context <>
256             p_old_Contract_rec.context OR
257             p_old_Contract_rec.context IS NULL ))
258     THEN
259 
260     --  These calls are temporarily commented out
261 
262 /*
263         FND_FLEX_DESC_VAL.Set_Column_Value
264         (   column_name                   => 'ATTRIBUTE1'
265         ,   column_value                  => p_Contract_rec.attribute1
266         );
267         FND_FLEX_DESC_VAL.Set_Column_Value
268         (   column_name                   => 'ATTRIBUTE10'
269         ,   column_value                  => p_Contract_rec.attribute10
270         );
271         FND_FLEX_DESC_VAL.Set_Column_Value
272         (   column_name                   => 'ATTRIBUTE11'
273         ,   column_value                  => p_Contract_rec.attribute11
274         );
275         FND_FLEX_DESC_VAL.Set_Column_Value
276         (   column_name                   => 'ATTRIBUTE12'
277         ,   column_value                  => p_Contract_rec.attribute12
278         );
279         FND_FLEX_DESC_VAL.Set_Column_Value
280         (   column_name                   => 'ATTRIBUTE13'
281         ,   column_value                  => p_Contract_rec.attribute13
282         );
283         FND_FLEX_DESC_VAL.Set_Column_Value
284         (   column_name                   => 'ATTRIBUTE14'
285         ,   column_value                  => p_Contract_rec.attribute14
286         );
287         FND_FLEX_DESC_VAL.Set_Column_Value
288         (   column_name                   => 'ATTRIBUTE15'
289         ,   column_value                  => p_Contract_rec.attribute15
290         );
291         FND_FLEX_DESC_VAL.Set_Column_Value
292         (   column_name                   => 'ATTRIBUTE2'
293         ,   column_value                  => p_Contract_rec.attribute2
294         );
295         FND_FLEX_DESC_VAL.Set_Column_Value
296         (   column_name                   => 'ATTRIBUTE3'
297         ,   column_value                  => p_Contract_rec.attribute3
298         );
299         FND_FLEX_DESC_VAL.Set_Column_Value
300         (   column_name                   => 'ATTRIBUTE4'
301         ,   column_value                  => p_Contract_rec.attribute4
302         );
303         FND_FLEX_DESC_VAL.Set_Column_Value
304         (   column_name                   => 'ATTRIBUTE5'
305         ,   column_value                  => p_Contract_rec.attribute5
306         );
307         FND_FLEX_DESC_VAL.Set_Column_Value
308         (   column_name                   => 'ATTRIBUTE6'
309         ,   column_value                  => p_Contract_rec.attribute6
310         );
311         FND_FLEX_DESC_VAL.Set_Column_Value
312         (   column_name                   => 'ATTRIBUTE7'
313         ,   column_value                  => p_Contract_rec.attribute7
314         );
315         FND_FLEX_DESC_VAL.Set_Column_Value
316         (   column_name                   => 'ATTRIBUTE8'
317         ,   column_value                  => p_Contract_rec.attribute8
318         );
319         FND_FLEX_DESC_VAL.Set_Column_Value
320         (   column_name                   => 'ATTRIBUTE9'
321         ,   column_value                  => p_Contract_rec.attribute9
322         );
323         FND_FLEX_DESC_VAL.Set_Column_Value
324         (   column_name                   => 'CONTEXT'
325         ,   column_value                  => p_Contract_rec.context
326         );
327 */
328 
329         --  Validate descriptive flexfield.
330 
331         IF NOT OE_Validate_Attr.Desc_Flex( 'CONTRACT' ) THEN
332             x_return_status := FND_API.G_RET_STS_ERROR;
333         END IF;
334 
335     END IF;
336 
337     --  Done validating attributes
338 
339 EXCEPTION
340 
341     WHEN FND_API.G_EXC_ERROR THEN
342 
343         x_return_status := FND_API.G_RET_STS_ERROR;
344 
345     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
346 
347         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
348 
349     WHEN OTHERS THEN
350 
351         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
352 
353         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
354         THEN
355             OE_MSG_PUB.Add_Exc_Msg
356             (   G_PKG_NAME
357             ,   'Attributes'
358             );
359         END IF;
360 
361 END Attributes;
362 
363 --  Procedure Entity_Delete
364 
365 PROCEDURE Entity_Delete
366 (   x_return_status                 OUT VARCHAR2
367 ,   p_Contract_rec                  IN  OE_Pricing_Cont_PUB.Contract_Rec_Type
368 )
369 IS
370 l_return_status               VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
371 BEGIN
372 
373     --  Validate entity delete.
374 
375     NULL;
376 
377     --  Done.
378 
379     x_return_status := l_return_status;
380 
381 EXCEPTION
382 
383     WHEN FND_API.G_EXC_ERROR THEN
384 
385         x_return_status := FND_API.G_RET_STS_ERROR;
386 
387     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
388 
389         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
390 
391     WHEN OTHERS THEN
392 
393         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
394 
395         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
396         THEN
397             OE_MSG_PUB.Add_Exc_Msg
398             (   G_PKG_NAME
399             ,   'Entity_Delete'
400             );
401         END IF;
402 
403 END Entity_Delete;
404 
405 END OE_Validate_Contract;