1 PACKAGE BODY QP_Validate_Pte AS
2 /* $Header: QPXLPTEB.pls 120.1 2005/06/09 00:01:33 appldev $ */
3
4 -- Global constant holding the package name
5
6 G_PKG_NAME CONSTANT VARCHAR2(30) := 'QP_Validate_Pte';
7
8 -- Procedure Entity
9
10 PROCEDURE Entity
11 ( x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
12 , p_PTE_rec IN QP_Attr_Map_PUB.Pte_Rec_Type
13 , p_old_PTE_rec IN QP_Attr_Map_PUB.Pte_Rec_Type :=
14 QP_Attr_Map_PUB.G_MISS_PTE_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_PTE_rec.lookup_code IS NULL
23 THEN
24
25 l_return_status := FND_API.G_RET_STS_ERROR;
26
27 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
28 THEN
29
30 FND_MESSAGE.SET_NAME('QP','QP_ATTRIBUTE_REQUIRED');
31 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','description');
32 FND_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 FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
80 THEN
81 FND_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_PTE_rec IN QP_Attr_Map_PUB.Pte_Rec_Type
94 , p_old_PTE_rec IN QP_Attr_Map_PUB.Pte_Rec_Type :=
95 QP_Attr_Map_PUB.G_MISS_PTE_REC
96 )
97 IS
98 BEGIN
99
100 x_return_status := FND_API.G_RET_STS_SUCCESS;
101
102 -- Validate PTE attributes
103
104 IF p_PTE_rec.description IS NOT NULL AND
105 ( p_PTE_rec.description <>
106 p_old_PTE_rec.description OR
107 p_old_PTE_rec.description IS NULL )
108 THEN
109 IF NOT QP_Validate.Description(p_PTE_rec.description) THEN
110 x_return_status := FND_API.G_RET_STS_ERROR;
111 END IF;
112 END IF;
113
114 IF p_PTE_rec.enabled_flag IS NOT NULL AND
115 ( p_PTE_rec.enabled_flag <>
116 p_old_PTE_rec.enabled_flag OR
117 p_old_PTE_rec.enabled_flag IS NULL )
118 THEN
119 IF NOT QP_Validate.Enabled(p_PTE_rec.enabled_flag) THEN
120 x_return_status := FND_API.G_RET_STS_ERROR;
121 END IF;
122 END IF;
123
124 IF p_PTE_rec.end_date_active IS NOT NULL AND
125 ( p_PTE_rec.end_date_active <>
126 p_old_PTE_rec.end_date_active OR
127 p_old_PTE_rec.end_date_active IS NULL )
128 THEN
129 IF NOT QP_Validate.End_Date_Active(p_PTE_rec.end_date_active) THEN
130 x_return_status := FND_API.G_RET_STS_ERROR;
131 END IF;
132 END IF;
133
134 IF p_PTE_rec.lookup_code IS NOT NULL AND
135 ( p_PTE_rec.lookup_code <>
136 p_old_PTE_rec.lookup_code OR
137 p_old_PTE_rec.lookup_code IS NULL )
138 THEN
139 IF NOT QP_Validate.Lookup(p_PTE_rec.lookup_code) THEN
140 x_return_status := FND_API.G_RET_STS_ERROR;
141 END IF;
142 END IF;
143
144 IF p_PTE_rec.lookup_type IS NOT NULL AND
145 ( p_PTE_rec.lookup_type <>
146 p_old_PTE_rec.lookup_type OR
147 p_old_PTE_rec.lookup_type IS NULL )
148 THEN
149 IF NOT QP_Validate.Lookup_Type(p_PTE_rec.lookup_type) THEN
150 x_return_status := FND_API.G_RET_STS_ERROR;
151 END IF;
152 END IF;
153
154 IF p_PTE_rec.meaning IS NOT NULL AND
155 ( p_PTE_rec.meaning <>
156 p_old_PTE_rec.meaning OR
157 p_old_PTE_rec.meaning IS NULL )
158 THEN
159 IF NOT QP_Validate.Meaning(p_PTE_rec.meaning) THEN
160 x_return_status := FND_API.G_RET_STS_ERROR;
161 END IF;
162 END IF;
163
164 IF p_PTE_rec.start_date_active IS NOT NULL AND
165 ( p_PTE_rec.start_date_active <>
166 p_old_PTE_rec.start_date_active OR
167 p_old_PTE_rec.start_date_active IS NULL )
168 THEN
169 IF NOT QP_Validate.Start_Date_Active(p_PTE_rec.start_date_active) THEN
170 x_return_status := FND_API.G_RET_STS_ERROR;
171 END IF;
172 END IF;
173
174 -- Done validating attributes
175
176 EXCEPTION
177
178 WHEN FND_API.G_EXC_ERROR THEN
179
180 x_return_status := FND_API.G_RET_STS_ERROR;
181
182 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
183
184 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
185
186 WHEN OTHERS THEN
187
188 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
189
190 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
191 THEN
192 FND_MSG_PUB.Add_Exc_Msg
193 ( G_PKG_NAME
194 , 'Attributes'
195 );
196 END IF;
197
198 END Attributes;
199
200 -- Procedure Entity_Delete
201
202 PROCEDURE Entity_Delete
203 ( x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
204 , p_PTE_rec IN QP_Attr_Map_PUB.Pte_Rec_Type
205 )
206 IS
207 l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
208 BEGIN
209
210 -- Validate entity delete.
211
212 NULL;
213
214 -- Done.
215
216 x_return_status := l_return_status;
217
218 EXCEPTION
219
220 WHEN FND_API.G_EXC_ERROR THEN
221
222 x_return_status := FND_API.G_RET_STS_ERROR;
223
224 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
225
226 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
227
228 WHEN OTHERS THEN
229
230 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
231
232 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
233 THEN
234 FND_MSG_PUB.Add_Exc_Msg
235 ( G_PKG_NAME
236 , 'Entity_Delete'
237 );
238 END IF;
239
240 END Entity_Delete;
241
242 END QP_Validate_Pte;