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