[Home] [Help]
PACKAGE BODY: APPS.QP_QP_FORM_QUALIFIERS
Source
1 PACKAGE BODY QP_QP_Form_Qualifiers AS
2 /* $Header: QPXFQPQB.pls 120.1 2005/06/27 04:58:11 appldev ship $ */
3
4 -- Global constant holding the package name
5
6 G_PKG_NAME CONSTANT VARCHAR2(30) := 'QP_QP_Form_Qualifiers';
7
8 -- Global variables holding cached record.
9
10 g_QUALIFIERS_rec QP_Qualifier_Rules_PUB.Qualifiers_Rec_Type;
11 g_db_QUALIFIERS_rec QP_Qualifier_Rules_PUB.Qualifiers_Rec_Type;
12
13 -- Forward declaration of procedures maintaining entity record cache.
14
15 PROCEDURE Write_QUALIFIERS
16 ( p_QUALIFIERS_rec IN QP_Qualifier_Rules_PUB.Qualifiers_Rec_Type
17 , p_db_record IN BOOLEAN := FALSE
18 );
19
20 FUNCTION Get_QUALIFIERS
21 ( p_db_record IN BOOLEAN := FALSE
22 , p_qualifier_id IN NUMBER
23 )
24 RETURN QP_Qualifier_Rules_PUB.Qualifiers_Rec_Type;
25
26 PROCEDURE Clear_QUALIFIERS;
27
28 -- Global variable holding performed operations.
29
30 g_opr__tbl QP_Qualifier_Rules_PUB.Qualifiers_Tbl_Type;
31
32 -- Procedure : Default_Attributes
33 --
34
35 PROCEDURE Default_Attributes
36 ( p_qualifier_rule_id IN NUMBER
37 , x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
38 , x_msg_count OUT NOCOPY /* file.sql.39 change */ NUMBER
39 , x_msg_data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
40 , x_attribute1 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
41 , x_attribute10 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
42 , x_attribute11 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
43 , x_attribute12 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
44 , x_attribute13 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
45 , x_attribute14 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
46 , x_attribute15 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
47 , x_attribute2 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
48 , x_attribute3 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
49 , x_attribute4 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
50 , x_attribute5 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
51 , x_attribute6 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
52 , x_attribute7 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
53 , x_attribute8 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
54 , x_attribute9 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
55 , x_comparison_operator_code OUT NOCOPY /* file.sql.39 change */ VARCHAR2
56 , x_context OUT NOCOPY /* file.sql.39 change */ VARCHAR2
57 , x_created_from_rule_id OUT NOCOPY /* file.sql.39 change */ NUMBER
58 , x_end_date_active OUT NOCOPY /* file.sql.39 change */ DATE
59 , x_excluder_flag OUT NOCOPY /* file.sql.39 change */ VARCHAR2
60 , x_list_header_id OUT NOCOPY /* file.sql.39 change */ NUMBER
61 , x_list_line_id OUT NOCOPY /* file.sql.39 change */ NUMBER
62 , x_qualifier_attribute OUT NOCOPY /* file.sql.39 change */ VARCHAR2
63 , x_qualifier_attr_value OUT NOCOPY /* file.sql.39 change */ VARCHAR2
64 , x_qualifier_attr_value_to OUT NOCOPY /* file.sql.39 change */ VARCHAR2
65 , x_qualifier_context OUT NOCOPY /* file.sql.39 change */ VARCHAR2
66 , x_qualifier_datatype OUT NOCOPY /* file.sql.39 change */ VARCHAR2
67 --, x_qualifier_date_format OUT NOCOPY /* file.sql.39 change */ VARCHAR2
68 , x_qualifier_grouping_no OUT NOCOPY /* file.sql.39 change */ NUMBER
69 , x_qualifier_id OUT NOCOPY /* file.sql.39 change */ NUMBER
70 --, x_qualifier_number_format OUT NOCOPY /* file.sql.39 change */ VARCHAR2
71 , x_qualifier_precedence OUT NOCOPY /* file.sql.39 change */ NUMBER
72 , x_qualifier_rule_id OUT NOCOPY /* file.sql.39 change */ NUMBER
73 , x_start_date_active OUT NOCOPY /* file.sql.39 change */ DATE
74 --, x_comparison_operator OUT NOCOPY /* file.sql.39 change */ VARCHAR2
75 , x_created_from_rule OUT NOCOPY /* file.sql.39 change */ VARCHAR2
76 --, x_excluder OUT NOCOPY /* file.sql.39 change */ VARCHAR2
77 , x_list_header OUT NOCOPY /* file.sql.39 change */ VARCHAR2
78 , x_list_line OUT NOCOPY /* file.sql.39 change */ VARCHAR2
79 --, x_qualifier OUT NOCOPY /* file.sql.39 change */ VARCHAR2
80 , x_qualifier_rule OUT NOCOPY /* file.sql.39 change */ VARCHAR2
81 )
82 IS
83 l_QUALIFIERS_rec QP_Qualifier_Rules_PUB.Qualifiers_Rec_Type;
84 l_QUALIFIERS_val_rec QP_Qualifier_Rules_PUB.Qualifiers_Val_Rec_Type;
85 l_QUALIFIERS_tbl QP_Qualifier_Rules_PUB.Qualifiers_Tbl_Type;
86 l_control_rec QP_GLOBALS.Control_Rec_Type;
87 l_return_status VARCHAR2(1);
88 l_x_QUALIFIER_RULES_rec QP_Qualifier_Rules_PUB.Qualifier_Rules_Rec_Type;
89 l_x_QUALIFIERS_rec QP_Qualifier_Rules_PUB.Qualifiers_Rec_Type;
90 l_x_QUALIFIERS_tbl QP_Qualifier_Rules_PUB.Qualifiers_Tbl_Type;
91 BEGIN
92
93 -- Set control flags.
94
95 l_control_rec.controlled_operation := TRUE;
96 l_control_rec.default_attributes := TRUE;
97
98 l_control_rec.change_attributes := FALSE;
99 l_control_rec.validate_entity := FALSE;
100 l_control_rec.write_to_DB := FALSE;
101 l_control_rec.process := FALSE;
102
103 -- Instruct API to retain its caches
104
105 l_control_rec.clear_api_cache := FALSE;
106 l_control_rec.clear_api_requests := FALSE;
107
108 -- Load IN parameters if any exist
109
110
111 -- Defaulting of flex values is currently done by the form.
112 -- Set flex attributes to NULL in order to avoid defaulting them.
113
114 l_QUALIFIERS_rec.qualifier_rule_id := p_qualifier_rule_id;
115 l_QUALIFIERS_rec.attribute1 := NULL;
116 l_QUALIFIERS_rec.attribute10 := NULL;
117 l_QUALIFIERS_rec.attribute11 := NULL;
118 l_QUALIFIERS_rec.attribute12 := NULL;
119 l_QUALIFIERS_rec.attribute13 := NULL;
120 l_QUALIFIERS_rec.attribute14 := NULL;
121 l_QUALIFIERS_rec.attribute15 := NULL;
122 l_QUALIFIERS_rec.attribute2 := NULL;
123 l_QUALIFIERS_rec.attribute3 := NULL;
124 l_QUALIFIERS_rec.attribute4 := NULL;
125 l_QUALIFIERS_rec.attribute5 := NULL;
126 l_QUALIFIERS_rec.attribute6 := NULL;
127 l_QUALIFIERS_rec.attribute7 := NULL;
128 l_QUALIFIERS_rec.attribute8 := NULL;
129 l_QUALIFIERS_rec.attribute9 := NULL;
130 l_QUALIFIERS_rec.context := NULL;
131
132 -- Set Operation to Create
133
134 l_QUALIFIERS_rec.operation := QP_GLOBALS.G_OPR_CREATE;
135
136 -- Populate QUALIFIERS table
137
138 l_QUALIFIERS_tbl(1) := l_QUALIFIERS_rec;
139
140 -- Call QP_Qualifier_Rules_PVT.Process_QUALIFIER_RULES
141
142 QP_Qualifier_Rules_PVT.Process_QUALIFIER_RULES
143 ( p_api_version_number => 1.0
144 , p_init_msg_list => FND_API.G_TRUE
145 , x_return_status => l_return_status
146 , x_msg_count => x_msg_count
147 , x_msg_data => x_msg_data
148 , p_control_rec => l_control_rec
149 , p_QUALIFIERS_tbl => l_QUALIFIERS_tbl
150 , x_QUALIFIER_RULES_rec => l_x_QUALIFIER_RULES_rec
151 , x_QUALIFIERS_tbl => l_x_QUALIFIERS_tbl
152 );
153
154 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
155 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
156 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
157 RAISE FND_API.G_EXC_ERROR;
158 END IF;
159
160
161 -- Unload out tbl
162
163 l_x_QUALIFIERS_rec := l_x_QUALIFIERS_tbl(1);
164
165 -- Load OUT parameters.
166
167 x_attribute1 := l_x_QUALIFIERS_rec.attribute1;
168 x_attribute10 := l_x_QUALIFIERS_rec.attribute10;
169 x_attribute11 := l_x_QUALIFIERS_rec.attribute11;
170 x_attribute12 := l_x_QUALIFIERS_rec.attribute12;
171 x_attribute13 := l_x_QUALIFIERS_rec.attribute13;
172 x_attribute14 := l_x_QUALIFIERS_rec.attribute14;
173 x_attribute15 := l_x_QUALIFIERS_rec.attribute15;
174 x_attribute2 := l_x_QUALIFIERS_rec.attribute2;
175 x_attribute3 := l_x_QUALIFIERS_rec.attribute3;
176 x_attribute4 := l_x_QUALIFIERS_rec.attribute4;
177 x_attribute5 := l_x_QUALIFIERS_rec.attribute5;
178 x_attribute6 := l_x_QUALIFIERS_rec.attribute6;
179 x_attribute7 := l_x_QUALIFIERS_rec.attribute7;
180 x_attribute8 := l_x_QUALIFIERS_rec.attribute8;
181 x_attribute9 := l_x_QUALIFIERS_rec.attribute9;
182 x_comparison_operator_code := l_x_QUALIFIERS_rec.comparison_operator_code;
183 x_context := l_x_QUALIFIERS_rec.context;
184 x_created_from_rule_id := l_x_QUALIFIERS_rec.created_from_rule_id;
185 x_end_date_active := l_x_QUALIFIERS_rec.end_date_active;
186 x_excluder_flag := l_x_QUALIFIERS_rec.excluder_flag;
187 x_list_header_id := l_x_QUALIFIERS_rec.list_header_id;
188 x_list_line_id := l_x_QUALIFIERS_rec.list_line_id;
189 x_qualifier_attribute := l_x_QUALIFIERS_rec.qualifier_attribute;
190 x_qualifier_attr_value := l_x_QUALIFIERS_rec.qualifier_attr_value;
191 x_qualifier_attr_value_to := l_x_QUALIFIERS_rec.qualifier_attr_value_to;
192 x_qualifier_context := l_x_QUALIFIERS_rec.qualifier_context;
193 x_qualifier_datatype := l_x_QUALIFIERS_rec.qualifier_datatype;
194 --x_qualifier_date_format := l_x_QUALIFIERS_rec.qualifier_date_format;
195 x_qualifier_grouping_no := l_x_QUALIFIERS_rec.qualifier_grouping_no;
196 x_qualifier_id := l_x_QUALIFIERS_rec.qualifier_id;
197 --x_qualifier_number_format := l_x_QUALIFIERS_rec.qualifier_number_format;
198 x_qualifier_precedence := l_x_QUALIFIERS_rec.qualifier_precedence;
199 x_qualifier_rule_id := l_x_QUALIFIERS_rec.qualifier_rule_id;
200 x_start_date_active := l_x_QUALIFIERS_rec.start_date_active;
201
202 -- Load display out parameters if any
203
204 l_QUALIFIERS_val_rec := QP_Qualifiers_Util.Get_Values
205 ( p_QUALIFIERS_rec => l_x_QUALIFIERS_rec
206 );
207 --x_comparison_operator := l_QUALIFIERS_val_rec.comparison_operator;
208 x_created_from_rule := l_QUALIFIERS_val_rec.created_from_rule;
209 --x_excluder := l_QUALIFIERS_val_rec.excluder;
210 x_list_header := l_QUALIFIERS_val_rec.list_header;
211 x_list_line := l_QUALIFIERS_val_rec.list_line;
212 -- x_qualifier := l_QUALIFIERS_val_rec.qualifier;
213 x_qualifier_rule := l_QUALIFIERS_val_rec.qualifier_rule;
214
215 -- Write to cache.
216 -- Set db_flag to False before writing to cache
217
218 l_x_QUALIFIERS_rec.db_flag := FND_API.G_FALSE;
219
220 Write_QUALIFIERS
221 ( p_QUALIFIERS_rec => l_x_QUALIFIERS_rec
222 );
223
224 -- Set return status.
225
226 x_return_status := FND_API.G_RET_STS_SUCCESS;
227
228 -- Get message count and data
229
230 OE_MSG_PUB.Count_And_Get
231 ( p_count => x_msg_count
232 , p_data => x_msg_data
233 );
234
235
236 EXCEPTION
237
238 WHEN FND_API.G_EXC_ERROR THEN
239
240 x_return_status := FND_API.G_RET_STS_ERROR;
241
242 -- Get message count and data
243
244 OE_MSG_PUB.Count_And_Get
245 ( p_count => x_msg_count
246 , p_data => x_msg_data
247 );
248
249 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
250
251 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
252
253 -- Get message count and data
254
255 OE_MSG_PUB.Count_And_Get
256 ( p_count => x_msg_count
257 , p_data => x_msg_data
258 );
259
260 WHEN OTHERS THEN
261
262 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
263
264 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
265 THEN
266 OE_MSG_PUB.Add_Exc_Msg
267 ( G_PKG_NAME
268 , 'Default_Attributes'
269 );
270 END IF;
271
272 -- Get message count and data
273
274 OE_MSG_PUB.Count_And_Get
275 ( p_count => x_msg_count
276 , p_data => x_msg_data
277 );
278
279 END Default_Attributes;
280
281 -- Procedure : Change_Attribute
282 --
283
284 PROCEDURE Change_Attribute
285 ( x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
286 , x_msg_count OUT NOCOPY /* file.sql.39 change */ NUMBER
287 , x_msg_data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
288 , p_qualifier_id IN NUMBER
289 , p_attr_id IN NUMBER
290 , p_attr_value IN VARCHAR2
291 , p_attribute1 IN VARCHAR2
292 , p_attribute10 IN VARCHAR2
293 , p_attribute11 IN VARCHAR2
294 , p_attribute12 IN VARCHAR2
295 , p_attribute13 IN VARCHAR2
296 , p_attribute14 IN VARCHAR2
297 , p_attribute15 IN VARCHAR2
298 , p_attribute2 IN VARCHAR2
299 , p_attribute3 IN VARCHAR2
300 , p_attribute4 IN VARCHAR2
301 , p_attribute5 IN VARCHAR2
302 , p_attribute6 IN VARCHAR2
303 , p_attribute7 IN VARCHAR2
304 , p_attribute8 IN VARCHAR2
305 , p_attribute9 IN VARCHAR2
306 , p_context IN VARCHAR2
307 , x_attribute1 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
308 , x_attribute10 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
309 , x_attribute11 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
310 , x_attribute12 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
311 , x_attribute13 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
312 , x_attribute14 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
313 , x_attribute15 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
314 , x_attribute2 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
315 , x_attribute3 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
316 , x_attribute4 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
317 , x_attribute5 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
318 , x_attribute6 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
319 , x_attribute7 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
320 , x_attribute8 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
321 , x_attribute9 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
322 , x_comparison_operator_code OUT NOCOPY /* file.sql.39 change */ VARCHAR2
326 , x_excluder_flag OUT NOCOPY /* file.sql.39 change */ VARCHAR2
323 , x_context OUT NOCOPY /* file.sql.39 change */ VARCHAR2
324 , x_created_from_rule_id OUT NOCOPY /* file.sql.39 change */ NUMBER
325 , x_end_date_active OUT NOCOPY /* file.sql.39 change */ DATE
327 , x_list_header_id OUT NOCOPY /* file.sql.39 change */ NUMBER
328 , x_list_line_id OUT NOCOPY /* file.sql.39 change */ NUMBER
329 , x_qualifier_attribute OUT NOCOPY /* file.sql.39 change */ VARCHAR2
330 , x_qualifier_attr_value OUT NOCOPY /* file.sql.39 change */ VARCHAR2
331 , x_qualifier_attr_value_to OUT NOCOPY /* file.sql.39 change */ VARCHAR2
332 , x_qualifier_context OUT NOCOPY /* file.sql.39 change */ VARCHAR2
333 , x_qualifier_datatype OUT NOCOPY /* file.sql.39 change */ VARCHAR2
334 --, x_qualifier_date_format OUT NOCOPY /* file.sql.39 change */ VARCHAR2
335 , x_qualifier_grouping_no OUT NOCOPY /* file.sql.39 change */ NUMBER
336 , x_qualifier_id OUT NOCOPY /* file.sql.39 change */ NUMBER
337 --, x_qualifier_number_format OUT NOCOPY /* file.sql.39 change */ VARCHAR2
338 , x_qualifier_precedence OUT NOCOPY /* file.sql.39 change */ NUMBER
339 , x_qualifier_rule_id OUT NOCOPY /* file.sql.39 change */ NUMBER
340 , x_start_date_active OUT NOCOPY /* file.sql.39 change */ DATE
341 --, x_comparison_operator OUT NOCOPY /* file.sql.39 change */ VARCHAR2
342 , x_created_from_rule OUT NOCOPY /* file.sql.39 change */ VARCHAR2
343 --, x_excluder OUT NOCOPY /* file.sql.39 change */ VARCHAR2
344 , x_list_header OUT NOCOPY /* file.sql.39 change */ VARCHAR2
345 , x_list_line OUT NOCOPY /* file.sql.39 change */ VARCHAR2
346 --, x_qualifier OUT NOCOPY /* file.sql.39 change */ VARCHAR2
347 , x_qualifier_rule OUT NOCOPY /* file.sql.39 change */ VARCHAR2
348 )
349 IS
350 l_QUALIFIERS_rec QP_Qualifier_Rules_PUB.Qualifiers_Rec_Type;
351 l_old_QUALIFIERS_rec QP_Qualifier_Rules_PUB.Qualifiers_Rec_Type;
352 l_QUALIFIERS_val_rec QP_Qualifier_Rules_PUB.Qualifiers_Val_Rec_Type;
353 l_QUALIFIERS_tbl QP_Qualifier_Rules_PUB.Qualifiers_Tbl_Type;
354 l_old_QUALIFIERS_tbl QP_Qualifier_Rules_PUB.Qualifiers_Tbl_Type;
355 l_control_rec QP_GLOBALS.Control_Rec_Type;
356 l_return_status VARCHAR2(1);
357 l_x_QUALIFIER_RULES_rec QP_Qualifier_Rules_PUB.Qualifier_Rules_Rec_Type;
358 l_x_QUALIFIERS_rec QP_Qualifier_Rules_PUB.Qualifiers_Rec_Type;
359 l_x_QUALIFIERS_tbl QP_Qualifier_Rules_PUB.Qualifiers_Tbl_Type;
360 BEGIN
361
362 -- Set control flags.
363
364 l_control_rec.controlled_operation := TRUE;
365 l_control_rec.change_attributes := TRUE;
366
367 l_control_rec.default_attributes := FALSE;
368 l_control_rec.validate_entity := FALSE;
369 l_control_rec.write_to_DB := FALSE;
370 l_control_rec.process := FALSE;
371
372 -- Instruct API to retain its caches
373
374 l_control_rec.clear_api_cache := FALSE;
375 l_control_rec.clear_api_requests := FALSE;
376
377 -- Read QUALIFIERS from cache
378
379 l_QUALIFIERS_rec := Get_QUALIFIERS
380 ( p_db_record => FALSE
381 , p_qualifier_id => p_qualifier_id
382 );
383
384 l_old_QUALIFIERS_rec := l_QUALIFIERS_rec;
385
386 IF p_attr_id = QP_Qualifiers_Util.G_COMPARISON_OPERATOR THEN
387 l_QUALIFIERS_rec.comparison_operator_code := p_attr_value;
388 ELSIF p_attr_id = QP_Qualifiers_Util.G_CREATED_FROM_RULE THEN
389 l_QUALIFIERS_rec.created_from_rule_id := TO_NUMBER(p_attr_value);
390 ELSIF p_attr_id = QP_Qualifiers_Util.G_END_DATE_ACTIVE THEN
391 l_QUALIFIERS_rec.end_date_active := TO_DATE(p_attr_value,'DD/MM/YYYY');
392 ELSIF p_attr_id = QP_Qualifiers_Util.G_EXCLUDER THEN
393 l_QUALIFIERS_rec.excluder_flag := p_attr_value;
394 ELSIF p_attr_id = QP_Qualifiers_Util.G_LIST_HEADER THEN
395 l_QUALIFIERS_rec.list_header_id := TO_NUMBER(p_attr_value);
396 ELSIF p_attr_id = QP_Qualifiers_Util.G_LIST_LINE THEN
397 l_QUALIFIERS_rec.list_line_id := TO_NUMBER(p_attr_value);
398 ELSIF p_attr_id = QP_Qualifiers_Util.G_QUALIFIER_ATTRIBUTE THEN
399 l_QUALIFIERS_rec.qualifier_attribute := p_attr_value;
400 ELSIF p_attr_id = QP_Qualifiers_Util.G_QUALIFIER_ATTR_VALUE THEN
401 l_QUALIFIERS_rec.qualifier_attr_value := p_attr_value;
402 ELSIF p_attr_id = QP_Qualifiers_Util.G_QUALIFIER_ATTR_VALUE_TO THEN
403 l_QUALIFIERS_rec.qualifier_attr_value_to := p_attr_value;
404 ELSIF p_attr_id = QP_Qualifiers_Util.G_QUALIFIER_CONTEXT THEN
405 l_QUALIFIERS_rec.qualifier_context := p_attr_value;
406 ELSIF p_attr_id = QP_Qualifiers_Util.G_QUALIFIER_DATATYPE THEN
407 l_QUALIFIERS_rec.qualifier_datatype := p_attr_value;
408 --ELSIF p_attr_id = QP_Qualifiers_Util.G_QUALIFIER_DATE_FORMAT THEN
409 -- l_QUALIFIERS_rec.qualifier_date_format := p_attr_value;
410 ELSIF p_attr_id = QP_Qualifiers_Util.G_QUALIFIER_GROUPING_NO THEN
411 l_QUALIFIERS_rec.qualifier_grouping_no := TO_NUMBER(p_attr_value);
412 ELSIF p_attr_id = QP_Qualifiers_Util.G_QUALIFIER THEN
416 ELSIF p_attr_id = QP_Qualifiers_Util.G_QUALIFIER_PRECEDENCE THEN
413 l_QUALIFIERS_rec.qualifier_id := TO_NUMBER(p_attr_value);
414 --ELSIF p_attr_id = QP_Qualifiers_Util.G_QUALIFIER_NUMBER_FORMAT THEN
415 -- l_QUALIFIERS_rec.qualifier_number_format := p_attr_value;
417 l_QUALIFIERS_rec.qualifier_precedence := TO_NUMBER(p_attr_value);
418 ELSIF p_attr_id = QP_Qualifiers_Util.G_QUALIFIER_RULE THEN
419 l_QUALIFIERS_rec.qualifier_rule_id := TO_NUMBER(p_attr_value);
420 ELSIF p_attr_id = QP_Qualifiers_Util.G_START_DATE_ACTIVE THEN
421 l_QUALIFIERS_rec.start_date_active := TO_DATE(p_attr_value,'DD/MM/YYYY');
422 ELSIF p_attr_id = QP_Qualifiers_Util.G_ATTRIBUTE1
423 OR p_attr_id = QP_Qualifiers_Util.G_ATTRIBUTE10
424 OR p_attr_id = QP_Qualifiers_Util.G_ATTRIBUTE11
425 OR p_attr_id = QP_Qualifiers_Util.G_ATTRIBUTE12
426 OR p_attr_id = QP_Qualifiers_Util.G_ATTRIBUTE13
427 OR p_attr_id = QP_Qualifiers_Util.G_ATTRIBUTE14
428 OR p_attr_id = QP_Qualifiers_Util.G_ATTRIBUTE15
429 OR p_attr_id = QP_Qualifiers_Util.G_ATTRIBUTE2
430 OR p_attr_id = QP_Qualifiers_Util.G_ATTRIBUTE3
431 OR p_attr_id = QP_Qualifiers_Util.G_ATTRIBUTE4
432 OR p_attr_id = QP_Qualifiers_Util.G_ATTRIBUTE5
433 OR p_attr_id = QP_Qualifiers_Util.G_ATTRIBUTE6
434 OR p_attr_id = QP_Qualifiers_Util.G_ATTRIBUTE7
435 OR p_attr_id = QP_Qualifiers_Util.G_ATTRIBUTE8
436 OR p_attr_id = QP_Qualifiers_Util.G_ATTRIBUTE9
437 OR p_attr_id = QP_Qualifiers_Util.G_CONTEXT
438 THEN
439
440 l_QUALIFIERS_rec.attribute1 := p_attribute1;
441 l_QUALIFIERS_rec.attribute10 := p_attribute10;
442 l_QUALIFIERS_rec.attribute11 := p_attribute11;
443 l_QUALIFIERS_rec.attribute12 := p_attribute12;
444 l_QUALIFIERS_rec.attribute13 := p_attribute13;
445 l_QUALIFIERS_rec.attribute14 := p_attribute14;
446 l_QUALIFIERS_rec.attribute15 := p_attribute15;
447 l_QUALIFIERS_rec.attribute2 := p_attribute2;
448 l_QUALIFIERS_rec.attribute3 := p_attribute3;
449 l_QUALIFIERS_rec.attribute4 := p_attribute4;
450 l_QUALIFIERS_rec.attribute5 := p_attribute5;
451 l_QUALIFIERS_rec.attribute6 := p_attribute6;
452 l_QUALIFIERS_rec.attribute7 := p_attribute7;
453 l_QUALIFIERS_rec.attribute8 := p_attribute8;
454 l_QUALIFIERS_rec.attribute9 := p_attribute9;
455 l_QUALIFIERS_rec.context := p_context;
456
457 ELSE
458
459 -- Unexpected error, unrecognized attribute
460
461 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
462 THEN
463 OE_MSG_PUB.Add_Exc_Msg
464 ( G_PKG_NAME
465 , 'Change_Attribute'
466 , 'Unrecognized attribute'
467 );
468 END IF;
469
470 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
471
472 END IF;
473
474 -- Set Operation.
475
476 IF FND_API.To_Boolean(l_QUALIFIERS_rec.db_flag) THEN
477 l_QUALIFIERS_rec.operation := QP_GLOBALS.G_OPR_UPDATE;
478 ELSE
479 l_QUALIFIERS_rec.operation := QP_GLOBALS.G_OPR_CREATE;
480 END IF;
481
482 -- Populate QUALIFIERS table
483
484 oe_debug_pub.add('before calling process qualifier rules from change attribute');
485 oe_debug_pub.add('precedence is '||l_QUALIFIERS_rec.qualifier_precedence);
486
487
488
489
490
491 l_QUALIFIERS_tbl(1) := l_QUALIFIERS_rec;
492 l_old_QUALIFIERS_tbl(1) := l_old_QUALIFIERS_rec;
493
494 -- Call QP_Qualifier_Rules_PVT.Process_QUALIFIER_RULES
495
496
497
498
499
500
501 QP_Qualifier_Rules_PVT.Process_QUALIFIER_RULES
502 ( p_api_version_number => 1.0
503 , p_init_msg_list => FND_API.G_TRUE
504 , p_validation_level => FND_API.G_VALID_LEVEL_NONE
505 , x_return_status => l_return_status
506 , x_msg_count => x_msg_count
507 , x_msg_data => x_msg_data
508 , p_control_rec => l_control_rec
509 , p_QUALIFIERS_tbl => l_QUALIFIERS_tbl
510 , p_old_QUALIFIERS_tbl => l_old_QUALIFIERS_tbl
511 , x_QUALIFIER_RULES_rec => l_x_QUALIFIER_RULES_rec
512 , x_QUALIFIERS_tbl => l_x_QUALIFIERS_tbl
513 );
514
515 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
516 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
517 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
518 RAISE FND_API.G_EXC_ERROR;
519 END IF;
520
521
522 -- Unload out tbl
523
524 l_x_QUALIFIERS_rec := l_x_QUALIFIERS_tbl(1);
525
526 -- Init OUT parameters to missing.
527
528 x_attribute1 := FND_API.G_MISS_CHAR;
529 x_attribute10 := FND_API.G_MISS_CHAR;
530 x_attribute11 := FND_API.G_MISS_CHAR;
531 x_attribute12 := FND_API.G_MISS_CHAR;
532 x_attribute13 := FND_API.G_MISS_CHAR;
533 x_attribute14 := FND_API.G_MISS_CHAR;
534 x_attribute15 := FND_API.G_MISS_CHAR;
538 x_attribute5 := FND_API.G_MISS_CHAR;
535 x_attribute2 := FND_API.G_MISS_CHAR;
536 x_attribute3 := FND_API.G_MISS_CHAR;
537 x_attribute4 := FND_API.G_MISS_CHAR;
539 x_attribute6 := FND_API.G_MISS_CHAR;
540 x_attribute7 := FND_API.G_MISS_CHAR;
541 x_attribute8 := FND_API.G_MISS_CHAR;
542 x_attribute9 := FND_API.G_MISS_CHAR;
543 x_comparison_operator_code := FND_API.G_MISS_CHAR;
544 x_context := FND_API.G_MISS_CHAR;
545 x_created_from_rule_id := FND_API.G_MISS_NUM;
546 x_end_date_active := FND_API.G_MISS_DATE;
547 x_excluder_flag := FND_API.G_MISS_CHAR;
548 x_list_header_id := FND_API.G_MISS_NUM;
549 x_list_line_id := FND_API.G_MISS_NUM;
550 x_qualifier_attribute := FND_API.G_MISS_CHAR;
551 x_qualifier_attr_value := FND_API.G_MISS_CHAR;
552 x_qualifier_attr_value_to := FND_API.G_MISS_CHAR;
553 x_qualifier_context := FND_API.G_MISS_CHAR;
554 x_qualifier_datatype := FND_API.G_MISS_CHAR;
555 --x_qualifier_date_format := FND_API.G_MISS_CHAR;
556 x_qualifier_grouping_no := FND_API.G_MISS_NUM;
557 x_qualifier_id := FND_API.G_MISS_NUM;
558 --x_qualifier_number_format := FND_API.G_MISS_CHAR;
559 x_qualifier_precedence := FND_API.G_MISS_NUM;
560 x_qualifier_rule_id := FND_API.G_MISS_NUM;
561 x_start_date_active := FND_API.G_MISS_DATE;
562 --x_comparison_operator := FND_API.G_MISS_CHAR;
563 x_created_from_rule := FND_API.G_MISS_CHAR;
564 --x_excluder := FND_API.G_MISS_CHAR;
565 x_list_header := FND_API.G_MISS_CHAR;
566 x_list_line := FND_API.G_MISS_CHAR;
567 --x_qualifier := FND_API.G_MISS_CHAR;
568 x_qualifier_rule := FND_API.G_MISS_CHAR;
569
570 -- Load display out parameters if any
571
572 l_QUALIFIERS_val_rec := QP_Qualifiers_Util.Get_Values
573 ( p_QUALIFIERS_rec => l_x_QUALIFIERS_rec
574 , p_old_QUALIFIERS_rec => l_QUALIFIERS_rec
575 );
576
577 -- Return changed attributes.
578
579 IF NOT QP_GLOBALS.Equal(l_x_QUALIFIERS_rec.attribute1,
580 l_QUALIFIERS_rec.attribute1)
581 THEN
582 x_attribute1 := l_x_QUALIFIERS_rec.attribute1;
583 END IF;
584
585 IF NOT QP_GLOBALS.Equal(l_x_QUALIFIERS_rec.attribute10,
586 l_QUALIFIERS_rec.attribute10)
587 THEN
588 x_attribute10 := l_x_QUALIFIERS_rec.attribute10;
589 END IF;
590
591 IF NOT QP_GLOBALS.Equal(l_x_QUALIFIERS_rec.attribute11,
592 l_QUALIFIERS_rec.attribute11)
593 THEN
594 x_attribute11 := l_x_QUALIFIERS_rec.attribute11;
595 END IF;
596
597 IF NOT QP_GLOBALS.Equal(l_x_QUALIFIERS_rec.attribute12,
598 l_QUALIFIERS_rec.attribute12)
599 THEN
600 x_attribute12 := l_x_QUALIFIERS_rec.attribute12;
601 END IF;
602
603 IF NOT QP_GLOBALS.Equal(l_x_QUALIFIERS_rec.attribute13,
604 l_QUALIFIERS_rec.attribute13)
605 THEN
606 x_attribute13 := l_x_QUALIFIERS_rec.attribute13;
607 END IF;
608
609 IF NOT QP_GLOBALS.Equal(l_x_QUALIFIERS_rec.attribute14,
610 l_QUALIFIERS_rec.attribute14)
611 THEN
612 x_attribute14 := l_x_QUALIFIERS_rec.attribute14;
613 END IF;
614
615 IF NOT QP_GLOBALS.Equal(l_x_QUALIFIERS_rec.attribute15,
616 l_QUALIFIERS_rec.attribute15)
617 THEN
618 x_attribute15 := l_x_QUALIFIERS_rec.attribute15;
619 END IF;
620
621 IF NOT QP_GLOBALS.Equal(l_x_QUALIFIERS_rec.attribute2,
622 l_QUALIFIERS_rec.attribute2)
623 THEN
624 x_attribute2 := l_x_QUALIFIERS_rec.attribute2;
625 END IF;
626
627 IF NOT QP_GLOBALS.Equal(l_x_QUALIFIERS_rec.attribute3,
628 l_QUALIFIERS_rec.attribute3)
629 THEN
630 x_attribute3 := l_x_QUALIFIERS_rec.attribute3;
631 END IF;
632
633 IF NOT QP_GLOBALS.Equal(l_x_QUALIFIERS_rec.attribute4,
634 l_QUALIFIERS_rec.attribute4)
635 THEN
636 x_attribute4 := l_x_QUALIFIERS_rec.attribute4;
637 END IF;
638
639 IF NOT QP_GLOBALS.Equal(l_x_QUALIFIERS_rec.attribute5,
640 l_QUALIFIERS_rec.attribute5)
641 THEN
642 x_attribute5 := l_x_QUALIFIERS_rec.attribute5;
643 END IF;
644
645 IF NOT QP_GLOBALS.Equal(l_x_QUALIFIERS_rec.attribute6,
646 l_QUALIFIERS_rec.attribute6)
647 THEN
648 x_attribute6 := l_x_QUALIFIERS_rec.attribute6;
649 END IF;
650
651 IF NOT QP_GLOBALS.Equal(l_x_QUALIFIERS_rec.attribute7,
652 l_QUALIFIERS_rec.attribute7)
653 THEN
654 x_attribute7 := l_x_QUALIFIERS_rec.attribute7;
655 END IF;
656
660 x_attribute8 := l_x_QUALIFIERS_rec.attribute8;
657 IF NOT QP_GLOBALS.Equal(l_x_QUALIFIERS_rec.attribute8,
658 l_QUALIFIERS_rec.attribute8)
659 THEN
661 END IF;
662
663 IF NOT QP_GLOBALS.Equal(l_x_QUALIFIERS_rec.attribute9,
664 l_QUALIFIERS_rec.attribute9)
665 THEN
666 x_attribute9 := l_x_QUALIFIERS_rec.attribute9;
667 END IF;
668
669 IF NOT QP_GLOBALS.Equal(l_x_QUALIFIERS_rec.comparison_operator_code,
670 l_QUALIFIERS_rec.comparison_operator_code)
671 THEN
672 x_comparison_operator_code := l_x_QUALIFIERS_rec.comparison_operator_code;
673 -- x_comparison_operator := l_QUALIFIERS_val_rec.comparison_operator;
674 END IF;
675
676 IF NOT QP_GLOBALS.Equal(l_x_QUALIFIERS_rec.context,
677 l_QUALIFIERS_rec.context)
678 THEN
679 x_context := l_x_QUALIFIERS_rec.context;
680 END IF;
681
682 IF NOT QP_GLOBALS.Equal(l_x_QUALIFIERS_rec.created_from_rule_id,
683 l_QUALIFIERS_rec.created_from_rule_id)
684 THEN
685 x_created_from_rule_id := l_x_QUALIFIERS_rec.created_from_rule_id;
686 x_created_from_rule := l_QUALIFIERS_val_rec.created_from_rule;
687 END IF;
688
689 IF NOT QP_GLOBALS.Equal(l_x_QUALIFIERS_rec.end_date_active,
690 l_QUALIFIERS_rec.end_date_active)
691 THEN
692 x_end_date_active := l_x_QUALIFIERS_rec.end_date_active;
693 END IF;
694
695 IF NOT QP_GLOBALS.Equal(l_x_QUALIFIERS_rec.excluder_flag,
696 l_QUALIFIERS_rec.excluder_flag)
697 THEN
698 x_excluder_flag := l_x_QUALIFIERS_rec.excluder_flag;
699 --x_excluder := l_QUALIFIERS_val_rec.excluder;
700 END IF;
701
702 IF NOT QP_GLOBALS.Equal(l_x_QUALIFIERS_rec.list_header_id,
703 l_QUALIFIERS_rec.list_header_id)
704 THEN
705 x_list_header_id := l_x_QUALIFIERS_rec.list_header_id;
706 x_list_header := l_QUALIFIERS_val_rec.list_header;
707 END IF;
708
709 IF NOT QP_GLOBALS.Equal(l_x_QUALIFIERS_rec.list_line_id,
710 l_QUALIFIERS_rec.list_line_id)
711 THEN
712 x_list_line_id := l_x_QUALIFIERS_rec.list_line_id;
713 x_list_line := l_QUALIFIERS_val_rec.list_line;
714 END IF;
715
716 IF NOT QP_GLOBALS.Equal(l_x_QUALIFIERS_rec.qualifier_attribute,
717 l_QUALIFIERS_rec.qualifier_attribute)
718 THEN
719 x_qualifier_attribute := l_x_QUALIFIERS_rec.qualifier_attribute;
720 END IF;
721
722 IF NOT QP_GLOBALS.Equal(l_x_QUALIFIERS_rec.qualifier_attr_value,
723 l_QUALIFIERS_rec.qualifier_attr_value)
724 THEN
725 x_qualifier_attr_value := l_x_QUALIFIERS_rec.qualifier_attr_value;
726 END IF;
727 IF NOT QP_GLOBALS.Equal(l_x_QUALIFIERS_rec.qualifier_attr_value_to,
728 l_QUALIFIERS_rec.qualifier_attr_value_to)
729 THEN
730 x_qualifier_attr_value_to := l_x_QUALIFIERS_rec.qualifier_attr_value_to;
731 END IF;
732
733 IF NOT QP_GLOBALS.Equal(l_x_QUALIFIERS_rec.qualifier_context,
734 l_QUALIFIERS_rec.qualifier_context)
735 THEN
736 x_qualifier_context := l_x_QUALIFIERS_rec.qualifier_context;
737 END IF;
738
739 IF NOT QP_GLOBALS.Equal(l_x_QUALIFIERS_rec.qualifier_datatype,
740 l_QUALIFIERS_rec.qualifier_datatype)
741 THEN
742 x_qualifier_datatype := l_x_QUALIFIERS_rec.qualifier_datatype;
743 END IF;
744
745 /*IF NOT QP_GLOBALS.Equal(l_x_QUALIFIERS_rec.qualifier_date_format,
746 l_QUALIFIERS_rec.qualifier_date_format)
747 THEN
748 x_qualifier_date_format := l_x_QUALIFIERS_rec.qualifier_date_format;
749 END IF;*/
750
751 IF NOT QP_GLOBALS.Equal(l_x_QUALIFIERS_rec.qualifier_grouping_no,
752 l_QUALIFIERS_rec.qualifier_grouping_no)
753 THEN
754 x_qualifier_grouping_no := l_x_QUALIFIERS_rec.qualifier_grouping_no;
755 END IF;
756
757 IF NOT QP_GLOBALS.Equal(l_x_QUALIFIERS_rec.qualifier_id,
758 l_QUALIFIERS_rec.qualifier_id)
759 THEN
760 x_qualifier_id := l_x_QUALIFIERS_rec.qualifier_id;
761 --x_qualifier := l_QUALIFIERS_val_rec.qualifier;
762 END IF;
763
764 /*IF NOT QP_GLOBALS.Equal(l_x_QUALIFIERS_rec.qualifier_number_format,
765 l_QUALIFIERS_rec.qualifier_number_format)
766 THEN
767 x_qualifier_number_format := l_x_QUALIFIERS_rec.qualifier_number_format;
768 END IF;*/
769
770 IF NOT QP_GLOBALS.Equal(l_x_QUALIFIERS_rec.qualifier_precedence,
771 l_QUALIFIERS_rec.qualifier_precedence)
772 THEN
773 x_qualifier_precedence := l_x_QUALIFIERS_rec.qualifier_precedence;
774 END IF;
775
776 IF NOT QP_GLOBALS.Equal(l_x_QUALIFIERS_rec.qualifier_rule_id,
777 l_QUALIFIERS_rec.qualifier_rule_id)
778 THEN
779 x_qualifier_rule_id := l_x_QUALIFIERS_rec.qualifier_rule_id;
780 x_qualifier_rule := l_QUALIFIERS_val_rec.qualifier_rule;
781 END IF;
785 THEN
782
783 IF NOT QP_GLOBALS.Equal(l_x_QUALIFIERS_rec.start_date_active,
784 l_QUALIFIERS_rec.start_date_active)
786 x_start_date_active := l_x_QUALIFIERS_rec.start_date_active;
787 END IF;
788
789
790 -- Write to cache.
791
792 Write_QUALIFIERS
793 ( p_QUALIFIERS_rec => l_x_QUALIFIERS_rec
794 );
795
796 -- Set return status.
797
798 x_return_status := FND_API.G_RET_STS_SUCCESS;
799
800 -- Get message count and data
801
802 OE_MSG_PUB.Count_And_Get
803 ( p_count => x_msg_count
804 , p_data => x_msg_data
805 );
806
807
808 EXCEPTION
809
810 WHEN FND_API.G_EXC_ERROR THEN
811
812 x_return_status := FND_API.G_RET_STS_ERROR;
813
814 -- Get message count and data
815
816 OE_MSG_PUB.Count_And_Get
817 ( p_count => x_msg_count
818 , p_data => x_msg_data
819 );
820
821 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
822
823 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
824
825 -- Get message count and data
826
827 OE_MSG_PUB.Count_And_Get
828 ( p_count => x_msg_count
829 , p_data => x_msg_data
830 );
831
832 WHEN OTHERS THEN
833
834 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
835
836 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
837 THEN
838 OE_MSG_PUB.Add_Exc_Msg
839 ( G_PKG_NAME
840 , 'Change_Attribute'
841 );
842 END IF;
843
844 -- Get message count and data
845
846 OE_MSG_PUB.Count_And_Get
847 ( p_count => x_msg_count
848 , p_data => x_msg_data
849 );
850
851 END Change_Attribute;
852
853 -- Procedure Validate_And_Write
854 --
855
856 PROCEDURE Validate_And_Write
857 ( x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
858 , x_msg_count OUT NOCOPY /* file.sql.39 change */ NUMBER
859 , x_msg_data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
860 , p_qualifier_id IN NUMBER
861 , x_creation_date OUT NOCOPY /* file.sql.39 change */ DATE
862 , x_created_by OUT NOCOPY /* file.sql.39 change */ NUMBER
863 , x_last_update_date OUT NOCOPY /* file.sql.39 change */ DATE
864 , x_last_updated_by OUT NOCOPY /* file.sql.39 change */ NUMBER
865 , x_last_update_login OUT NOCOPY /* file.sql.39 change */ NUMBER
866 )
867 IS
868 l_QUALIFIERS_rec QP_Qualifier_Rules_PUB.Qualifiers_Rec_Type;
869 l_old_QUALIFIERS_rec QP_Qualifier_Rules_PUB.Qualifiers_Rec_Type;
870 l_QUALIFIERS_tbl QP_Qualifier_Rules_PUB.Qualifiers_Tbl_Type;
871 l_old_QUALIFIERS_tbl QP_Qualifier_Rules_PUB.Qualifiers_Tbl_Type;
872 l_control_rec QP_GLOBALS.Control_Rec_Type;
873 l_return_status VARCHAR2(1);
874 l_x_QUALIFIER_RULES_rec QP_Qualifier_Rules_PUB.Qualifier_Rules_Rec_Type;
875 l_x_QUALIFIERS_rec QP_Qualifier_Rules_PUB.Qualifiers_Rec_Type;
876 l_x_QUALIFIERS_tbl QP_Qualifier_Rules_PUB.Qualifiers_Tbl_Type;
877 BEGIN
878
879 -- Set control flags.
880
881 l_control_rec.controlled_operation := TRUE;
882 l_control_rec.validate_entity := TRUE;
883 l_control_rec.write_to_DB := TRUE;
884
885 l_control_rec.default_attributes := FALSE;
886 l_control_rec.change_attributes := FALSE;
887 l_control_rec.process := FALSE;
888
889 -- Instruct API to retain its caches
890
891 l_control_rec.clear_api_cache := FALSE;
892 l_control_rec.clear_api_requests := FALSE;
893
894 -- Read QUALIFIERS from cache
895
896 l_old_QUALIFIERS_rec := Get_QUALIFIERS
897 ( p_db_record => TRUE
898 , p_qualifier_id => p_qualifier_id
899 );
900
901 l_QUALIFIERS_rec := Get_QUALIFIERS
902 ( p_db_record => FALSE
903 , p_qualifier_id => p_qualifier_id
904 );
905
906 -- Set Operation.
907
908 IF FND_API.To_Boolean(l_QUALIFIERS_rec.db_flag) THEN
909 l_QUALIFIERS_rec.operation := QP_GLOBALS.G_OPR_UPDATE;
910 ELSE
911 l_QUALIFIERS_rec.operation := QP_GLOBALS.G_OPR_CREATE;
912 END IF;
913
914 -- Populate QUALIFIERS table
915
916 l_QUALIFIERS_tbl(1) := l_QUALIFIERS_rec;
917 l_old_QUALIFIERS_tbl(1) := l_old_QUALIFIERS_rec;
918
919 -- Call QP_Qualifier_Rules_PVT.Process_QUALIFIER_RULES
920
921
922 oe_debug_pub.add('calling qualifers rule pvt from qulifiers form validate and write');
923 oe_debug_pub.add('with record as id '||l_QUALIFIERS_rec.qualifier_id);
924 oe_debug_pub.add('with record as con '||l_QUALIFIERS_rec.qualifier_context);
928
925 oe_debug_pub.add('with record as attr '||l_QUALIFIERS_rec.qualifier_attribute);
926 oe_debug_pub.add('with record as val '||l_QUALIFIERS_rec.qualifier_attr_value);
927 oe_debug_pub.add('with record as precedence '||l_QUALIFIERS_rec.qualifier_precedence);
929
930
931 QP_Qualifier_Rules_PVT.Process_QUALIFIER_RULES
932 ( p_api_version_number => 1.0
933 , p_init_msg_list => FND_API.G_TRUE
934 , x_return_status => l_return_status
935 , x_msg_count => x_msg_count
936 , x_msg_data => x_msg_data
937 , p_control_rec => l_control_rec
938 , p_QUALIFIERS_tbl => l_QUALIFIERS_tbl
939 , p_old_QUALIFIERS_tbl => l_old_QUALIFIERS_tbl
940 , x_QUALIFIER_RULES_rec => l_x_QUALIFIER_RULES_rec
941 , x_QUALIFIERS_tbl => l_x_QUALIFIERS_tbl
942 );
943
944 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
945 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
946 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
947 RAISE FND_API.G_EXC_ERROR;
948 END IF;
949
950
951 -- Load OUT parameters.
952
953 l_x_QUALIFIERS_rec := l_x_QUALIFIERS_tbl(1);
954
955 x_creation_date := l_x_QUALIFIERS_rec.creation_date;
956 x_created_by := l_x_QUALIFIERS_rec.created_by;
957 x_last_update_date := l_x_QUALIFIERS_rec.last_update_date;
958 x_last_updated_by := l_x_QUALIFIERS_rec.last_updated_by;
959 x_last_update_login := l_x_QUALIFIERS_rec.last_update_login;
960
961 -- Clear QUALIFIERS record cache
962
963 Clear_QUALIFIERS;
964
965 -- Keep track of performed operations.
966
967 l_old_QUALIFIERS_rec.operation := l_QUALIFIERS_rec.operation;
968
969
970 -- Set return status.
971
972 x_return_status := FND_API.G_RET_STS_SUCCESS;
973
974 -- Get message count and data
975
976 OE_MSG_PUB.Count_And_Get
977 ( p_count => x_msg_count
978 , p_data => x_msg_data
979 );
980
981
982 EXCEPTION
983
984 WHEN FND_API.G_EXC_ERROR THEN
985
986 x_return_status := FND_API.G_RET_STS_ERROR;
987
988 -- Get message count and data
989
990 OE_MSG_PUB.Count_And_Get
991 ( p_count => x_msg_count
992 , p_data => x_msg_data
993 );
994
995 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
996
997 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
998
999 -- Get message count and data
1000
1001 OE_MSG_PUB.Count_And_Get
1002 ( p_count => x_msg_count
1003 , p_data => x_msg_data
1004 );
1005
1006 WHEN OTHERS THEN
1007
1008 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1009
1010 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1011 THEN
1012 OE_MSG_PUB.Add_Exc_Msg
1013 ( G_PKG_NAME
1014 , 'Validate_And_Write'
1015 );
1016 END IF;
1017
1018 -- Get message count and data
1019
1020 OE_MSG_PUB.Count_And_Get
1021 ( p_count => x_msg_count
1022 , p_data => x_msg_data
1023 );
1024
1025 END Validate_And_Write;
1026
1027 -- Procedure Delete_Row
1028 --
1029
1030 PROCEDURE Delete_Row
1031 ( x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1032 , x_msg_count OUT NOCOPY /* file.sql.39 change */ NUMBER
1033 , x_msg_data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1034 , p_qualifier_id IN NUMBER
1035 )
1036 IS
1037 l_QUALIFIERS_rec QP_Qualifier_Rules_PUB.Qualifiers_Rec_Type;
1038 l_QUALIFIERS_tbl QP_Qualifier_Rules_PUB.Qualifiers_Tbl_Type;
1039 l_control_rec QP_GLOBALS.Control_Rec_Type;
1040 l_return_status VARCHAR2(1);
1041 l_x_QUALIFIER_RULES_rec QP_Qualifier_Rules_PUB.Qualifier_Rules_Rec_Type;
1042 l_x_QUALIFIERS_rec QP_Qualifier_Rules_PUB.Qualifiers_Rec_Type;
1043 l_x_QUALIFIERS_tbl QP_Qualifier_Rules_PUB.Qualifiers_Tbl_Type;
1044 BEGIN
1045
1046 -- Set control flags.
1047
1048 l_control_rec.controlled_operation := TRUE;
1049 l_control_rec.validate_entity := TRUE;
1050 l_control_rec.write_to_DB := TRUE;
1051
1052 l_control_rec.default_attributes := FALSE;
1053 l_control_rec.change_attributes := FALSE;
1054 l_control_rec.process := FALSE;
1055
1056 -- Instruct API to retain its caches
1057
1058 l_control_rec.clear_api_cache := FALSE;
1059 l_control_rec.clear_api_requests := FALSE;
1060
1061 -- Read DB record from cache
1062
1063 l_QUALIFIERS_rec := Get_QUALIFIERS
1064 ( p_db_record => TRUE
1065 , p_qualifier_id => p_qualifier_id
1066 );
1067
1068 -- Set Operation.
1069
1070 l_QUALIFIERS_rec.operation := QP_GLOBALS.G_OPR_DELETE;
1071
1075
1072 -- Populate QUALIFIERS table
1073
1074 l_QUALIFIERS_tbl(1) := l_QUALIFIERS_rec;
1076 -- Call QP_Qualifier_Rules_PVT.Process_QUALIFIER_RULES
1077
1078 QP_Qualifier_Rules_PVT.Process_QUALIFIER_RULES
1079 ( p_api_version_number => 1.0
1080 , p_init_msg_list => FND_API.G_TRUE
1081 , x_return_status => l_return_status
1082 , x_msg_count => x_msg_count
1083 , x_msg_data => x_msg_data
1084 , p_control_rec => l_control_rec
1085 , p_QUALIFIERS_tbl => l_QUALIFIERS_tbl
1086 , x_QUALIFIER_RULES_rec => l_x_QUALIFIER_RULES_rec
1087 , x_QUALIFIERS_tbl => l_x_QUALIFIERS_tbl
1088 );
1089
1090 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1091 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1092 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1093 RAISE FND_API.G_EXC_ERROR;
1094 END IF;
1095
1096
1097 -- Clear QUALIFIERS record cache
1098
1099 Clear_QUALIFIERS;
1100
1101 -- Set return status.
1102
1103 x_return_status := FND_API.G_RET_STS_SUCCESS;
1104
1105 -- Get message count and data
1106
1107 OE_MSG_PUB.Count_And_Get
1108 ( p_count => x_msg_count
1109 , p_data => x_msg_data
1110 );
1111
1112
1113 EXCEPTION
1114
1115 WHEN FND_API.G_EXC_ERROR THEN
1116
1117 x_return_status := FND_API.G_RET_STS_ERROR;
1118
1119 -- Get message count and data
1120
1121 OE_MSG_PUB.Count_And_Get
1122 ( p_count => x_msg_count
1123 , p_data => x_msg_data
1124 );
1125
1126 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1127
1128 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1129
1130 -- Get message count and data
1131
1132 OE_MSG_PUB.Count_And_Get
1133 ( p_count => x_msg_count
1134 , p_data => x_msg_data
1135 );
1136
1137 WHEN OTHERS THEN
1138
1139 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1140
1141 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1142 THEN
1143 OE_MSG_PUB.Add_Exc_Msg
1144 ( G_PKG_NAME
1145 , 'Delete_Row'
1146 );
1147 END IF;
1148
1149 -- Get message count and data
1150
1151 OE_MSG_PUB.Count_And_Get
1152 ( p_count => x_msg_count
1153 , p_data => x_msg_data
1154 );
1155
1156 END Delete_Row;
1157
1158 -- Procedure Process_Entity
1159 --
1160
1161 PROCEDURE Process_Entity
1162 ( x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1163 , x_msg_count OUT NOCOPY /* file.sql.39 change */ NUMBER
1164 , x_msg_data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1165 )
1166 IS
1167 l_control_rec QP_GLOBALS.Control_Rec_Type;
1168 l_return_status VARCHAR2(1);
1169 l_x_QUALIFIER_RULES_rec QP_Qualifier_Rules_PUB.Qualifier_Rules_Rec_Type;
1170 l_x_QUALIFIERS_rec QP_Qualifier_Rules_PUB.Qualifiers_Rec_Type;
1171 l_x_QUALIFIERS_tbl QP_Qualifier_Rules_PUB.Qualifiers_Tbl_Type;
1172 BEGIN
1173
1174 -- Set control flags.
1175
1176 l_control_rec.controlled_operation := TRUE;
1177 l_control_rec.process := TRUE;
1178 l_control_rec.process_entity := QP_GLOBALS.G_ENTITY_QUALIFIERS;
1179
1180 l_control_rec.default_attributes := FALSE;
1181 l_control_rec.change_attributes := FALSE;
1182 l_control_rec.validate_entity := FALSE;
1183 l_control_rec.write_to_DB := FALSE;
1184
1185 -- Instruct API to clear its request table
1186
1187 l_control_rec.clear_api_cache := FALSE;
1188 l_control_rec.clear_api_requests := FALSE;
1189
1190 -- Call QP_Qualifier_Rules_PVT.Process_QUALIFIER_RULES
1191
1192 QP_Qualifier_Rules_PVT.Process_QUALIFIER_RULES
1193 ( p_api_version_number => 1.0
1194 , p_init_msg_list => FND_API.G_TRUE
1195 , x_return_status => l_return_status
1196 , x_msg_count => x_msg_count
1197 , x_msg_data => x_msg_data
1198 , p_control_rec => l_control_rec
1199 , x_QUALIFIER_RULES_rec => l_x_QUALIFIER_RULES_rec
1200 , x_QUALIFIERS_tbl => l_x_QUALIFIERS_tbl
1201 );
1202
1203 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1204 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1205 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1206 RAISE FND_API.G_EXC_ERROR;
1207 END IF;
1208
1209
1210 -- Set return status.
1211
1212 x_return_status := FND_API.G_RET_STS_SUCCESS;
1213
1214 -- Get message count and data
1215
1216 OE_MSG_PUB.Count_And_Get
1217 ( p_count => x_msg_count
1221
1218 , p_data => x_msg_data
1219 );
1220
1222 EXCEPTION
1223
1224 WHEN FND_API.G_EXC_ERROR THEN
1225
1226 x_return_status := FND_API.G_RET_STS_ERROR;
1227
1228 -- Get message count and data
1229
1230 OE_MSG_PUB.Count_And_Get
1231 ( p_count => x_msg_count
1232 , p_data => x_msg_data
1233 );
1234
1235 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1236
1237 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1238
1239 -- Get message count and data
1240
1241 OE_MSG_PUB.Count_And_Get
1242 ( p_count => x_msg_count
1243 , p_data => x_msg_data
1244 );
1245
1246 WHEN OTHERS THEN
1247
1248 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1249
1250 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1251 THEN
1252 OE_MSG_PUB.Add_Exc_Msg
1253 ( G_PKG_NAME
1254 , 'Process_Entity'
1255 );
1256 END IF;
1257
1258 -- Get message count and data
1259
1260 OE_MSG_PUB.Count_And_Get
1261 ( p_count => x_msg_count
1262 , p_data => x_msg_data
1263 );
1264
1265 END Process_Entity;
1266
1267 -- Procedure lock_Row
1268 --
1269
1270 PROCEDURE Lock_Row
1271 ( x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1272 , x_msg_count OUT NOCOPY /* file.sql.39 change */ NUMBER
1273 , x_msg_data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1274 , p_attribute1 IN VARCHAR2
1275 , p_attribute10 IN VARCHAR2
1276 , p_attribute11 IN VARCHAR2
1277 , p_attribute12 IN VARCHAR2
1278 , p_attribute13 IN VARCHAR2
1279 , p_attribute14 IN VARCHAR2
1280 , p_attribute15 IN VARCHAR2
1281 , p_attribute2 IN VARCHAR2
1282 , p_attribute3 IN VARCHAR2
1283 , p_attribute4 IN VARCHAR2
1284 , p_attribute5 IN VARCHAR2
1285 , p_attribute6 IN VARCHAR2
1286 , p_attribute7 IN VARCHAR2
1287 , p_attribute8 IN VARCHAR2
1288 , p_attribute9 IN VARCHAR2
1289 , p_comparison_operator_code IN VARCHAR2
1290 , p_context IN VARCHAR2
1291 , p_created_by IN NUMBER
1292 , p_created_from_rule_id IN NUMBER
1293 , p_creation_date IN DATE
1294 , p_end_date_active IN DATE
1295 , p_excluder_flag IN VARCHAR2
1296 , p_last_updated_by IN NUMBER
1297 , p_last_update_date IN DATE
1298 , p_last_update_login IN NUMBER
1299 , p_list_header_id IN NUMBER
1300 , p_list_line_id IN NUMBER
1301 , p_program_application_id IN NUMBER
1302 , p_program_id IN NUMBER
1303 , p_program_update_date IN DATE
1304 , p_qualifier_attribute IN VARCHAR2
1305 , p_qualifier_attr_value IN VARCHAR2
1306 , p_qualifier_attr_value_to IN VARCHAR2
1307 , p_qualifier_context IN VARCHAR2
1308 , p_qualifier_datatype IN VARCHAR2
1309 --, p_qualifier_date_format IN VARCHAR2
1310 , p_qualifier_grouping_no IN NUMBER
1311 , p_qualifier_id IN NUMBER
1312 --, p_qualifier_number_format IN VARCHAR2
1313 , p_qualifier_precedence IN NUMBER
1314 , p_qualifier_rule_id IN NUMBER
1315 , p_request_id IN NUMBER
1316 , p_start_date_active IN DATE
1317 )
1318 IS
1319 l_return_status VARCHAR2(1);
1320 l_QUALIFIERS_rec QP_Qualifier_Rules_PUB.Qualifiers_Rec_Type;
1321 l_QUALIFIERS_tbl QP_Qualifier_Rules_PUB.Qualifiers_Tbl_Type;
1322 l_x_QUALIFIER_RULES_rec QP_Qualifier_Rules_PUB.Qualifier_Rules_Rec_Type;
1323 l_x_QUALIFIERS_rec QP_Qualifier_Rules_PUB.Qualifiers_Rec_Type;
1324 l_x_QUALIFIERS_tbl QP_Qualifier_Rules_PUB.Qualifiers_Tbl_Type;
1325 BEGIN
1326
1327 -- Load QUALIFIERS record
1328
1329 l_QUALIFIERS_rec.attribute1 := p_attribute1;
1330 l_QUALIFIERS_rec.attribute10 := p_attribute10;
1331 l_QUALIFIERS_rec.attribute11 := p_attribute11;
1332 l_QUALIFIERS_rec.attribute12 := p_attribute12;
1333 l_QUALIFIERS_rec.attribute13 := p_attribute13;
1334 l_QUALIFIERS_rec.attribute14 := p_attribute14;
1335 l_QUALIFIERS_rec.attribute15 := p_attribute15;
1336 l_QUALIFIERS_rec.attribute2 := p_attribute2;
1337 l_QUALIFIERS_rec.attribute3 := p_attribute3;
1338 l_QUALIFIERS_rec.attribute4 := p_attribute4;
1339 l_QUALIFIERS_rec.attribute5 := p_attribute5;
1340 l_QUALIFIERS_rec.attribute6 := p_attribute6;
1341 l_QUALIFIERS_rec.attribute7 := p_attribute7;
1342 l_QUALIFIERS_rec.attribute8 := p_attribute8;
1343 l_QUALIFIERS_rec.attribute9 := p_attribute9;
1344 l_QUALIFIERS_rec.comparison_operator_code := p_comparison_operator_code;
1345 l_QUALIFIERS_rec.context := p_context;
1349 l_QUALIFIERS_rec.end_date_active := p_end_date_active;
1346 l_QUALIFIERS_rec.created_by := p_created_by;
1347 l_QUALIFIERS_rec.created_from_rule_id := p_created_from_rule_id;
1348 l_QUALIFIERS_rec.creation_date := p_creation_date;
1350 l_QUALIFIERS_rec.excluder_flag := p_excluder_flag;
1351 l_QUALIFIERS_rec.last_updated_by := p_last_updated_by;
1352 l_QUALIFIERS_rec.last_update_date := p_last_update_date;
1353 l_QUALIFIERS_rec.last_update_login := p_last_update_login;
1354 l_QUALIFIERS_rec.list_header_id := p_list_header_id;
1355 l_QUALIFIERS_rec.list_line_id := p_list_line_id;
1356 l_QUALIFIERS_rec.program_application_id := p_program_application_id;
1357 l_QUALIFIERS_rec.program_id := p_program_id;
1358 l_QUALIFIERS_rec.program_update_date := p_program_update_date;
1359 l_QUALIFIERS_rec.qualifier_attribute := p_qualifier_attribute;
1360 l_QUALIFIERS_rec.qualifier_attr_value := p_qualifier_attr_value;
1361 l_QUALIFIERS_rec.qualifier_attr_value_to := p_qualifier_attr_value_to;
1362 l_QUALIFIERS_rec.qualifier_context := p_qualifier_context;
1363 l_QUALIFIERS_rec.qualifier_datatype := p_qualifier_datatype;
1364 --l_QUALIFIERS_rec.qualifier_date_format := p_qualifier_date_format;
1365 l_QUALIFIERS_rec.qualifier_grouping_no := p_qualifier_grouping_no;
1366 l_QUALIFIERS_rec.qualifier_id := p_qualifier_id;
1367 --l_QUALIFIERS_rec.qualifier_number_format := p_qualifier_number_format;
1368 l_QUALIFIERS_rec.qualifier_precedence := p_qualifier_precedence;
1369 l_QUALIFIERS_rec.qualifier_rule_id := p_qualifier_rule_id;
1370 l_QUALIFIERS_rec.request_id := p_request_id;
1371 l_QUALIFIERS_rec.start_date_active := p_start_date_active;
1372
1373 -- Populate QUALIFIERS table
1374
1375 l_QUALIFIERS_rec.operation := QP_GLOBALS.G_OPR_LOCK;
1376 l_QUALIFIERS_tbl(1) := l_QUALIFIERS_rec;
1377
1378 -- Call QP_Qualifier_Rules_PVT.Lock_QUALIFIER_RULES
1379
1380
1381 --l_QUALIFIERS_rec.operation := QP_GLOBALS.G_OPR_LOCK;
1382
1383 oe_debug_pub.add('calling privates lock row from QPXFQPQB.pls');
1384
1385 QP_Qualifier_Rules_PVT.Lock_QUALIFIER_RULES
1386 ( p_api_version_number => 1.0
1387 , p_init_msg_list => FND_API.G_TRUE
1388 , x_return_status => l_return_status
1389 , x_msg_count => x_msg_count
1390 , x_msg_data => x_msg_data
1391 , p_QUALIFIERS_tbl => l_QUALIFIERS_tbl
1392 , x_QUALIFIER_RULES_rec => l_x_QUALIFIER_RULES_rec
1393 , x_QUALIFIERS_tbl => l_x_QUALIFIERS_tbl
1394 );
1395
1396 IF l_return_status = FND_API.G_RET_STS_SUCCESS THEN
1397
1398 -- Set DB flag and write record to cache.
1399
1400 l_x_QUALIFIERS_rec.db_flag := FND_API.G_TRUE;
1401
1402 Write_QUALIFIERS
1403 ( p_QUALIFIERS_rec => l_x_QUALIFIERS_rec
1404 , p_db_record => TRUE
1405 );
1406
1407 END IF;
1408
1409 -- Set return status.
1410
1411 x_return_status := l_return_status;
1412
1413 -- Get message count and data
1414
1415 OE_MSG_PUB.Count_And_Get
1416 ( p_count => x_msg_count
1417 , p_data => x_msg_data
1418 );
1419
1420
1421 EXCEPTION
1422
1423 WHEN OTHERS THEN
1424
1425 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1426 THEN
1427 OE_MSG_PUB.Add_Exc_Msg
1428 ( G_PKG_NAME
1429 , 'Lock_Row'
1430 );
1431 END IF;
1432
1433 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1434
1435 -- Get message count and data
1436
1437 OE_MSG_PUB.Count_And_Get
1438 ( p_count => x_msg_count
1439 , p_data => x_msg_data
1440 );
1441
1442
1443
1444 END Lock_Row;
1445
1446 -- Procedures maintaining QUALIFIERS record cache.
1447
1448 PROCEDURE Write_QUALIFIERS
1449 ( p_QUALIFIERS_rec IN QP_Qualifier_Rules_PUB.Qualifiers_Rec_Type
1450 , p_db_record IN BOOLEAN := FALSE
1451 )
1452 IS
1453 BEGIN
1454
1455 g_QUALIFIERS_rec := p_QUALIFIERS_rec;
1456
1457 IF p_db_record THEN
1458
1459 g_db_QUALIFIERS_rec := p_QUALIFIERS_rec;
1460
1461 END IF;
1462
1463 END Write_Qualifiers;
1464
1465 FUNCTION Get_QUALIFIERS
1466 ( p_db_record IN BOOLEAN := FALSE
1467 , p_qualifier_id IN NUMBER
1468 )
1469 RETURN QP_Qualifier_Rules_PUB.Qualifiers_Rec_Type
1470 IS
1471 BEGIN
1472
1473 OE_DEBUG_PUB.ADD('in Get qualifiers');
1474
1475 IF p_qualifier_id <> g_QUALIFIERS_rec.qualifier_id
1476 THEN
1477
1478 -- Query row from DB
1479
1480 g_QUALIFIERS_rec := QP_Qualifiers_Util.Query_Row
1481 ( p_qualifier_id => p_qualifier_id
1482 );
1483
1484 g_QUALIFIERS_rec.db_flag := FND_API.G_TRUE;
1485
1486 -- Load DB record
1487
1488 g_db_QUALIFIERS_rec := g_QUALIFIERS_rec;
1489
1490 END IF;
1491
1492 IF p_db_record THEN
1493
1494 RETURN g_db_QUALIFIERS_rec;
1495 OE_DEBUG_PUB.ADD('leaving Get qualifiers');
1496
1497 ELSE
1498
1499 RETURN g_QUALIFIERS_rec;
1500 OE_DEBUG_PUB.ADD('leaving Get qualifiers');
1501
1502 END IF;
1503
1504
1505
1506
1507 END Get_Qualifiers;
1508
1509 PROCEDURE Clear_Qualifiers
1510 IS
1511 BEGIN
1512
1513 g_QUALIFIERS_rec := QP_Qualifier_Rules_PUB.G_MISS_QUALIFIERS_REC;
1514 g_db_QUALIFIERS_rec := QP_Qualifier_Rules_PUB.G_MISS_QUALIFIERS_REC;
1515
1516 END Clear_Qualifiers;
1517
1518
1519
1520 -- This procedure will be called from the client when the user
1521 -- clears a record
1522 Procedure Clear_Record
1523 ( x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1524 , x_msg_count OUT NOCOPY /* file.sql.39 change */ NUMBER
1525 , x_msg_data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1526 , p_qualifier_id IN NUMBER
1527 )
1528 IS
1529 l_return_status Varchar2(30);
1530 BEGIN
1531 OE_MSG_PUB.initialize;
1532 x_return_status := FND_API.G_RET_STS_SUCCESS;
1533 QP_DELAYED_REQUESTS_PVT.Delete_Reqs_for_Deleted_Entity(
1534 p_entity_code => QP_GLOBALS.G_ENTITY_QUALIFIERS
1535 ,p_entity_id => p_qualifier_id
1536 ,x_return_status => l_return_status);
1537
1538 OE_MSG_PUB.Count_And_Get
1539 ( p_count => x_msg_count
1540 , p_data => x_msg_data
1541 );
1542
1543 -- Clear the controller cache
1544 Clear_qualifiers;
1545
1546 EXCEPTION
1547 WHEN OTHERS THEN
1548 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1549 THEN
1550 OE_MSG_PUB.Add_Exc_Msg
1551 ( G_PKG_NAME
1552 , 'Clear_Record'
1553 );
1554 END IF;
1555 -- Get message count and data
1556 OE_MSG_PUB.Count_And_Get
1557 ( p_count => x_msg_count
1558 , p_data => x_msg_data
1559 );
1560 x_return_status := FND_API.G_RET_STS_ERROR;
1561
1562 END Clear_Record;
1563
1564
1565 -- This procedure will be called from the client when the user
1566 -- clears a block or Form
1567 Procedure Delete_All_Requests
1568 ( x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1569 , x_msg_count OUT NOCOPY /* file.sql.39 change */ NUMBER
1570 , x_msg_data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1571 )
1572 IS
1573 l_return_status Varchar2(30);
1574 BEGIN
1575 OE_MSG_PUB.initialize;
1576 x_return_status := FND_API.G_RET_STS_SUCCESS;
1577 QP_DELAYED_REQUESTS_PVT.Clear_Request(
1578 x_return_status => l_return_status);
1579
1580 EXCEPTION
1581 WHEN OTHERS THEN
1582 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1583 THEN
1584 OE_MSG_PUB.Add_Exc_Msg
1585 ( G_PKG_NAME
1586 , 'Delete_All_Requests'
1587 );
1588 END IF;
1589 -- Get message count and data
1590 OE_MSG_PUB.Count_And_Get
1591 ( p_count => x_msg_count
1592 , p_data => x_msg_data
1593 );
1594 x_return_status := FND_API.G_RET_STS_ERROR;
1595
1596 END Delete_All_Requests;
1597
1598
1599
1600 END QP_QP_Form_Qualifiers;