DBA Data[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;