DBA Data[Home] [Help]

PACKAGE BODY: APPS.QP_DEFAULT_FNA

Source


1 PACKAGE BODY QP_Default_Fna AS
2 /* $Header: QPXDFNAB.pls 120.2 2005/07/20 11:37:22 sfiresto noship $ */
3 
4 --  Global constant holding the package name
5 
6 G_PKG_NAME                    CONSTANT VARCHAR2(30) := 'QP_Default_Fna';
7 
8 --  Package global used within the package.
9 
10 g_FNA_rec                     QP_Attr_Map_PUB.Fna_Rec_Type;
11 
12 --  Get functions.
13 
14 FUNCTION Get_Enabled
15 RETURN VARCHAR2
16 IS
17 BEGIN
18 
19     RETURN NULL;
20 
21 END Get_Enabled;
22 
23 FUNCTION Get_Functional_Area
24 RETURN NUMBER
25 IS
26 BEGIN
27 
28     RETURN NULL;
29 
30 END Get_Functional_Area;
31 
32 FUNCTION Get_Pte_Sourcesystem_Fnarea
33 RETURN NUMBER
34 IS
35 l_pte_ss_fn NUMBER;
36 BEGIN
37     select QP_PTE_SS_FNAREA_ID_S.nextval
38     into l_pte_ss_fn
39     from dual;
40 
41     RETURN l_pte_ss_fn;
42 END Get_Pte_Sourcesystem_Fnarea;
43 
44 FUNCTION Get_Pte_Source_System
45 RETURN NUMBER
46 IS
47 BEGIN
48 
49     RETURN NULL;
50 
51 END Get_Pte_Source_System;
52 
53 FUNCTION Get_Seeded
54 RETURN VARCHAR2
55 IS
56 BEGIN
57 
58     RETURN NULL;
59 
60 END Get_Seeded;
61 
62 PROCEDURE Get_Flex_Fna
63 IS
64 BEGIN
65 
66     --  In the future call Flex APIs for defaults
67 
68     IF g_FNA_rec.attribute1 = FND_API.G_MISS_CHAR THEN
69         g_FNA_rec.attribute1           := NULL;
70     END IF;
71 
72     IF g_FNA_rec.attribute10 = FND_API.G_MISS_CHAR THEN
73         g_FNA_rec.attribute10          := NULL;
74     END IF;
75 
76     IF g_FNA_rec.attribute11 = FND_API.G_MISS_CHAR THEN
77         g_FNA_rec.attribute11          := NULL;
78     END IF;
79 
80     IF g_FNA_rec.attribute12 = FND_API.G_MISS_CHAR THEN
81         g_FNA_rec.attribute12          := NULL;
82     END IF;
83 
84     IF g_FNA_rec.attribute13 = FND_API.G_MISS_CHAR THEN
85         g_FNA_rec.attribute13          := NULL;
86     END IF;
87 
88     IF g_FNA_rec.attribute14 = FND_API.G_MISS_CHAR THEN
89         g_FNA_rec.attribute14          := NULL;
90     END IF;
91 
92     IF g_FNA_rec.attribute15 = FND_API.G_MISS_CHAR THEN
93         g_FNA_rec.attribute15          := NULL;
94     END IF;
95 
96     IF g_FNA_rec.attribute2 = FND_API.G_MISS_CHAR THEN
97         g_FNA_rec.attribute2           := NULL;
98     END IF;
99 
100     IF g_FNA_rec.attribute3 = FND_API.G_MISS_CHAR THEN
101         g_FNA_rec.attribute3           := NULL;
102     END IF;
103 
104     IF g_FNA_rec.attribute4 = FND_API.G_MISS_CHAR THEN
105         g_FNA_rec.attribute4           := NULL;
106     END IF;
107 
108     IF g_FNA_rec.attribute5 = FND_API.G_MISS_CHAR THEN
109         g_FNA_rec.attribute5           := NULL;
110     END IF;
111 
112     IF g_FNA_rec.attribute6 = FND_API.G_MISS_CHAR THEN
113         g_FNA_rec.attribute6           := NULL;
114     END IF;
115 
116     IF g_FNA_rec.attribute7 = FND_API.G_MISS_CHAR THEN
117         g_FNA_rec.attribute7           := NULL;
118     END IF;
119 
120     IF g_FNA_rec.attribute8 = FND_API.G_MISS_CHAR THEN
121         g_FNA_rec.attribute8           := NULL;
122     END IF;
123 
124     IF g_FNA_rec.attribute9 = FND_API.G_MISS_CHAR THEN
125         g_FNA_rec.attribute9           := NULL;
126     END IF;
127 
128     IF g_FNA_rec.context = FND_API.G_MISS_CHAR THEN
129         g_FNA_rec.context              := NULL;
130     END IF;
131 
132 END Get_Flex_Fna;
133 
134 --  Procedure Attributes
135 
136 PROCEDURE Attributes
137 (   p_FNA_rec                       IN  QP_Attr_Map_PUB.Fna_Rec_Type :=
138                                         QP_Attr_Map_PUB.G_MISS_FNA_REC
139 ,   p_iteration                     IN  NUMBER := 1
140 ,   x_FNA_rec                       OUT NOCOPY /* file.sql.39 change */ QP_Attr_Map_PUB.Fna_Rec_Type
141 )
142 IS
143   g_p_FNA_rec        QP_Attr_Map_PUB.Fna_Rec_Type;
144 BEGIN
145 
146     --  Check number of iterations.
147 
148     IF p_iteration > QP_GLOBALS.G_MAX_DEF_ITERATIONS THEN
149 
150         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
151         THEN
152 
153             FND_MESSAGE.SET_NAME('QP','OE_DEF_MAX_ITERATION');
154             OE_MSG_PUB.Add;
155 
156         END IF;
157 
158         RAISE FND_API.G_EXC_ERROR;
159 
160     END IF;
161 
162     --  Initialize g_FNA_rec
163 
164     g_FNA_rec := p_FNA_rec;
165 
166     --  Default missing attributes.
167 
168     IF g_FNA_rec.enabled_flag = FND_API.G_MISS_CHAR THEN
169 
170         g_FNA_rec.enabled_flag := Get_Enabled;
171 
172         IF g_FNA_rec.enabled_flag IS NOT NULL THEN
173 
174             IF QP_Validate.Enabled(g_FNA_rec.enabled_flag)
175             THEN
176                 g_p_FNA_rec := g_FNA_rec;
177                 QP_Fna_Util.Clear_Dependent_Attr
178                 (   p_attr_id                     => QP_Fna_Util.G_ENABLED
179                 ,   p_FNA_rec                     => g_p_FNA_rec
180                 ,   x_FNA_rec                     => g_FNA_rec
181                 );
182             ELSE
183                 g_FNA_rec.enabled_flag := NULL;
184             END IF;
185 
186         END IF;
187 
188     END IF;
189 
190     IF g_FNA_rec.functional_area_id = FND_API.G_MISS_NUM THEN
191 
192         g_FNA_rec.functional_area_id := Get_Functional_Area;
193 
194         IF g_FNA_rec.functional_area_id IS NOT NULL THEN
195 
196             IF QP_Validate.Functional_Area(g_FNA_rec.functional_area_id)
197             THEN
198                 g_p_FNA_rec := g_FNA_rec;
199                 QP_Fna_Util.Clear_Dependent_Attr
200                 (   p_attr_id                     => QP_Fna_Util.G_FUNCTIONAL_AREA
201                 ,   p_FNA_rec                     => g_p_FNA_rec
202                 ,   x_FNA_rec                     => g_FNA_rec
203                 );
204             ELSE
205                 g_FNA_rec.functional_area_id := NULL;
206             END IF;
207 
208         END IF;
209 
210     END IF;
211 
212     IF g_FNA_rec.pte_sourcesystem_fnarea_id = FND_API.G_MISS_NUM THEN
213 
214         g_FNA_rec.pte_sourcesystem_fnarea_id := Get_Pte_Sourcesystem_Fnarea;
215 
216         IF g_FNA_rec.pte_sourcesystem_fnarea_id IS NOT NULL THEN
217 
218             IF QP_Validate.Pte_Sourcesystem_Fnarea(g_FNA_rec.pte_sourcesystem_fnarea_id)
219             THEN
220                g_p_FNA_rec := g_FNA_rec;
221                QP_Fna_Util.Clear_Dependent_Attr
222                 (   p_attr_id                     => QP_Fna_Util.G_PTE_SOURCESYSTEM_FNAREA
223                 ,   p_FNA_rec                     => g_p_FNA_rec
224                 ,   x_FNA_rec                     => g_FNA_rec
225                 );
226             ELSE
227                 g_FNA_rec.pte_sourcesystem_fnarea_id := NULL;
228             END IF;
229 
230         END IF;
231 
232     END IF;
233 
234     IF g_FNA_rec.pte_source_system_id = FND_API.G_MISS_NUM THEN
235 
236         g_FNA_rec.pte_source_system_id := Get_Pte_Source_System;
237 
238         IF g_FNA_rec.pte_source_system_id IS NOT NULL THEN
239 
240             IF QP_Validate.Pte_Source_System(g_FNA_rec.pte_source_system_id)
241             THEN
242                 g_p_FNA_rec := g_FNA_rec;
243                 QP_Fna_Util.Clear_Dependent_Attr
244                 (   p_attr_id                     => QP_Fna_Util.G_PTE_SOURCE_SYSTEM
245                 ,   p_FNA_rec                     => g_p_FNA_rec
246                 ,   x_FNA_rec                     => g_FNA_rec
247                 );
248             ELSE
249                 g_FNA_rec.pte_source_system_id := NULL;
250             END IF;
251 
252         END IF;
253 
254     END IF;
255 
256     IF g_FNA_rec.seeded_flag = FND_API.G_MISS_CHAR THEN
257 
258         g_FNA_rec.seeded_flag := Get_Seeded;
259 
260         IF g_FNA_rec.seeded_flag IS NOT NULL THEN
261 
262             IF QP_Validate.Seeded(g_FNA_rec.seeded_flag)
263             THEN
264                 g_p_FNA_rec := g_FNA_rec;
265                 QP_Fna_Util.Clear_Dependent_Attr
266                 (   p_attr_id                     => QP_Fna_Util.G_SEEDED
267                 ,   p_FNA_rec                     => g_p_FNA_rec
268                 ,   x_FNA_rec                     => g_FNA_rec
269                 );
270             ELSE
271                 g_FNA_rec.seeded_flag := NULL;
272             END IF;
273 
274         END IF;
275 
276     END IF;
277 
278     IF g_FNA_rec.attribute1 = FND_API.G_MISS_CHAR
279     OR  g_FNA_rec.attribute10 = FND_API.G_MISS_CHAR
280     OR  g_FNA_rec.attribute11 = FND_API.G_MISS_CHAR
281     OR  g_FNA_rec.attribute12 = FND_API.G_MISS_CHAR
282     OR  g_FNA_rec.attribute13 = FND_API.G_MISS_CHAR
283     OR  g_FNA_rec.attribute14 = FND_API.G_MISS_CHAR
284     OR  g_FNA_rec.attribute15 = FND_API.G_MISS_CHAR
285     OR  g_FNA_rec.attribute2 = FND_API.G_MISS_CHAR
286     OR  g_FNA_rec.attribute3 = FND_API.G_MISS_CHAR
287     OR  g_FNA_rec.attribute4 = FND_API.G_MISS_CHAR
288     OR  g_FNA_rec.attribute5 = FND_API.G_MISS_CHAR
289     OR  g_FNA_rec.attribute6 = FND_API.G_MISS_CHAR
290     OR  g_FNA_rec.attribute7 = FND_API.G_MISS_CHAR
291     OR  g_FNA_rec.attribute8 = FND_API.G_MISS_CHAR
292     OR  g_FNA_rec.attribute9 = FND_API.G_MISS_CHAR
293     OR  g_FNA_rec.context = FND_API.G_MISS_CHAR
294     THEN
295 
296         Get_Flex_Fna;
297 
298     END IF;
299 
300     IF g_FNA_rec.created_by = FND_API.G_MISS_NUM THEN
301 
302         g_FNA_rec.created_by := NULL;
303 
304     END IF;
305 
306     IF g_FNA_rec.creation_date = FND_API.G_MISS_DATE THEN
307 
308         g_FNA_rec.creation_date := NULL;
309 
310     END IF;
311 
312     IF g_FNA_rec.last_updated_by = FND_API.G_MISS_NUM THEN
313 
314         g_FNA_rec.last_updated_by := NULL;
315 
316     END IF;
317 
318     IF g_FNA_rec.last_update_date = FND_API.G_MISS_DATE THEN
319 
320         g_FNA_rec.last_update_date := NULL;
321 
322     END IF;
323 
324     IF g_FNA_rec.last_update_login = FND_API.G_MISS_NUM THEN
325 
326         g_FNA_rec.last_update_login := NULL;
327 
328     END IF;
329 
330     IF g_FNA_rec.program_application_id = FND_API.G_MISS_NUM THEN
331 
332         g_FNA_rec.program_application_id := NULL;
333 
334     END IF;
335 
336     IF g_FNA_rec.program_id = FND_API.G_MISS_NUM THEN
337 
338         g_FNA_rec.program_id := NULL;
339 
340     END IF;
341 
342     IF g_FNA_rec.program_update_date = FND_API.G_MISS_DATE THEN
343 
344         g_FNA_rec.program_update_date := NULL;
345 
346     END IF;
347 
348     IF g_FNA_rec.request_id = FND_API.G_MISS_NUM THEN
349 
350         g_FNA_rec.request_id := NULL;
351 
352     END IF;
353 
354     --  Redefault if there are any missing attributes.
355 
356     IF  g_FNA_rec.attribute1 = FND_API.G_MISS_CHAR
357     OR  g_FNA_rec.attribute10 = FND_API.G_MISS_CHAR
358     OR  g_FNA_rec.attribute11 = FND_API.G_MISS_CHAR
359     OR  g_FNA_rec.attribute12 = FND_API.G_MISS_CHAR
360     OR  g_FNA_rec.attribute13 = FND_API.G_MISS_CHAR
361     OR  g_FNA_rec.attribute14 = FND_API.G_MISS_CHAR
362     OR  g_FNA_rec.attribute15 = FND_API.G_MISS_CHAR
363     OR  g_FNA_rec.attribute2 = FND_API.G_MISS_CHAR
364     OR  g_FNA_rec.attribute3 = FND_API.G_MISS_CHAR
365     OR  g_FNA_rec.attribute4 = FND_API.G_MISS_CHAR
366     OR  g_FNA_rec.attribute5 = FND_API.G_MISS_CHAR
367     OR  g_FNA_rec.attribute6 = FND_API.G_MISS_CHAR
368     OR  g_FNA_rec.attribute7 = FND_API.G_MISS_CHAR
369     OR  g_FNA_rec.attribute8 = FND_API.G_MISS_CHAR
370     OR  g_FNA_rec.attribute9 = FND_API.G_MISS_CHAR
371     OR  g_FNA_rec.context = FND_API.G_MISS_CHAR
372     OR  g_FNA_rec.created_by = FND_API.G_MISS_NUM
373     OR  g_FNA_rec.creation_date = FND_API.G_MISS_DATE
374     OR  g_FNA_rec.enabled_flag = FND_API.G_MISS_CHAR
375     OR  g_FNA_rec.functional_area_id = FND_API.G_MISS_NUM
376     OR  g_FNA_rec.last_updated_by = FND_API.G_MISS_NUM
377     OR  g_FNA_rec.last_update_date = FND_API.G_MISS_DATE
378     OR  g_FNA_rec.last_update_login = FND_API.G_MISS_NUM
379     OR  g_FNA_rec.program_application_id = FND_API.G_MISS_NUM
380     OR  g_FNA_rec.program_id = FND_API.G_MISS_NUM
381     OR  g_FNA_rec.program_update_date = FND_API.G_MISS_DATE
382     OR  g_FNA_rec.pte_sourcesystem_fnarea_id = FND_API.G_MISS_NUM
383     OR  g_FNA_rec.pte_source_system_id = FND_API.G_MISS_NUM
384     OR  g_FNA_rec.request_id = FND_API.G_MISS_NUM
385     OR  g_FNA_rec.seeded_flag = FND_API.G_MISS_CHAR
386     THEN
387 
388         QP_Default_Fna.Attributes
389         (   p_FNA_rec                     => g_FNA_rec
390         ,   p_iteration                   => p_iteration + 1
391         ,   x_FNA_rec                     => x_FNA_rec
392         );
393 
394     ELSE
395 
396         --  Done defaulting attributes
397 
398         x_FNA_rec := g_FNA_rec;
399 
400     END IF;
401 
402 END Attributes;
403 
404 END QP_Default_Fna;