DBA Data[Home] [Help]

PACKAGE BODY: APPS.QP_DEFAULT_PTE

Source


1 PACKAGE BODY QP_Default_Pte AS
2 /* $Header: QPXDPTEB.pls 120.2 2005/07/06 04:23:59 appldev ship $ */
3 
4 --  Global constant holding the package name
5 
6 G_PKG_NAME                    CONSTANT VARCHAR2(30) := 'QP_Default_Pte';
7 
8 --  Package global used within the package.
9 
10 g_PTE_rec                     QP_Attr_Map_PUB.Pte_Rec_Type;
11 
12 --  Get functions.
13 
14 FUNCTION Get_Description
15 RETURN VARCHAR2
16 IS
17 BEGIN
18 
19     RETURN NULL;
20 
21 END Get_Description;
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_End_Date_Active
33 RETURN DATE
34 IS
35 BEGIN
36 
37     RETURN NULL;
38 
39 END Get_End_Date_Active;
40 
41 FUNCTION Get_Lookup
42 RETURN VARCHAR2
43 IS
44 BEGIN
45 
46     RETURN NULL;
47 
48 END Get_Lookup;
49 
50 FUNCTION Get_Lookup_Type
51 RETURN VARCHAR2
52 IS
53 BEGIN
54 
55     RETURN NULL;
56 
57 END Get_Lookup_Type;
58 
59 FUNCTION Get_Meaning
60 RETURN VARCHAR2
61 IS
62 BEGIN
63 
64     RETURN NULL;
65 
66 END Get_Meaning;
67 
68 FUNCTION Get_Start_Date_Active
69 RETURN DATE
70 IS
71 BEGIN
72 
73     RETURN NULL;
74 
75 END Get_Start_Date_Active;
76 
77 --  Procedure Attributes
78 
79 PROCEDURE Attributes
80 (   p_PTE_rec                       IN  QP_Attr_Map_PUB.Pte_Rec_Type :=
81                                         QP_Attr_Map_PUB.G_MISS_PTE_REC
82 ,   p_iteration                     IN  NUMBER := 1
83 ,   x_PTE_rec                       OUT NOCOPY /* file.sql.39 change */ QP_Attr_Map_PUB.Pte_Rec_Type
84 )
85 IS
86  g_p_PTE_rec       QP_Attr_Map_PUB.Pte_Rec_Type;
87 BEGIN
88 
89     --  Check number of iterations.
90 
91     IF p_iteration > QP_GLOBALS.G_MAX_DEF_ITERATIONS THEN
92 
93         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR)
94         THEN
95 
96             FND_MESSAGE.SET_NAME('QP','OE_DEF_MAX_ITERATION');
97             FND_MSG_PUB.Add;
98 
99         END IF;
100 
101         RAISE FND_API.G_EXC_ERROR;
102 
103     END IF;
104 
105     --  Initialize g_PTE_rec
106 
107     g_PTE_rec := p_PTE_rec;
108 
109     --  Default missing attributes.
110 
111     IF g_PTE_rec.description = FND_API.G_MISS_CHAR THEN
112 
113         g_PTE_rec.description := Get_Description;
114 
115         IF g_PTE_rec.description IS NOT NULL THEN
116 
117             IF QP_Validate.Description(g_PTE_rec.description)
118             THEN
119                 g_p_PTE_rec := g_PTE_rec;
120                 QP_Pte_Util.Clear_Dependent_Attr
121                 (   p_attr_id                     => QP_Pte_Util.G_DESCRIPTION
122                 ,   p_PTE_rec                     => g_p_PTE_rec
123                 ,   x_PTE_rec                     => g_PTE_rec
124                 );
125             ELSE
126                 g_PTE_rec.description := NULL;
127             END IF;
128 
129         END IF;
130 
131     END IF;
132 
133     IF g_PTE_rec.enabled_flag = FND_API.G_MISS_CHAR THEN
134 
135         g_PTE_rec.enabled_flag := Get_Enabled;
136 
137         IF g_PTE_rec.enabled_flag IS NOT NULL THEN
138 
139             IF QP_Validate.Enabled(g_PTE_rec.enabled_flag)
140             THEN
141                 g_p_PTE_rec := g_PTE_rec;
142                 QP_Pte_Util.Clear_Dependent_Attr
143                 (   p_attr_id                     => QP_Pte_Util.G_ENABLED
144                 ,   p_PTE_rec                     => g_p_PTE_rec
145                 ,   x_PTE_rec                     => g_PTE_rec
146                 );
147             ELSE
148                 g_PTE_rec.enabled_flag := NULL;
149             END IF;
150 
151         END IF;
152 
153     END IF;
154 
155     IF g_PTE_rec.end_date_active = FND_API.G_MISS_DATE THEN
156 
157         g_PTE_rec.end_date_active := Get_End_Date_Active;
158 
159         IF g_PTE_rec.end_date_active IS NOT NULL THEN
160 
161             IF QP_Validate.End_Date_Active(g_PTE_rec.end_date_active)
162             THEN
163                 g_p_PTE_rec := g_PTE_rec;
164                 QP_Pte_Util.Clear_Dependent_Attr
165                 (   p_attr_id                     => QP_Pte_Util.G_END_DATE_ACTIVE
166                 ,   p_PTE_rec                     => g_p_PTE_rec
167                 ,   x_PTE_rec                     => g_PTE_rec
168                 );
169             ELSE
170                 g_PTE_rec.end_date_active := NULL;
171             END IF;
172 
173         END IF;
174 
175     END IF;
176 
177     IF g_PTE_rec.lookup_code = FND_API.G_MISS_CHAR THEN
178 
179         g_PTE_rec.lookup_code := Get_Lookup;
180 
181         IF g_PTE_rec.lookup_code IS NOT NULL THEN
182 
183             IF QP_Validate.Lookup(g_PTE_rec.lookup_code)
184             THEN
185                 g_p_PTE_rec := g_PTE_rec;
186                 QP_Pte_Util.Clear_Dependent_Attr
187                 (   p_attr_id                     => QP_Pte_Util.G_LOOKUP
188                 ,   p_PTE_rec                     => g_p_PTE_rec
189                 ,   x_PTE_rec                     => g_PTE_rec
190                 );
191             ELSE
192                 g_PTE_rec.lookup_code := NULL;
193             END IF;
194 
195         END IF;
196 
197     END IF;
198 
199     IF g_PTE_rec.lookup_type = FND_API.G_MISS_CHAR THEN
200 
201         g_PTE_rec.lookup_type := Get_Lookup_Type;
202 
203         IF g_PTE_rec.lookup_type IS NOT NULL THEN
204 
205             IF QP_Validate.Lookup_Type(g_PTE_rec.lookup_type)
206             THEN
207                 g_p_PTE_rec := g_PTE_rec;
208                 QP_Pte_Util.Clear_Dependent_Attr
209                 (   p_attr_id                     => QP_Pte_Util.G_LOOKUP_TYPE
210                 ,   p_PTE_rec                     => g_p_PTE_rec
211                 ,   x_PTE_rec                     => g_PTE_rec
212                 );
213             ELSE
214                 g_PTE_rec.lookup_type := NULL;
215             END IF;
216 
217         END IF;
218 
219     END IF;
220 
221     IF g_PTE_rec.meaning = FND_API.G_MISS_CHAR THEN
222 
223         g_PTE_rec.meaning := Get_Meaning;
224 
225         IF g_PTE_rec.meaning IS NOT NULL THEN
226 
227             IF QP_Validate.Meaning(g_PTE_rec.meaning)
228             THEN
229                 g_p_PTE_rec := g_PTE_rec;
230                 QP_Pte_Util.Clear_Dependent_Attr
231                 (   p_attr_id                     => QP_Pte_Util.G_MEANING
232                 ,   p_PTE_rec                     => g_p_PTE_rec
233                 ,   x_PTE_rec                     => g_PTE_rec
234                 );
235             ELSE
236                 g_PTE_rec.meaning := NULL;
237             END IF;
238 
239         END IF;
240 
241     END IF;
242 
243     IF g_PTE_rec.start_date_active = FND_API.G_MISS_DATE THEN
244 
245         g_PTE_rec.start_date_active := Get_Start_Date_Active;
246 
247         IF g_PTE_rec.start_date_active IS NOT NULL THEN
248 
249             IF QP_Validate.Start_Date_Active(g_PTE_rec.start_date_active)
250             THEN
251                 g_p_PTE_rec := g_PTE_rec;
252                 QP_Pte_Util.Clear_Dependent_Attr
253                 (   p_attr_id                     => QP_Pte_Util.G_START_DATE_ACTIVE
254                 ,   p_PTE_rec                     => g_p_PTE_rec
255                 ,   x_PTE_rec                     => g_PTE_rec
256                 );
257             ELSE
258                 g_PTE_rec.start_date_active := NULL;
259             END IF;
260 
261         END IF;
262 
263     END IF;
264 
265     --  Redefault if there are any missing attributes.
266 
267     IF  g_PTE_rec.description = FND_API.G_MISS_CHAR
268     OR  g_PTE_rec.enabled_flag = FND_API.G_MISS_CHAR
269     OR  g_PTE_rec.end_date_active = FND_API.G_MISS_DATE
270     OR  g_PTE_rec.lookup_code = FND_API.G_MISS_CHAR
271     OR  g_PTE_rec.lookup_type = FND_API.G_MISS_CHAR
272     OR  g_PTE_rec.meaning = FND_API.G_MISS_CHAR
273     OR  g_PTE_rec.start_date_active = FND_API.G_MISS_DATE
274     THEN
275 
276         QP_Default_Pte.Attributes
277         (   p_PTE_rec                     => g_PTE_rec
278         ,   p_iteration                   => p_iteration + 1
279         ,   x_PTE_rec                     => x_PTE_rec
280         );
281 
282     ELSE
283 
284         --  Done defaulting attributes
285 
286         x_PTE_rec := g_PTE_rec;
287 
288     END IF;
289 
290 END Attributes;
291 
292 END QP_Default_Pte;