[Home] [Help]
PACKAGE BODY: APPS.QP_QP_PRL_FORM_QUALIFIERS
Source
1 PACKAGE BODY QP_QP_PRL_Form_Qualifiers AS
2 /* $Header: QPXFPLQB.pls 120.2 2005/08/31 18:06:39 srashmi noship $ */
3
4 -- Global constant holding the package name
5
6 G_PKG_NAME CONSTANT VARCHAR2(30) := 'QP_QP_PRL_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 := FND_API.G_MISS_NUM
37 , p_list_header_id IN NUMBER := FND_API.G_MISS_NUM
38 , p_qualifier_context IN VARCHAR2 := FND_API.G_MISS_CHAR
39 , p_qualifier_attribute IN VARCHAR2 := FND_API.G_MISS_CHAR
40 , p_qualifier_attr_value IN VARCHAR2 := FND_API.G_MISS_CHAR
41 , x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
42 , x_msg_count OUT NOCOPY /* file.sql.39 change */ NUMBER
43 , x_msg_data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
44 , x_attribute1 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
45 , x_attribute10 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
46 , x_attribute11 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
47 , x_attribute12 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
48 , x_attribute13 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
49 , x_attribute14 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
50 , x_attribute15 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
51 , x_attribute2 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
52 , x_attribute3 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
53 , x_attribute4 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
54 , x_attribute5 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
55 , x_attribute6 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
56 , x_attribute7 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
57 , x_attribute8 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
58 , x_attribute9 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
59 , x_comparison_operator_code OUT NOCOPY /* file.sql.39 change */ VARCHAR2
60 , x_context OUT NOCOPY /* file.sql.39 change */ VARCHAR2
61 , x_created_from_rule_id OUT NOCOPY /* file.sql.39 change */ NUMBER
62 , x_end_date_active OUT NOCOPY /* file.sql.39 change */ DATE
63 , x_excluder_flag OUT NOCOPY /* file.sql.39 change */ VARCHAR2
64 , x_list_header_id OUT NOCOPY /* file.sql.39 change */ NUMBER
65 , x_list_line_id OUT NOCOPY /* file.sql.39 change */ NUMBER
66 , x_qualifier_attribute OUT NOCOPY /* file.sql.39 change */ VARCHAR2
67 , x_qualifier_attr_value OUT NOCOPY /* file.sql.39 change */ VARCHAR2
68 , x_qualifier_attr_value_to OUT NOCOPY /* file.sql.39 change */ VARCHAR2
69 , x_qualifier_context OUT NOCOPY /* file.sql.39 change */ VARCHAR2
70 , x_qualifier_datatype OUT NOCOPY /* file.sql.39 change */ VARCHAR2
71 --, x_qualifier_date_format OUT NOCOPY /* file.sql.39 change */ VARCHAR2
72 , x_qualifier_grouping_no OUT NOCOPY /* file.sql.39 change */ NUMBER
73 , x_qualifier_id OUT NOCOPY /* file.sql.39 change */ NUMBER
74 --, x_qualifier_number_format OUT NOCOPY /* file.sql.39 change */ VARCHAR2
75 , x_qualifier_precedence OUT NOCOPY /* file.sql.39 change */ NUMBER
76 , x_qualifier_rule_id OUT NOCOPY /* file.sql.39 change */ NUMBER
77 , x_start_date_active OUT NOCOPY /* file.sql.39 change */ DATE
78 --, x_comparison_operator OUT NOCOPY /* file.sql.39 change */ VARCHAR2
79 , x_created_from_rule OUT NOCOPY /* file.sql.39 change */ VARCHAR2
80 --, x_excluder OUT NOCOPY /* file.sql.39 change */ VARCHAR2
81 , x_list_header OUT NOCOPY /* file.sql.39 change */ VARCHAR2
82 , x_list_line OUT NOCOPY /* file.sql.39 change */ VARCHAR2
83 --, x_qualifier OUT NOCOPY /* file.sql.39 change */ VARCHAR2
84 , x_qualifier_rule OUT NOCOPY /* file.sql.39 change */ VARCHAR2
85 , x_qualify_hier_descendent_flag OUT NOCOPY VARCHAR2 -- Added for TCA
86 )
87 IS
88 l_QUALIFIERS_rec QP_Qualifier_Rules_PUB.Qualifiers_Rec_Type;
89 l_QUALIFIERS_val_rec QP_Qualifier_Rules_PUB.Qualifiers_Val_Rec_Type;
90 l_QUALIFIERS_tbl QP_Qualifier_Rules_PUB.Qualifiers_Tbl_Type;
91 l_control_rec QP_GLOBALS.Control_Rec_Type;
92 l_return_status VARCHAR2(1);
93 l_x_PRICE_LIST_rec QP_Price_List_PUB.Price_List_Rec_Type;
94 l_x_PRICE_LIST_LINE_rec QP_Price_List_PUB.Price_List_Line_Rec_Type;
95 l_x_PRICE_LIST_LINE_tbl QP_Price_List_PUB.Price_List_Line_Tbl_Type;
96 l_x_QUALIFIERS_rec Qp_Qualifier_Rules_Pub.Qualifiers_Rec_Type;
97 l_x_QUALIFIERS_tbl Qp_Qualifier_Rules_Pub.Qualifiers_Tbl_Type;
98 l_x_PRICING_ATTR_rec QP_Price_List_PUB.Pricing_Attr_Rec_Type;
99 l_x_PRICING_ATTR_tbl QP_Price_List_PUB.Pricing_Attr_Tbl_Type;
100 l_x_QUALIFIER_RULES_rec QP_Qualifier_Rules_PUB.Qualifier_Rules_Rec_Type;
101 l_qualifier_group_no number := -1;
102 BEGIN
103
104 -- Set control flags.
105
106 oe_debug_pub.add('Ren: inside default attr of qualifiers 1');
107
108 l_control_rec.controlled_operation := TRUE;
109 l_control_rec.default_attributes := TRUE;
110
111 l_control_rec.change_attributes := FALSE;
112 l_control_rec.validate_entity := FALSE;
113 l_control_rec.write_to_DB := FALSE;
114 l_control_rec.process := FALSE;
115
116 -- Instruct API to retain its caches
117
118 l_control_rec.clear_api_cache := FALSE;
119 l_control_rec.clear_api_requests := FALSE;
120
121 -- Load IN parameters if any exist
122
123
124 l_QUALIFIERS_rec.list_header_id := p_list_header_id;
125 l_QUALIFIERS_rec.qualifier_rule_id := p_qualifier_rule_id;
126 l_QUALIFIERS_rec.qualifier_context := p_qualifier_context;
127 l_QUALIFIERS_rec.qualifier_attribute := p_qualifier_attribute;
128 l_QUALIFIERS_rec.qualifier_attr_value := p_qualifier_attr_value;
129 l_QUALIFIERS_rec.qualifier_grouping_no := l_qualifier_group_no;
130
131 -- Defaulting of flex values is currently done by the form.
132 -- Set flex attributes to NULL in order to avoid defaulting them.
133
134 l_QUALIFIERS_rec.attribute1 := NULL;
135 l_QUALIFIERS_rec.attribute10 := NULL;
136 l_QUALIFIERS_rec.attribute11 := NULL;
137 l_QUALIFIERS_rec.attribute12 := NULL;
138 l_QUALIFIERS_rec.attribute13 := NULL;
139 l_QUALIFIERS_rec.attribute14 := NULL;
140 l_QUALIFIERS_rec.attribute15 := NULL;
141 l_QUALIFIERS_rec.attribute2 := NULL;
142 l_QUALIFIERS_rec.attribute3 := NULL;
143 l_QUALIFIERS_rec.attribute4 := NULL;
144 l_QUALIFIERS_rec.attribute5 := NULL;
145 l_QUALIFIERS_rec.attribute6 := NULL;
146 l_QUALIFIERS_rec.attribute7 := NULL;
147 l_QUALIFIERS_rec.attribute8 := NULL;
148 l_QUALIFIERS_rec.attribute9 := NULL;
149 l_QUALIFIERS_rec.context := NULL;
150
151 -- Set Operation to Create
152
153 l_QUALIFIERS_rec.operation := QP_GLOBALS.G_OPR_CREATE;
154
155 -- Populate QUALIFIERS table
156
157 l_QUALIFIERS_tbl(1) := l_QUALIFIERS_rec;
158
159 -- Call QP_Qualifier_Rules_PVT.Process_QUALIFIER_RULES
160
161 QP_LIST_HEADERS_PVT.Process_PRICE_LIST
162 ( p_api_version_number => 1.0
163 , p_init_msg_list => FND_API.G_TRUE
164 , x_return_status => l_return_status
165 , x_msg_count => x_msg_count
166 , x_msg_data => x_msg_data
167 , p_control_rec => l_control_rec
168 , p_QUALIFIERS_tbl => l_QUALIFIERS_tbl
169 , x_PRICE_LIST_rec => l_x_PRICE_LIST_rec
170 , x_PRICE_LIST_LINE_tbl => l_x_PRICE_LIST_LINE_tbl
171 , x_QUALIFIERS_tbl => l_x_QUALIFIERS_tbl
172 , x_PRICING_ATTR_tbl => l_x_PRICING_ATTR_tbl
173 );
174
175 /*
176 QP_Qualifier_Rules_PVT.Process_QUALIFIER_RULES
177 ( p_api_version_number => 1.0
178 , p_init_msg_list => FND_API.G_TRUE
179 , x_return_status => l_return_status
180 , x_msg_count => x_msg_count
181 , x_msg_data => x_msg_data
182 , p_control_rec => l_control_rec
183 , p_QUALIFIERS_tbl => l_QUALIFIERS_tbl
184 , x_QUALIFIER_RULES_rec => l_x_QUALIFIER_RULES_rec
185 , x_QUALIFIERS_tbl => l_x_QUALIFIERS_tbl
186 );
187
188 */
189
190
191 oe_debug_pub.add('Ren: after process qualifier rules');
192
193 oe_debug_pub.add('return status is : ' || l_return_status);
194
195 oe_debug_pub.add('ren : msg data is : ' || x_msg_data);
196
197 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
198 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
199 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
200 RAISE FND_API.G_EXC_ERROR;
201 END IF;
202
203
204 -- Unload out tbl
205
206 l_x_QUALIFIERS_rec := l_x_QUALIFIERS_tbl(1);
207
208 -- Load OUT parameters.
209
210 x_attribute1 := l_x_QUALIFIERS_rec.attribute1;
211 x_attribute10 := l_x_QUALIFIERS_rec.attribute10;
212 x_attribute11 := l_x_QUALIFIERS_rec.attribute11;
213 x_attribute12 := l_x_QUALIFIERS_rec.attribute12;
214 x_attribute13 := l_x_QUALIFIERS_rec.attribute13;
215 x_attribute14 := l_x_QUALIFIERS_rec.attribute14;
216 x_attribute15 := l_x_QUALIFIERS_rec.attribute15;
217 x_attribute2 := l_x_QUALIFIERS_rec.attribute2;
218 x_attribute3 := l_x_QUALIFIERS_rec.attribute3;
219 x_attribute4 := l_x_QUALIFIERS_rec.attribute4;
220 x_attribute5 := l_x_QUALIFIERS_rec.attribute5;
221 x_attribute6 := l_x_QUALIFIERS_rec.attribute6;
222 x_attribute7 := l_x_QUALIFIERS_rec.attribute7;
223 x_attribute8 := l_x_QUALIFIERS_rec.attribute8;
224 x_attribute9 := l_x_QUALIFIERS_rec.attribute9;
225 x_comparison_operator_code := l_x_QUALIFIERS_rec.comparison_operator_code;
226 x_context := l_x_QUALIFIERS_rec.context;
227 x_created_from_rule_id := l_x_QUALIFIERS_rec.created_from_rule_id;
228 x_end_date_active := l_x_QUALIFIERS_rec.end_date_active;
229 x_excluder_flag := l_x_QUALIFIERS_rec.excluder_flag;
230 x_list_header_id := l_x_QUALIFIERS_rec.list_header_id;
231 x_list_line_id := l_x_QUALIFIERS_rec.list_line_id;
232 x_qualifier_attribute := l_x_QUALIFIERS_rec.qualifier_attribute;
233 x_qualifier_attr_value := l_x_QUALIFIERS_rec.qualifier_attr_value;
234 x_qualifier_attr_value_to := l_x_QUALIFIERS_rec.qualifier_attr_value_to;
235 x_qualifier_context := l_x_QUALIFIERS_rec.qualifier_context;
236 x_qualifier_datatype := l_x_QUALIFIERS_rec.qualifier_datatype;
237 --x_qualifier_date_format := l_x_QUALIFIERS_rec.qualifier_date_format;
238 x_qualifier_grouping_no := l_x_QUALIFIERS_rec.qualifier_grouping_no;
239 x_qualifier_id := l_x_QUALIFIERS_rec.qualifier_id;
240 --x_qualifier_number_format := l_x_QUALIFIERS_rec.qualifier_number_format;
241 x_qualifier_precedence := l_x_QUALIFIERS_rec.qualifier_precedence;
242 x_qualifier_rule_id := l_x_QUALIFIERS_rec.qualifier_rule_id;
243 x_start_date_active := l_x_QUALIFIERS_rec.start_date_active;
244 x_qualify_hier_descendent_flag := l_x_QUALIFIERS_rec.qualify_hier_descendent_flag ; -- Added for TCA
245
246 -- Load display out parameters if any
247
248 oe_debug_pub.add('Ren: before get_values');
249 oe_debug_pub.add('ren : msg data 0.5 is : ' || x_msg_data);
250
251 l_QUALIFIERS_val_rec := QP_Qualifiers_Util.Get_Values
252 ( p_QUALIFIERS_rec => l_x_QUALIFIERS_rec
253 );
254 --x_comparison_operator := l_QUALIFIERS_val_rec.comparison_operator;
255 x_created_from_rule := l_QUALIFIERS_val_rec.created_from_rule;
256 --x_excluder := l_QUALIFIERS_val_rec.excluder;
257 x_list_header := l_QUALIFIERS_val_rec.list_header;
258 x_list_line := l_QUALIFIERS_val_rec.list_line;
259 -- x_qualifier := l_QUALIFIERS_val_rec.qualifier;
260 x_qualifier_rule := l_QUALIFIERS_val_rec.qualifier_rule;
261
262 oe_debug_pub.add('Ren: after get_values ');
263
264 -- Write to cache.
265 -- Set db_flag to False before writing to cache
266
267 l_x_QUALIFIERS_rec.db_flag := FND_API.G_FALSE;
268
269 oe_debug_pub.add('Ren: before write qualifiers');
270 oe_debug_pub.add('Ren: msg data 1 is :' || x_msg_data);
271
272 Write_QUALIFIERS
273 ( p_QUALIFIERS_rec => l_x_QUALIFIERS_rec
274 );
275 oe_debug_pub.add('Ren: msg data 2 is :' || x_msg_data);
276
277 -- Set return status.
278
279 x_return_status := FND_API.G_RET_STS_SUCCESS;
280
281 oe_debug_pub.add('Ren: msg data 2.5 is :' || x_msg_data);
282
283 -- Get message count and data
284
285 oe_msg_pub.Count_And_Get
286 ( p_count => x_msg_count
287 , p_data => x_msg_data
288 );
289
290 oe_debug_pub.add('Ren: msg data 3 is :' || x_msg_data);
291
292 EXCEPTION
293
294 WHEN FND_API.G_EXC_ERROR THEN
295
296 x_return_status := FND_API.G_RET_STS_ERROR;
297
298 -- Get message count and data
299
300 oe_msg_pub.Count_And_Get
301 ( p_count => x_msg_count
302 , p_data => x_msg_data
303 );
304
305 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
306
307 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
308
309 -- Get message count and data
310
311 oe_msg_pub.Count_And_Get
312 ( p_count => x_msg_count
313 , p_data => x_msg_data
314 );
315
316 WHEN OTHERS THEN
317
318 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
319
320 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_UNEXP_ERROR)
321 THEN
322 oe_msg_pub.Add_Exc_Msg
323 ( G_PKG_NAME
324 , 'Default_Attributes'
325 );
326 END IF;
327
328 -- Get message count and data
329
330 oe_msg_pub.Count_And_Get
331 ( p_count => x_msg_count
332 , p_data => x_msg_data
333 );
334
335 END Default_Attributes;
336
337 -- Procedure : Change_Attribute
338 --
339
340 PROCEDURE Change_Attribute
341 ( x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
342 , x_msg_count OUT NOCOPY /* file.sql.39 change */ NUMBER
343 , x_msg_data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
344 , p_qualifier_id IN NUMBER
345 , p_attr_id IN NUMBER
346 , p_attr_value IN VARCHAR2
347 , p_attribute1 IN VARCHAR2
348 , p_attribute10 IN VARCHAR2
349 , p_attribute11 IN VARCHAR2
350 , p_attribute12 IN VARCHAR2
351 , p_attribute13 IN VARCHAR2
352 , p_attribute14 IN VARCHAR2
353 , p_attribute15 IN VARCHAR2
354 , p_attribute2 IN VARCHAR2
355 , p_attribute3 IN VARCHAR2
356 , p_attribute4 IN VARCHAR2
357 , p_attribute5 IN VARCHAR2
358 , p_attribute6 IN VARCHAR2
359 , p_attribute7 IN VARCHAR2
360 , p_attribute8 IN VARCHAR2
361 , p_attribute9 IN VARCHAR2
362 , p_context IN VARCHAR2
363 , x_attribute1 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
364 , x_attribute10 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
365 , x_attribute11 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
366 , x_attribute12 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
367 , x_attribute13 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
368 , x_attribute14 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
369 , x_attribute15 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
370 , x_attribute2 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
371 , x_attribute3 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
372 , x_attribute4 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
373 , x_attribute5 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
374 , x_attribute6 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
375 , x_attribute7 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
376 , x_attribute8 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
377 , x_attribute9 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
378 , x_comparison_operator_code OUT NOCOPY /* file.sql.39 change */ VARCHAR2
379 , x_context OUT NOCOPY /* file.sql.39 change */ VARCHAR2
380 , x_created_from_rule_id OUT NOCOPY /* file.sql.39 change */ NUMBER
381 , x_end_date_active OUT NOCOPY /* file.sql.39 change */ DATE
382 , x_excluder_flag OUT NOCOPY /* file.sql.39 change */ VARCHAR2
383 , x_list_header_id OUT NOCOPY /* file.sql.39 change */ NUMBER
384 , x_list_line_id OUT NOCOPY /* file.sql.39 change */ NUMBER
385 , x_qualifier_attribute OUT NOCOPY /* file.sql.39 change */ VARCHAR2
386 , x_qualifier_attr_value OUT NOCOPY /* file.sql.39 change */ VARCHAR2
387 , x_qualifier_attr_value_to OUT NOCOPY /* file.sql.39 change */ VARCHAR2
388 , x_qualifier_context OUT NOCOPY /* file.sql.39 change */ VARCHAR2
389 , x_qualifier_datatype OUT NOCOPY /* file.sql.39 change */ VARCHAR2
390 --, x_qualifier_date_format OUT NOCOPY /* file.sql.39 change */ VARCHAR2
391 , x_qualifier_grouping_no OUT NOCOPY /* file.sql.39 change */ NUMBER
392 , x_qualifier_id OUT NOCOPY /* file.sql.39 change */ NUMBER
393 --, x_qualifier_number_format OUT NOCOPY /* file.sql.39 change */ VARCHAR2
394 , x_qualifier_precedence OUT NOCOPY /* file.sql.39 change */ NUMBER
395 , x_qualifier_rule_id OUT NOCOPY /* file.sql.39 change */ NUMBER
396 , x_start_date_active OUT NOCOPY /* file.sql.39 change */ DATE
397 --, x_comparison_operator OUT NOCOPY /* file.sql.39 change */ VARCHAR2
398 , x_created_from_rule OUT NOCOPY /* file.sql.39 change */ VARCHAR2
399 --, x_excluder OUT NOCOPY /* file.sql.39 change */ VARCHAR2
400 , x_list_header OUT NOCOPY /* file.sql.39 change */ VARCHAR2
401 , x_list_line OUT NOCOPY /* file.sql.39 change */ VARCHAR2
402 --, x_qualifier OUT NOCOPY /* file.sql.39 change */ VARCHAR2
403 , x_qualifier_rule OUT NOCOPY /* file.sql.39 change */ VARCHAR2
404 , x_qualify_hier_descendent_flag OUT NOCOPY VARCHAR2 -- Added for TCA
405 )
406 IS
407 l_QUALIFIERS_rec QP_Qualifier_Rules_PUB.Qualifiers_Rec_Type;
408 l_old_QUALIFIERS_rec QP_Qualifier_Rules_PUB.Qualifiers_Rec_Type;
409 l_QUALIFIERS_val_rec QP_Qualifier_Rules_PUB.Qualifiers_Val_Rec_Type;
410 l_QUALIFIERS_tbl QP_Qualifier_Rules_PUB.Qualifiers_Tbl_Type;
411 l_old_QUALIFIERS_tbl QP_Qualifier_Rules_PUB.Qualifiers_Tbl_Type;
412 l_control_rec QP_GLOBALS.Control_Rec_Type;
413 l_return_status VARCHAR2(1);
414 l_x_QUALIFIER_RULES_rec QP_Qualifier_Rules_PUB.Qualifier_Rules_Rec_Type;
415 l_x_QUALIFIERS_rec QP_Qualifier_Rules_PUB.Qualifiers_Rec_Type;
416 l_x_QUALIFIERS_tbl QP_Qualifier_Rules_PUB.Qualifiers_Tbl_Type;
417 l_x_PRICE_LIST_rec QP_Price_List_PUB.Price_List_Rec_Type;
418 l_x_PRICE_LIST_LINE_rec QP_Price_List_PUB.Price_List_Line_Rec_Type;
419 l_x_PRICE_LIST_LINE_tbl QP_Price_List_PUB.Price_List_Line_Tbl_Type;
420 l_x_PRICING_ATTR_rec QP_Price_List_PUB.Pricing_Attr_Rec_Type;
421 l_x_PRICING_ATTR_tbl QP_Price_List_PUB.Pricing_Attr_Tbl_Type;
422 BEGIN
423
424 -- Set control flags.
425
426 l_control_rec.controlled_operation := TRUE;
427 l_control_rec.change_attributes := TRUE;
428
429 l_control_rec.default_attributes := FALSE;
430 l_control_rec.validate_entity := FALSE;
431 l_control_rec.write_to_DB := FALSE;
432 l_control_rec.process := FALSE;
433
434 -- Instruct API to retain its caches
435
436 l_control_rec.clear_api_cache := FALSE;
437 l_control_rec.clear_api_requests := FALSE;
438
439 -- Read QUALIFIERS from cache
440
441 l_QUALIFIERS_rec := Get_QUALIFIERS
442 ( p_db_record => FALSE
443 , p_qualifier_id => p_qualifier_id
444 );
445
446 l_old_QUALIFIERS_rec := l_QUALIFIERS_rec;
447
448 IF p_attr_id = QP_Qualifiers_Util.G_COMPARISON_OPERATOR THEN
449 l_QUALIFIERS_rec.comparison_operator_code := p_attr_value;
450 ELSIF p_attr_id = QP_Qualifiers_Util.G_CREATED_FROM_RULE THEN
451 l_QUALIFIERS_rec.created_from_rule_id := TO_NUMBER(p_attr_value);
452 ELSIF p_attr_id = QP_Qualifiers_Util.G_END_DATE_ACTIVE THEN
453 l_QUALIFIERS_rec.end_date_active := TO_DATE(p_attr_value,'DD/MM/YYYY');
454 ELSIF p_attr_id = QP_Qualifiers_Util.G_EXCLUDER THEN
455 l_QUALIFIERS_rec.excluder_flag := p_attr_value;
456 ELSIF p_attr_id = QP_Qualifiers_Util.G_LIST_HEADER THEN
457 l_QUALIFIERS_rec.list_header_id := TO_NUMBER(p_attr_value);
458 ELSIF p_attr_id = QP_Qualifiers_Util.G_LIST_LINE THEN
459 l_QUALIFIERS_rec.list_line_id := TO_NUMBER(p_attr_value);
460 ELSIF p_attr_id = QP_Qualifiers_Util.G_QUALIFIER_ATTRIBUTE THEN
461 l_QUALIFIERS_rec.qualifier_attribute := p_attr_value;
462 ELSIF p_attr_id = QP_Qualifiers_Util.G_QUALIFIER_ATTR_VALUE THEN
463 l_QUALIFIERS_rec.qualifier_attr_value := p_attr_value;
464 ELSIF p_attr_id = QP_Qualifiers_Util.G_QUALIFIER_ATTR_VALUE_TO THEN
465 l_QUALIFIERS_rec.qualifier_attr_value_to := p_attr_value;
466 ELSIF p_attr_id = QP_Qualifiers_Util.G_QUALIFIER_CONTEXT THEN
467 l_QUALIFIERS_rec.qualifier_context := p_attr_value;
468 ELSIF p_attr_id = QP_Qualifiers_Util.G_QUALIFIER_DATATYPE THEN
469 l_QUALIFIERS_rec.qualifier_datatype := p_attr_value;
470 --ELSIF p_attr_id = QP_Qualifiers_Util.G_QUALIFIER_DATE_FORMAT THEN
471 -- l_QUALIFIERS_rec.qualifier_date_format := p_attr_value;
472 ELSIF p_attr_id = QP_Qualifiers_Util.G_QUALIFIER_GROUPING_NO THEN
473 l_QUALIFIERS_rec.qualifier_grouping_no := TO_NUMBER(p_attr_value);
474 ELSIF p_attr_id = QP_Qualifiers_Util.G_QUALIFIER THEN
475 l_QUALIFIERS_rec.qualifier_id := TO_NUMBER(p_attr_value);
476 --ELSIF p_attr_id = QP_Qualifiers_Util.G_QUALIFIER_NUMBER_FORMAT THEN
477 -- l_QUALIFIERS_rec.qualifier_number_format := p_attr_value;
478 ELSIF p_attr_id = QP_Qualifiers_Util.G_QUALIFIER_PRECEDENCE THEN
479 l_QUALIFIERS_rec.qualifier_precedence := TO_NUMBER(p_attr_value);
480 ELSIF p_attr_id = QP_Qualifiers_Util.G_QUALIFIER_RULE THEN
481 l_QUALIFIERS_rec.qualifier_rule_id := TO_NUMBER(p_attr_value);
482 ELSIF p_attr_id = QP_Qualifiers_Util.G_START_DATE_ACTIVE THEN
483 l_QUALIFIERS_rec.start_date_active := TO_DATE(p_attr_value,'DD/MM/YYYY');
484 -- Added for TCA
485 ELSIF p_attr_id = QP_Qualifiers_Util.G_QUALIFY_HIER_DESCENDENT_FLAG THEN
486 l_QUALIFIERS_rec.qualify_hier_descendent_flag := p_attr_value;
487 ELSIF p_attr_id = QP_Qualifiers_Util.G_ATTRIBUTE1
488 OR p_attr_id = QP_Qualifiers_Util.G_ATTRIBUTE10
489 OR p_attr_id = QP_Qualifiers_Util.G_ATTRIBUTE11
490 OR p_attr_id = QP_Qualifiers_Util.G_ATTRIBUTE12
491 OR p_attr_id = QP_Qualifiers_Util.G_ATTRIBUTE13
492 OR p_attr_id = QP_Qualifiers_Util.G_ATTRIBUTE14
493 OR p_attr_id = QP_Qualifiers_Util.G_ATTRIBUTE15
494 OR p_attr_id = QP_Qualifiers_Util.G_ATTRIBUTE2
495 OR p_attr_id = QP_Qualifiers_Util.G_ATTRIBUTE3
496 OR p_attr_id = QP_Qualifiers_Util.G_ATTRIBUTE4
497 OR p_attr_id = QP_Qualifiers_Util.G_ATTRIBUTE5
498 OR p_attr_id = QP_Qualifiers_Util.G_ATTRIBUTE6
499 OR p_attr_id = QP_Qualifiers_Util.G_ATTRIBUTE7
500 OR p_attr_id = QP_Qualifiers_Util.G_ATTRIBUTE8
501 OR p_attr_id = QP_Qualifiers_Util.G_ATTRIBUTE9
502 OR p_attr_id = QP_Qualifiers_Util.G_CONTEXT
503 THEN
504
505 l_QUALIFIERS_rec.attribute1 := p_attribute1;
506 l_QUALIFIERS_rec.attribute10 := p_attribute10;
507 l_QUALIFIERS_rec.attribute11 := p_attribute11;
508 l_QUALIFIERS_rec.attribute12 := p_attribute12;
509 l_QUALIFIERS_rec.attribute13 := p_attribute13;
510 l_QUALIFIERS_rec.attribute14 := p_attribute14;
511 l_QUALIFIERS_rec.attribute15 := p_attribute15;
512 l_QUALIFIERS_rec.attribute2 := p_attribute2;
513 l_QUALIFIERS_rec.attribute3 := p_attribute3;
514 l_QUALIFIERS_rec.attribute4 := p_attribute4;
515 l_QUALIFIERS_rec.attribute5 := p_attribute5;
516 l_QUALIFIERS_rec.attribute6 := p_attribute6;
517 l_QUALIFIERS_rec.attribute7 := p_attribute7;
518 l_QUALIFIERS_rec.attribute8 := p_attribute8;
519 l_QUALIFIERS_rec.attribute9 := p_attribute9;
520 l_QUALIFIERS_rec.context := p_context;
521
522 ELSE
523
524 -- Unexpected error, unrecognized attribute
525
526 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_UNEXP_ERROR)
527 THEN
528 oe_msg_pub.Add_Exc_Msg
529 ( G_PKG_NAME
530 , 'Change_Attribute'
531 , 'Unrecognized attribute'
532 );
533 END IF;
534
535 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
536
537 END IF;
538
539 -- Set Operation.
540
541 IF FND_API.To_Boolean(l_QUALIFIERS_rec.db_flag) THEN
542 l_QUALIFIERS_rec.operation := QP_GLOBALS.G_OPR_UPDATE;
543 ELSE
544 l_QUALIFIERS_rec.operation := QP_GLOBALS.G_OPR_CREATE;
545 END IF;
546
547 -- Populate QUALIFIERS table
548
549 l_QUALIFIERS_tbl(1) := l_QUALIFIERS_rec;
550 l_old_QUALIFIERS_tbl(1) := l_old_QUALIFIERS_rec;
551
552 -- Call QP_Qualifier_Rules_PVT.Process_QUALIFIER_RULES
553
554 QP_LIST_HEADERS_PVT.Process_PRICE_LIST
555 ( p_api_version_number => 1.0
556 , p_init_msg_list => FND_API.G_TRUE
557 , p_validation_level => FND_API.G_VALID_LEVEL_NONE
558 , x_return_status => l_return_status
559 , x_msg_count => x_msg_count
560 , x_msg_data => x_msg_data
561 , p_control_rec => l_control_rec
562 , p_QUALIFIERS_tbl => l_QUALIFIERS_tbl
563 , p_old_QUALIFIERS_tbl => l_old_QUALIFIERS_tbl
564 , x_PRICE_LIST_rec => l_x_PRICE_LIST_rec
565 , x_PRICE_LIST_LINE_tbl => l_x_PRICE_LIST_LINE_tbl
566 , x_QUALIFIERS_tbl => l_x_QUALIFIERS_tbl
567 , x_PRICING_ATTR_tbl => l_x_PRICING_ATTR_tbl
568 );
569
570 /*
571 QP_Qualifier_Rules_PVT.Process_QUALIFIER_RULES
572 ( p_api_version_number => 1.0
573 , p_init_msg_list => FND_API.G_TRUE
574 , p_validation_level => FND_API.G_VALID_LEVEL_NONE
575 , x_return_status => l_return_status
576 , x_msg_count => x_msg_count
577 , x_msg_data => x_msg_data
578 , p_control_rec => l_control_rec
579 , p_QUALIFIERS_tbl => l_QUALIFIERS_tbl
580 , p_old_QUALIFIERS_tbl => l_old_QUALIFIERS_tbl
581 , x_QUALIFIER_RULES_rec => l_x_QUALIFIER_RULES_rec
582 , x_QUALIFIERS_tbl => l_x_QUALIFIERS_tbl
583 );
584
585 */
586
587 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
588 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
589 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
590 RAISE FND_API.G_EXC_ERROR;
591 END IF;
592
593
594 -- Unload out tbl
595
596 l_x_QUALIFIERS_rec := l_x_QUALIFIERS_tbl(1);
597
598 -- Init OUT parameters to missing.
599
600 x_attribute1 := FND_API.G_MISS_CHAR;
601 x_attribute10 := FND_API.G_MISS_CHAR;
602 x_attribute11 := FND_API.G_MISS_CHAR;
603 x_attribute12 := FND_API.G_MISS_CHAR;
604 x_attribute13 := FND_API.G_MISS_CHAR;
605 x_attribute14 := FND_API.G_MISS_CHAR;
606 x_attribute15 := FND_API.G_MISS_CHAR;
607 x_attribute2 := FND_API.G_MISS_CHAR;
608 x_attribute3 := FND_API.G_MISS_CHAR;
609 x_attribute4 := FND_API.G_MISS_CHAR;
610 x_attribute5 := FND_API.G_MISS_CHAR;
611 x_attribute6 := FND_API.G_MISS_CHAR;
612 x_attribute7 := FND_API.G_MISS_CHAR;
613 x_attribute8 := FND_API.G_MISS_CHAR;
614 x_attribute9 := FND_API.G_MISS_CHAR;
615 x_comparison_operator_code := FND_API.G_MISS_CHAR;
616 x_context := FND_API.G_MISS_CHAR;
617 x_created_from_rule_id := FND_API.G_MISS_NUM;
618 x_end_date_active := FND_API.G_MISS_DATE;
619 x_excluder_flag := FND_API.G_MISS_CHAR;
620 x_list_header_id := FND_API.G_MISS_NUM;
621 x_list_line_id := FND_API.G_MISS_NUM;
622 x_qualifier_attribute := FND_API.G_MISS_CHAR;
623 x_qualifier_attr_value := FND_API.G_MISS_CHAR;
624 x_qualifier_attr_value_to := FND_API.G_MISS_CHAR;
625 x_qualifier_context := FND_API.G_MISS_CHAR;
626 x_qualifier_datatype := FND_API.G_MISS_CHAR;
627 --x_qualifier_date_format := FND_API.G_MISS_CHAR;
628 x_qualifier_grouping_no := FND_API.G_MISS_NUM;
629 x_qualifier_id := FND_API.G_MISS_NUM;
630 --x_qualifier_number_format := FND_API.G_MISS_CHAR;
631 x_qualifier_precedence := FND_API.G_MISS_NUM;
632 x_qualifier_rule_id := FND_API.G_MISS_NUM;
633 x_start_date_active := FND_API.G_MISS_DATE;
634 --x_comparison_operator := FND_API.G_MISS_CHAR;
635 x_created_from_rule := FND_API.G_MISS_CHAR;
636 --x_excluder := FND_API.G_MISS_CHAR;
637 x_list_header := FND_API.G_MISS_CHAR;
638 x_list_line := FND_API.G_MISS_CHAR;
639 --x_qualifier := FND_API.G_MISS_CHAR;
640 x_qualifier_rule := FND_API.G_MISS_CHAR;
641 x_qualify_hier_descendent_flag := FND_API.G_MISS_CHAR; -- Added for TCA
642
643 -- Load display out parameters if any
644
645 l_QUALIFIERS_val_rec := QP_Qualifiers_Util.Get_Values
646 ( p_QUALIFIERS_rec => l_x_QUALIFIERS_rec
647 , p_old_QUALIFIERS_rec => l_QUALIFIERS_rec
648 );
649
650 -- Return changed attributes.
651
652 IF NOT QP_GLOBALS.Equal(l_x_QUALIFIERS_rec.attribute1,
653 l_QUALIFIERS_rec.attribute1)
654 THEN
655 x_attribute1 := l_x_QUALIFIERS_rec.attribute1;
656 END IF;
657
658 IF NOT QP_GLOBALS.Equal(l_x_QUALIFIERS_rec.attribute10,
659 l_QUALIFIERS_rec.attribute10)
660 THEN
661 x_attribute10 := l_x_QUALIFIERS_rec.attribute10;
662 END IF;
663
664 IF NOT QP_GLOBALS.Equal(l_x_QUALIFIERS_rec.attribute11,
665 l_QUALIFIERS_rec.attribute11)
666 THEN
667 x_attribute11 := l_x_QUALIFIERS_rec.attribute11;
668 END IF;
669
670 IF NOT QP_GLOBALS.Equal(l_x_QUALIFIERS_rec.attribute12,
671 l_QUALIFIERS_rec.attribute12)
672 THEN
673 x_attribute12 := l_x_QUALIFIERS_rec.attribute12;
674 END IF;
675
676 IF NOT QP_GLOBALS.Equal(l_x_QUALIFIERS_rec.attribute13,
677 l_QUALIFIERS_rec.attribute13)
678 THEN
679 x_attribute13 := l_x_QUALIFIERS_rec.attribute13;
680 END IF;
681
682 IF NOT QP_GLOBALS.Equal(l_x_QUALIFIERS_rec.attribute14,
683 l_QUALIFIERS_rec.attribute14)
684 THEN
685 x_attribute14 := l_x_QUALIFIERS_rec.attribute14;
686 END IF;
687
688 IF NOT QP_GLOBALS.Equal(l_x_QUALIFIERS_rec.attribute15,
689 l_QUALIFIERS_rec.attribute15)
690 THEN
691 x_attribute15 := l_x_QUALIFIERS_rec.attribute15;
692 END IF;
693
694 IF NOT QP_GLOBALS.Equal(l_x_QUALIFIERS_rec.attribute2,
695 l_QUALIFIERS_rec.attribute2)
696 THEN
697 x_attribute2 := l_x_QUALIFIERS_rec.attribute2;
698 END IF;
699
700 IF NOT QP_GLOBALS.Equal(l_x_QUALIFIERS_rec.attribute3,
701 l_QUALIFIERS_rec.attribute3)
702 THEN
703 x_attribute3 := l_x_QUALIFIERS_rec.attribute3;
704 END IF;
705
706 IF NOT QP_GLOBALS.Equal(l_x_QUALIFIERS_rec.attribute4,
707 l_QUALIFIERS_rec.attribute4)
708 THEN
709 x_attribute4 := l_x_QUALIFIERS_rec.attribute4;
710 END IF;
711
712 IF NOT QP_GLOBALS.Equal(l_x_QUALIFIERS_rec.attribute5,
713 l_QUALIFIERS_rec.attribute5)
714 THEN
715 x_attribute5 := l_x_QUALIFIERS_rec.attribute5;
716 END IF;
717
718 IF NOT QP_GLOBALS.Equal(l_x_QUALIFIERS_rec.attribute6,
719 l_QUALIFIERS_rec.attribute6)
720 THEN
721 x_attribute6 := l_x_QUALIFIERS_rec.attribute6;
722 END IF;
723
724 IF NOT QP_GLOBALS.Equal(l_x_QUALIFIERS_rec.attribute7,
725 l_QUALIFIERS_rec.attribute7)
726 THEN
727 x_attribute7 := l_x_QUALIFIERS_rec.attribute7;
728 END IF;
729
730 IF NOT QP_GLOBALS.Equal(l_x_QUALIFIERS_rec.attribute8,
731 l_QUALIFIERS_rec.attribute8)
732 THEN
733 x_attribute8 := l_x_QUALIFIERS_rec.attribute8;
734 END IF;
735
736 IF NOT QP_GLOBALS.Equal(l_x_QUALIFIERS_rec.attribute9,
737 l_QUALIFIERS_rec.attribute9)
738 THEN
739 x_attribute9 := l_x_QUALIFIERS_rec.attribute9;
740 END IF;
741
742 IF NOT QP_GLOBALS.Equal(l_x_QUALIFIERS_rec.comparison_operator_code,
743 l_QUALIFIERS_rec.comparison_operator_code)
744 THEN
745 x_comparison_operator_code := l_x_QUALIFIERS_rec.comparison_operator_code;
746 -- x_comparison_operator := l_QUALIFIERS_val_rec.comparison_operator;
747 END IF;
748
749 IF NOT QP_GLOBALS.Equal(l_x_QUALIFIERS_rec.context,
750 l_QUALIFIERS_rec.context)
751 THEN
752 x_context := l_x_QUALIFIERS_rec.context;
753 END IF;
754
755 IF NOT QP_GLOBALS.Equal(l_x_QUALIFIERS_rec.created_from_rule_id,
756 l_QUALIFIERS_rec.created_from_rule_id)
757 THEN
758 x_created_from_rule_id := l_x_QUALIFIERS_rec.created_from_rule_id;
759 x_created_from_rule := l_QUALIFIERS_val_rec.created_from_rule;
760 END IF;
761
762 IF NOT QP_GLOBALS.Equal(l_x_QUALIFIERS_rec.end_date_active,
763 l_QUALIFIERS_rec.end_date_active)
764 THEN
765 x_end_date_active := l_x_QUALIFIERS_rec.end_date_active;
766 END IF;
767
768 IF NOT QP_GLOBALS.Equal(l_x_QUALIFIERS_rec.excluder_flag,
769 l_QUALIFIERS_rec.excluder_flag)
770 THEN
771 x_excluder_flag := l_x_QUALIFIERS_rec.excluder_flag;
772 --x_excluder := l_QUALIFIERS_val_rec.excluder;
773 END IF;
774
775 IF NOT QP_GLOBALS.Equal(l_x_QUALIFIERS_rec.list_header_id,
776 l_QUALIFIERS_rec.list_header_id)
777 THEN
778 x_list_header_id := l_x_QUALIFIERS_rec.list_header_id;
779 x_list_header := l_QUALIFIERS_val_rec.list_header;
780 END IF;
781
782 IF NOT QP_GLOBALS.Equal(l_x_QUALIFIERS_rec.list_line_id,
783 l_QUALIFIERS_rec.list_line_id)
784 THEN
785 x_list_line_id := l_x_QUALIFIERS_rec.list_line_id;
786 x_list_line := l_QUALIFIERS_val_rec.list_line;
787 END IF;
788
789 IF NOT QP_GLOBALS.Equal(l_x_QUALIFIERS_rec.qualifier_attribute,
790 l_QUALIFIERS_rec.qualifier_attribute)
791 THEN
792 x_qualifier_attribute := l_x_QUALIFIERS_rec.qualifier_attribute;
793 END IF;
794
795 IF NOT QP_GLOBALS.Equal(l_x_QUALIFIERS_rec.qualifier_attr_value,
796 l_QUALIFIERS_rec.qualifier_attr_value)
797 THEN
798 x_qualifier_attr_value := l_x_QUALIFIERS_rec.qualifier_attr_value;
799 END IF;
800 IF NOT QP_GLOBALS.Equal(l_x_QUALIFIERS_rec.qualifier_attr_value_to,
801 l_QUALIFIERS_rec.qualifier_attr_value_to)
802 THEN
803 x_qualifier_attr_value_to := l_x_QUALIFIERS_rec.qualifier_attr_value_to;
804 END IF;
805
806 IF NOT QP_GLOBALS.Equal(l_x_QUALIFIERS_rec.qualifier_context,
807 l_QUALIFIERS_rec.qualifier_context)
808 THEN
809 x_qualifier_context := l_x_QUALIFIERS_rec.qualifier_context;
810 END IF;
811
812 IF NOT QP_GLOBALS.Equal(l_x_QUALIFIERS_rec.qualifier_datatype,
813 l_QUALIFIERS_rec.qualifier_datatype)
814 THEN
815 x_qualifier_datatype := l_x_QUALIFIERS_rec.qualifier_datatype;
816 END IF;
817
818 /*IF NOT QP_GLOBALS.Equal(l_x_QUALIFIERS_rec.qualifier_date_format,
819 l_QUALIFIERS_rec.qualifier_date_format)
820 THEN
821 x_qualifier_date_format := l_x_QUALIFIERS_rec.qualifier_date_format;
822 END IF;*/
823
824 IF NOT QP_GLOBALS.Equal(l_x_QUALIFIERS_rec.qualifier_grouping_no,
825 l_QUALIFIERS_rec.qualifier_grouping_no)
826 THEN
827 x_qualifier_grouping_no := l_x_QUALIFIERS_rec.qualifier_grouping_no;
828 END IF;
829
830 IF NOT QP_GLOBALS.Equal(l_x_QUALIFIERS_rec.qualifier_id,
831 l_QUALIFIERS_rec.qualifier_id)
832 THEN
833 x_qualifier_id := l_x_QUALIFIERS_rec.qualifier_id;
834 --x_qualifier := l_QUALIFIERS_val_rec.qualifier;
835 END IF;
836
837 /*IF NOT QP_GLOBALS.Equal(l_x_QUALIFIERS_rec.qualifier_number_format,
838 l_QUALIFIERS_rec.qualifier_number_format)
839 THEN
840 x_qualifier_number_format := l_x_QUALIFIERS_rec.qualifier_number_format;
841 END IF;*/
842
843 IF NOT QP_GLOBALS.Equal(l_x_QUALIFIERS_rec.qualifier_precedence,
844 l_QUALIFIERS_rec.qualifier_precedence)
845 THEN
846 x_qualifier_precedence := l_x_QUALIFIERS_rec.qualifier_precedence;
847 END IF;
848
849 IF NOT QP_GLOBALS.Equal(l_x_QUALIFIERS_rec.qualifier_rule_id,
850 l_QUALIFIERS_rec.qualifier_rule_id)
851 THEN
852 x_qualifier_rule_id := l_x_QUALIFIERS_rec.qualifier_rule_id;
853 x_qualifier_rule := l_QUALIFIERS_val_rec.qualifier_rule;
854 END IF;
855
856 IF NOT QP_GLOBALS.Equal(l_x_QUALIFIERS_rec.start_date_active,
857 l_QUALIFIERS_rec.start_date_active)
858 THEN
859 x_start_date_active := l_x_QUALIFIERS_rec.start_date_active;
860 END IF;
861 -- Added for TCA
862 IF NOT QP_GLOBALS.Equal(l_x_QUALIFIERS_rec.qualify_hier_descendent_flag,
863 l_QUALIFIERS_rec.qualify_hier_descendent_flag)
864 THEN
865 x_qualify_hier_descendent_flag := l_x_QUALIFIERS_rec.qualify_hier_descendent_flag;
866 END IF;
867
868
869 -- Write to cache.
870
871 Write_QUALIFIERS
872 ( p_QUALIFIERS_rec => l_x_QUALIFIERS_rec
873 );
874
875 -- Set return status.
876
877 x_return_status := FND_API.G_RET_STS_SUCCESS;
878
879 -- Get message count and data
880
881 oe_msg_pub.Count_And_Get
882 ( p_count => x_msg_count
883 , p_data => x_msg_data
884 );
885
886
887 EXCEPTION
888
889 WHEN FND_API.G_EXC_ERROR THEN
890
891 x_return_status := FND_API.G_RET_STS_ERROR;
892
893 -- Get message count and data
894
895 oe_msg_pub.Count_And_Get
896 ( p_count => x_msg_count
897 , p_data => x_msg_data
898 );
899
900 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
901
902 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
903
904 -- Get message count and data
905
906 oe_msg_pub.Count_And_Get
907 ( p_count => x_msg_count
908 , p_data => x_msg_data
909 );
910
911 WHEN OTHERS THEN
912
913 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
914
915 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_UNEXP_ERROR)
916 THEN
917 oe_msg_pub.Add_Exc_Msg
918 ( G_PKG_NAME
919 , 'Change_Attribute'
920 );
921 END IF;
922
923 -- Get message count and data
924
925 oe_msg_pub.Count_And_Get
926 ( p_count => x_msg_count
927 , p_data => x_msg_data
928 );
929
930 END Change_Attribute;
931
932 -- Procedure Validate_And_Write
933 --
934
935 PROCEDURE Validate_And_Write
936 ( x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
937 , x_msg_count OUT NOCOPY /* file.sql.39 change */ NUMBER
938 , x_msg_data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
939 , p_qualifier_id IN NUMBER
940 , x_creation_date OUT NOCOPY /* file.sql.39 change */ DATE
941 , x_created_by OUT NOCOPY /* file.sql.39 change */ NUMBER
942 , x_last_update_date OUT NOCOPY /* file.sql.39 change */ DATE
943 , x_last_updated_by OUT NOCOPY /* file.sql.39 change */ NUMBER
944 , x_last_update_login OUT NOCOPY /* file.sql.39 change */ NUMBER
945 , x_program_application_id OUT NOCOPY /* file.sql.39 change */ NUMBER
946 , x_program_id OUT NOCOPY /* file.sql.39 change */ NUMBER
947 , x_program_update_date OUT NOCOPY /* file.sql.39 change */ DATE
948 , x_request_id OUT NOCOPY /* file.sql.39 change */ NUMBER
949 )
950 IS
951 l_QUALIFIERS_rec QP_Qualifier_Rules_PUB.Qualifiers_Rec_Type;
952 l_old_QUALIFIERS_rec QP_Qualifier_Rules_PUB.Qualifiers_Rec_Type;
953 l_QUALIFIERS_tbl QP_Qualifier_Rules_PUB.Qualifiers_Tbl_Type;
954 l_old_QUALIFIERS_tbl QP_Qualifier_Rules_PUB.Qualifiers_Tbl_Type;
955 l_control_rec QP_GLOBALS.Control_Rec_Type;
956 l_return_status VARCHAR2(1);
957 l_x_QUALIFIER_RULES_rec QP_Qualifier_Rules_PUB.Qualifier_Rules_Rec_Type;
958 l_x_QUALIFIERS_rec QP_Qualifier_Rules_PUB.Qualifiers_Rec_Type;
959 l_x_QUALIFIERS_tbl QP_Qualifier_Rules_PUB.Qualifiers_Tbl_Type;
960 l_x_PRICE_LIST_rec QP_Price_List_PUB.Price_List_Rec_Type;
961 l_x_PRICE_LIST_LINE_rec QP_Price_List_PUB.Price_List_Line_Rec_Type;
962 l_x_PRICE_LIST_LINE_tbl QP_Price_List_PUB.Price_List_Line_Tbl_Type;
963 l_x_PRICING_ATTR_rec QP_Price_List_PUB.Pricing_Attr_Rec_Type;
964 l_x_PRICING_ATTR_tbl QP_Price_List_PUB.Pricing_Attr_Tbl_Type;
965 BEGIN
966
967 oe_debug_pub.add('in v and write 1');
968
969 -- Set control flags.
970
971 l_control_rec.controlled_operation := TRUE;
972 l_control_rec.validate_entity := TRUE;
973 l_control_rec.write_to_DB := TRUE;
974
975 l_control_rec.default_attributes := FALSE;
976 l_control_rec.change_attributes := FALSE;
977 l_control_rec.process := FALSE;
978
979 -- Instruct API to retain its caches
980
981 l_control_rec.clear_api_cache := FALSE;
982 l_control_rec.clear_api_requests := FALSE;
983
984 -- Read QUALIFIERS from cache
985
986 oe_debug_pub.add('in v and write 2');
987 l_old_QUALIFIERS_rec := Get_QUALIFIERS
988 ( p_db_record => TRUE
989 , p_qualifier_id => p_qualifier_id
990 );
991 oe_debug_pub.add('in v and write 3');
992
993 l_QUALIFIERS_rec := Get_QUALIFIERS
994 ( p_db_record => FALSE
995 , p_qualifier_id => p_qualifier_id
996 );
997 oe_debug_pub.add('in v and write 4');
998
999 -- Set Operation.
1000
1001 IF FND_API.To_Boolean(l_QUALIFIERS_rec.db_flag) THEN
1002 l_QUALIFIERS_rec.operation := QP_GLOBALS.G_OPR_UPDATE;
1003 ELSE
1004 l_QUALIFIERS_rec.operation := QP_GLOBALS.G_OPR_CREATE;
1005 END IF;
1006
1007 -- Populate QUALIFIERS table
1008
1009 l_QUALIFIERS_tbl(1) := l_QUALIFIERS_rec;
1010 l_old_QUALIFIERS_tbl(1) := l_old_QUALIFIERS_rec;
1011
1012 -- Call QP_Qualifier_Rules_PVT.Process_QUALIFIER_RULES
1013 oe_debug_pub.add('in v and write 5');
1014
1015 QP_LIST_HEADERS_PVT.Process_PRICE_LIST
1016 ( p_api_version_number => 1.0
1017 , p_init_msg_list => FND_API.G_TRUE
1018 , x_return_status => l_return_status
1019 , x_msg_count => x_msg_count
1020 , x_msg_data => x_msg_data
1021 , p_control_rec => l_control_rec
1022 , p_QUALIFIERS_tbl => l_QUALIFIERS_tbl
1023 , p_old_QUALIFIERS_tbl => l_old_QUALIFIERS_tbl
1024 , x_PRICE_LIST_rec => l_x_PRICE_LIST_rec
1025 , x_PRICE_LIST_LINE_tbl => l_x_PRICE_LIST_LINE_tbl
1026 , x_QUALIFIERS_tbl => l_x_QUALIFIERS_tbl
1027 , x_PRICING_ATTR_tbl => l_x_PRICING_ATTR_tbl
1028 );
1029 oe_debug_pub.add('in v and write 6');
1030
1031 /*
1032
1033 QP_Qualifier_Rules_PVT.Process_QUALIFIER_RULES
1034 ( p_api_version_number => 1.0
1035 , p_init_msg_list => FND_API.G_TRUE
1036 , x_return_status => l_return_status
1037 , x_msg_count => x_msg_count
1038 , x_msg_data => x_msg_data
1039 , p_control_rec => l_control_rec
1040 , p_QUALIFIERS_tbl => l_QUALIFIERS_tbl
1041 , p_old_QUALIFIERS_tbl => l_old_QUALIFIERS_tbl
1042 , x_QUALIFIER_RULES_rec => l_x_QUALIFIER_RULES_rec
1043 , x_QUALIFIERS_tbl => l_x_QUALIFIERS_tbl
1044 );
1045
1046 */
1047
1048 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1049 oe_debug_pub.add('in v and write 7');
1050 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1051 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1052 oe_debug_pub.add('in v and write 8');
1053 RAISE FND_API.G_EXC_ERROR;
1054 END IF;
1055
1056
1057 -- Load OUT parameters.
1058
1059 l_x_QUALIFIERS_rec := l_x_QUALIFIERS_tbl(1);
1060
1061 x_creation_date := l_x_QUALIFIERS_rec.creation_date;
1062 x_created_by := l_x_QUALIFIERS_rec.created_by;
1063 x_last_update_date := l_x_QUALIFIERS_rec.last_update_date;
1064 x_last_updated_by := l_x_QUALIFIERS_rec.last_updated_by;
1065 x_last_update_login := l_x_QUALIFIERS_rec.last_update_login;
1066 x_program_application_id := l_x_QUALIFIERS_rec.program_application_id;
1067 x_program_id := l_x_QUALIFIERS_rec.program_id;
1068 x_program_update_date := l_x_QUALIFIERS_rec.program_update_date;
1069 x_request_id := l_x_QUALIFIERS_rec.request_id;
1070
1071 -- Clear QUALIFIERS record cache
1072
1073 oe_debug_pub.add('in v and write 9');
1074 Clear_QUALIFIERS;
1075
1076 -- Keep track of performed operations.
1077
1078 l_old_QUALIFIERS_rec.operation := l_QUALIFIERS_rec.operation;
1079
1080
1081 -- Set return status.
1082
1083 x_return_status := FND_API.G_RET_STS_SUCCESS;
1084
1085 -- Get message count and data
1086 oe_debug_pub.add('in v and write 10; msg is : ' || x_msg_data);
1087
1088 oe_msg_pub.Count_And_Get
1089 ( p_count => x_msg_count
1090 , p_data => x_msg_data
1091 );
1092 oe_debug_pub.add('in v and write 11; msg is : ' || x_msg_data);
1093
1094
1095 EXCEPTION
1096
1097 WHEN FND_API.G_EXC_ERROR THEN
1098
1099 x_return_status := FND_API.G_RET_STS_ERROR;
1100
1101 -- Get message count and data
1102
1103 oe_msg_pub.Count_And_Get
1104 ( p_count => x_msg_count
1105 , p_data => x_msg_data
1106 );
1107
1108 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1109
1110 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1111
1112 -- Get message count and data
1113
1114 oe_msg_pub.Count_And_Get
1115 ( p_count => x_msg_count
1116 , p_data => x_msg_data
1117 );
1118
1119 WHEN OTHERS THEN
1120
1121 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1122
1123 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_UNEXP_ERROR)
1124 THEN
1125 oe_msg_pub.Add_Exc_Msg
1126 ( G_PKG_NAME
1127 , 'Validate_And_Write'
1128 );
1129 END IF;
1130
1131 -- Get message count and data
1132
1133 oe_msg_pub.Count_And_Get
1134 ( p_count => x_msg_count
1135 , p_data => x_msg_data
1136 );
1137
1138 END Validate_And_Write;
1139
1140 -- Procedure Delete_Row
1141 --
1142
1143 PROCEDURE Delete_Row
1144 ( x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1145 , x_msg_count OUT NOCOPY /* file.sql.39 change */ NUMBER
1146 , x_msg_data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1147 , p_qualifier_id IN NUMBER
1148 )
1149 IS
1150 l_QUALIFIERS_rec QP_Qualifier_Rules_PUB.Qualifiers_Rec_Type;
1151 l_QUALIFIERS_tbl QP_Qualifier_Rules_PUB.Qualifiers_Tbl_Type;
1152 l_control_rec QP_GLOBALS.Control_Rec_Type;
1153 l_return_status VARCHAR2(1);
1154 l_x_QUALIFIER_RULES_rec QP_Qualifier_Rules_PUB.Qualifier_Rules_Rec_Type;
1155 l_x_QUALIFIERS_rec QP_Qualifier_Rules_PUB.Qualifiers_Rec_Type;
1156 l_x_QUALIFIERS_tbl QP_Qualifier_Rules_PUB.Qualifiers_Tbl_Type;
1157 l_x_PRICE_LIST_rec QP_Price_List_PUB.Price_List_Rec_Type;
1158 l_x_PRICE_LIST_LINE_rec QP_Price_List_PUB.Price_List_Line_Rec_Type;
1159 l_x_PRICE_LIST_LINE_tbl QP_Price_List_PUB.Price_List_Line_Tbl_Type;
1160 l_x_PRICING_ATTR_rec QP_Price_List_PUB.Pricing_Attr_Rec_Type;
1161 l_x_PRICING_ATTR_tbl QP_Price_List_PUB.Pricing_Attr_Tbl_Type;
1162 BEGIN
1163
1164 -- Set control flags.
1165
1166 l_control_rec.controlled_operation := TRUE;
1167 l_control_rec.validate_entity := TRUE;
1168 l_control_rec.write_to_DB := TRUE;
1169
1170 l_control_rec.default_attributes := FALSE;
1171 l_control_rec.change_attributes := FALSE;
1172 l_control_rec.process := FALSE;
1173
1174 -- Instruct API to retain its caches
1175
1176 l_control_rec.clear_api_cache := FALSE;
1177 l_control_rec.clear_api_requests := FALSE;
1178
1179 -- Read DB record from cache
1180
1181 l_QUALIFIERS_rec := Get_QUALIFIERS
1182 ( p_db_record => TRUE
1183 , p_qualifier_id => p_qualifier_id
1184 );
1185
1186 -- Set Operation.
1187
1188 l_QUALIFIERS_rec.operation := QP_GLOBALS.G_OPR_DELETE;
1189
1190 -- Populate QUALIFIERS table
1191
1192 l_QUALIFIERS_tbl(1) := l_QUALIFIERS_rec;
1193
1194 -- Call QP_Qualifier_Rules_PVT.Process_QUALIFIER_RULES
1195
1196 QP_LIST_HEADERS_PVT.Process_PRICE_LIST
1197 ( p_api_version_number => 1.0
1198 , p_init_msg_list => FND_API.G_TRUE
1199 , x_return_status => l_return_status
1200 , x_msg_count => x_msg_count
1201 , x_msg_data => x_msg_data
1202 , p_control_rec => l_control_rec
1203 , p_QUALIFIERS_tbl => l_QUALIFIERS_tbl
1204 , x_PRICE_LIST_rec => l_x_PRICE_LIST_rec
1205 , x_PRICE_LIST_LINE_tbl => l_x_PRICE_LIST_LINE_tbl
1206 , x_QUALIFIERS_tbl => l_x_QUALIFIERS_tbl
1207 , x_PRICING_ATTR_tbl => l_x_PRICING_ATTR_tbl
1208 );
1209
1210 /*
1211
1212 QP_Qualifier_Rules_PVT.Process_QUALIFIER_RULES
1213 ( p_api_version_number => 1.0
1214 , p_init_msg_list => FND_API.G_TRUE
1215 , x_return_status => l_return_status
1216 , x_msg_count => x_msg_count
1217 , x_msg_data => x_msg_data
1218 , p_control_rec => l_control_rec
1219 , p_QUALIFIERS_tbl => l_QUALIFIERS_tbl
1220 , x_QUALIFIER_RULES_rec => l_x_QUALIFIER_RULES_rec
1221 , x_QUALIFIERS_tbl => l_x_QUALIFIERS_tbl
1222 );
1223
1224 */
1225
1226 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1227 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1228 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1229 RAISE FND_API.G_EXC_ERROR;
1230 END IF;
1231
1232
1233 -- Clear QUALIFIERS record cache
1234
1235 Clear_QUALIFIERS;
1236
1237 -- Set return status.
1238
1239 x_return_status := FND_API.G_RET_STS_SUCCESS;
1240
1241 -- Get message count and data
1242
1243 oe_msg_pub.Count_And_Get
1244 ( p_count => x_msg_count
1245 , p_data => x_msg_data
1246 );
1247
1248
1249 EXCEPTION
1250
1251 WHEN FND_API.G_EXC_ERROR THEN
1252
1253 x_return_status := FND_API.G_RET_STS_ERROR;
1254
1255 -- Get message count and data
1256
1257 oe_msg_pub.Count_And_Get
1258 ( p_count => x_msg_count
1259 , p_data => x_msg_data
1260 );
1261
1262 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1263
1264 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1265
1266 -- Get message count and data
1267
1268 oe_msg_pub.Count_And_Get
1269 ( p_count => x_msg_count
1270 , p_data => x_msg_data
1271 );
1272
1273 WHEN OTHERS THEN
1274
1275 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1276
1277 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_UNEXP_ERROR)
1278 THEN
1279 oe_msg_pub.Add_Exc_Msg
1280 ( G_PKG_NAME
1281 , 'Delete_Row'
1282 );
1283 END IF;
1284
1285 -- Get message count and data
1286
1287 oe_msg_pub.Count_And_Get
1288 ( p_count => x_msg_count
1289 , p_data => x_msg_data
1290 );
1291
1292 END Delete_Row;
1293
1294 -- Procedure Process_Entity
1295 --
1296
1297 PROCEDURE Process_Entity
1298 ( x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1299 , x_msg_count OUT NOCOPY /* file.sql.39 change */ NUMBER
1300 , x_msg_data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1301 )
1302 IS
1303 l_control_rec QP_GLOBALS.Control_Rec_Type;
1304 l_return_status VARCHAR2(1);
1305 l_x_QUALIFIER_RULES_rec QP_Qualifier_Rules_PUB.Qualifier_Rules_Rec_Type;
1306 l_x_QUALIFIERS_rec QP_Qualifier_Rules_PUB.Qualifiers_Rec_Type;
1307 l_x_QUALIFIERS_tbl QP_Qualifier_Rules_PUB.Qualifiers_Tbl_Type;
1308 l_x_PRICE_LIST_rec QP_Price_List_PUB.Price_List_Rec_Type;
1309 l_x_PRICE_LIST_LINE_rec QP_Price_List_PUB.Price_List_Line_Rec_Type;
1310 l_x_PRICE_LIST_LINE_tbl QP_Price_List_PUB.Price_List_Line_Tbl_Type;
1311 l_x_PRICING_ATTR_rec QP_Price_List_PUB.Pricing_Attr_Rec_Type;
1312 l_x_PRICING_ATTR_tbl QP_Price_List_PUB.Pricing_Attr_Tbl_Type;
1313 BEGIN
1314
1315 -- Set control flags.
1316
1317 l_control_rec.controlled_operation := TRUE;
1318 l_control_rec.process := TRUE;
1319 l_control_rec.process_entity := QP_GLOBALS.G_ENTITY_QUALIFIERS;
1320
1321 l_control_rec.default_attributes := FALSE;
1322 l_control_rec.change_attributes := FALSE;
1323 l_control_rec.validate_entity := FALSE;
1324 l_control_rec.write_to_DB := FALSE;
1325
1326 -- Instruct API to clear its request table
1327
1328 l_control_rec.clear_api_cache := FALSE;
1329 l_control_rec.clear_api_requests := FALSE;
1330
1331 -- Call QP_Qualifier_Rules_PVT.Process_QUALIFIER_RULES
1332
1333 QP_LIST_HEADERS_PVT.Process_PRICE_LIST
1334 ( p_api_version_number => 1.0
1335 , p_init_msg_list => FND_API.G_TRUE
1336 , x_return_status => l_return_status
1337 , x_msg_count => x_msg_count
1338 , x_msg_data => x_msg_data
1339 , p_control_rec => l_control_rec
1340 , x_PRICE_LIST_rec => l_x_PRICE_LIST_rec
1341 , x_PRICE_LIST_LINE_tbl => l_x_PRICE_LIST_LINE_tbl
1342 , x_QUALIFIERS_tbl => l_x_QUALIFIERS_tbl
1343 , x_PRICING_ATTR_tbl => l_x_PRICING_ATTR_tbl
1344 );
1345
1346 /*
1347
1348 QP_Qualifier_Rules_PVT.Process_QUALIFIER_RULES
1349 ( p_api_version_number => 1.0
1350 , p_init_msg_list => FND_API.G_TRUE
1351 , x_return_status => l_return_status
1352 , x_msg_count => x_msg_count
1353 , x_msg_data => x_msg_data
1354 , p_control_rec => l_control_rec
1355 , x_QUALIFIER_RULES_rec => l_x_QUALIFIER_RULES_rec
1356 , x_QUALIFIERS_tbl => l_x_QUALIFIERS_tbl
1357 );
1358
1359 */
1360
1361 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1362 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1363 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1364 RAISE FND_API.G_EXC_ERROR;
1365 END IF;
1366
1367
1368 -- Set return status.
1369
1370 x_return_status := FND_API.G_RET_STS_SUCCESS;
1371
1372 -- Get message count and data
1373
1374 oe_msg_pub.Count_And_Get
1375 ( p_count => x_msg_count
1376 , p_data => x_msg_data
1377 );
1378
1379
1380 EXCEPTION
1381
1382 WHEN FND_API.G_EXC_ERROR THEN
1383
1384 x_return_status := FND_API.G_RET_STS_ERROR;
1385
1386 -- Get message count and data
1387
1388 oe_msg_pub.Count_And_Get
1389 ( p_count => x_msg_count
1390 , p_data => x_msg_data
1391 );
1392
1393 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1394
1395 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1396
1397 -- Get message count and data
1398
1399 oe_msg_pub.Count_And_Get
1400 ( p_count => x_msg_count
1401 , p_data => x_msg_data
1402 );
1403
1404 WHEN OTHERS THEN
1405
1406 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1407
1408 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_UNEXP_ERROR)
1409 THEN
1410 oe_msg_pub.Add_Exc_Msg
1411 ( G_PKG_NAME
1412 , 'Process_Entity'
1413 );
1414 END IF;
1415
1416 -- Get message count and data
1417
1418 oe_msg_pub.Count_And_Get
1419 ( p_count => x_msg_count
1420 , p_data => x_msg_data
1421 );
1422
1423 END Process_Entity;
1424
1425 -- Procedure lock_Row
1426 --
1427
1428 PROCEDURE Lock_Row
1429 ( x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1430 , x_msg_count OUT NOCOPY /* file.sql.39 change */ NUMBER
1431 , x_msg_data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1432 , p_attribute1 IN VARCHAR2
1433 , p_attribute10 IN VARCHAR2
1434 , p_attribute11 IN VARCHAR2
1435 , p_attribute12 IN VARCHAR2
1436 , p_attribute13 IN VARCHAR2
1437 , p_attribute14 IN VARCHAR2
1438 , p_attribute15 IN VARCHAR2
1439 , p_attribute2 IN VARCHAR2
1440 , p_attribute3 IN VARCHAR2
1441 , p_attribute4 IN VARCHAR2
1442 , p_attribute5 IN VARCHAR2
1443 , p_attribute6 IN VARCHAR2
1444 , p_attribute7 IN VARCHAR2
1445 , p_attribute8 IN VARCHAR2
1446 , p_attribute9 IN VARCHAR2
1447 , p_comparison_operator_code IN VARCHAR2
1448 , p_context IN VARCHAR2
1449 , p_created_by IN NUMBER
1450 , p_created_from_rule_id IN NUMBER
1451 , p_creation_date IN DATE
1452 , p_end_date_active IN DATE
1453 , p_excluder_flag IN VARCHAR2
1454 , p_last_updated_by IN NUMBER
1455 , p_last_update_date IN DATE
1456 , p_last_update_login IN NUMBER
1457 , p_list_header_id IN NUMBER
1458 , p_list_line_id IN NUMBER
1459 , p_program_application_id IN NUMBER
1460 , p_program_id IN NUMBER
1461 , p_program_update_date IN DATE
1462 , p_qualifier_attribute IN VARCHAR2
1463 , p_qualifier_attr_value IN VARCHAR2
1464 , p_qualifier_attr_value_to IN VARCHAR2
1465 , p_qualifier_context IN VARCHAR2
1466 , p_qualifier_datatype IN VARCHAR2
1467 --, p_qualifier_date_format IN VARCHAR2
1468 , p_qualifier_grouping_no IN NUMBER
1469 , p_qualifier_id IN NUMBER
1470 --, p_qualifier_number_format IN VARCHAR2
1471 , p_qualifier_precedence IN NUMBER
1472 , p_qualifier_rule_id IN NUMBER
1473 , p_request_id IN NUMBER
1474 , p_start_date_active IN DATE
1475 , p_qualify_hier_descendent_flag IN VARCHAR2 -- Added for TCA
1476 )
1477 IS
1478 l_return_status VARCHAR2(1);
1479 l_QUALIFIERS_rec QP_Qualifier_Rules_PUB.Qualifiers_Rec_Type;
1480 l_QUALIFIERS_tbl QP_Qualifier_Rules_PUB.Qualifiers_Tbl_Type;
1481 l_x_QUALIFIER_RULES_rec QP_Qualifier_Rules_PUB.Qualifier_Rules_Rec_Type;
1482 l_x_QUALIFIERS_rec QP_Qualifier_Rules_PUB.Qualifiers_Rec_Type;
1483 l_x_QUALIFIERS_tbl QP_Qualifier_Rules_PUB.Qualifiers_Tbl_Type;
1484 l_x_PRICE_LIST_rec QP_Price_List_PUB.Price_List_Rec_Type;
1485 l_x_PRICE_LIST_LINE_rec QP_Price_List_PUB.Price_List_Line_Rec_Type;
1486 l_x_PRICE_LIST_LINE_tbl QP_Price_List_PUB.Price_List_Line_Tbl_Type;
1487 l_x_PRICING_ATTR_rec QP_Price_List_PUB.Pricing_Attr_Rec_Type;
1488 l_x_PRICING_ATTR_tbl QP_Price_List_PUB.Pricing_Attr_Tbl_Type;
1489 BEGIN
1490
1491 -- Load QUALIFIERS record
1492
1493 l_QUALIFIERS_rec.attribute1 := p_attribute1;
1494 l_QUALIFIERS_rec.attribute10 := p_attribute10;
1495 l_QUALIFIERS_rec.attribute11 := p_attribute11;
1496 l_QUALIFIERS_rec.attribute12 := p_attribute12;
1497 l_QUALIFIERS_rec.attribute13 := p_attribute13;
1498 l_QUALIFIERS_rec.attribute14 := p_attribute14;
1499 l_QUALIFIERS_rec.attribute15 := p_attribute15;
1500 l_QUALIFIERS_rec.attribute2 := p_attribute2;
1501 l_QUALIFIERS_rec.attribute3 := p_attribute3;
1502 l_QUALIFIERS_rec.attribute4 := p_attribute4;
1503 l_QUALIFIERS_rec.attribute5 := p_attribute5;
1504 l_QUALIFIERS_rec.attribute6 := p_attribute6;
1505 l_QUALIFIERS_rec.attribute7 := p_attribute7;
1506 l_QUALIFIERS_rec.attribute8 := p_attribute8;
1507 l_QUALIFIERS_rec.attribute9 := p_attribute9;
1508 l_QUALIFIERS_rec.comparison_operator_code := p_comparison_operator_code;
1509 l_QUALIFIERS_rec.context := p_context;
1510 l_QUALIFIERS_rec.created_by := p_created_by;
1511 l_QUALIFIERS_rec.created_from_rule_id := p_created_from_rule_id;
1512 l_QUALIFIERS_rec.creation_date := p_creation_date;
1513 l_QUALIFIERS_rec.end_date_active := p_end_date_active;
1514 l_QUALIFIERS_rec.excluder_flag := p_excluder_flag;
1515 l_QUALIFIERS_rec.last_updated_by := p_last_updated_by;
1516 l_QUALIFIERS_rec.last_update_date := p_last_update_date;
1517 l_QUALIFIERS_rec.last_update_login := p_last_update_login;
1518 l_QUALIFIERS_rec.list_header_id := p_list_header_id;
1519 l_QUALIFIERS_rec.list_line_id := p_list_line_id;
1520 l_QUALIFIERS_rec.program_application_id := p_program_application_id;
1521 l_QUALIFIERS_rec.program_id := p_program_id;
1522 l_QUALIFIERS_rec.program_update_date := p_program_update_date;
1523 l_QUALIFIERS_rec.qualifier_attribute := p_qualifier_attribute;
1524 l_QUALIFIERS_rec.qualifier_attr_value := p_qualifier_attr_value;
1525 l_QUALIFIERS_rec.qualifier_attr_value_to := p_qualifier_attr_value_to;
1526 l_QUALIFIERS_rec.qualifier_context := p_qualifier_context;
1527 l_QUALIFIERS_rec.qualifier_datatype := p_qualifier_datatype;
1528 --l_QUALIFIERS_rec.qualifier_date_format := p_qualifier_date_format;
1529 l_QUALIFIERS_rec.qualifier_grouping_no := p_qualifier_grouping_no;
1530 l_QUALIFIERS_rec.qualifier_id := p_qualifier_id;
1531 --l_QUALIFIERS_rec.qualifier_number_format := p_qualifier_number_format;
1532 l_QUALIFIERS_rec.qualifier_precedence := p_qualifier_precedence;
1533 l_QUALIFIERS_rec.qualifier_rule_id := p_qualifier_rule_id;
1534 l_QUALIFIERS_rec.request_id := p_request_id;
1535 l_QUALIFIERS_rec.start_date_active := p_start_date_active;
1536 l_QUALIFIERS_rec.operation := QP_GLOBALS.G_OPR_LOCK;
1537 l_QUALIFIERS_rec.qualify_hier_descendent_flag := p_qualify_hier_descendent_flag; -- Added for TCA
1538
1539 -- Populate QUALIFIERS table
1540
1541 l_QUALIFIERS_tbl(1) := l_QUALIFIERS_rec;
1542
1543 -- Call QP_Qualifier_Rules_PVT.Lock_QUALIFIER_RULES
1544
1545 QP_LIST_HEADERS_PVT.Lock_PRICE_LIST
1546 ( p_api_version_number => 1.0
1547 , p_init_msg_list => FND_API.G_TRUE
1548 , x_return_status => l_return_status
1549 , x_msg_count => x_msg_count
1550 , x_msg_data => x_msg_data
1551 , p_QUALIFIERS_tbl => l_QUALIFIERS_tbl
1552 , x_PRICE_LIST_rec => l_x_PRICE_LIST_rec
1553 , x_PRICE_LIST_LINE_tbl => l_x_PRICE_LIST_LINE_tbl
1554 , x_QUALIFIERS_tbl => l_x_QUALIFIERS_tbl
1555 , x_PRICING_ATTR_tbl => l_x_PRICING_ATTR_tbl
1556 );
1557
1558 /*
1559
1560 QP_Qualifier_Rules_PVT.Lock_QUALIFIER_RULES
1561 ( p_api_version_number => 1.0
1562 , p_init_msg_list => FND_API.G_TRUE
1563 , x_return_status => l_return_status
1564 , x_msg_count => x_msg_count
1565 , x_msg_data => x_msg_data
1566 , p_QUALIFIERS_tbl => l_QUALIFIERS_tbl
1567 , x_QUALIFIER_RULES_rec => l_x_QUALIFIER_RULES_rec
1568 , x_QUALIFIERS_tbl => l_x_QUALIFIERS_tbl
1569 );
1570
1571 */
1572
1573 IF l_return_status = FND_API.G_RET_STS_SUCCESS THEN
1574
1575 -- Set DB flag and write record to cache.
1576
1577 l_x_QUALIFIERS_rec.db_flag := FND_API.G_TRUE;
1578
1579 Write_QUALIFIERS
1580 ( p_QUALIFIERS_rec => l_x_QUALIFIERS_rec
1581 , p_db_record => TRUE
1582 );
1583
1584 END IF;
1585
1586 -- Set return status.
1587
1588 x_return_status := l_return_status;
1589
1590 -- Get message count and data
1591
1592 oe_msg_pub.Count_And_Get
1593 ( p_count => x_msg_count
1594 , p_data => x_msg_data
1595 );
1596
1597
1598 EXCEPTION
1599
1600 WHEN OTHERS THEN
1601
1602 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_UNEXP_ERROR)
1603 THEN
1604 oe_msg_pub.Add_Exc_Msg
1605 ( G_PKG_NAME
1606 , 'Lock_Row'
1607 );
1608 END IF;
1609
1610 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1611
1612 -- Get message count and data
1613
1614 oe_msg_pub.Count_And_Get
1615 ( p_count => x_msg_count
1616 , p_data => x_msg_data
1617 );
1618
1619
1620
1621 END Lock_Row;
1622
1623 -- Procedures maintaining QUALIFIERS record cache.
1624
1625 PROCEDURE Write_QUALIFIERS
1626 ( p_QUALIFIERS_rec IN QP_Qualifier_Rules_PUB.Qualifiers_Rec_Type
1627 , p_db_record IN BOOLEAN := FALSE
1628 )
1629 IS
1630 BEGIN
1631
1632 g_QUALIFIERS_rec := p_QUALIFIERS_rec;
1633
1634 IF p_db_record THEN
1635
1636 g_db_QUALIFIERS_rec := p_QUALIFIERS_rec;
1637
1638 END IF;
1639
1640 END Write_Qualifiers;
1641
1642 FUNCTION Get_QUALIFIERS
1643 ( p_db_record IN BOOLEAN := FALSE
1644 , p_qualifier_id IN NUMBER
1645 )
1646 RETURN QP_Qualifier_Rules_PUB.Qualifiers_Rec_Type
1647 IS
1648 BEGIN
1649
1650 IF p_qualifier_id <> g_QUALIFIERS_rec.qualifier_id
1651 THEN
1652
1653 -- Query row from DB
1654
1655 g_QUALIFIERS_rec := QP_Qualifiers_Util.Query_Row
1656 ( p_qualifier_id => p_qualifier_id
1657 );
1658
1659 g_QUALIFIERS_rec.db_flag := FND_API.G_TRUE;
1660
1661 -- Load DB record
1662
1663 g_db_QUALIFIERS_rec := g_QUALIFIERS_rec;
1664
1665 END IF;
1666
1667 IF p_db_record THEN
1668
1669 RETURN g_db_QUALIFIERS_rec;
1670
1671 ELSE
1672
1673 RETURN g_QUALIFIERS_rec;
1674
1675 END IF;
1676
1677 END Get_Qualifiers;
1678
1679 PROCEDURE Clear_Qualifiers
1680 IS
1681 BEGIN
1682
1683 g_QUALIFIERS_rec := QP_Qualifier_Rules_PUB.G_MISS_QUALIFIERS_REC;
1684 g_db_QUALIFIERS_rec := QP_Qualifier_Rules_PUB.G_MISS_QUALIFIERS_REC;
1685
1686 END Clear_Qualifiers;
1687
1688 --spgopal added out parameters to error out when copy failed
1689 --and also display the number of qualifier records processed
1690 PROCEDURE Get_Rules(p_qualifier_rule_id IN NUMBER,
1691 p_list_header_id IN NUMBER,
1692 p_list_line_id IN NUMBER := NULL, -- -1, --2422176
1693 p_group_condition IN VARCHAR2 DEFAULT 'AND',
1694 x_processed_qual_count OUT NOCOPY /* file.sql.39 change */ NUMBER,
1695 x_msg_count OUT NOCOPY /* file.sql.39 change */ NUMBER,
1696 x_msg_data OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
1697 x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2)
1698 IS
1699 --x_msg_count NUMBER;
1700 --x_msg_data VARCHAR2(2000);
1701 l_return_status VARCHAR2(1);
1702 l_qualifier_rule_id number;
1703 l_list_header_id number;
1704 l_list_line_id number;
1705 l_max_grouping_no NUMBER;
1706 l_list_type_code VARCHAR2(30);
1707
1708 l_QUALIFIER_RULES_rec QP_Qualifier_Rules_pub.Qualifier_Rules_Rec_Type;
1709 l_QUALIFIER_RULES_val_rec QP_Qualifier_Rules_pub.Qualifier_Rules_Val_Rec_Type;
1710 l_QUALIFIERS_tbl QP_Qualifier_Rules_pub.Qualifiers_Tbl_Type;
1711 l_QUALIFIERS_val_tbl QP_Qualifier_Rules_pub.Qualifiers_Val_Tbl_Type;
1712 l_x_qualifiers_tbl QP_Qualifier_Rules_pub.Qualifiers_Tbl_Type;
1713 l_x_qualifier_rules_rec QP_Qualifier_Rules_pub.Qualifier_rules_rec_type;
1714 l_x_qualifier_rules_val_rec QP_Qualifier_Rules_pub.Qualifier_rules_val_rec_type;
1715 l_x_qualifiers_val_tbl QP_Qualifier_Rules_pub.Qualifiers_val_tbl_type;
1716
1717 BEGIN
1718
1719 l_qualifier_rule_id := p_qualifier_rule_id;
1720 l_list_header_id := p_list_header_id;
1721 l_list_line_id := p_list_line_id;
1722
1723 BEGIN
1724 select list_type_code
1725 into l_list_type_code
1726 from qp_list_headers_b
1727 where list_header_id = p_list_header_id;
1728 EXCEPTION
1729 WHEN OTHERS THEN
1730 l_list_type_code := '';
1731 END;
1732
1733 qp_qualifier_rules_pub.get_qualifier_rules(
1734 p_api_version_number => 1.0,
1735 p_init_msg_list => 'F',
1736 p_return_values => 'F',
1737 x_return_status => l_return_status,
1738 x_msg_count => x_msg_count,
1739 x_msg_data => x_msg_data,
1740 p_qualifier_rule_id => l_qualifier_rule_id,
1741 x_qualifier_rules_rec => l_qualifier_rules_rec,
1742 x_qualifier_rules_val_rec => l_qualifier_rules_val_rec,
1743 x_qualifiers_tbl => l_qualifiers_tbl,
1744 x_qualifiers_val_tbl => l_qualifiers_val_tbl);
1745
1746 oe_debug_pub.add('count of qualifiers table 1 : ' || l_qualifiers_tbl.count);
1747
1748 IF p_group_condition = 'AND' THEN
1749 SELECT NVL(MAX(ABS(qualifier_grouping_no)),-1)
1750 INTO l_max_grouping_no
1751 FROM qp_qualifiers
1752 WHERE list_header_id = l_list_header_id;
1753
1754 /* In the case where grp no is 0, we need to add more than max) */
1755 l_max_grouping_no := l_max_grouping_no + 1;
1756 oe_debug_pub.add('max grp no = '||l_max_grouping_no);
1757 FOR k IN 1..l_qualifiers_tbl.COUNT LOOP
1758 l_qualifiers_tbl(k).list_header_id := l_list_header_id;
1759 l_qualifiers_tbl(k).list_line_id := l_list_line_id;
1760 l_qualifiers_tbl(k).qualifier_rule_id := NULL;
1761 l_qualifiers_tbl(k).qualifier_id := FND_API.G_MISS_NUM;
1762 l_qualifiers_tbl(k).created_from_rule_id := l_qualifier_rule_id;
1763
1764 IF l_qualifiers_tbl(K).qualifier_grouping_no < 0 THEN
1765 IF l_qualifiers_tbl(K).qualifier_grouping_no = -1 THEN
1766 --we want to retain -1 group as it is
1767 NULL;
1768 ELSE
1769 l_qualifiers_tbl(K).qualifier_grouping_no := l_qualifiers_tbl(K).qualifier_grouping_no - l_max_grouping_no;
1770 oe_debug_pub.add('chg grp no = '||l_qualifiers_tbl(K).qualifier_grouping_no);
1771 END IF;
1772 ELSE
1773 l_qualifiers_tbl(K).qualifier_grouping_no := l_qualifiers_tbl(K).qualifier_grouping_no + l_max_grouping_no;
1774 oe_debug_pub.add('chg grp no = '||l_qualifiers_tbl(K).qualifier_grouping_no);
1775 END IF;
1776
1777 IF NOT (l_list_type_code IN ('PRL','AGR') AND
1778 l_qualifiers_tbl(K).qualifier_context = 'VOLUME' AND
1779 l_qualifiers_tbl(K).qualifier_attribute = 'QUALIFIER_ATTRIBUTE10')
1780 --Qualifier Attribute of 'Order Amount' under qualifier context 'Volume'.
1781 THEN
1782 l_qualifiers_tbl(K).operation := 'CREATE';
1783 ELSE
1784 l_qualifiers_tbl(K).operation := '';
1785 END IF;
1786
1787
1788 /* Added for Bug 1754116 */
1789 If l_list_type_code = 'PRL' AND
1790 l_qualifiers_tbl(K).qualifier_context = 'MODLIST' AND
1791 l_qualifiers_tbl(K).qualifier_attribute = 'QUALIFIER_ATTRIBUTE4' Then
1792 l_qualifiers_tbl(K).operation := '';
1793 End If;
1794 /* End of 1754116 */
1795
1796 IF l_list_type_code IN ('PRL', 'AGR') AND
1797 QP_UTIL.Get_Segment_Level(l_list_header_id,
1798 l_qualifiers_tbl(K).qualifier_context,
1799 l_qualifiers_tbl(K).qualifier_attribute
1800 ) = 'ORDER'
1801 THEN
1802 l_qualifiers_tbl(K).operation := 'CREATE';
1803 END IF;
1804
1805 END LOOP;
1806 ELSIF p_group_condition = 'OR' THEN
1807 FOR k IN 1..l_qualifiers_tbl.COUNT LOOP
1808 l_qualifiers_tbl(k).list_header_id := l_list_header_id;
1809 l_qualifiers_tbl(k).list_line_id := l_list_line_id;
1810 l_qualifiers_tbl(k).qualifier_rule_id := NULL;
1811 l_qualifiers_tbl(k).qualifier_id := FND_API.G_MISS_NUM;
1812 l_qualifiers_tbl(k).created_from_rule_id := l_qualifier_rule_id;
1813 IF NOT (l_list_type_code IN ('PRL','AGR') AND
1814 l_qualifiers_tbl(K).qualifier_context = 'VOLUME' AND
1815 l_qualifiers_tbl(K).qualifier_attribute = 'QUALIFIER_ATTRIBUTE10')
1816 --Qualifier Attribute of 'Order Amount' under qualifier context 'Volume'.
1817 THEN
1818 l_qualifiers_tbl(k).operation := 'CREATE';
1819 ELSE
1820 l_qualifiers_tbl(K).operation := '';
1821 END IF;
1822
1823 IF l_list_type_code IN ('PRL', 'AGR') AND
1824 QP_UTIL.Get_Segment_Level(l_list_header_id,
1825 l_qualifiers_tbl(K).qualifier_context,
1826 l_qualifiers_tbl(K).qualifier_attribute
1827 ) = 'ORDER'
1828 THEN
1829 l_qualifiers_tbl(K).operation := '';
1830 END IF;
1831
1832 END LOOP;
1833 END IF;
1834
1835 oe_debug_pub.add('before copy qual_rules');
1836
1837 QP_QUALIFIER_RULES_PVT.PROCESS_QUALIFIER_RULES(
1838 p_api_version_number => 1.0,
1839 x_return_status => l_return_status,
1840 x_msg_count => x_msg_count,
1841 x_msg_data => x_msg_data,
1842 p_qualifiers_tbl => l_qualifiers_tbl,
1843 x_qualifier_rules_rec => l_x_qualifier_rules_rec,
1844 x_qualifiers_tbl => l_x_qualifiers_tbl);
1845
1846 oe_debug_pub.add('after copy qual_rules');
1847
1848 x_processed_qual_count := l_QUALIFIERS_tbl.COUNT;
1849 x_return_status := l_return_status;
1850
1851 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1852 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1853 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1854 RAISE FND_API.G_EXC_ERROR;
1855 END IF;
1856
1857 EXCEPTION
1858
1859 WHEN FND_API.G_EXC_ERROR THEN
1860
1861 -- x_return_status := FND_API.G_RET_STS_ERROR;
1862
1863 -- Get message count and data
1864
1865 oe_msg_pub.Count_And_Get
1866 ( p_count => x_msg_count
1867 , p_data => x_msg_data
1868 );
1869
1870 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1871
1872 -- x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1873
1874 -- Get message count and data
1875
1876 oe_msg_pub.Count_And_Get
1877 ( p_count => x_msg_count
1878 , p_data => x_msg_data
1879 );
1880
1881 WHEN OTHERS THEN
1882
1883 x_return_status := FND_API.G_RET_STS_ERROR ;
1884
1885 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_UNEXP_ERROR)
1886 THEN
1887 oe_msg_pub.Add_Exc_Msg
1888 ( G_PKG_NAME
1889 , 'Get_Rules'
1890 );
1891 END IF;
1892
1893 -- Get message count and data
1894
1895 oe_msg_pub.Count_And_Get
1896 ( p_count => x_msg_count
1897 , p_data => x_msg_data
1898 );
1899
1900
1901
1902
1903 END Get_Rules;
1904
1905 -- This procedure will be called from the client when the user
1906 -- clears a record
1907 Procedure Clear_Record
1908 ( x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1909 , x_msg_count OUT NOCOPY /* file.sql.39 change */ NUMBER
1910 , x_msg_data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1911 , p_qualifier_id IN NUMBER
1912 )
1913 IS
1914 l_return_status Varchar2(30);
1915 BEGIN
1916 OE_MSG_PUB.initialize;
1917 x_return_status := FND_API.G_RET_STS_SUCCESS;
1918 QP_DELAYED_REQUESTS_PVT.Delete_Reqs_for_Deleted_Entity(
1919 p_entity_code => QP_GLOBALS.G_ENTITY_QUALIFIERS
1920 ,p_entity_id => p_qualifier_id
1921 ,x_return_status => l_return_status);
1922
1923 OE_MSG_PUB.Count_And_Get
1924 ( p_count => x_msg_count
1925 , p_data => x_msg_data
1926 );
1927
1928 -- Clear the controller cache
1929 Clear_qualifiers;
1930
1931 EXCEPTION
1932 WHEN OTHERS THEN
1933 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1934 THEN
1935 OE_MSG_PUB.Add_Exc_Msg
1936 ( G_PKG_NAME
1937 , 'Clear_Record'
1938 );
1939 END IF;
1940 -- Get message count and data
1941 OE_MSG_PUB.Count_And_Get
1942 ( p_count => x_msg_count
1943 , p_data => x_msg_data
1944 );
1945 x_return_status := FND_API.G_RET_STS_ERROR;
1946
1947 END Clear_Record;
1948
1949
1950 -- This procedure will be called from the client when the user
1951 -- clears a block or Form
1952 Procedure Delete_All_Requests
1953 ( x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1954 , x_msg_count OUT NOCOPY /* file.sql.39 change */ NUMBER
1955 , x_msg_data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1956 )
1957 IS
1958 l_return_status Varchar2(30);
1959 BEGIN
1960 OE_MSG_PUB.initialize;
1961 x_return_status := FND_API.G_RET_STS_SUCCESS;
1962 QP_DELAYED_REQUESTS_PVT.Clear_Request(
1963 x_return_status => l_return_status);
1964
1965 EXCEPTION
1966 WHEN OTHERS THEN
1967 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1968 THEN
1969 OE_MSG_PUB.Add_Exc_Msg
1970 ( G_PKG_NAME
1971 , 'Delete_All_Requests'
1972 );
1973 END IF;
1974 -- Get message count and data
1975 OE_MSG_PUB.Count_And_Get
1976 ( p_count => x_msg_count
1977 , p_data => x_msg_data
1978 );
1979 x_return_status := FND_API.G_RET_STS_ERROR;
1980
1981 END Delete_All_Requests;
1982
1983
1984 END QP_QP_PRL_Form_Qualifiers;