DBA Data[Home] [Help]

PACKAGE BODY: APPS.QP_VALIDATE_PSG

Source


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