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