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