DBA Data[Home] [Help]

PACKAGE BODY: APPS.QP_VALIDATE_CON

Source


1 PACKAGE BODY QP_Validate_Con AS
2 /* $Header: QPXLCONB.pls 120.1 2005/06/08 22:00:52 appldev  $ */
3 
4 --  Global constant holding the package name
5 
6 G_PKG_NAME                    CONSTANT VARCHAR2(30) := 'QP_Validate_Con';
7 
8 --  Procedure Entity
9 
10 PROCEDURE Entity
11 (   x_return_status                 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
12 ,   p_CON_rec                       IN  QP_Attributes_PUB.Con_Rec_Type
13 ,   p_old_CON_rec                   IN  QP_Attributes_PUB.Con_Rec_Type :=
14                                         QP_Attributes_PUB.G_MISS_CON_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_CON_rec.prc_context_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     if p_CON_rec.prc_context_code is not null
44        and p_CON_rec.prc_context_code <> FND_API.G_MISS_CHAR
45        and substr(p_CON_rec.prc_context_code,1,3) <> 'QP_' then
46 
47     oe_debug_pub.add('Total old values' || p_CON_rec.prc_context_code);
48        l_return_status := FND_API.G_RET_STS_ERROR;
49        FND_MESSAGE.SET_NAME('QP','QP_WRONG_CONTEXT_CODE');
50        OE_MSG_PUB.Add;
51     end if;
52     */
53 
54     --  Return Error if a required attribute is missing.
55 
56     IF l_return_status = FND_API.G_RET_STS_ERROR THEN
57 
58         RAISE FND_API.G_EXC_ERROR;
59 
60     END IF;
61 
62     --
63     --  Check conditionally required attributes here.
64     --
65 
66 
67     --
68     --  Validate attribute dependencies here.
69     --
70 
71 
72     --  Done validating entity
73 
74     x_return_status := l_return_status;
75 
76 EXCEPTION
77 
78     WHEN FND_API.G_EXC_ERROR THEN
79 
80         x_return_status := FND_API.G_RET_STS_ERROR;
81 
82     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
83 
84         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
85 
86     WHEN OTHERS THEN
87 
88         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
89 
90         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
91         THEN
92             OE_MSG_PUB.Add_Exc_Msg
93             (   G_PKG_NAME
94             ,   'Entity'
95             );
96         END IF;
97 
98 END Entity;
99 
100 --  Procedure Attributes
101 
102 PROCEDURE Attributes
103 (   x_return_status                 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
104 ,   p_CON_rec                       IN  QP_Attributes_PUB.Con_Rec_Type
105 ,   p_old_CON_rec                   IN  QP_Attributes_PUB.Con_Rec_Type :=
106                                         QP_Attributes_PUB.G_MISS_CON_REC
107 )
108 IS
109 BEGIN
110 
111     x_return_status := FND_API.G_RET_STS_SUCCESS;
112 
113     --  Validate CON attributes
114 
115     IF  p_CON_rec.created_by IS NOT NULL AND
116         (   p_CON_rec.created_by <>
117             p_old_CON_rec.created_by OR
118             p_old_CON_rec.created_by IS NULL )
119     THEN
120         IF NOT QP_Validate.Created_By(p_CON_rec.created_by) THEN
121             x_return_status := FND_API.G_RET_STS_ERROR;
122         END IF;
123     END IF;
124 
125     IF  p_CON_rec.creation_date IS NOT NULL AND
126         (   p_CON_rec.creation_date <>
127             p_old_CON_rec.creation_date OR
128             p_old_CON_rec.creation_date IS NULL )
129     THEN
130         IF NOT QP_Validate.Creation_Date(p_CON_rec.creation_date) THEN
131             x_return_status := FND_API.G_RET_STS_ERROR;
132         END IF;
133     END IF;
134 
135     IF  p_CON_rec.enabled_flag IS NOT NULL AND
136         (   p_CON_rec.enabled_flag <>
137             p_old_CON_rec.enabled_flag OR
138             p_old_CON_rec.enabled_flag IS NULL )
139     THEN
140         IF NOT QP_Validate.Enabled(p_CON_rec.enabled_flag) THEN
141             x_return_status := FND_API.G_RET_STS_ERROR;
142         END IF;
143     END IF;
144 
145     IF  p_CON_rec.last_updated_by IS NOT NULL AND
146         (   p_CON_rec.last_updated_by <>
147             p_old_CON_rec.last_updated_by OR
148             p_old_CON_rec.last_updated_by IS NULL )
149     THEN
150         IF NOT QP_Validate.Last_Updated_By(p_CON_rec.last_updated_by) THEN
151             x_return_status := FND_API.G_RET_STS_ERROR;
152         END IF;
153     END IF;
154 
155     IF  p_CON_rec.last_update_date IS NOT NULL AND
156         (   p_CON_rec.last_update_date <>
157             p_old_CON_rec.last_update_date OR
158             p_old_CON_rec.last_update_date IS NULL )
159     THEN
160         IF NOT QP_Validate.Last_Update_Date(p_CON_rec.last_update_date) THEN
161             x_return_status := FND_API.G_RET_STS_ERROR;
162         END IF;
163     END IF;
164 
165     IF  p_CON_rec.last_update_login IS NOT NULL AND
166         (   p_CON_rec.last_update_login <>
167             p_old_CON_rec.last_update_login OR
168             p_old_CON_rec.last_update_login IS NULL )
169     THEN
170         IF NOT QP_Validate.Last_Update_Login(p_CON_rec.last_update_login) THEN
171             x_return_status := FND_API.G_RET_STS_ERROR;
172         END IF;
173     END IF;
174 
175     IF  p_CON_rec.prc_context_code IS NOT NULL AND
176         (   p_CON_rec.prc_context_code <>
177             p_old_CON_rec.prc_context_code OR
178             p_old_CON_rec.prc_context_code IS NULL )
179     THEN
180         IF NOT QP_Validate.Prc_Context_code(p_CON_rec.prc_context_code) THEN
181             x_return_status := FND_API.G_RET_STS_ERROR;
182         END IF;
183     END IF;
184 
185     IF  p_CON_rec.prc_context_id IS NOT NULL AND
186         (   p_CON_rec.prc_context_id <>
187             p_old_CON_rec.prc_context_id OR
188             p_old_CON_rec.prc_context_id IS NULL )
189     THEN
190         IF NOT QP_Validate.Prc_Context(p_CON_rec.prc_context_id) THEN
191             x_return_status := FND_API.G_RET_STS_ERROR;
192         END IF;
193     END IF;
194 
195     IF  p_CON_rec.prc_context_type IS NOT NULL AND
196         (   p_CON_rec.prc_context_type <>
197             p_old_CON_rec.prc_context_type OR
198             p_old_CON_rec.prc_context_type IS NULL )
199     THEN
200         IF NOT QP_Validate.Prc_Context_Type(p_CON_rec.prc_context_type) THEN
201             x_return_status := FND_API.G_RET_STS_ERROR;
202         END IF;
203     END IF;
204 
205     IF  p_CON_rec.program_application_id IS NOT NULL AND
206         (   p_CON_rec.program_application_id <>
207             p_old_CON_rec.program_application_id OR
208             p_old_CON_rec.program_application_id IS NULL )
209     THEN
210         IF NOT QP_Validate.Program_Application(p_CON_rec.program_application_id) THEN
211             x_return_status := FND_API.G_RET_STS_ERROR;
212         END IF;
213     END IF;
214 
215     IF  p_CON_rec.program_id IS NOT NULL AND
216         (   p_CON_rec.program_id <>
217             p_old_CON_rec.program_id OR
218             p_old_CON_rec.program_id IS NULL )
219     THEN
220         IF NOT QP_Validate.Program(p_CON_rec.program_id) THEN
221             x_return_status := FND_API.G_RET_STS_ERROR;
222         END IF;
223     END IF;
224 
225     IF  p_CON_rec.program_update_date IS NOT NULL AND
226         (   p_CON_rec.program_update_date <>
227             p_old_CON_rec.program_update_date OR
228             p_old_CON_rec.program_update_date IS NULL )
229     THEN
230         IF NOT QP_Validate.Program_Update_Date(p_CON_rec.program_update_date) THEN
231             x_return_status := FND_API.G_RET_STS_ERROR;
232         END IF;
233     END IF;
234 
235     IF  p_CON_rec.seeded_description IS NOT NULL AND
236         (   p_CON_rec.seeded_description <>
237             p_old_CON_rec.seeded_description OR
238             p_old_CON_rec.seeded_description IS NULL )
239     THEN
240         IF NOT QP_Validate.Seeded_Description(p_CON_rec.seeded_description) THEN
241             x_return_status := FND_API.G_RET_STS_ERROR;
242         END IF;
243     END IF;
244 
245     IF  p_CON_rec.seeded_flag IS NOT NULL AND
246         (   p_CON_rec.seeded_flag <>
247             p_old_CON_rec.seeded_flag OR
248             p_old_CON_rec.seeded_flag IS NULL )
249     THEN
250         IF NOT QP_Validate.Seeded(p_CON_rec.seeded_flag) THEN
251             x_return_status := FND_API.G_RET_STS_ERROR;
252         END IF;
253     END IF;
254 
255     IF  p_CON_rec.seeded_prc_context_name IS NOT NULL AND
256         (   p_CON_rec.seeded_prc_context_name <>
257             p_old_CON_rec.seeded_prc_context_name OR
258             p_old_CON_rec.seeded_prc_context_name IS NULL )
259     THEN
260         IF NOT QP_Validate.Seeded_Prc_Context_Name(p_CON_rec.seeded_prc_context_name) THEN
261             x_return_status := FND_API.G_RET_STS_ERROR;
262         END IF;
263     END IF;
264 
265     IF  p_CON_rec.user_description IS NOT NULL AND
266         (   p_CON_rec.user_description <>
267             p_old_CON_rec.user_description OR
268             p_old_CON_rec.user_description IS NULL )
269     THEN
270         IF NOT QP_Validate.User_Description(p_CON_rec.user_description) THEN
271             x_return_status := FND_API.G_RET_STS_ERROR;
272         END IF;
273     END IF;
274 
275     IF  p_CON_rec.user_prc_context_name IS NOT NULL AND
276         (   p_CON_rec.user_prc_context_name <>
277             p_old_CON_rec.user_prc_context_name OR
278             p_old_CON_rec.user_prc_context_name IS NULL )
279     THEN
280         IF NOT QP_Validate.User_Prc_Context_Name(p_CON_rec.user_prc_context_name) THEN
281             x_return_status := FND_API.G_RET_STS_ERROR;
282         END IF;
283     END IF;
284 
285     IF  (p_CON_rec.attribute1 IS NOT NULL AND
286         (   p_CON_rec.attribute1 <>
287             p_old_CON_rec.attribute1 OR
288             p_old_CON_rec.attribute1 IS NULL ))
289     OR  (p_CON_rec.attribute10 IS NOT NULL AND
290         (   p_CON_rec.attribute10 <>
291             p_old_CON_rec.attribute10 OR
292             p_old_CON_rec.attribute10 IS NULL ))
293     OR  (p_CON_rec.attribute11 IS NOT NULL AND
294         (   p_CON_rec.attribute11 <>
295             p_old_CON_rec.attribute11 OR
296             p_old_CON_rec.attribute11 IS NULL ))
297     OR  (p_CON_rec.attribute12 IS NOT NULL AND
298         (   p_CON_rec.attribute12 <>
299             p_old_CON_rec.attribute12 OR
300             p_old_CON_rec.attribute12 IS NULL ))
301     OR  (p_CON_rec.attribute13 IS NOT NULL AND
302         (   p_CON_rec.attribute13 <>
303             p_old_CON_rec.attribute13 OR
304             p_old_CON_rec.attribute13 IS NULL ))
305     OR  (p_CON_rec.attribute14 IS NOT NULL AND
306         (   p_CON_rec.attribute14 <>
307             p_old_CON_rec.attribute14 OR
308             p_old_CON_rec.attribute14 IS NULL ))
309     OR  (p_CON_rec.attribute15 IS NOT NULL AND
310         (   p_CON_rec.attribute15 <>
311             p_old_CON_rec.attribute15 OR
312             p_old_CON_rec.attribute15 IS NULL ))
313     OR  (p_CON_rec.attribute2 IS NOT NULL AND
314         (   p_CON_rec.attribute2 <>
315             p_old_CON_rec.attribute2 OR
316             p_old_CON_rec.attribute2 IS NULL ))
317     OR  (p_CON_rec.attribute3 IS NOT NULL AND
318         (   p_CON_rec.attribute3 <>
319             p_old_CON_rec.attribute3 OR
320             p_old_CON_rec.attribute3 IS NULL ))
321     OR  (p_CON_rec.attribute4 IS NOT NULL AND
322         (   p_CON_rec.attribute4 <>
323             p_old_CON_rec.attribute4 OR
324             p_old_CON_rec.attribute4 IS NULL ))
325     OR  (p_CON_rec.attribute5 IS NOT NULL AND
326         (   p_CON_rec.attribute5 <>
327             p_old_CON_rec.attribute5 OR
328             p_old_CON_rec.attribute5 IS NULL ))
329     OR  (p_CON_rec.attribute6 IS NOT NULL AND
330         (   p_CON_rec.attribute6 <>
331             p_old_CON_rec.attribute6 OR
332             p_old_CON_rec.attribute6 IS NULL ))
333     OR  (p_CON_rec.attribute7 IS NOT NULL AND
334         (   p_CON_rec.attribute7 <>
335             p_old_CON_rec.attribute7 OR
336             p_old_CON_rec.attribute7 IS NULL ))
337     OR  (p_CON_rec.attribute8 IS NOT NULL AND
338         (   p_CON_rec.attribute8 <>
339             p_old_CON_rec.attribute8 OR
340             p_old_CON_rec.attribute8 IS NULL ))
341     OR  (p_CON_rec.attribute9 IS NOT NULL AND
342         (   p_CON_rec.attribute9 <>
343             p_old_CON_rec.attribute9 OR
344             p_old_CON_rec.attribute9 IS NULL ))
345     OR  (p_CON_rec.context IS NOT NULL AND
346         (   p_CON_rec.context <>
347             p_old_CON_rec.context OR
348             p_old_CON_rec.context IS NULL ))
349     THEN
350 
351     --  These calls are temporarily commented out
352 
353 /*
354         FND_FLEX_DESC_VAL.Set_Column_Value
355         (   column_name                   => 'ATTRIBUTE1'
356         ,   column_value                  => p_CON_rec.attribute1
357         );
358         FND_FLEX_DESC_VAL.Set_Column_Value
359         (   column_name                   => 'ATTRIBUTE10'
360         ,   column_value                  => p_CON_rec.attribute10
361         );
362         FND_FLEX_DESC_VAL.Set_Column_Value
363         (   column_name                   => 'ATTRIBUTE11'
364         ,   column_value                  => p_CON_rec.attribute11
365         );
366         FND_FLEX_DESC_VAL.Set_Column_Value
367         (   column_name                   => 'ATTRIBUTE12'
368         ,   column_value                  => p_CON_rec.attribute12
369         );
370         FND_FLEX_DESC_VAL.Set_Column_Value
371         (   column_name                   => 'ATTRIBUTE13'
372         ,   column_value                  => p_CON_rec.attribute13
373         );
374         FND_FLEX_DESC_VAL.Set_Column_Value
375         (   column_name                   => 'ATTRIBUTE14'
376         ,   column_value                  => p_CON_rec.attribute14
377         );
378         FND_FLEX_DESC_VAL.Set_Column_Value
379         (   column_name                   => 'ATTRIBUTE15'
380         ,   column_value                  => p_CON_rec.attribute15
381         );
382         FND_FLEX_DESC_VAL.Set_Column_Value
383         (   column_name                   => 'ATTRIBUTE2'
384         ,   column_value                  => p_CON_rec.attribute2
385         );
386         FND_FLEX_DESC_VAL.Set_Column_Value
387         (   column_name                   => 'ATTRIBUTE3'
388         ,   column_value                  => p_CON_rec.attribute3
389         );
390         FND_FLEX_DESC_VAL.Set_Column_Value
391         (   column_name                   => 'ATTRIBUTE4'
392         ,   column_value                  => p_CON_rec.attribute4
393         );
394         FND_FLEX_DESC_VAL.Set_Column_Value
395         (   column_name                   => 'ATTRIBUTE5'
396         ,   column_value                  => p_CON_rec.attribute5
397         );
398         FND_FLEX_DESC_VAL.Set_Column_Value
399         (   column_name                   => 'ATTRIBUTE6'
400         ,   column_value                  => p_CON_rec.attribute6
401         );
402         FND_FLEX_DESC_VAL.Set_Column_Value
403         (   column_name                   => 'ATTRIBUTE7'
404         ,   column_value                  => p_CON_rec.attribute7
405         );
406         FND_FLEX_DESC_VAL.Set_Column_Value
407         (   column_name                   => 'ATTRIBUTE8'
408         ,   column_value                  => p_CON_rec.attribute8
409         );
410         FND_FLEX_DESC_VAL.Set_Column_Value
411         (   column_name                   => 'ATTRIBUTE9'
412         ,   column_value                  => p_CON_rec.attribute9
413         );
414         FND_FLEX_DESC_VAL.Set_Column_Value
415         (   column_name                   => 'CONTEXT'
416         ,   column_value                  => p_CON_rec.context
417         );
418 */
419 
420         --  Validate descriptive flexfield.
421 
422         IF NOT QP_Validate.Desc_Flex( 'CON' ) THEN
423             x_return_status := FND_API.G_RET_STS_ERROR;
424         END IF;
425 
426     END IF;
427 
428     --  Done validating attributes
429 
430 EXCEPTION
431 
432     WHEN FND_API.G_EXC_ERROR THEN
433 
434         x_return_status := FND_API.G_RET_STS_ERROR;
435 
436     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
437 
438         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
439 
440     WHEN OTHERS THEN
441 
442         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
443 
444         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
445         THEN
446             OE_MSG_PUB.Add_Exc_Msg
447             (   G_PKG_NAME
448             ,   'Attributes'
449             );
450         END IF;
451 
452 END Attributes;
453 
454 --  Procedure Entity_Delete
455 
456 PROCEDURE Entity_Delete
457 (   x_return_status                 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
458 ,   p_CON_rec                       IN  QP_Attributes_PUB.Con_Rec_Type
459 )
460 IS
461 l_return_status               VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
462 dummy                         varchar2(1);
463 BEGIN
464 
465     --  Validate entity delete.
466 
467     NULL;
468 /*
469     begin
470       select 's'
471       into dummy
472       from qp_segments_b
473       where segment_id = p_CON_rec.prc_context_id and
474             rownum = 1;
475        l_return_status := FND_API.G_RET_STS_ERROR;
476        FND_MESSAGE.SET_NAME('QP','QP_CANNOT_DELETE_CONTEXT');
477        OE_MSG_PUB.Add;
478 
479        raise fnd_api.g_exc_error;
480    exception
481      when no_data_found then
482        l_return_status := FND_API.G_RET_STS_SUCCESS;
483    end;
484 */
485    x_return_status := l_return_status;
486 
487     --  Done.
488 
489 EXCEPTION
490 
491     WHEN FND_API.G_EXC_ERROR THEN
492 
493         x_return_status := FND_API.G_RET_STS_ERROR;
494 
495     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
496 
497         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
498 
499     WHEN OTHERS THEN
500 
501         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
502 
503         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
504         THEN
505             OE_MSG_PUB.Add_Exc_Msg
506             (   G_PKG_NAME
507             ,   'Entity_Delete'
508             );
509         END IF;
510 
511 END Entity_Delete;
512 
513 END QP_Validate_Con;