[Home] [Help]
PACKAGE BODY: APPS.QP_DEFAULT_QUALIFIER_RULES
Source
1 PACKAGE BODY QP_Default_Qualifier_Rules AS
2 /* $Header: QPXDQPRB.pls 120.2 2005/07/06 03:01:06 appldev ship $ */
3
4 -- Global constant holding the package name
5
6 G_PKG_NAME CONSTANT VARCHAR2(30) := 'QP_Default_Qualifier_Rules';
7
8 -- Package global used within the package.
9
10 g_QUALIFIER_RULES_rec QP_Qualifier_Rules_PUB.Qualifier_Rules_Rec_Type;
11 g_p_QUALIFIER_RULES_rec QP_Qualifier_Rules_PUB.Qualifier_Rules_Rec_Type;
12
13 -- Get functions.
14
15 FUNCTION Get_Description
16 RETURN VARCHAR2
17 IS
18 BEGIN
19
20 RETURN NULL;
21
22 END Get_Description;
23
24 FUNCTION Get_Name
25 RETURN VARCHAR2
26 IS
27 BEGIN
28
29 RETURN NULL;
30
31 END Get_Name;
32
33 FUNCTION Get_Qualifier_Rule
34 RETURN NUMBER
35 IS
36 l_qualifier_rule_id NUMBER;
37 BEGIN
38 SELECT QP_QUALIFIER_RULES_S.NEXTVAL
39 INTO l_qualifier_rule_id
40 FROM DUAL;
41 RETURN l_qualifier_rule_id;
42
43 END Get_Qualifier_Rule;
44
45 PROCEDURE Get_Flex_Qualifier_Rules
46 IS
47 BEGIN
48
49 -- In the future call Flex APIs for defaults
50
51 IF g_QUALIFIER_RULES_rec.attribute1 = FND_API.G_MISS_CHAR THEN
52 g_QUALIFIER_RULES_rec.attribute1 := NULL;
53 END IF;
54
55 IF g_QUALIFIER_RULES_rec.attribute10 = FND_API.G_MISS_CHAR THEN
56 g_QUALIFIER_RULES_rec.attribute10 := NULL;
57 END IF;
58
59 IF g_QUALIFIER_RULES_rec.attribute11 = FND_API.G_MISS_CHAR THEN
60 g_QUALIFIER_RULES_rec.attribute11 := NULL;
61 END IF;
62
63 IF g_QUALIFIER_RULES_rec.attribute12 = FND_API.G_MISS_CHAR THEN
64 g_QUALIFIER_RULES_rec.attribute12 := NULL;
65 END IF;
66
67 IF g_QUALIFIER_RULES_rec.attribute13 = FND_API.G_MISS_CHAR THEN
68 g_QUALIFIER_RULES_rec.attribute13 := NULL;
69 END IF;
70
71 IF g_QUALIFIER_RULES_rec.attribute14 = FND_API.G_MISS_CHAR THEN
72 g_QUALIFIER_RULES_rec.attribute14 := NULL;
73 END IF;
74
75 IF g_QUALIFIER_RULES_rec.attribute15 = FND_API.G_MISS_CHAR THEN
76 g_QUALIFIER_RULES_rec.attribute15 := NULL;
77 END IF;
78
79 IF g_QUALIFIER_RULES_rec.attribute2 = FND_API.G_MISS_CHAR THEN
80 g_QUALIFIER_RULES_rec.attribute2 := NULL;
81 END IF;
82
83 IF g_QUALIFIER_RULES_rec.attribute3 = FND_API.G_MISS_CHAR THEN
84 g_QUALIFIER_RULES_rec.attribute3 := NULL;
85 END IF;
86
87 IF g_QUALIFIER_RULES_rec.attribute4 = FND_API.G_MISS_CHAR THEN
88 g_QUALIFIER_RULES_rec.attribute4 := NULL;
89 END IF;
90
91 IF g_QUALIFIER_RULES_rec.attribute5 = FND_API.G_MISS_CHAR THEN
92 g_QUALIFIER_RULES_rec.attribute5 := NULL;
93 END IF;
94
95 IF g_QUALIFIER_RULES_rec.attribute6 = FND_API.G_MISS_CHAR THEN
96 g_QUALIFIER_RULES_rec.attribute6 := NULL;
97 END IF;
98
99 IF g_QUALIFIER_RULES_rec.attribute7 = FND_API.G_MISS_CHAR THEN
100 g_QUALIFIER_RULES_rec.attribute7 := NULL;
101 END IF;
102
103 IF g_QUALIFIER_RULES_rec.attribute8 = FND_API.G_MISS_CHAR THEN
104 g_QUALIFIER_RULES_rec.attribute8 := NULL;
105 END IF;
106
107 IF g_QUALIFIER_RULES_rec.attribute9 = FND_API.G_MISS_CHAR THEN
108 g_QUALIFIER_RULES_rec.attribute9 := NULL;
109 END IF;
110
111 IF g_QUALIFIER_RULES_rec.context = FND_API.G_MISS_CHAR THEN
112 g_QUALIFIER_RULES_rec.context := NULL;
113 END IF;
114
115 END Get_Flex_Qualifier_Rules;
116
117 -- Procedure Attributes
118
119 PROCEDURE Attributes
120 ( p_QUALIFIER_RULES_rec IN QP_Qualifier_Rules_PUB.Qualifier_Rules_Rec_Type :=
121 QP_Qualifier_Rules_PUB.G_MISS_QUALIFIER_RULES_REC
122 , p_iteration IN NUMBER := 1
123 , x_QUALIFIER_RULES_rec OUT NOCOPY /* file.sql.39 change */ QP_Qualifier_Rules_PUB.Qualifier_Rules_Rec_Type
124 )
125 IS
126 BEGIN
127
128 -- Check number of iterations.
129
130 IF p_iteration > QP_GLOBALS.G_MAX_DEF_ITERATIONS THEN
131
132 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
133 THEN
134
135 FND_MESSAGE.SET_NAME('QP','OE_DEF_MAX_ITERATION');
136 OE_MSG_PUB.Add;
137
138 END IF;
139
140 RAISE FND_API.G_EXC_ERROR;
141
142 END IF;
143
144 -- Initialize g_QUALIFIER_RULES_rec
145
146 g_QUALIFIER_RULES_rec := p_QUALIFIER_RULES_rec;
147
148 -- Default missing attributes.
149
150 IF g_QUALIFIER_RULES_rec.description = FND_API.G_MISS_CHAR THEN
151
152 g_QUALIFIER_RULES_rec.description := Get_Description;
153
154 IF g_QUALIFIER_RULES_rec.description IS NOT NULL THEN
155
156 IF QP_Validate.Description(g_QUALIFIER_RULES_rec.description)
157 THEN
158 g_p_QUALIFIER_RULES_rec := g_QUALIFIER_RULES_rec; -- added for nocopy hint
159 QP_Qualifier_Rules_Util.Clear_Dependent_Attr
160 ( p_attr_id => QP_Qualifier_Rules_Util.G_DESCRIPTION
161 , p_QUALIFIER_RULES_rec => g_p_QUALIFIER_RULES_rec
162 , x_QUALIFIER_RULES_rec => g_QUALIFIER_RULES_rec
163 );
164 ELSE
165 g_QUALIFIER_RULES_rec.description := NULL;
166 END IF;
167
168 END IF;
169
170 END IF;
171
172 IF g_QUALIFIER_RULES_rec.name = FND_API.G_MISS_CHAR THEN
173
174 g_QUALIFIER_RULES_rec.name := Get_Name;
175
176 IF g_QUALIFIER_RULES_rec.name IS NOT NULL THEN
177
178 IF QP_Validate.Name(g_QUALIFIER_RULES_rec.name)
179 THEN
180 g_p_QUALIFIER_RULES_rec := g_QUALIFIER_RULES_rec; -- added for nocopy hint
181 QP_Qualifier_Rules_Util.Clear_Dependent_Attr
182 ( p_attr_id => QP_Qualifier_Rules_Util.G_NAME
183 , p_QUALIFIER_RULES_rec => g_p_QUALIFIER_RULES_rec
184 , x_QUALIFIER_RULES_rec => g_QUALIFIER_RULES_rec
185 );
186 ELSE
187 g_QUALIFIER_RULES_rec.name := NULL;
188 END IF;
189
190 END IF;
191
192 END IF;
193
194 IF g_QUALIFIER_RULES_rec.qualifier_rule_id = FND_API.G_MISS_NUM THEN
195
196 --dbms_output.put_line('calling get_qualifierrule id to generate rule id');
197 oe_debug_pub.add('calling get_qualifierrule id to generate rule id');
198
199
200 g_QUALIFIER_RULES_rec.qualifier_rule_id := Get_Qualifier_Rule;
201
202
203 --dbms_output.put_line('calling get_qualifier '||g_QUALIFIER_RULES_rec.qualifier_rule_id);
204
205
206 IF g_QUALIFIER_RULES_rec.qualifier_rule_id IS NOT NULL THEN
207
208 IF QP_Validate.Qualifier_Rule(g_QUALIFIER_RULES_rec.qualifier_rule_id)
209 THEN
210 g_p_QUALIFIER_RULES_rec := g_QUALIFIER_RULES_rec; -- added for nocopy hint
211 QP_Qualifier_Rules_Util.Clear_Dependent_Attr
212 ( p_attr_id => QP_Qualifier_Rules_Util.G_QUALIFIER_RULE
213 , p_QUALIFIER_RULES_rec => g_p_QUALIFIER_RULES_rec
214 , x_QUALIFIER_RULES_rec => g_QUALIFIER_RULES_rec
215 );
216 ELSE
217 g_QUALIFIER_RULES_rec.qualifier_rule_id := NULL;
218 END IF;
219
220 END IF;
221
222 END IF;
223
224 IF g_QUALIFIER_RULES_rec.attribute1 = FND_API.G_MISS_CHAR
225 OR g_QUALIFIER_RULES_rec.attribute10 = FND_API.G_MISS_CHAR
226 OR g_QUALIFIER_RULES_rec.attribute11 = FND_API.G_MISS_CHAR
227 OR g_QUALIFIER_RULES_rec.attribute12 = FND_API.G_MISS_CHAR
228 OR g_QUALIFIER_RULES_rec.attribute13 = FND_API.G_MISS_CHAR
229 OR g_QUALIFIER_RULES_rec.attribute14 = FND_API.G_MISS_CHAR
230 OR g_QUALIFIER_RULES_rec.attribute15 = FND_API.G_MISS_CHAR
231 OR g_QUALIFIER_RULES_rec.attribute2 = FND_API.G_MISS_CHAR
232 OR g_QUALIFIER_RULES_rec.attribute3 = FND_API.G_MISS_CHAR
233 OR g_QUALIFIER_RULES_rec.attribute4 = FND_API.G_MISS_CHAR
234 OR g_QUALIFIER_RULES_rec.attribute5 = FND_API.G_MISS_CHAR
235 OR g_QUALIFIER_RULES_rec.attribute6 = FND_API.G_MISS_CHAR
236 OR g_QUALIFIER_RULES_rec.attribute7 = FND_API.G_MISS_CHAR
237 OR g_QUALIFIER_RULES_rec.attribute8 = FND_API.G_MISS_CHAR
238 OR g_QUALIFIER_RULES_rec.attribute9 = FND_API.G_MISS_CHAR
239 OR g_QUALIFIER_RULES_rec.context = FND_API.G_MISS_CHAR
240 THEN
241
242 Get_Flex_Qualifier_Rules;
243
244 END IF;
245
246 IF g_QUALIFIER_RULES_rec.created_by = FND_API.G_MISS_NUM THEN
247
248 g_QUALIFIER_RULES_rec.created_by := NULL;
249
250 END IF;
251
252 IF g_QUALIFIER_RULES_rec.creation_date = FND_API.G_MISS_DATE THEN
253
254 g_QUALIFIER_RULES_rec.creation_date := NULL;
255
256 END IF;
257
258 IF g_QUALIFIER_RULES_rec.last_updated_by = FND_API.G_MISS_NUM THEN
259
260 g_QUALIFIER_RULES_rec.last_updated_by := NULL;
261
262 END IF;
263
264 IF g_QUALIFIER_RULES_rec.last_update_date = FND_API.G_MISS_DATE THEN
265
266 g_QUALIFIER_RULES_rec.last_update_date := NULL;
267
268 END IF;
269
270 IF g_QUALIFIER_RULES_rec.last_update_login = FND_API.G_MISS_NUM THEN
271
272 g_QUALIFIER_RULES_rec.last_update_login := NULL;
273
274 END IF;
275
276 IF g_QUALIFIER_RULES_rec.program_application_id = FND_API.G_MISS_NUM THEN
277
278 g_QUALIFIER_RULES_rec.program_application_id := NULL;
279
280 END IF;
281
282 IF g_QUALIFIER_RULES_rec.program_id = FND_API.G_MISS_NUM THEN
283
284 g_QUALIFIER_RULES_rec.program_id := NULL;
285
286 END IF;
287
288 IF g_QUALIFIER_RULES_rec.program_update_date = FND_API.G_MISS_DATE THEN
289
290 g_QUALIFIER_RULES_rec.program_update_date := NULL;
291
292 END IF;
293
294 IF g_QUALIFIER_RULES_rec.request_id = FND_API.G_MISS_NUM THEN
295
296 g_QUALIFIER_RULES_rec.request_id := NULL;
297
298 END IF;
299
300 -- Redefault if there are any missing attributes.
301
302 IF g_QUALIFIER_RULES_rec.attribute1 = FND_API.G_MISS_CHAR
303 OR g_QUALIFIER_RULES_rec.attribute10 = FND_API.G_MISS_CHAR
304 OR g_QUALIFIER_RULES_rec.attribute11 = FND_API.G_MISS_CHAR
305 OR g_QUALIFIER_RULES_rec.attribute12 = FND_API.G_MISS_CHAR
306 OR g_QUALIFIER_RULES_rec.attribute13 = FND_API.G_MISS_CHAR
307 OR g_QUALIFIER_RULES_rec.attribute14 = FND_API.G_MISS_CHAR
308 OR g_QUALIFIER_RULES_rec.attribute15 = FND_API.G_MISS_CHAR
309 OR g_QUALIFIER_RULES_rec.attribute2 = FND_API.G_MISS_CHAR
310 OR g_QUALIFIER_RULES_rec.attribute3 = FND_API.G_MISS_CHAR
311 OR g_QUALIFIER_RULES_rec.attribute4 = FND_API.G_MISS_CHAR
312 OR g_QUALIFIER_RULES_rec.attribute5 = FND_API.G_MISS_CHAR
313 OR g_QUALIFIER_RULES_rec.attribute6 = FND_API.G_MISS_CHAR
314 OR g_QUALIFIER_RULES_rec.attribute7 = FND_API.G_MISS_CHAR
315 OR g_QUALIFIER_RULES_rec.attribute8 = FND_API.G_MISS_CHAR
316 OR g_QUALIFIER_RULES_rec.attribute9 = FND_API.G_MISS_CHAR
317 OR g_QUALIFIER_RULES_rec.context = FND_API.G_MISS_CHAR
318 OR g_QUALIFIER_RULES_rec.created_by = FND_API.G_MISS_NUM
319 OR g_QUALIFIER_RULES_rec.creation_date = FND_API.G_MISS_DATE
320 OR g_QUALIFIER_RULES_rec.description = FND_API.G_MISS_CHAR
321 OR g_QUALIFIER_RULES_rec.last_updated_by = FND_API.G_MISS_NUM
322 OR g_QUALIFIER_RULES_rec.last_update_date = FND_API.G_MISS_DATE
323 OR g_QUALIFIER_RULES_rec.last_update_login = FND_API.G_MISS_NUM
324 OR g_QUALIFIER_RULES_rec.name = FND_API.G_MISS_CHAR
325 OR g_QUALIFIER_RULES_rec.program_application_id = FND_API.G_MISS_NUM
326 OR g_QUALIFIER_RULES_rec.program_id = FND_API.G_MISS_NUM
327 OR g_QUALIFIER_RULES_rec.program_update_date = FND_API.G_MISS_DATE
328 OR g_QUALIFIER_RULES_rec.qualifier_rule_id = FND_API.G_MISS_NUM
329 OR g_QUALIFIER_RULES_rec.request_id = FND_API.G_MISS_NUM
330 THEN
331
332 QP_Default_Qualifier_Rules.Attributes
333 ( p_QUALIFIER_RULES_rec => g_QUALIFIER_RULES_rec
334 , p_iteration => p_iteration + 1
335 , x_QUALIFIER_RULES_rec => x_QUALIFIER_RULES_rec
336 );
337
338 ELSE
339
340 -- Done defaulting attributes
341
342 x_QUALIFIER_RULES_rec := g_QUALIFIER_RULES_rec;
343
344 END IF;
345
346 END Attributes;
347
348 END QP_Default_Qualifier_Rules;