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