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