DBA Data[Home] [Help]

PACKAGE BODY: APPS.QP_VALIDATE_SOU

Source


1 PACKAGE BODY QP_Validate_Sou AS
2 /* $Header: QPXLSOUB.pls 120.1 2005/06/08 21:26:26 appldev  $ */
3 
4 --  Global constant holding the package name
5 
6 G_PKG_NAME                    CONSTANT VARCHAR2(30) := 'QP_Validate_Sou';
7 
8 --  Procedure Entity
9 
10 PROCEDURE Entity
11 (   x_return_status                 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
12 ,   p_SOU_rec                       IN  QP_Attr_Map_PUB.Sou_Rec_Type
13 ,   p_old_SOU_rec                   IN  QP_Attr_Map_PUB.Sou_Rec_Type :=
14                                         QP_Attr_Map_PUB.G_MISS_SOU_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_SOU_rec.attribute_sourcing_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('QP','QP_ATTRIBUTE_REQUIRED');
31             FND_MESSAGE.SET_TOKEN('ATTRIBUTE','attribute1');
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 NOCOPY /* file.sql.39 change */ VARCHAR2
93 ,   p_SOU_rec                       IN  QP_Attr_Map_PUB.Sou_Rec_Type
94 ,   p_old_SOU_rec                   IN  QP_Attr_Map_PUB.Sou_Rec_Type :=
95                                         QP_Attr_Map_PUB.G_MISS_SOU_REC
96 )
97 IS
98 BEGIN
99 
100     x_return_status := FND_API.G_RET_STS_SUCCESS;
101 
102     --  Validate SOU attributes
103 
104     IF  p_SOU_rec.attribute_sourcing_id IS NOT NULL AND
105         (   p_SOU_rec.attribute_sourcing_id <>
106             p_old_SOU_rec.attribute_sourcing_id OR
107             p_old_SOU_rec.attribute_sourcing_id IS NULL )
108     THEN
109         IF NOT QP_Validate.Attribute_Sourcing(p_SOU_rec.attribute_sourcing_id) THEN
110             x_return_status := FND_API.G_RET_STS_ERROR;
111         END IF;
112     END IF;
113 
114     IF  p_SOU_rec.attribute_sourcing_level IS NOT NULL AND
115         (   p_SOU_rec.attribute_sourcing_level <>
116             p_old_SOU_rec.attribute_sourcing_level OR
117             p_old_SOU_rec.attribute_sourcing_level IS NULL )
118     THEN
119         IF NOT QP_Validate.Attribute_Sourcing_Level(p_SOU_rec.attribute_sourcing_level) THEN
120             x_return_status := FND_API.G_RET_STS_ERROR;
121         END IF;
122     END IF;
123 
124     IF  p_SOU_rec.application_id IS NOT NULL AND
125         (   p_SOU_rec.application_id <>
126             p_old_SOU_rec.application_id OR
127             p_old_SOU_rec.application_id IS NULL )
128     THEN
129         IF NOT QP_Validate.application_id(p_SOU_rec.application_id) THEN
130             x_return_status := FND_API.G_RET_STS_ERROR;
131         END IF;
132     END IF;
133 
134     IF  p_SOU_rec.created_by IS NOT NULL AND
135         (   p_SOU_rec.created_by <>
136             p_old_SOU_rec.created_by OR
137             p_old_SOU_rec.created_by IS NULL )
138     THEN
139         IF NOT QP_Validate.Created_By(p_SOU_rec.created_by) THEN
140             x_return_status := FND_API.G_RET_STS_ERROR;
141         END IF;
142     END IF;
143 
144     IF  p_SOU_rec.creation_date IS NOT NULL AND
145         (   p_SOU_rec.creation_date <>
146             p_old_SOU_rec.creation_date OR
147             p_old_SOU_rec.creation_date IS NULL )
148     THEN
149         IF NOT QP_Validate.Creation_Date(p_SOU_rec.creation_date) THEN
150             x_return_status := FND_API.G_RET_STS_ERROR;
151         END IF;
152     END IF;
153 
154     IF  p_SOU_rec.enabled_flag IS NOT NULL AND
155         (   p_SOU_rec.enabled_flag <>
156             p_old_SOU_rec.enabled_flag OR
157             p_old_SOU_rec.enabled_flag IS NULL )
158     THEN
159         IF NOT QP_Validate.Enabled(p_SOU_rec.enabled_flag) THEN
160             x_return_status := FND_API.G_RET_STS_ERROR;
161         END IF;
162     END IF;
163 
164     IF  p_SOU_rec.last_updated_by IS NOT NULL AND
165         (   p_SOU_rec.last_updated_by <>
166             p_old_SOU_rec.last_updated_by OR
167             p_old_SOU_rec.last_updated_by IS NULL )
168     THEN
169         IF NOT QP_Validate.Last_Updated_By(p_SOU_rec.last_updated_by) THEN
170             x_return_status := FND_API.G_RET_STS_ERROR;
171         END IF;
172     END IF;
173 
174     IF  p_SOU_rec.last_update_date IS NOT NULL AND
175         (   p_SOU_rec.last_update_date <>
176             p_old_SOU_rec.last_update_date OR
177             p_old_SOU_rec.last_update_date IS NULL )
178     THEN
179         IF NOT QP_Validate.Last_Update_Date(p_SOU_rec.last_update_date) THEN
180             x_return_status := FND_API.G_RET_STS_ERROR;
181         END IF;
182     END IF;
183 
184     IF  p_SOU_rec.last_update_login IS NOT NULL AND
185         (   p_SOU_rec.last_update_login <>
186             p_old_SOU_rec.last_update_login OR
187             p_old_SOU_rec.last_update_login IS NULL )
188     THEN
189         IF NOT QP_Validate.Last_Update_Login(p_SOU_rec.last_update_login) THEN
190             x_return_status := FND_API.G_RET_STS_ERROR;
191         END IF;
192     END IF;
193 
194     IF  p_SOU_rec.program_application_id IS NOT NULL AND
195         (   p_SOU_rec.program_application_id <>
196             p_old_SOU_rec.program_application_id OR
197             p_old_SOU_rec.program_application_id IS NULL )
198     THEN
199         IF NOT QP_Validate.Program_Application(p_SOU_rec.program_application_id) THEN
200             x_return_status := FND_API.G_RET_STS_ERROR;
201         END IF;
202     END IF;
203 
204     IF  p_SOU_rec.program_id IS NOT NULL AND
205         (   p_SOU_rec.program_id <>
206             p_old_SOU_rec.program_id OR
207             p_old_SOU_rec.program_id IS NULL )
208     THEN
209         IF NOT QP_Validate.Program(p_SOU_rec.program_id) THEN
210             x_return_status := FND_API.G_RET_STS_ERROR;
211         END IF;
212     END IF;
213 
214     IF  p_SOU_rec.program_update_date IS NOT NULL AND
215         (   p_SOU_rec.program_update_date <>
216             p_old_SOU_rec.program_update_date OR
217             p_old_SOU_rec.program_update_date IS NULL )
218     THEN
219         IF NOT QP_Validate.Program_Update_Date(p_SOU_rec.program_update_date) THEN
220             x_return_status := FND_API.G_RET_STS_ERROR;
221         END IF;
222     END IF;
223 
224     IF  p_SOU_rec.request_type_code IS NOT NULL AND
225         (   p_SOU_rec.request_type_code <>
226             p_old_SOU_rec.request_type_code OR
227             p_old_SOU_rec.request_type_code IS NULL )
228     THEN
229         IF NOT QP_Validate.Request_Type(p_SOU_rec.request_type_code) THEN
230             x_return_status := FND_API.G_RET_STS_ERROR;
231         END IF;
232     END IF;
233 
234     IF  p_SOU_rec.seeded_flag IS NOT NULL AND
235         (   p_SOU_rec.seeded_flag <>
236             p_old_SOU_rec.seeded_flag OR
237             p_old_SOU_rec.seeded_flag IS NULL )
238     THEN
239         IF NOT QP_Validate.Seeded(p_SOU_rec.seeded_flag) THEN
240             x_return_status := FND_API.G_RET_STS_ERROR;
241         END IF;
242     END IF;
243 
244     IF  p_SOU_rec.seeded_sourcing_type IS NOT NULL AND
245         (   p_SOU_rec.seeded_sourcing_type <>
246             p_old_SOU_rec.seeded_sourcing_type OR
247             p_old_SOU_rec.seeded_sourcing_type IS NULL )
248     THEN
249         IF NOT QP_Validate.Seeded_Sourcing_Type(p_SOU_rec.seeded_sourcing_type) THEN
250             x_return_status := FND_API.G_RET_STS_ERROR;
251         END IF;
252     END IF;
253 
254     IF  p_SOU_rec.seeded_value_string IS NOT NULL AND
255         (   p_SOU_rec.seeded_value_string <>
256             p_old_SOU_rec.seeded_value_string OR
257             p_old_SOU_rec.seeded_value_string IS NULL )
258     THEN
259         IF NOT QP_Validate.Seeded_Value_String(p_SOU_rec.seeded_value_string) THEN
260             x_return_status := FND_API.G_RET_STS_ERROR;
261         END IF;
262     END IF;
263 
264     IF  p_SOU_rec.segment_id IS NOT NULL AND
265         (   p_SOU_rec.segment_id <>
266             p_old_SOU_rec.segment_id OR
267             p_old_SOU_rec.segment_id IS NULL )
268     THEN
269         IF NOT QP_Validate.Segment(p_SOU_rec.segment_id) THEN
270             x_return_status := FND_API.G_RET_STS_ERROR;
271         END IF;
272     END IF;
273 
274     IF  p_SOU_rec.user_sourcing_type IS NOT NULL AND
275         (   p_SOU_rec.user_sourcing_type <>
276             p_old_SOU_rec.user_sourcing_type OR
277             p_old_SOU_rec.user_sourcing_type IS NULL )
278     THEN
279         IF NOT QP_Validate.User_Sourcing_Type(p_SOU_rec.user_sourcing_type) THEN
280             x_return_status := FND_API.G_RET_STS_ERROR;
281         END IF;
282     END IF;
283 
284     IF  p_SOU_rec.user_value_string IS NOT NULL AND
285         (   p_SOU_rec.user_value_string <>
286             p_old_SOU_rec.user_value_string OR
287             p_old_SOU_rec.user_value_string IS NULL )
288     THEN
289         IF NOT QP_Validate.User_Value_String(p_SOU_rec.user_value_string) THEN
290             x_return_status := FND_API.G_RET_STS_ERROR;
291         END IF;
292     END IF;
293 
294     IF  (p_SOU_rec.attribute1 IS NOT NULL AND
295         (   p_SOU_rec.attribute1 <>
296             p_old_SOU_rec.attribute1 OR
297             p_old_SOU_rec.attribute1 IS NULL ))
298     OR  (p_SOU_rec.attribute10 IS NOT NULL AND
299         (   p_SOU_rec.attribute10 <>
300             p_old_SOU_rec.attribute10 OR
301             p_old_SOU_rec.attribute10 IS NULL ))
302     OR  (p_SOU_rec.attribute11 IS NOT NULL AND
303         (   p_SOU_rec.attribute11 <>
304             p_old_SOU_rec.attribute11 OR
305             p_old_SOU_rec.attribute11 IS NULL ))
306     OR  (p_SOU_rec.attribute12 IS NOT NULL AND
307         (   p_SOU_rec.attribute12 <>
308             p_old_SOU_rec.attribute12 OR
309             p_old_SOU_rec.attribute12 IS NULL ))
310     OR  (p_SOU_rec.attribute13 IS NOT NULL AND
311         (   p_SOU_rec.attribute13 <>
312             p_old_SOU_rec.attribute13 OR
313             p_old_SOU_rec.attribute13 IS NULL ))
314     OR  (p_SOU_rec.attribute14 IS NOT NULL AND
315         (   p_SOU_rec.attribute14 <>
316             p_old_SOU_rec.attribute14 OR
317             p_old_SOU_rec.attribute14 IS NULL ))
318     OR  (p_SOU_rec.attribute15 IS NOT NULL AND
319         (   p_SOU_rec.attribute15 <>
320             p_old_SOU_rec.attribute15 OR
321             p_old_SOU_rec.attribute15 IS NULL ))
322     OR  (p_SOU_rec.attribute2 IS NOT NULL AND
323         (   p_SOU_rec.attribute2 <>
324             p_old_SOU_rec.attribute2 OR
325             p_old_SOU_rec.attribute2 IS NULL ))
326     OR  (p_SOU_rec.attribute3 IS NOT NULL AND
327         (   p_SOU_rec.attribute3 <>
328             p_old_SOU_rec.attribute3 OR
329             p_old_SOU_rec.attribute3 IS NULL ))
330     OR  (p_SOU_rec.attribute4 IS NOT NULL AND
331         (   p_SOU_rec.attribute4 <>
332             p_old_SOU_rec.attribute4 OR
333             p_old_SOU_rec.attribute4 IS NULL ))
334     OR  (p_SOU_rec.attribute5 IS NOT NULL AND
335         (   p_SOU_rec.attribute5 <>
336             p_old_SOU_rec.attribute5 OR
337             p_old_SOU_rec.attribute5 IS NULL ))
338     OR  (p_SOU_rec.attribute6 IS NOT NULL AND
339         (   p_SOU_rec.attribute6 <>
340             p_old_SOU_rec.attribute6 OR
341             p_old_SOU_rec.attribute6 IS NULL ))
342     OR  (p_SOU_rec.attribute7 IS NOT NULL AND
343         (   p_SOU_rec.attribute7 <>
344             p_old_SOU_rec.attribute7 OR
345             p_old_SOU_rec.attribute7 IS NULL ))
346     OR  (p_SOU_rec.attribute8 IS NOT NULL AND
347         (   p_SOU_rec.attribute8 <>
348             p_old_SOU_rec.attribute8 OR
349             p_old_SOU_rec.attribute8 IS NULL ))
350     OR  (p_SOU_rec.attribute9 IS NOT NULL AND
351         (   p_SOU_rec.attribute9 <>
352             p_old_SOU_rec.attribute9 OR
353             p_old_SOU_rec.attribute9 IS NULL ))
354     OR  (p_SOU_rec.context IS NOT NULL AND
355         (   p_SOU_rec.context <>
356             p_old_SOU_rec.context OR
357             p_old_SOU_rec.context IS NULL ))
358     THEN
359 
360     --  These calls are temporarily commented out
361 
362 /*
363         FND_FLEX_DESC_VAL.Set_Column_Value
364         (   column_name                   => 'ATTRIBUTE1'
365         ,   column_value                  => p_SOU_rec.attribute1
366         );
367         FND_FLEX_DESC_VAL.Set_Column_Value
368         (   column_name                   => 'ATTRIBUTE10'
369         ,   column_value                  => p_SOU_rec.attribute10
370         );
371         FND_FLEX_DESC_VAL.Set_Column_Value
372         (   column_name                   => 'ATTRIBUTE11'
373         ,   column_value                  => p_SOU_rec.attribute11
374         );
375         FND_FLEX_DESC_VAL.Set_Column_Value
376         (   column_name                   => 'ATTRIBUTE12'
377         ,   column_value                  => p_SOU_rec.attribute12
378         );
379         FND_FLEX_DESC_VAL.Set_Column_Value
380         (   column_name                   => 'ATTRIBUTE13'
381         ,   column_value                  => p_SOU_rec.attribute13
382         );
383         FND_FLEX_DESC_VAL.Set_Column_Value
384         (   column_name                   => 'ATTRIBUTE14'
385         ,   column_value                  => p_SOU_rec.attribute14
386         );
387         FND_FLEX_DESC_VAL.Set_Column_Value
388         (   column_name                   => 'ATTRIBUTE15'
389         ,   column_value                  => p_SOU_rec.attribute15
390         );
391         FND_FLEX_DESC_VAL.Set_Column_Value
392         (   column_name                   => 'ATTRIBUTE2'
393         ,   column_value                  => p_SOU_rec.attribute2
394         );
395         FND_FLEX_DESC_VAL.Set_Column_Value
396         (   column_name                   => 'ATTRIBUTE3'
397         ,   column_value                  => p_SOU_rec.attribute3
398         );
399         FND_FLEX_DESC_VAL.Set_Column_Value
400         (   column_name                   => 'ATTRIBUTE4'
401         ,   column_value                  => p_SOU_rec.attribute4
402         );
403         FND_FLEX_DESC_VAL.Set_Column_Value
404         (   column_name                   => 'ATTRIBUTE5'
405         ,   column_value                  => p_SOU_rec.attribute5
406         );
407         FND_FLEX_DESC_VAL.Set_Column_Value
408         (   column_name                   => 'ATTRIBUTE6'
409         ,   column_value                  => p_SOU_rec.attribute6
410         );
411         FND_FLEX_DESC_VAL.Set_Column_Value
412         (   column_name                   => 'ATTRIBUTE7'
413         ,   column_value                  => p_SOU_rec.attribute7
414         );
415         FND_FLEX_DESC_VAL.Set_Column_Value
416         (   column_name                   => 'ATTRIBUTE8'
417         ,   column_value                  => p_SOU_rec.attribute8
418         );
419         FND_FLEX_DESC_VAL.Set_Column_Value
420         (   column_name                   => 'ATTRIBUTE9'
421         ,   column_value                  => p_SOU_rec.attribute9
422         );
423         FND_FLEX_DESC_VAL.Set_Column_Value
424         (   column_name                   => 'CONTEXT'
425         ,   column_value                  => p_SOU_rec.context
426         );
427 */
428 
429         --  Validate descriptive flexfield.
430 
431         IF NOT QP_Validate.Desc_Flex( 'SOU' ) THEN
432             x_return_status := FND_API.G_RET_STS_ERROR;
433         END IF;
434 
435     END IF;
436 
437     --  Done validating attributes
438 
439 EXCEPTION
440 
441     WHEN FND_API.G_EXC_ERROR THEN
442 
443         x_return_status := FND_API.G_RET_STS_ERROR;
444 
445     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
446 
447         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
448 
449     WHEN OTHERS THEN
450 
451         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
452 
453         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
454         THEN
455             OE_MSG_PUB.Add_Exc_Msg
456             (   G_PKG_NAME
457             ,   'Attributes'
458             );
459         END IF;
460 
461 END Attributes;
462 
463 --  Procedure Entity_Delete
464 
465 PROCEDURE Entity_Delete
466 (   x_return_status                 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
467 ,   p_SOU_rec                       IN  QP_Attr_Map_PUB.Sou_Rec_Type
468 )
469 IS
470 l_return_status               VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
471 BEGIN
472 
473     --  Validate entity delete.
474 
475     NULL;
476 
477     --  Done.
478 
479     x_return_status := l_return_status;
480 
481 EXCEPTION
482 
483     WHEN FND_API.G_EXC_ERROR THEN
484 
485         x_return_status := FND_API.G_RET_STS_ERROR;
486 
487     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
488 
489         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
490 
491     WHEN OTHERS THEN
492 
493         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
494 
495         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
496         THEN
497             OE_MSG_PUB.Add_Exc_Msg
498             (   G_PKG_NAME
499             ,   'Entity_Delete'
500             );
501         END IF;
502 
503 END Entity_Delete;
504 
505 END QP_Validate_Sou;