[Home] [Help]
PACKAGE BODY: APPS.QP_QP_FORM_MODIFIER_LIST
Source
1 PACKAGE BODY QP_QP_Form_Modifier_List AS
2 /* $Header: QPXFMLHB.pls 120.4 2005/10/26 18:00:44 jhkuo ship $ */
3
4 -- Global constant holding the package name
5
6 G_PKG_NAME CONSTANT VARCHAR2(30) := 'QP_QP_Form_Modifier_List';
7
8 -- Global variables holding cached record.
9
10 g_MODIFIER_LIST_rec QP_Modifiers_PUB.Modifier_List_Rec_Type;
11 g_db_MODIFIER_LIST_rec QP_Modifiers_PUB.Modifier_List_Rec_Type;
12
13 -- Forward declaration of procedures maintaining entity record cache.
14
15 PROCEDURE Write_MODIFIER_LIST
16 ( p_MODIFIER_LIST_rec IN QP_Modifiers_PUB.Modifier_List_Rec_Type
17 , p_db_record IN BOOLEAN := FALSE
18 );
19
20 FUNCTION Get_MODIFIER_LIST
21 ( p_db_record IN BOOLEAN := FALSE
22 , p_list_header_id IN NUMBER
23 )
24 RETURN QP_Modifiers_PUB.Modifier_List_Rec_Type;
25
26 PROCEDURE Clear_MODIFIER_LIST;
27
28 -- Global variable holding performed operations.
29
30 g_opr__tbl QP_Modifiers_PUB.Modifier_List_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_automatic_flag OUT NOCOPY /* file.sql.39 change */ VARCHAR2
55 , x_comments OUT NOCOPY /* file.sql.39 change */ VARCHAR2
56 , x_context OUT NOCOPY /* file.sql.39 change */ VARCHAR2
57 , x_currency_code OUT NOCOPY /* file.sql.39 change */ VARCHAR2
58 , x_discount_lines_flag OUT NOCOPY /* file.sql.39 change */ VARCHAR2
59 , x_end_date_active OUT NOCOPY /* file.sql.39 change */ DATE
60 , x_freight_terms_code OUT NOCOPY /* file.sql.39 change */ VARCHAR2
61 , x_gsa_indicator OUT NOCOPY /* file.sql.39 change */ VARCHAR2
62 , x_list_header_id OUT NOCOPY /* file.sql.39 change */ NUMBER
63 , x_list_type_code OUT NOCOPY /* file.sql.39 change */ VARCHAR2
64 , x_prorate_flag OUT NOCOPY /* file.sql.39 change */ VARCHAR2
65 , x_rounding_factor OUT NOCOPY /* file.sql.39 change */ NUMBER
66 , x_ship_method_code OUT NOCOPY /* file.sql.39 change */ VARCHAR2
67 , x_start_date_active OUT NOCOPY /* file.sql.39 change */ DATE
68 , x_terms_id OUT NOCOPY /* file.sql.39 change */ NUMBER
69 , x_source_system_code OUT NOCOPY /* file.sql.39 change */ VARCHAR2
70 , x_pte_code OUT NOCOPY /* file.sql.39 change */ VARCHAR2
71 , x_active_flag OUT NOCOPY /* file.sql.39 change */ VARCHAR2
72 , x_parent_list_header_id OUT NOCOPY /* file.sql.39 change */ NUMBER
73 , x_start_date_active_first OUT NOCOPY /* file.sql.39 change */ DATE
74 , x_end_date_active_first OUT NOCOPY /* file.sql.39 change */ DATE
75 , x_active_date_first_type OUT NOCOPY /* file.sql.39 change */ VARCHAR2
76 , x_start_date_active_second OUT NOCOPY /* file.sql.39 change */ DATE
77 , x_global_flag OUT NOCOPY /* file.sql.39 change */ VARCHAR2
78 , x_end_date_active_second OUT NOCOPY /* file.sql.39 change */ DATE
79 , x_active_date_second_type OUT NOCOPY /* file.sql.39 change */ VARCHAR2
80 , x_automatic OUT NOCOPY /* file.sql.39 change */ VARCHAR2
81 , x_currency OUT NOCOPY /* file.sql.39 change */ VARCHAR2
82 , x_discount_lines OUT NOCOPY /* file.sql.39 change */ VARCHAR2
83 , x_freight_terms OUT NOCOPY /* file.sql.39 change */ VARCHAR2
84 , x_list_header OUT NOCOPY /* file.sql.39 change */ VARCHAR2
85 , x_list_type OUT NOCOPY /* file.sql.39 change */ VARCHAR2
86 , x_prorate OUT NOCOPY /* file.sql.39 change */ VARCHAR2
87 , x_ship_method OUT NOCOPY /* file.sql.39 change */ VARCHAR2
88 , x_terms OUT NOCOPY /* file.sql.39 change */ VARCHAR2
89 , x_ask_for_flag OUT NOCOPY /* file.sql.39 change */ VARCHAR2
90 , x_name OUT NOCOPY /* file.sql.39 change */ VARCHAR2
91 , x_description OUT NOCOPY /* file.sql.39 change */ VARCHAR2
92 , x_version_no OUT NOCOPY /* file.sql.39 change */ VARCHAR2
93 , x_list_source_code OUT NOCOPY /* file.sql.39 change */ VARCHAR2
94 , x_orig_system_header_ref OUT NOCOPY /* file.sql.39 change */ VARCHAR2
95 , x_shareable_flag OUT NOCOPY /* file.sql.39 change */ VARCHAR2
96 --added for MOAC
97 , x_org_id OUT NOCOPY /* file.sql.39 change */ NUMBER
98 )
99 IS
100 l_MODIFIER_LIST_rec QP_Modifiers_PUB.Modifier_List_Rec_Type;
101 l_MODIFIER_LIST_val_rec QP_Modifiers_PUB.Modifier_List_Val_Rec_Type;
102 l_control_rec QP_GLOBALS.Control_Rec_Type;
103 l_return_status VARCHAR2(1);
104 l_x_MODIFIER_LIST_rec QP_Modifiers_PUB.Modifier_List_Rec_Type;
105 l_x_MODIFIERS_rec QP_Modifiers_PUB.Modifiers_Rec_Type;
106 l_x_MODIFIERS_tbl QP_Modifiers_PUB.Modifiers_Tbl_Type;
107 l_x_QUALIFIERS_rec QP_Qualifier_Rules_PUB.Qualifiers_Rec_Type;
108 l_x_QUALIFIERS_tbl QP_Qualifier_Rules_PUB.Qualifiers_Tbl_Type;
109 l_x_PRICING_ATTR_rec QP_Modifiers_PUB.Pricing_Attr_Rec_Type;
110 l_x_PRICING_ATTR_tbl QP_Modifiers_PUB.Pricing_Attr_Tbl_Type;
111 BEGIN
112
113 oe_debug_pub.add('BEGIN default_attibutes in QPXFMLHB');
114 -- Set control flags.
115
116 l_control_rec.controlled_operation := TRUE;
117 l_control_rec.default_attributes := TRUE;
118
119 l_control_rec.change_attributes := FALSE;
120 l_control_rec.validate_entity := FALSE;
121 l_control_rec.write_to_DB := FALSE;
122 l_control_rec.process := FALSE;
123
124 -- Instruct API to retain its caches
125
126 l_control_rec.clear_api_cache := FALSE;
127 l_control_rec.clear_api_requests := FALSE;
128
129 -- Load IN parameters if any exist
130
131
132 -- Defaulting of flex values is currently done by the form.
133 -- Set flex attributes to NULL in order to avoid defaulting them.
134
135 l_MODIFIER_LIST_rec.attribute1 := NULL;
136 l_MODIFIER_LIST_rec.attribute10 := NULL;
137 l_MODIFIER_LIST_rec.attribute11 := NULL;
138 l_MODIFIER_LIST_rec.attribute12 := NULL;
139 l_MODIFIER_LIST_rec.attribute13 := NULL;
140 l_MODIFIER_LIST_rec.attribute14 := NULL;
141 l_MODIFIER_LIST_rec.attribute15 := NULL;
142 l_MODIFIER_LIST_rec.attribute2 := NULL;
143 l_MODIFIER_LIST_rec.attribute3 := NULL;
144 l_MODIFIER_LIST_rec.attribute4 := NULL;
145 l_MODIFIER_LIST_rec.attribute5 := NULL;
146 l_MODIFIER_LIST_rec.attribute6 := NULL;
147 l_MODIFIER_LIST_rec.attribute7 := NULL;
148 l_MODIFIER_LIST_rec.attribute8 := NULL;
149 l_MODIFIER_LIST_rec.attribute9 := NULL;
150 l_MODIFIER_LIST_rec.context := NULL;
151
152 -- Set Operation to Create
153
154 l_MODIFIER_LIST_rec.operation := QP_GLOBALS.G_OPR_CREATE;
155
156 -- Call QP_Modifiers_PVT.Process_MODIFIERS
157
158 QP_Modifiers_PVT.Process_MODIFIERS
159 ( p_api_version_number => 1.0
160 , p_init_msg_list => FND_API.G_TRUE
161 , x_return_status => l_return_status
162 , x_msg_count => x_msg_count
163 , x_msg_data => x_msg_data
164 , p_control_rec => l_control_rec
165 , p_MODIFIER_LIST_rec => l_MODIFIER_LIST_rec
166 , x_MODIFIER_LIST_rec => l_x_MODIFIER_LIST_rec
167 , x_MODIFIERS_tbl => l_x_MODIFIERS_tbl
168 , x_QUALIFIERS_tbl => l_x_QUALIFIERS_tbl
169 , x_PRICING_ATTR_tbl => l_x_PRICING_ATTR_tbl
170 );
171
172 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
173 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
174 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
175 RAISE FND_API.G_EXC_ERROR;
176 END IF;
177
178
179 -- Load OUT parameters.
180
181 x_attribute1 := l_x_MODIFIER_LIST_rec.attribute1;
182 x_attribute10 := l_x_MODIFIER_LIST_rec.attribute10;
183 x_attribute11 := l_x_MODIFIER_LIST_rec.attribute11;
184 x_attribute12 := l_x_MODIFIER_LIST_rec.attribute12;
185 x_attribute13 := l_x_MODIFIER_LIST_rec.attribute13;
186 x_attribute14 := l_x_MODIFIER_LIST_rec.attribute14;
187 x_attribute15 := l_x_MODIFIER_LIST_rec.attribute15;
188 x_attribute2 := l_x_MODIFIER_LIST_rec.attribute2;
189 x_attribute3 := l_x_MODIFIER_LIST_rec.attribute3;
190 x_attribute4 := l_x_MODIFIER_LIST_rec.attribute4;
191 x_attribute5 := l_x_MODIFIER_LIST_rec.attribute5;
192 x_attribute6 := l_x_MODIFIER_LIST_rec.attribute6;
193 x_attribute7 := l_x_MODIFIER_LIST_rec.attribute7;
194 x_attribute8 := l_x_MODIFIER_LIST_rec.attribute8;
195 x_attribute9 := l_x_MODIFIER_LIST_rec.attribute9;
196 x_automatic_flag := l_x_MODIFIER_LIST_rec.automatic_flag;
197 x_comments := l_x_MODIFIER_LIST_rec.comments;
198 x_context := l_x_MODIFIER_LIST_rec.context;
199 x_currency_code := l_x_MODIFIER_LIST_rec.currency_code;
200 x_discount_lines_flag := l_x_MODIFIER_LIST_rec.discount_lines_flag;
201 x_end_date_active := l_x_MODIFIER_LIST_rec.end_date_active;
202 x_freight_terms_code := l_x_MODIFIER_LIST_rec.freight_terms_code;
203 x_gsa_indicator := l_x_MODIFIER_LIST_rec.gsa_indicator;
204 x_list_header_id := l_x_MODIFIER_LIST_rec.list_header_id;
205 x_list_type_code := l_x_MODIFIER_LIST_rec.list_type_code;
206 x_prorate_flag := l_x_MODIFIER_LIST_rec.prorate_flag;
207 x_rounding_factor := l_x_MODIFIER_LIST_rec.rounding_factor;
208 x_ship_method_code := l_x_MODIFIER_LIST_rec.ship_method_code;
209 x_start_date_active := l_x_MODIFIER_LIST_rec.start_date_active;
210 x_terms_id := l_x_MODIFIER_LIST_rec.terms_id;
211 x_source_system_code := l_x_MODIFIER_LIST_rec.source_system_code;
212 x_pte_code := l_x_MODIFIER_LIST_rec.pte_code;
213 x_active_flag := l_x_MODIFIER_LIST_rec.active_flag;
214 x_parent_list_header_id := l_x_MODIFIER_LIST_rec.parent_list_header_id;
215 x_start_date_active_first := l_x_MODIFIER_LIST_rec.start_date_active_first;
216 x_end_date_active_first := l_x_MODIFIER_LIST_rec.end_date_active_first;
217 x_active_date_first_type := l_x_MODIFIER_LIST_rec.active_date_first_type;
218 x_start_date_active_second := l_x_MODIFIER_LIST_rec.start_date_active_second;
219 x_global_flag := l_x_MODIFIER_LIST_rec.global_flag;
220 x_end_date_active_second := l_x_MODIFIER_LIST_rec.end_date_active_second;
221 x_active_date_second_type := l_x_MODIFIER_LIST_rec.active_date_second_type;
222 x_ask_for_flag := l_x_MODIFIER_LIST_rec.ask_for_flag;
223 x_name := l_x_MODIFIER_LIST_rec.name;
224 x_description := l_x_MODIFIER_LIST_rec.description;
225 x_version_no := l_x_MODIFIER_LIST_rec.version_no;
226 x_list_source_code := l_x_MODIFIER_LIST_rec.list_source_code;
227 x_orig_system_header_ref := l_x_MODIFIER_LIST_rec.orig_system_header_ref;
228 x_shareable_flag := l_x_MODIFIER_LIST_rec.shareable_flag;
229 --added for MOAC
230 x_org_id := l_x_MODIFIER_LIST_rec.org_id;
231
232
233 -- Load display out parameters if any
234
235 l_MODIFIER_LIST_val_rec := QP_Modifier_List_Util.Get_Values
236 ( p_MODIFIER_LIST_rec => l_x_MODIFIER_LIST_rec
237 );
238 x_automatic := l_MODIFIER_LIST_val_rec.automatic;
239 x_currency := l_MODIFIER_LIST_val_rec.currency;
240 x_discount_lines := l_MODIFIER_LIST_val_rec.discount_lines;
241 x_freight_terms := l_MODIFIER_LIST_val_rec.freight_terms;
242 x_list_header := l_MODIFIER_LIST_val_rec.list_header;
243 x_list_type := l_MODIFIER_LIST_val_rec.list_type;
244 x_prorate := l_MODIFIER_LIST_val_rec.prorate;
245 x_ship_method := l_MODIFIER_LIST_val_rec.ship_method;
246 x_terms := l_MODIFIER_LIST_val_rec.terms;
247
248 -- Write to cache.
249 -- Set db_flag to False before writing to cache
250
251 l_x_MODIFIER_LIST_rec.db_flag := FND_API.G_FALSE;
252
253 Write_MODIFIER_LIST
254 ( p_MODIFIER_LIST_rec => l_x_MODIFIER_LIST_rec
255 );
256
257 -- Set return status.
258
259 x_return_status := FND_API.G_RET_STS_SUCCESS;
260
261 -- Get message count and data
262
263 OE_MSG_PUB.Count_And_Get
264 ( p_count => x_msg_count
265 , p_data => x_msg_data
266 );
267
268
269 EXCEPTION
270
271 WHEN FND_API.G_EXC_ERROR THEN
272
273 x_return_status := FND_API.G_RET_STS_ERROR;
274
275 -- Get message count and data
276
277 OE_MSG_PUB.Count_And_Get
278 ( p_count => x_msg_count
279 , p_data => x_msg_data
280 );
281
282 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
283
284 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
285
286 -- Get message count and data
287
288 OE_MSG_PUB.Count_And_Get
289 ( p_count => x_msg_count
290 , p_data => x_msg_data
291 );
292
293 WHEN OTHERS THEN
294
295 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
296
297 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
298 THEN
299 OE_MSG_PUB.Add_Exc_Msg
300 ( G_PKG_NAME
301 , 'Default_Attributes'
302 );
303 END IF;
304
305 -- Get message count and data
306
307 OE_MSG_PUB.Count_And_Get
308 ( p_count => x_msg_count
309 , p_data => x_msg_data
310 );
311
312 oe_debug_pub.add('END default_attibutes in QPXFMLHB');
313 END Default_Attributes;
314
315 -- Procedure : Change_Attribute
316 --
317
318 PROCEDURE Change_Attribute
319 ( x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
320 , x_msg_count OUT NOCOPY /* file.sql.39 change */ NUMBER
321 , x_msg_data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
322 , p_list_header_id IN NUMBER
323 , p_attr_id IN NUMBER
324 , p_attr_value IN VARCHAR2
325 , p_attribute1 IN VARCHAR2
326 , p_attribute10 IN VARCHAR2
327 , p_attribute11 IN VARCHAR2
328 , p_attribute12 IN VARCHAR2
329 , p_attribute13 IN VARCHAR2
330 , p_attribute14 IN VARCHAR2
331 , p_attribute15 IN VARCHAR2
332 , p_attribute2 IN VARCHAR2
333 , p_attribute3 IN VARCHAR2
334 , p_attribute4 IN VARCHAR2
335 , p_attribute5 IN VARCHAR2
336 , p_attribute6 IN VARCHAR2
337 , p_attribute7 IN VARCHAR2
338 , p_attribute8 IN VARCHAR2
339 , p_attribute9 IN VARCHAR2
340 , p_context IN VARCHAR2
341 , x_attribute1 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
342 , x_attribute10 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
343 , x_attribute11 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
344 , x_attribute12 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
345 , x_attribute13 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
346 , x_attribute14 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
347 , x_attribute15 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
348 , x_attribute2 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
349 , x_attribute3 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
350 , x_attribute4 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
351 , x_attribute5 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
352 , x_attribute6 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
353 , x_attribute7 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
354 , x_attribute8 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
355 , x_attribute9 OUT NOCOPY /* file.sql.39 change */ VARCHAR2
356 , x_automatic_flag OUT NOCOPY /* file.sql.39 change */ VARCHAR2
357 , x_comments OUT NOCOPY /* file.sql.39 change */ VARCHAR2
358 , x_context OUT NOCOPY /* file.sql.39 change */ VARCHAR2
359 , x_currency_code OUT NOCOPY /* file.sql.39 change */ VARCHAR2
360 , x_discount_lines_flag OUT NOCOPY /* file.sql.39 change */ VARCHAR2
361 , x_end_date_active OUT NOCOPY /* file.sql.39 change */ DATE
362 , x_freight_terms_code OUT NOCOPY /* file.sql.39 change */ VARCHAR2
363 , x_gsa_indicator OUT NOCOPY /* file.sql.39 change */ VARCHAR2
364 , x_list_header_id OUT NOCOPY /* file.sql.39 change */ NUMBER
365 , x_list_type_code OUT NOCOPY /* file.sql.39 change */ VARCHAR2
366 , x_prorate_flag OUT NOCOPY /* file.sql.39 change */ VARCHAR2
367 , x_rounding_factor OUT NOCOPY /* file.sql.39 change */ NUMBER
368 , x_ship_method_code OUT NOCOPY /* file.sql.39 change */ VARCHAR2
369 , x_start_date_active OUT NOCOPY /* file.sql.39 change */ DATE
370 , x_terms_id OUT NOCOPY /* file.sql.39 change */ NUMBER
371 , x_source_system_code OUT NOCOPY /* file.sql.39 change */ VARCHAR2
372 , x_pte_code OUT NOCOPY /* file.sql.39 change */ VARCHAR2
373 , x_active_flag OUT NOCOPY /* file.sql.39 change */ VARCHAR2
374 , x_parent_list_header_id OUT NOCOPY /* file.sql.39 change */ NUMBER
375 , x_start_date_active_first OUT NOCOPY /* file.sql.39 change */ DATE
376 , x_end_date_active_first OUT NOCOPY /* file.sql.39 change */ DATE
377 , x_active_date_first_type OUT NOCOPY /* file.sql.39 change */ VARCHAR2
378 , x_start_date_active_second OUT NOCOPY /* file.sql.39 change */ DATE
379 , x_global_flag OUT NOCOPY /* file.sql.39 change */ VARCHAR2
380 , x_end_date_active_second OUT NOCOPY /* file.sql.39 change */ DATE
381 , x_active_date_second_type OUT NOCOPY /* file.sql.39 change */ VARCHAR2
382 , x_automatic OUT NOCOPY /* file.sql.39 change */ VARCHAR2
383 , x_currency OUT NOCOPY /* file.sql.39 change */ VARCHAR2
384 , x_discount_lines OUT NOCOPY /* file.sql.39 change */ VARCHAR2
385 , x_freight_terms OUT NOCOPY /* file.sql.39 change */ VARCHAR2
386 , x_list_header OUT NOCOPY /* file.sql.39 change */ VARCHAR2
387 , x_list_type OUT NOCOPY /* file.sql.39 change */ VARCHAR2
388 , x_prorate OUT NOCOPY /* file.sql.39 change */ VARCHAR2
389 , x_ship_method OUT NOCOPY /* file.sql.39 change */ VARCHAR2
390 , x_terms OUT NOCOPY /* file.sql.39 change */ VARCHAR2
391 , x_ask_for_flag OUT NOCOPY /* file.sql.39 change */ VARCHAR2
392 , x_name OUT NOCOPY /* file.sql.39 change */ VARCHAR2
393 , x_description OUT NOCOPY /* file.sql.39 change */ VARCHAR2
394 , x_version_no OUT NOCOPY /* file.sql.39 change */ VARCHAR2
395 , x_list_source_code OUT NOCOPY /* file.sql.39 change */ VARCHAR2
396 , x_orig_system_header_ref OUT NOCOPY /* file.sql.39 change */ VARCHAR2
397 , x_shareable_flag OUT NOCOPY /* file.sql.39 change */ VARCHAR2
398 --added for MOAC
399 , x_org_id OUT NOCOPY /* file.sql.39 change */ NUMBER
400 )
401 IS
402 l_MODIFIER_LIST_rec QP_Modifiers_PUB.Modifier_List_Rec_Type;
403 l_old_MODIFIER_LIST_rec QP_Modifiers_PUB.Modifier_List_Rec_Type;
404 l_MODIFIER_LIST_val_rec QP_Modifiers_PUB.Modifier_List_Val_Rec_Type;
405 l_control_rec QP_GLOBALS.Control_Rec_Type;
406 l_return_status VARCHAR2(1);
407 l_x_MODIFIER_LIST_rec QP_Modifiers_PUB.Modifier_List_Rec_Type;
408 l_x_MODIFIERS_rec QP_Modifiers_PUB.Modifiers_Rec_Type;
409 l_x_MODIFIERS_tbl QP_Modifiers_PUB.Modifiers_Tbl_Type;
410 l_x_QUALIFIERS_rec QP_Qualifier_Rules_PUB.Qualifiers_Rec_Type;
411 l_x_QUALIFIERS_tbl QP_Qualifier_Rules_PUB.Qualifiers_Tbl_Type;
412 l_x_PRICING_ATTR_rec QP_Modifiers_PUB.Pricing_Attr_Rec_Type;
413 l_x_PRICING_ATTR_tbl QP_Modifiers_PUB.Pricing_Attr_Tbl_Type;
414 BEGIN
415
416 oe_debug_pub.add('BEGIN change_attibutes in QPXFMLHB');
417 OE_Debug_Pub.add(to_char(p_attr_id)||'attr_id');
418 -- Set control flags.
419
420 l_control_rec.controlled_operation := TRUE;
421 l_control_rec.change_attributes := TRUE;
422
423 l_control_rec.default_attributes := FALSE;
424 l_control_rec.validate_entity := FALSE;
425 l_control_rec.write_to_DB := FALSE;
426 l_control_rec.process := FALSE;
427
428 -- Instruct API to retain its caches
429
430 l_control_rec.clear_api_cache := FALSE;
431 l_control_rec.clear_api_requests := FALSE;
432
433 -- Read MODIFIER_LIST from cache
434
435 l_MODIFIER_LIST_rec := Get_MODIFIER_LIST
436 ( p_db_record => FALSE
437 , p_list_header_id => p_list_header_id
438 );
439 OE_debug_Pub.add('returned');
440 l_old_MODIFIER_LIST_rec := l_MODIFIER_LIST_rec;
441
442 IF p_attr_id = QP_Modifier_List_Util.G_AUTOMATIC THEN
443 l_MODIFIER_LIST_rec.automatic_flag := p_attr_value;
444 ELSIF p_attr_id = QP_Modifier_List_Util.G_COMMENTS THEN
445 l_MODIFIER_LIST_rec.comments := p_attr_value;
446 ELSIF p_attr_id = QP_Modifier_List_Util.G_CURRENCY THEN
447 l_MODIFIER_LIST_rec.currency_code := p_attr_value;
448 ELSIF p_attr_id = QP_Modifier_List_Util.G_DISCOUNT_LINES THEN
449 l_MODIFIER_LIST_rec.discount_lines_flag := p_attr_value;
450 ELSIF p_attr_id = QP_Modifier_List_Util.G_END_DATE_ACTIVE THEN
451 l_MODIFIER_LIST_rec.end_date_active := TO_DATE(p_attr_value,'DD/MM/YYYY');
452 ELSIF p_attr_id = QP_Modifier_List_Util.G_FREIGHT_TERMS THEN
453 l_MODIFIER_LIST_rec.freight_terms_code := p_attr_value;
454 ELSIF p_attr_id = QP_Modifier_List_Util.G_GSA_INDICATOR THEN
455 l_MODIFIER_LIST_rec.gsa_indicator := p_attr_value;
456 ELSIF p_attr_id = QP_Modifier_List_Util.G_LIST_HEADER THEN
457 l_MODIFIER_LIST_rec.list_header_id := TO_NUMBER(p_attr_value);
458 ELSIF p_attr_id = QP_Modifier_List_Util.G_LIST_TYPE THEN
459 l_MODIFIER_LIST_rec.list_type_code := p_attr_value;
460 ELSIF p_attr_id = QP_Modifier_List_Util.G_PRORATE THEN
461 l_MODIFIER_LIST_rec.prorate_flag := p_attr_value;
462 ELSIF p_attr_id = QP_Modifier_List_Util.G_ROUNDING_FACTOR THEN
463 l_MODIFIER_LIST_rec.rounding_factor := TO_NUMBER(p_attr_value);
464 ELSIF p_attr_id = QP_Modifier_List_Util.G_SHIP_METHOD THEN
465 l_MODIFIER_LIST_rec.ship_method_code := p_attr_value;
466 ELSIF p_attr_id = QP_Modifier_List_Util.G_START_DATE_ACTIVE THEN
467 l_MODIFIER_LIST_rec.start_date_active := TO_DATE(p_attr_value,'DD/MM/YYYY');
468 ELSIF p_attr_id = QP_Modifier_List_Util.G_TERMS THEN
469 l_MODIFIER_LIST_rec.terms_id := TO_NUMBER(p_attr_value);
470 ELSIF p_attr_id = QP_Modifier_List_Util.G_NAME THEN
471 l_MODIFIER_LIST_rec.name := p_attr_value;
472 ELSIF p_attr_id = QP_Modifier_List_Util.G_DESCRIPTION THEN
473 l_MODIFIER_LIST_rec.Description := p_attr_value;
474 ELSIF p_attr_id = QP_Modifier_List_Util.G_VERSION_NO THEN
475 l_MODIFIER_LIST_rec.Version_no := p_attr_value;
476 ELSIF p_attr_id = QP_Modifier_List_Util.G_PARENT_LIST_HEADER_ID THEN
477 l_MODIFIER_LIST_rec.Parent_list_header_id := TO_NUMBER(p_attr_value);
478 ELSIF p_attr_id = QP_Modifier_List_Util.G_ACTIVE_FLAG THEN
479 l_MODIFIER_LIST_rec.active_flag := p_attr_value;
480 ELSIF p_attr_id = QP_Modifier_List_Util.G_START_DATE_ACTIVE_FIRST THEN
481 l_MODIFIER_LIST_rec.start_date_active_first := TO_DATE(p_attr_value,'DD/MM/YYYY');
482 ELSIF p_attr_id = QP_Modifier_List_Util.G_END_DATE_ACTIVE_FIRST THEN
483 l_MODIFIER_LIST_rec.end_date_active_first := TO_DATE(p_attr_value,'DD/MM/YYYY');
484 ELSIF p_attr_id = QP_Modifier_List_Util.G_START_DATE_ACTIVE_SECOND THEN
485 l_MODIFIER_LIST_rec.start_date_active_second := TO_DATE(p_attr_value,'DD/MM/YYYY');
486 ELSIF p_attr_id = QP_Modifier_List_Util.G_GLOBAL_FLAG THEN
487 l_MODIFIER_LIST_rec.global_flag := p_attr_value;
488 ELSIF p_attr_id = QP_Modifier_List_Util.G_END_DATE_ACTIVE_SECOND THEN
489 l_MODIFIER_LIST_rec.end_date_active_second := TO_DATE(p_attr_value,'DD/MM/YYYY');
490 ELSIF p_attr_id = QP_Modifier_List_Util.G_ACTIVE_DATE_FIRST_TYPE THEN
491 l_MODIFIER_LIST_rec.active_date_first_type := p_attr_value;
492 ELSIF p_attr_id = QP_Modifier_List_Util.G_ACTIVE_DATE_SECOND_TYPE THEN
493 l_MODIFIER_LIST_rec.active_date_second_type := p_attr_value;
494 ELSIF p_attr_id = QP_Modifier_List_Util.G_ASK_FOR THEN
495 l_MODIFIER_LIST_rec.ask_for_flag := p_attr_value;
496 -- Blanket Agreement
497 ELSIF p_attr_id = QP_Modifier_List_Util.G_SOURCE_SYSTEM_CODE THEN
498 l_MODIFIER_LIST_rec.source_system_code := p_attr_value;
499 ELSIF p_attr_id = QP_Modifier_List_Util.G_PTE_CODE THEN
500 l_MODIFIER_LIST_rec.pte_code := p_attr_value;
501 ELSIF p_attr_id = QP_Modifier_List_Util.G_LIST_SOURCE_CODE THEN
502 l_MODIFIER_LIST_rec.list_source_code := p_attr_value;
503 ELSIF p_attr_id = QP_Modifier_List_Util.G_ORIG_SYSTEM_HEADER_REF THEN
504 l_MODIFIER_LIST_rec.orig_system_header_ref := p_attr_value;
505 ELSIF p_attr_id = QP_Modifier_List_Util.G_SHAREABLE_FLAG THEN
506 l_MODIFIER_LIST_rec.shareable_flag := p_attr_value;
507 --added for MOAC
508 ELSIF p_attr_id = QP_Modifier_List_Util.G_ORG_ID THEN
509 l_MODIFIER_LIST_rec.org_id := p_attr_value;
510 ELSIF p_attr_id = QP_Modifier_List_Util.G_ATTRIBUTE1
511 OR p_attr_id = QP_Modifier_List_Util.G_ATTRIBUTE10
512 OR p_attr_id = QP_Modifier_List_Util.G_ATTRIBUTE11
513 OR p_attr_id = QP_Modifier_List_Util.G_ATTRIBUTE12
514 OR p_attr_id = QP_Modifier_List_Util.G_ATTRIBUTE13
515 OR p_attr_id = QP_Modifier_List_Util.G_ATTRIBUTE14
516 OR p_attr_id = QP_Modifier_List_Util.G_ATTRIBUTE15
517 OR p_attr_id = QP_Modifier_List_Util.G_ATTRIBUTE2
518 OR p_attr_id = QP_Modifier_List_Util.G_ATTRIBUTE3
519 OR p_attr_id = QP_Modifier_List_Util.G_ATTRIBUTE4
520 OR p_attr_id = QP_Modifier_List_Util.G_ATTRIBUTE5
521 OR p_attr_id = QP_Modifier_List_Util.G_ATTRIBUTE6
522 OR p_attr_id = QP_Modifier_List_Util.G_ATTRIBUTE7
523 OR p_attr_id = QP_Modifier_List_Util.G_ATTRIBUTE8
524 OR p_attr_id = QP_Modifier_List_Util.G_ATTRIBUTE9
525 OR p_attr_id = QP_Modifier_List_Util.G_CONTEXT
526 THEN
527
528 l_MODIFIER_LIST_rec.attribute1 := p_attribute1;
529 l_MODIFIER_LIST_rec.attribute10 := p_attribute10;
530 l_MODIFIER_LIST_rec.attribute11 := p_attribute11;
531 l_MODIFIER_LIST_rec.attribute12 := p_attribute12;
532 l_MODIFIER_LIST_rec.attribute13 := p_attribute13;
533 l_MODIFIER_LIST_rec.attribute14 := p_attribute14;
534 l_MODIFIER_LIST_rec.attribute15 := p_attribute15;
535 l_MODIFIER_LIST_rec.attribute2 := p_attribute2;
536 l_MODIFIER_LIST_rec.attribute3 := p_attribute3;
537 l_MODIFIER_LIST_rec.attribute4 := p_attribute4;
538 l_MODIFIER_LIST_rec.attribute5 := p_attribute5;
539 l_MODIFIER_LIST_rec.attribute6 := p_attribute6;
540 l_MODIFIER_LIST_rec.attribute7 := p_attribute7;
541 l_MODIFIER_LIST_rec.attribute8 := p_attribute8;
542 l_MODIFIER_LIST_rec.attribute9 := p_attribute9;
543 l_MODIFIER_LIST_rec.context := p_context;
544
545 ELSE
546
547 OE_debug_Pub.add('else returned');
548 -- Unexpected error, unrecognized attribute
549
550 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
551 THEN
552 OE_MSG_PUB.Add_Exc_Msg
553 ( G_PKG_NAME
554 , 'Change_Attribute'
555 , 'Unrecognized attribute'
556 );
557 END IF;
558
559 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
560
561 END IF;
562
563 -- Set Operation.
564
565 IF FND_API.To_Boolean(l_MODIFIER_LIST_rec.db_flag) THEN
566 l_MODIFIER_LIST_rec.operation := QP_GLOBALS.G_OPR_UPDATE;
567 ELSE
568 l_MODIFIER_LIST_rec.operation := QP_GLOBALS.G_OPR_CREATE;
569 END IF;
570
571 -- Call QP_Modifiers_PVT.Process_MODIFIERS
572
573 oe_debug_pub.add('name in QPXF = ' || l_MODIFIER_LIST_rec.name);
574 oe_debug_pub.add('curr in QPXF = ' || l_MODIFIER_LIST_rec.currency_code);
575
576 QP_Modifiers_PVT.Process_MODIFIERS
577 ( p_api_version_number => 1.0
578 , p_init_msg_list => FND_API.G_TRUE
579 , p_validation_level => FND_API.G_VALID_LEVEL_NONE
580 , x_return_status => l_return_status
581 , x_msg_count => x_msg_count
582 , x_msg_data => x_msg_data
583 , p_control_rec => l_control_rec
584 , p_MODIFIER_LIST_rec => l_MODIFIER_LIST_rec
585 , p_old_MODIFIER_LIST_rec => l_old_MODIFIER_LIST_rec
586 , x_MODIFIER_LIST_rec => l_x_MODIFIER_LIST_rec
587 , x_MODIFIERS_tbl => l_x_MODIFIERS_tbl
588 , x_QUALIFIERS_tbl => l_x_QUALIFIERS_tbl
589 , x_PRICING_ATTR_tbl => l_x_PRICING_ATTR_tbl
590 );
591
592 oe_debug_pub.add('name after QPXF = ' || l_x_MODIFIER_LIST_rec.name);
593 oe_debug_pub.add('curr after QPXF = ' || l_x_MODIFIER_LIST_rec.currency_code);
594
595 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
596 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
597 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
598 RAISE FND_API.G_EXC_ERROR;
599 END IF;
600
601
602 -- Init OUT parameters to missing.
603
604 x_attribute1 := FND_API.G_MISS_CHAR;
605 x_attribute10 := FND_API.G_MISS_CHAR;
606 x_attribute11 := FND_API.G_MISS_CHAR;
607 x_attribute12 := FND_API.G_MISS_CHAR;
608 x_attribute13 := FND_API.G_MISS_CHAR;
609 x_attribute14 := FND_API.G_MISS_CHAR;
610 x_attribute15 := FND_API.G_MISS_CHAR;
611 x_attribute2 := FND_API.G_MISS_CHAR;
612 x_attribute3 := FND_API.G_MISS_CHAR;
613 x_attribute4 := FND_API.G_MISS_CHAR;
614 x_attribute5 := FND_API.G_MISS_CHAR;
615 x_attribute6 := FND_API.G_MISS_CHAR;
616 x_attribute7 := FND_API.G_MISS_CHAR;
617 x_attribute8 := FND_API.G_MISS_CHAR;
618 x_attribute9 := FND_API.G_MISS_CHAR;
619 x_automatic_flag := FND_API.G_MISS_CHAR;
620 x_comments := FND_API.G_MISS_CHAR;
621 x_context := FND_API.G_MISS_CHAR;
622 x_currency_code := FND_API.G_MISS_CHAR;
623 x_discount_lines_flag := FND_API.G_MISS_CHAR;
624 x_end_date_active := FND_API.G_MISS_DATE;
625 x_freight_terms_code := FND_API.G_MISS_CHAR;
626 x_gsa_indicator := FND_API.G_MISS_CHAR;
627 x_list_header_id := FND_API.G_MISS_NUM;
628 x_list_type_code := FND_API.G_MISS_CHAR;
629 x_prorate_flag := FND_API.G_MISS_CHAR;
630 x_rounding_factor := FND_API.G_MISS_NUM;
631 x_ship_method_code := FND_API.G_MISS_CHAR;
632 x_start_date_active := FND_API.G_MISS_DATE;
633 x_terms_id := FND_API.G_MISS_NUM;
634 x_source_system_code := FND_API.G_MISS_CHAR;
635 x_pte_code := FND_API.G_MISS_CHAR;
636 x_active_flag := FND_API.G_MISS_CHAR;
637 x_parent_list_header_id := FND_API.G_MISS_NUM;
638 x_start_date_active_first := FND_API.G_MISS_DATE;
639 x_end_date_active_first := FND_API.G_MISS_DATE;
640 x_active_date_first_type := FND_API.G_MISS_CHAR;
641 x_start_date_active_second := FND_API.G_MISS_DATE;
642 x_global_flag := FND_API.G_MISS_CHAR;
643 x_end_date_active_second := FND_API.G_MISS_DATE;
644 x_active_date_second_type := FND_API.G_MISS_CHAR;
645 x_automatic := FND_API.G_MISS_CHAR;
646 x_currency := FND_API.G_MISS_CHAR;
647 x_discount_lines := FND_API.G_MISS_CHAR;
648 x_freight_terms := FND_API.G_MISS_CHAR;
649 x_list_header := FND_API.G_MISS_CHAR;
650 x_list_type := FND_API.G_MISS_CHAR;
651 x_prorate := FND_API.G_MISS_CHAR;
652 x_ship_method := FND_API.G_MISS_CHAR;
653 x_terms := FND_API.G_MISS_CHAR;
654 x_ask_for_flag := FND_API.G_MISS_CHAR;
655 x_name := FND_API.G_MISS_CHAR;
656 x_description := FND_API.G_MISS_CHAR;
657 x_version_no := FND_API.G_MISS_CHAR;
658 x_list_source_code := FND_API.G_MISS_CHAR;
659 x_orig_system_header_ref := FND_API.G_MISS_CHAR;
660 x_shareable_flag := FND_API.G_MISS_CHAR;
661 --added for MOAC
662 x_org_id := FND_API.G_MISS_NUM;
663
664 -- Load display out parameters if any
665
666 l_MODIFIER_LIST_val_rec := QP_Modifier_List_Util.Get_Values
667 ( p_MODIFIER_LIST_rec => l_x_MODIFIER_LIST_rec
668 , p_old_MODIFIER_LIST_rec => l_MODIFIER_LIST_rec
669 );
670
671 -- Return changed attributes.
672
673 IF NOT QP_GLOBALS.Equal(l_x_MODIFIER_LIST_rec.attribute1,
674 l_MODIFIER_LIST_rec.attribute1)
675 THEN
676 x_attribute1 := l_x_MODIFIER_LIST_rec.attribute1;
677 END IF;
678
679 IF NOT QP_GLOBALS.Equal(l_x_MODIFIER_LIST_rec.attribute10,
680 l_MODIFIER_LIST_rec.attribute10)
681 THEN
682 x_attribute10 := l_x_MODIFIER_LIST_rec.attribute10;
683 END IF;
684
685 IF NOT QP_GLOBALS.Equal(l_x_MODIFIER_LIST_rec.attribute11,
686 l_MODIFIER_LIST_rec.attribute11)
687 THEN
688 x_attribute11 := l_x_MODIFIER_LIST_rec.attribute11;
689 END IF;
690
691 IF NOT QP_GLOBALS.Equal(l_x_MODIFIER_LIST_rec.attribute12,
692 l_MODIFIER_LIST_rec.attribute12)
693 THEN
694 x_attribute12 := l_x_MODIFIER_LIST_rec.attribute12;
695 END IF;
696
697 IF NOT QP_GLOBALS.Equal(l_x_MODIFIER_LIST_rec.attribute13,
698 l_MODIFIER_LIST_rec.attribute13)
699 THEN
700 x_attribute13 := l_x_MODIFIER_LIST_rec.attribute13;
701 END IF;
702
703 IF NOT QP_GLOBALS.Equal(l_x_MODIFIER_LIST_rec.attribute14,
704 l_MODIFIER_LIST_rec.attribute14)
705 THEN
706 x_attribute14 := l_x_MODIFIER_LIST_rec.attribute14;
707 END IF;
708
709 IF NOT QP_GLOBALS.Equal(l_x_MODIFIER_LIST_rec.attribute15,
710 l_MODIFIER_LIST_rec.attribute15)
711 THEN
712 x_attribute15 := l_x_MODIFIER_LIST_rec.attribute15;
713 END IF;
714
715 IF NOT QP_GLOBALS.Equal(l_x_MODIFIER_LIST_rec.attribute2,
716 l_MODIFIER_LIST_rec.attribute2)
717 THEN
718 x_attribute2 := l_x_MODIFIER_LIST_rec.attribute2;
719 END IF;
720
721 IF NOT QP_GLOBALS.Equal(l_x_MODIFIER_LIST_rec.attribute3,
722 l_MODIFIER_LIST_rec.attribute3)
723 THEN
724 x_attribute3 := l_x_MODIFIER_LIST_rec.attribute3;
725 END IF;
726
727 IF NOT QP_GLOBALS.Equal(l_x_MODIFIER_LIST_rec.attribute4,
728 l_MODIFIER_LIST_rec.attribute4)
729 THEN
730 x_attribute4 := l_x_MODIFIER_LIST_rec.attribute4;
731 END IF;
732
733 IF NOT QP_GLOBALS.Equal(l_x_MODIFIER_LIST_rec.attribute5,
734 l_MODIFIER_LIST_rec.attribute5)
735 THEN
736 x_attribute5 := l_x_MODIFIER_LIST_rec.attribute5;
737 END IF;
738
739 IF NOT QP_GLOBALS.Equal(l_x_MODIFIER_LIST_rec.attribute6,
740 l_MODIFIER_LIST_rec.attribute6)
741 THEN
742 x_attribute6 := l_x_MODIFIER_LIST_rec.attribute6;
743 END IF;
744
745 IF NOT QP_GLOBALS.Equal(l_x_MODIFIER_LIST_rec.attribute7,
746 l_MODIFIER_LIST_rec.attribute7)
747 THEN
748 x_attribute7 := l_x_MODIFIER_LIST_rec.attribute7;
749 END IF;
750
751 IF NOT QP_GLOBALS.Equal(l_x_MODIFIER_LIST_rec.attribute8,
752 l_MODIFIER_LIST_rec.attribute8)
753 THEN
754 x_attribute8 := l_x_MODIFIER_LIST_rec.attribute8;
755 END IF;
756
757 IF NOT QP_GLOBALS.Equal(l_x_MODIFIER_LIST_rec.attribute9,
758 l_MODIFIER_LIST_rec.attribute9)
759 THEN
760 x_attribute9 := l_x_MODIFIER_LIST_rec.attribute9;
761 END IF;
762
763 IF NOT QP_GLOBALS.Equal(l_x_MODIFIER_LIST_rec.automatic_flag,
764 l_MODIFIER_LIST_rec.automatic_flag)
765 THEN
766 x_automatic_flag := l_x_MODIFIER_LIST_rec.automatic_flag;
767 x_automatic := l_MODIFIER_LIST_val_rec.automatic;
768 END IF;
769
770 IF NOT QP_GLOBALS.Equal(l_x_MODIFIER_LIST_rec.comments,
771 l_MODIFIER_LIST_rec.comments)
772 THEN
773 x_comments := l_x_MODIFIER_LIST_rec.comments;
774 END IF;
775
776 IF NOT QP_GLOBALS.Equal(l_x_MODIFIER_LIST_rec.context,
777 l_MODIFIER_LIST_rec.context)
778 THEN
779 x_context := l_x_MODIFIER_LIST_rec.context;
780 END IF;
781
782 IF NOT QP_GLOBALS.Equal(l_x_MODIFIER_LIST_rec.currency_code,
783 l_MODIFIER_LIST_rec.currency_code)
784 THEN
785 x_currency_code := l_x_MODIFIER_LIST_rec.currency_code;
786 x_currency := l_MODIFIER_LIST_val_rec.currency;
787 END IF;
788
789 IF NOT QP_GLOBALS.Equal(l_x_MODIFIER_LIST_rec.discount_lines_flag,
790 l_MODIFIER_LIST_rec.discount_lines_flag)
791 THEN
792 x_discount_lines_flag := l_x_MODIFIER_LIST_rec.discount_lines_flag;
793 x_discount_lines := l_MODIFIER_LIST_val_rec.discount_lines;
794 END IF;
795
796 IF NOT QP_GLOBALS.Equal(l_x_MODIFIER_LIST_rec.end_date_active,
797 l_MODIFIER_LIST_rec.end_date_active)
798 THEN
799 x_end_date_active := l_x_MODIFIER_LIST_rec.end_date_active;
800 END IF;
801
802 IF NOT QP_GLOBALS.Equal(l_x_MODIFIER_LIST_rec.freight_terms_code,
803 l_MODIFIER_LIST_rec.freight_terms_code)
804 THEN
805 x_freight_terms_code := l_x_MODIFIER_LIST_rec.freight_terms_code;
806 x_freight_terms := l_MODIFIER_LIST_val_rec.freight_terms;
807 END IF;
808
809 IF NOT QP_GLOBALS.Equal(l_x_MODIFIER_LIST_rec.gsa_indicator,
810 l_MODIFIER_LIST_rec.gsa_indicator)
811 THEN
812 x_gsa_indicator := l_x_MODIFIER_LIST_rec.gsa_indicator;
813 END IF;
814
815 IF NOT QP_GLOBALS.Equal(l_x_MODIFIER_LIST_rec.list_header_id,
816 l_MODIFIER_LIST_rec.list_header_id)
817 THEN
818 x_list_header_id := l_x_MODIFIER_LIST_rec.list_header_id;
819 x_list_header := l_MODIFIER_LIST_val_rec.list_header;
820 END IF;
821
822 IF NOT QP_GLOBALS.Equal(l_x_MODIFIER_LIST_rec.list_type_code,
823 l_MODIFIER_LIST_rec.list_type_code)
824 THEN
825 x_list_type_code := l_x_MODIFIER_LIST_rec.list_type_code;
826 x_list_type := l_MODIFIER_LIST_val_rec.list_type;
827 END IF;
828
829 IF NOT QP_GLOBALS.Equal(l_x_MODIFIER_LIST_rec.prorate_flag,
830 l_MODIFIER_LIST_rec.prorate_flag)
831 THEN
832 x_prorate_flag := l_x_MODIFIER_LIST_rec.prorate_flag;
833 x_prorate := l_MODIFIER_LIST_val_rec.prorate;
834 END IF;
835
836 IF NOT QP_GLOBALS.Equal(l_x_MODIFIER_LIST_rec.rounding_factor,
837 l_MODIFIER_LIST_rec.rounding_factor)
838 THEN
839 x_rounding_factor := l_x_MODIFIER_LIST_rec.rounding_factor;
840 END IF;
841
842 IF NOT QP_GLOBALS.Equal(l_x_MODIFIER_LIST_rec.ship_method_code,
843 l_MODIFIER_LIST_rec.ship_method_code)
844 THEN
845 x_ship_method_code := l_x_MODIFIER_LIST_rec.ship_method_code;
846 x_ship_method := l_MODIFIER_LIST_val_rec.ship_method;
847 END IF;
848
849 IF NOT QP_GLOBALS.Equal(l_x_MODIFIER_LIST_rec.start_date_active,
850 l_MODIFIER_LIST_rec.start_date_active)
851 THEN
852 x_start_date_active := l_x_MODIFIER_LIST_rec.start_date_active;
853 END IF;
854
855 IF NOT QP_GLOBALS.Equal(l_x_MODIFIER_LIST_rec.terms_id,
856 l_MODIFIER_LIST_rec.terms_id)
857 THEN
858 x_terms_id := l_x_MODIFIER_LIST_rec.terms_id;
859 x_terms := l_MODIFIER_LIST_val_rec.terms;
860 END IF;
861
862 IF NOT QP_GLOBALS.Equal(l_x_MODIFIER_LIST_rec.source_system_code,
863 l_MODIFIER_LIST_rec.source_system_code)
864 THEN
865 x_source_system_code := l_x_MODIFIER_LIST_rec.source_system_code;
866 END IF;
867
868 IF NOT QP_GLOBALS.Equal(l_x_MODIFIER_LIST_rec.pte_code,
869 l_MODIFIER_LIST_rec.pte_code)
870 THEN
871 x_pte_code := l_x_MODIFIER_LIST_rec.pte_code;
872 END IF;
873
874 IF NOT QP_GLOBALS.Equal(l_x_MODIFIER_LIST_rec.active_flag,
875 l_MODIFIER_LIST_rec.active_flag)
876 THEN
877 x_active_flag := l_x_MODIFIER_LIST_rec.active_flag;
878 END IF;
879
880 IF NOT QP_GLOBALS.Equal(l_x_MODIFIER_LIST_rec.parent_list_header_id,
881 l_MODIFIER_LIST_rec.parent_list_header_id)
882 THEN
883 x_parent_list_header_id := l_x_MODIFIER_LIST_rec.parent_list_header_id;
884 END IF;
885
886 IF NOT QP_GLOBALS.Equal(l_x_MODIFIER_LIST_rec.start_date_active_first,
887 l_MODIFIER_LIST_rec.start_date_active_first)
888 THEN
889 x_start_date_active_first := l_x_MODIFIER_LIST_rec.start_date_active_first;
890 END IF;
891
892 IF NOT QP_GLOBALS.Equal(l_x_MODIFIER_LIST_rec.end_date_active_first,
893 l_MODIFIER_LIST_rec.end_date_active_first)
894 THEN
895 x_end_date_active_first := l_x_MODIFIER_LIST_rec.end_date_active_first;
896 END IF;
897
898 IF NOT QP_GLOBALS.Equal(l_x_MODIFIER_LIST_rec.active_date_first_type,
899 l_MODIFIER_LIST_rec.active_date_first_type)
900 THEN
901 x_active_date_first_type := l_x_MODIFIER_LIST_rec.active_date_first_type;
902 END IF;
903
904 IF NOT QP_GLOBALS.Equal(l_x_MODIFIER_LIST_rec.start_date_active_second,
905 l_MODIFIER_LIST_rec.start_date_active_second)
906 THEN
907 x_start_date_active_second := l_x_MODIFIER_LIST_rec.start_date_active_second;
908 END IF;
909
910 IF NOT QP_GLOBALS.Equal(l_x_MODIFIER_LIST_rec.global_flag,
911 l_MODIFIER_LIST_rec.global_flag)
912 THEN
913 x_global_flag := l_x_MODIFIER_LIST_rec.global_flag;
914 END IF;
915
916
917 IF NOT QP_GLOBALS.Equal(l_x_MODIFIER_LIST_rec.end_date_active_second,
918 l_MODIFIER_LIST_rec.end_date_active_second)
919 THEN
920 x_end_date_active_second := l_x_MODIFIER_LIST_rec.end_date_active_second;
921 END IF;
922
923 IF NOT QP_GLOBALS.Equal(l_x_MODIFIER_LIST_rec.active_date_second_type,
924 l_MODIFIER_LIST_rec.active_date_second_type)
925 THEN
926 x_active_date_second_type := l_x_MODIFIER_LIST_rec.active_date_second_type;
927 END IF;
928
929 IF NOT QP_GLOBALS.Equal(l_x_MODIFIER_LIST_rec.ask_for_flag,
930 l_MODIFIER_LIST_rec.ask_for_flag)
931 THEN
932 x_ask_for_flag := l_x_MODIFIER_LIST_rec.ask_for_flag;
933 END IF;
934
935 IF NOT QP_GLOBALS.Equal(l_x_MODIFIER_LIST_rec.name,
936 l_MODIFIER_LIST_rec.name)
937 THEN
938 x_name := l_x_MODIFIER_LIST_rec.name;
939 END IF;
940
941 IF NOT QP_GLOBALS.Equal(l_x_MODIFIER_LIST_rec.description,
942 l_MODIFIER_LIST_rec.description)
943 THEN
944 x_description := l_x_MODIFIER_LIST_rec.description;
945 END IF;
946
947 IF NOT QP_GLOBALS.Equal(l_x_MODIFIER_LIST_rec.version_no,
948 l_MODIFIER_LIST_rec.version_no)
949 THEN
950 x_version_no := l_x_MODIFIER_LIST_rec.version_no;
951 END IF;
952
953 IF NOT QP_GLOBALS.Equal (l_x_MODIFIER_LIST_rec.list_source_code,
954 l_MODIFIER_LIST_rec.list_source_code)
955 THEN
956 x_list_source_code := l_x_MODIFIER_LIST_rec.list_source_code;
957 END IF;
958
959 IF NOT QP_GLOBALS.Equal (l_x_MODIFIER_LIST_rec.orig_system_header_ref,
960 l_MODIFIER_LIST_rec.orig_system_header_ref)
961 THEN
962 x_orig_system_header_ref := l_x_MODIFIER_LIST_rec.orig_system_header_ref;
963 END IF;
964
965 IF NOT QP_GLOBALS.Equal (l_x_MODIFIER_LIST_rec.shareable_flag,
966 l_MODIFIER_LIST_rec.shareable_flag)
967 THEN
968 x_shareable_flag := l_x_MODIFIER_LIST_rec.shareable_flag;
969 END IF;
970
971 --added for MOAC
972 IF NOT QP_GLOBALS.Equal (l_x_MODIFIER_LIST_rec.org_id,
973 l_MODIFIER_LIST_rec.org_id)
974 THEN
975 x_org_id := l_x_MODIFIER_LIST_rec.org_id;
976 END IF;
977
978 -- Write to cache.
979
980 Write_MODIFIER_LIST
981 ( p_MODIFIER_LIST_rec => l_x_MODIFIER_LIST_rec
982 );
983
984 -- Set return status.
985
986 x_return_status := FND_API.G_RET_STS_SUCCESS;
987
988 -- Get message count and data
989
990 OE_MSG_PUB.Count_And_Get
991 ( p_count => x_msg_count
992 , p_data => x_msg_data
993 );
994
995 oe_debug_pub.add('End change_attibutes in QPXFMLHB');
996
997 EXCEPTION
998
999 WHEN FND_API.G_EXC_ERROR THEN
1000
1001 x_return_status := FND_API.G_RET_STS_ERROR;
1002
1003 -- Get message count and data
1004
1005 OE_MSG_PUB.Count_And_Get
1006 ( p_count => x_msg_count
1007 , p_data => x_msg_data
1008 );
1009
1010 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1011
1012 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1013
1014 -- Get message count and data
1015
1016 OE_MSG_PUB.Count_And_Get
1017 ( p_count => x_msg_count
1018 , p_data => x_msg_data
1019 );
1020
1021 WHEN OTHERS THEN
1022
1023 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1024
1025 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1026 THEN
1027 OE_MSG_PUB.Add_Exc_Msg
1028 ( G_PKG_NAME
1029 , 'Change_Attribute'
1030 );
1031 END IF;
1032
1033 -- Get message count and data
1034
1035 OE_MSG_PUB.Count_And_Get
1036 ( p_count => x_msg_count
1037 , p_data => x_msg_data
1038 );
1039
1040 oe_debug_pub.add('Exp change_attibutes in QPXFMLHB');
1041 END Change_Attribute;
1042
1043 -- Procedure Validate_And_Write
1044 --
1045
1046 PROCEDURE Validate_And_Write
1047 ( x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1048 , x_msg_count OUT NOCOPY /* file.sql.39 change */ NUMBER
1049 , x_msg_data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1050 , p_list_header_id IN NUMBER
1051 , x_creation_date OUT NOCOPY /* file.sql.39 change */ DATE
1052 , x_created_by OUT NOCOPY /* file.sql.39 change */ NUMBER
1053 , x_last_update_date OUT NOCOPY /* file.sql.39 change */ DATE
1054 , x_last_updated_by OUT NOCOPY /* file.sql.39 change */ NUMBER
1055 , x_last_update_login OUT NOCOPY /* file.sql.39 change */ NUMBER
1056 )
1057 IS
1058 l_MODIFIER_LIST_rec QP_Modifiers_PUB.Modifier_List_Rec_Type;
1059 l_old_MODIFIER_LIST_rec QP_Modifiers_PUB.Modifier_List_Rec_Type;
1060 l_control_rec QP_GLOBALS.Control_Rec_Type;
1061 l_return_status VARCHAR2(1);
1062 l_x_MODIFIER_LIST_rec QP_Modifiers_PUB.Modifier_List_Rec_Type;
1063 l_x_MODIFIERS_rec QP_Modifiers_PUB.Modifiers_Rec_Type;
1064 l_x_MODIFIERS_tbl QP_Modifiers_PUB.Modifiers_Tbl_Type;
1065 l_x_QUALIFIERS_rec QP_Qualifier_Rules_PUB.Qualifiers_Rec_Type;
1066 l_x_QUALIFIERS_tbl QP_Qualifier_Rules_PUB.Qualifiers_Tbl_Type;
1067 l_x_PRICING_ATTR_rec QP_Modifiers_PUB.Pricing_Attr_Rec_Type;
1068 l_x_PRICING_ATTR_tbl QP_Modifiers_PUB.Pricing_Attr_Tbl_Type;
1069 BEGIN
1070
1071 oe_debug_pub.add('BEGIN validate_and_write in QPXFMLHB');
1072 -- Set control flags.
1073
1074 l_control_rec.controlled_operation := TRUE;
1075 l_control_rec.validate_entity := TRUE;
1076 l_control_rec.write_to_DB := TRUE;
1077
1078 l_control_rec.default_attributes := FALSE;
1079 l_control_rec.change_attributes := FALSE;
1080 l_control_rec.process := FALSE;
1081
1082 -- Instruct API to retain its caches
1083
1084 l_control_rec.clear_api_cache := FALSE;
1085 l_control_rec.clear_api_requests := FALSE;
1086
1087 -- Read MODIFIER_LIST from cache
1088
1089 l_old_MODIFIER_LIST_rec := Get_MODIFIER_LIST
1090 ( p_db_record => TRUE
1091 , p_list_header_id => p_list_header_id
1092 );
1093
1094 l_MODIFIER_LIST_rec := Get_MODIFIER_LIST
1095 ( p_db_record => FALSE
1096 , p_list_header_id => p_list_header_id
1097 );
1098
1099 -- Set Operation.
1100
1101 IF FND_API.To_Boolean(l_MODIFIER_LIST_rec.db_flag) THEN
1102 l_MODIFIER_LIST_rec.operation := QP_GLOBALS.G_OPR_UPDATE;
1103 ELSE
1104 l_MODIFIER_LIST_rec.operation := QP_GLOBALS.G_OPR_CREATE;
1105 END IF;
1106
1107 -- Call QP_Modifiers_PVT.Process_MODIFIERS
1108
1109 QP_Modifiers_PVT.Process_MODIFIERS
1110 ( p_api_version_number => 1.0
1111 , p_init_msg_list => FND_API.G_TRUE
1112 , x_return_status => l_return_status
1113 , x_msg_count => x_msg_count
1114 , x_msg_data => x_msg_data
1115 , p_control_rec => l_control_rec
1116 , p_MODIFIER_LIST_rec => l_MODIFIER_LIST_rec
1117 , p_old_MODIFIER_LIST_rec => l_old_MODIFIER_LIST_rec
1118 , x_MODIFIER_LIST_rec => l_x_MODIFIER_LIST_rec
1119 , x_MODIFIERS_tbl => l_x_MODIFIERS_tbl
1120 , x_QUALIFIERS_tbl => l_x_QUALIFIERS_tbl
1121 , x_PRICING_ATTR_tbl => l_x_PRICING_ATTR_tbl
1122 );
1123
1124 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1125 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1126 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1127 RAISE FND_API.G_EXC_ERROR;
1128 END IF;
1129
1130
1131 -- Load OUT parameters.
1132
1133
1134 x_creation_date := l_x_MODIFIER_LIST_rec.creation_date;
1135 x_created_by := l_x_MODIFIER_LIST_rec.created_by;
1136 x_last_update_date := l_x_MODIFIER_LIST_rec.last_update_date;
1137 x_last_updated_by := l_x_MODIFIER_LIST_rec.last_updated_by;
1138 x_last_update_login := l_x_MODIFIER_LIST_rec.last_update_login;
1139
1140 -- Clear MODIFIER_LIST record cache
1141
1142 Clear_MODIFIER_LIST;
1143
1144 -- Keep track of performed operations.
1145
1146 l_old_MODIFIER_LIST_rec.operation := l_MODIFIER_LIST_rec.operation;
1147
1148
1149 -- Set return status.
1150
1151 x_return_status := FND_API.G_RET_STS_SUCCESS;
1152
1153 -- Get message count and data
1154
1155 OE_MSG_PUB.Count_And_Get
1156 ( p_count => x_msg_count
1157 , p_data => x_msg_data
1158 );
1159
1160
1161 EXCEPTION
1162
1163 WHEN FND_API.G_EXC_ERROR THEN
1164
1165 x_return_status := FND_API.G_RET_STS_ERROR;
1166
1167 -- Get message count and data
1168
1169 OE_MSG_PUB.Count_And_Get
1170 ( p_count => x_msg_count
1171 , p_data => x_msg_data
1172 );
1173
1174 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1175
1176 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1177
1178 -- Get message count and data
1179
1180 OE_MSG_PUB.Count_And_Get
1181 ( p_count => x_msg_count
1182 , p_data => x_msg_data
1183 );
1184
1185 WHEN OTHERS THEN
1186
1187 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1188
1189 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1190 THEN
1191 OE_MSG_PUB.Add_Exc_Msg
1192 ( G_PKG_NAME
1193 , 'Validate_And_Write'
1194 );
1195 END IF;
1196
1197 -- Get message count and data
1198
1199 OE_MSG_PUB.Count_And_Get
1200 ( p_count => x_msg_count
1201 , p_data => x_msg_data
1202 );
1203 oe_debug_pub.add('END validate_and_write in QPXFMLHB');
1204
1205 END Validate_And_Write;
1206
1207 -- Procedure Delete_Row
1208 --
1209
1210 PROCEDURE Delete_Row
1211 ( x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1212 , x_msg_count OUT NOCOPY /* file.sql.39 change */ NUMBER
1213 , x_msg_data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1214 , p_list_header_id IN NUMBER
1215 )
1216 IS
1217 l_MODIFIER_LIST_rec QP_Modifiers_PUB.Modifier_List_Rec_Type;
1218 l_control_rec QP_GLOBALS.Control_Rec_Type;
1219 l_return_status VARCHAR2(1);
1220 l_x_MODIFIER_LIST_rec QP_Modifiers_PUB.Modifier_List_Rec_Type;
1221 l_x_MODIFIERS_rec QP_Modifiers_PUB.Modifiers_Rec_Type;
1222 l_x_MODIFIERS_tbl QP_Modifiers_PUB.Modifiers_Tbl_Type;
1223 l_x_QUALIFIERS_rec QP_Qualifier_Rules_PUB.Qualifiers_Rec_Type;
1224 l_x_QUALIFIERS_tbl QP_Qualifier_Rules_PUB.Qualifiers_Tbl_Type;
1225 l_x_PRICING_ATTR_rec QP_Modifiers_PUB.Pricing_Attr_Rec_Type;
1226 l_x_PRICING_ATTR_tbl QP_Modifiers_PUB.Pricing_Attr_Tbl_Type;
1227 BEGIN
1228
1229 oe_debug_pub.add('BEGIN delete_row in QPXFMLHB');
1230 -- Set control flags.
1231
1232 l_control_rec.controlled_operation := TRUE;
1233 l_control_rec.validate_entity := TRUE;
1234 l_control_rec.write_to_DB := TRUE;
1235
1236 l_control_rec.default_attributes := FALSE;
1237 l_control_rec.change_attributes := FALSE;
1238 l_control_rec.process := FALSE;
1239
1240 -- Instruct API to retain its caches
1241
1242 l_control_rec.clear_api_cache := FALSE;
1243 l_control_rec.clear_api_requests := FALSE;
1244
1245 -- Read DB record from cache
1246
1247 l_MODIFIER_LIST_rec := Get_MODIFIER_LIST
1248 ( p_db_record => TRUE
1249 , p_list_header_id => p_list_header_id
1250 );
1251
1252 -- Set Operation.
1253
1254 l_MODIFIER_LIST_rec.operation := QP_GLOBALS.G_OPR_DELETE;
1255
1256 -- Call QP_Modifiers_PVT.Process_MODIFIERS
1257
1258 QP_Modifiers_PVT.Process_MODIFIERS
1259 ( p_api_version_number => 1.0
1260 , p_init_msg_list => FND_API.G_TRUE
1261 , x_return_status => l_return_status
1262 , x_msg_count => x_msg_count
1263 , x_msg_data => x_msg_data
1264 , p_control_rec => l_control_rec
1265 , p_MODIFIER_LIST_rec => l_MODIFIER_LIST_rec
1266 , x_MODIFIER_LIST_rec => l_x_MODIFIER_LIST_rec
1267 , x_MODIFIERS_tbl => l_x_MODIFIERS_tbl
1268 , x_QUALIFIERS_tbl => l_x_QUALIFIERS_tbl
1269 , x_PRICING_ATTR_tbl => l_x_PRICING_ATTR_tbl
1270 );
1271
1272 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1273 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1274 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1275 RAISE FND_API.G_EXC_ERROR;
1276 END IF;
1277
1278
1279 -- Clear MODIFIER_LIST record cache
1280
1281 Clear_MODIFIER_LIST;
1282
1283 -- Set return status.
1284
1285 x_return_status := FND_API.G_RET_STS_SUCCESS;
1286
1287 -- Get message count and data
1288
1289 OE_MSG_PUB.Count_And_Get
1290 ( p_count => x_msg_count
1291 , p_data => x_msg_data
1292 );
1293
1294
1295 EXCEPTION
1296
1297 WHEN FND_API.G_EXC_ERROR THEN
1298
1299 x_return_status := FND_API.G_RET_STS_ERROR;
1300
1301 -- Get message count and data
1302
1303 OE_MSG_PUB.Count_And_Get
1304 ( p_count => x_msg_count
1305 , p_data => x_msg_data
1306 );
1307
1308 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1309
1310 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1311
1312 -- Get message count and data
1313
1314 OE_MSG_PUB.Count_And_Get
1315 ( p_count => x_msg_count
1316 , p_data => x_msg_data
1317 );
1318
1319 WHEN OTHERS THEN
1320
1321 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1322
1323 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1324 THEN
1325 OE_MSG_PUB.Add_Exc_Msg
1326 ( G_PKG_NAME
1327 , 'Delete_Row'
1328 );
1329 END IF;
1330
1331 -- Get message count and data
1332
1333 OE_MSG_PUB.Count_And_Get
1334 ( p_count => x_msg_count
1335 , p_data => x_msg_data
1336 );
1337
1338 oe_debug_pub.add('END delete_row in QPXFMLHB');
1339 END Delete_Row;
1340
1341 -- Procedure Process_Entity
1342 --
1343
1344 PROCEDURE Process_Entity
1345 ( x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1346 , x_msg_count OUT NOCOPY /* file.sql.39 change */ NUMBER
1347 , x_msg_data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1348 )
1349 IS
1350 l_control_rec QP_GLOBALS.Control_Rec_Type;
1351 l_return_status VARCHAR2(1);
1352 l_x_MODIFIER_LIST_rec QP_Modifiers_PUB.Modifier_List_Rec_Type;
1353 l_x_MODIFIERS_rec QP_Modifiers_PUB.Modifiers_Rec_Type;
1354 l_x_MODIFIERS_tbl QP_Modifiers_PUB.Modifiers_Tbl_Type;
1355 l_x_QUALIFIERS_rec QP_Qualifier_Rules_PUB.Qualifiers_Rec_Type;
1356 l_x_QUALIFIERS_tbl QP_Qualifier_Rules_PUB.Qualifiers_Tbl_Type;
1357 l_x_PRICING_ATTR_rec QP_Modifiers_PUB.Pricing_Attr_Rec_Type;
1358 l_x_PRICING_ATTR_tbl QP_Modifiers_PUB.Pricing_Attr_Tbl_Type;
1359 BEGIN
1360
1361 oe_debug_pub.add('BEGIN process_entity in QPXFMLHB');
1362 -- Set control flags.
1363
1364 l_control_rec.controlled_operation := TRUE;
1365 l_control_rec.process := TRUE;
1366 l_control_rec.process_entity := QP_GLOBALS.G_ENTITY_MODIFIER_LIST;
1367
1368 l_control_rec.default_attributes := FALSE;
1369 l_control_rec.change_attributes := FALSE;
1370 l_control_rec.validate_entity := FALSE;
1371 l_control_rec.write_to_DB := FALSE;
1372
1373 -- Instruct API to clear its request table
1374
1375 l_control_rec.clear_api_cache := FALSE;
1376 l_control_rec.clear_api_requests := FALSE;
1377
1378 -- Call QP_Modifiers_PVT.Process_MODIFIERS
1379
1380 QP_Modifiers_PVT.Process_MODIFIERS
1381 ( p_api_version_number => 1.0
1382 , p_init_msg_list => FND_API.G_TRUE
1383 , x_return_status => l_return_status
1384 , x_msg_count => x_msg_count
1385 , x_msg_data => x_msg_data
1386 , p_control_rec => l_control_rec
1387 , x_MODIFIER_LIST_rec => l_x_MODIFIER_LIST_rec
1388 , x_MODIFIERS_tbl => l_x_MODIFIERS_tbl
1389 , x_QUALIFIERS_tbl => l_x_QUALIFIERS_tbl
1390 , x_PRICING_ATTR_tbl => l_x_PRICING_ATTR_tbl
1391 );
1392
1393 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1394 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1395 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1396 RAISE FND_API.G_EXC_ERROR;
1397 END IF;
1398
1399
1400 -- Set return status.
1401
1402 x_return_status := FND_API.G_RET_STS_SUCCESS;
1403
1404 -- Get message count and data
1405
1406 OE_MSG_PUB.Count_And_Get
1407 ( p_count => x_msg_count
1408 , p_data => x_msg_data
1409 );
1410
1411
1412 EXCEPTION
1413
1414 WHEN FND_API.G_EXC_ERROR THEN
1415
1416 x_return_status := FND_API.G_RET_STS_ERROR;
1417
1418 -- Get message count and data
1419
1420 OE_MSG_PUB.Count_And_Get
1421 ( p_count => x_msg_count
1422 , p_data => x_msg_data
1423 );
1424
1425 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1426
1427 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1428
1429 -- Get message count and data
1430
1431 OE_MSG_PUB.Count_And_Get
1432 ( p_count => x_msg_count
1433 , p_data => x_msg_data
1434 );
1435
1436 WHEN OTHERS THEN
1437
1438 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1439
1440 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1441 THEN
1442 OE_MSG_PUB.Add_Exc_Msg
1443 ( G_PKG_NAME
1444 , 'Process_Entity'
1445 );
1446 END IF;
1447
1448 -- Get message count and data
1449
1450 OE_MSG_PUB.Count_And_Get
1451 ( p_count => x_msg_count
1452 , p_data => x_msg_data
1453 );
1454
1455 oe_debug_pub.add('END process_entity in QPXFMLHB');
1456 END Process_Entity;
1457
1458 -- Procedure Process_Object
1459 --
1460
1461 PROCEDURE Process_Object
1462 ( x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1463 , x_msg_count OUT NOCOPY /* file.sql.39 change */ NUMBER
1464 , x_msg_data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1465 )
1466 IS
1467 l_control_rec QP_GLOBALS.Control_Rec_Type;
1468 l_return_status VARCHAR2(1);
1469 l_x_MODIFIER_LIST_rec QP_Modifiers_PUB.Modifier_List_Rec_Type;
1470 l_x_MODIFIERS_rec QP_Modifiers_PUB.Modifiers_Rec_Type;
1471 l_x_MODIFIERS_tbl QP_Modifiers_PUB.Modifiers_Tbl_Type;
1472 l_x_QUALIFIERS_rec QP_Qualifier_Rules_PUB.Qualifiers_Rec_Type;
1473 l_x_QUALIFIERS_tbl QP_Qualifier_Rules_PUB.Qualifiers_Tbl_Type;
1474 l_x_PRICING_ATTR_rec QP_Modifiers_PUB.Pricing_Attr_Rec_Type;
1475 l_x_PRICING_ATTR_tbl QP_Modifiers_PUB.Pricing_Attr_Tbl_Type;
1476 BEGIN
1477
1478 oe_debug_pub.add('BEGIN process_object in QPXFMLHB');
1479 -- Set control flags.
1480
1481 l_control_rec.controlled_operation := TRUE;
1482 l_control_rec.process := TRUE;
1483 l_control_rec.process_entity := QP_GLOBALS.G_ENTITY_ALL;
1484
1485 l_control_rec.default_attributes := FALSE;
1486 l_control_rec.change_attributes := FALSE;
1487 l_control_rec.validate_entity := FALSE;
1488 l_control_rec.write_to_DB := FALSE;
1489
1490 -- Instruct API to clear its request table
1491
1492 l_control_rec.clear_api_cache := FALSE;
1493 l_control_rec.clear_api_requests := TRUE;
1494
1495 -- Call QP_Modifiers_PVT.Process_MODIFIERS
1496
1497 QP_Modifiers_PVT.Process_MODIFIERS
1498 ( p_api_version_number => 1.0
1499 , p_init_msg_list => FND_API.G_TRUE
1500 , x_return_status => l_return_status
1501 , x_msg_count => x_msg_count
1502 , x_msg_data => x_msg_data
1503 , p_control_rec => l_control_rec
1504 , x_MODIFIER_LIST_rec => l_x_MODIFIER_LIST_rec
1505 , x_MODIFIERS_tbl => l_x_MODIFIERS_tbl
1506 , x_QUALIFIERS_tbl => l_x_QUALIFIERS_tbl
1507 , x_PRICING_ATTR_tbl => l_x_PRICING_ATTR_tbl
1508 );
1509
1510 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1511 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1512 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1513 RAISE FND_API.G_EXC_ERROR;
1514 END IF;
1515
1516
1517 -- Set return status.
1518
1519 x_return_status := FND_API.G_RET_STS_SUCCESS;
1520
1521 -- Get message count and data
1522
1523 OE_MSG_PUB.Count_And_Get
1524 ( p_count => x_msg_count
1525 , p_data => x_msg_data
1526 );
1527
1528
1529 EXCEPTION
1530
1531 WHEN FND_API.G_EXC_ERROR THEN
1532
1533 x_return_status := FND_API.G_RET_STS_ERROR;
1534
1535 -- Get message count and data
1536
1537 OE_MSG_PUB.Count_And_Get
1538 ( p_count => x_msg_count
1539 , p_data => x_msg_data
1540 );
1541
1542 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1543
1544 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1545
1546 -- Get message count and data
1547
1548 OE_MSG_PUB.Count_And_Get
1549 ( p_count => x_msg_count
1550 , p_data => x_msg_data
1551 );
1552
1553 WHEN OTHERS THEN
1554
1555 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1556
1557 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1558 THEN
1559 OE_MSG_PUB.Add_Exc_Msg
1560 ( G_PKG_NAME
1561 , 'Process_Object'
1562 );
1563 END IF;
1564
1565 -- Get message count and data
1566
1567 OE_MSG_PUB.Count_And_Get
1568 ( p_count => x_msg_count
1569 , p_data => x_msg_data
1570 );
1571
1572 oe_debug_pub.add('END process_object in QPXFMLHB');
1573 END Process_Object;
1574
1575
1576 PROCEDURE Create_GSA_Qualifier(p_list_header_id IN NUMBER,
1577 x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2) IS
1578 Begin
1579 x_return_status := null;
1580
1581 END Create_GSA_Qualifier;
1582
1583 PROCEDURE Create_GSA_Qual(p_list_header_id IN NUMBER,
1584 p_list_line_id IN NUMBER,
1585 p_qualifier_type IN VARCHAR2,
1586 x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2) IS
1587
1588 l_control_rec QP_GLOBALS.Control_Rec_Type;
1589 l_return_status VARCHAR2(1);
1590 x_msg_count number;
1591 x_msg_data Varchar2(2000);
1592 x_msg_index number;
1593
1594 l_MODIFIER_LIST_rec QP_Modifiers_PUB.Modifier_List_Rec_Type;
1595 l_MODIFIER_LIST_val_rec QP_Modifiers_PUB.Modifier_List_Val_Rec_Type;
1596 l_MODIFIERS_tbl QP_Modifiers_PUB.Modifiers_Tbl_Type;
1597 l_MODIFIERS_val_tbl QP_Modifiers_PUB.Modifiers_Val_Tbl_Type;
1598 l_QUALIFIERS_tbl QP_Qualifier_Rules_PUB.Qualifiers_Tbl_Type;
1599 l_QUALIFIERS_val_tbl QP_Qualifier_Rules_PUB.Qualifiers_Val_Tbl_Type;
1600 l_PRICING_ATTR_tbl QP_Modifiers_PUB.Pricing_Attr_Tbl_Type;
1601 l_PRICING_ATTR_val_tbl QP_Modifiers_PUB.Pricing_Attr_Val_Tbl_Type;
1602
1603 l_x_MODIFIER_LIST_rec QP_Modifiers_PUB.Modifier_List_Rec_Type;
1604 l_x_MODIFIER_LIST_val_rec QP_Modifiers_PUB.Modifier_List_Val_Rec_Type;
1605 l_x_MODIFIERS_tbl QP_Modifiers_PUB.Modifiers_Tbl_Type;
1606 l_x_MODIFIERS_val_tbl QP_Modifiers_PUB.Modifiers_Val_Tbl_Type;
1607 l_x_QUALIFIERS_tbl QP_Qualifier_Rules_PUB.Qualifiers_Tbl_Type;
1608 l_x_QUALIFIERS_val_tbl QP_Qualifier_Rules_PUB.Qualifiers_Val_Tbl_Type
1609 ;
1610 l_x_PRICING_ATTR_tbl QP_Modifiers_PUB.Pricing_Attr_Tbl_Type;
1611
1612
1613 l_x_PRICING_ATTR_val_tbl QP_Modifiers_PUB.Pricing_Attr_Val_Tbl_Type;
1614
1615 l_datatype VARCHAR2(1);
1616 l_precedence NUMBER;
1617 l_qualifier_grouping_no QP_QUALIFIERS.QUALIFIER_GROUPING_NO%TYPE;
1618 l_error_code NUMBER := 0;
1619
1620 BEGIN
1621
1622 --behind the scene qualifier for gsa_pricing
1623
1624
1625 oe_debug_pub.add('BEGIN Create GSA_Qualifiers in QPXFMLHB');
1626 /*
1627 IF p_list_line_id IS NULL
1628 THEN
1629
1630 l_MODIFIER_LIST_rec.list_header_id := p_list_header_id;
1631 l_MODIFIER_LIST_rec.operation := QP_GLOBALS.G_OPR_UPDATE;
1632
1633 ELSE
1634
1635 l_MODIFIERS_rec.list_line_id := p_list_line_id;
1636 l_MODIFIERS_rec.operation := QP_GLOBALS.G_OPR_UPDATE;
1637
1638 END IF;
1639 */
1640
1641 IF p_qualifier_type = 'GSA' THEN
1642 oe_debug_pub.add('IN IF Create GSA_Qualifiers in QPXFMLHB'||to_char(p_list_line_id));
1643
1644 --create default qualifier for GSA Modifier List
1645
1646 l_QUALIFIERS_tbl(1).qualifier_context := 'CUSTOMER';
1647 l_QUALIFIERS_tbl(1).qualifier_attribute := 'QUALIFIER_ATTRIBUTE15';
1648 l_QUALIFIERS_tbl(1).qualifier_attr_value := 'Y';
1649 l_QUALIFIERS_tbl(1).qualifier_attr_value_to := Null;
1650 l_QUALIFIERS_tbl(1).qualifier_grouping_no := -1;
1651 --changed gsa precedence per nitin's decision to change precedence to 100
1652 --gsa discounts were not getting selected with old precedence as
1653 --item context's precedence< gsa qualifier precedence
1654 -- l_QUALIFIERS_tbl(1).qualifier_precedence := 100;
1655 -- l_QUALIFIERS_tbl(1).qualifier_precedence :=
1656 QP_UTIL.Get_Qual_Flex_Properties(
1657 l_QUALIFIERS_tbl(1).Qualifier_Context,
1658 l_QUALIFIERS_tbl(1).Qualifier_Attribute,
1659 l_QUALIFIERS_tbl(1).Qualifier_Attr_Value,
1660 l_datatype,
1661 l_QUALIFIERS_tbl(1).Qualifier_precedence,
1662 l_error_code);
1663 l_QUALIFIERS_tbl(1).qualifier_datatype := 'C';
1664 l_QUALIFIERS_tbl(1).list_header_id := p_list_header_id;
1665 l_QUALIFIERS_tbl(1).list_line_id := p_list_line_id;
1666 l_QUALIFIERS_tbl(1).operation := QP_GLOBALS.G_OPR_CREATE;
1667
1668 ELSIF p_qualifier_type = 'COUPON' THEN
1669
1670 oe_debug_pub.add('IN IF Create COUP_Qualifiers in QPXFMLHB'||to_char(p_list_line_id));
1671 --create default qualifier for COUPON ISSUE Modifier's child line
1672
1673 --for restricted qualifier will have grouping no as the max grouping no + 1
1674 --if the discount has null qual grp no the coupon line should have that
1675 --as an AND condition in its qualifiers
1676
1677 select (nvl(max(qualifier_grouping_no),1)+1) into l_qualifier_grouping_no
1678 from qp_qualifiers where
1679 list_header_id = p_list_header_id and
1680 list_line_id = p_list_line_id;
1681
1682 l_QUALIFIERS_tbl(1).qualifier_context := 'MODLIST';
1683 l_QUALIFIERS_tbl(1).qualifier_attribute := 'QUALIFIER_ATTRIBUTE10';
1684 l_QUALIFIERS_tbl(1).qualifier_attr_value := 'Y';
1685 l_QUALIFIERS_tbl(1).qualifier_attr_value_to := Null;
1686 l_QUALIFIERS_tbl(1).qualifier_grouping_no := l_qualifier_grouping_no;
1687 -- l_QUALIFIERS_tbl(1).qualifier_precedence :=
1688 QP_UTIL.Get_Qual_Flex_Properties(
1689 l_QUALIFIERS_tbl(1).Qualifier_Context,
1690 l_QUALIFIERS_tbl(1).Qualifier_Attribute,
1691 l_QUALIFIERS_tbl(1).Qualifier_Attr_Value,
1692 l_datatype,
1693 l_QUALIFIERS_tbl(1).Qualifier_precedence,
1694 l_error_code);
1695 l_QUALIFIERS_tbl(1).qualifier_datatype := 'C';
1696 l_QUALIFIERS_tbl(1).list_header_id := p_list_header_id;
1697 l_QUALIFIERS_tbl(1).list_line_id := p_list_line_id;
1698 l_QUALIFIERS_tbl(1).operation := QP_GLOBALS.G_OPR_CREATE;
1699
1700
1701 ELSE
1702
1703 null;
1704 END IF;
1705
1706
1707 oe_debug_pub.add('BEFORE Process_Modifiers in QPXVMLSB');
1708
1709 /* dhgupta for bug 1975291.Private package needs to be called instead of Public package */
1710
1711 /*
1712 QP_Modifiers_PUB.Process_Modifiers
1713 ( p_api_version_number => 1.0
1714 , p_init_msg_list => FND_API.G_FALSE
1715 , p_return_values => FND_API.G_FALSE
1716 , p_commit => FND_API.G_FALSE
1717 , x_return_status => x_return_status
1718 , x_msg_count =>x_msg_count
1719 , x_msg_data =>x_msg_data
1720 -- ,p_MODIFIER_LIST_rec => l_MODIFIER_LIST_rec
1721 -- ,p_MODIFIERS_tbl => l_MODIFIERS_tbl
1722 -- ,p_PRICING_ATTR_tbl => l_PRICING_ATTR_tbl
1723 ,p_QUALIFIERS_tbl => l_QUALIFIERS_tbl
1724 ,x_MODIFIER_LIST_rec => l_MODIFIER_LIST_rec
1725 ,x_MODIFIER_LIST_val_rec => l_MODIFIER_LIST_val_rec
1726 ,x_MODIFIERS_tbl => l_MODIFIERS_tbl
1727 ,x_MODIFIERS_val_tbl => l_MODIFIERS_val_tbl
1728 ,x_QUALIFIERS_tbl => l_QUALIFIERS_tbl
1729 ,x_QUALIFIERS_val_tbl => l_QUALIFIERS_val_tbl
1730 ,x_PRICING_ATTR_tbl => l_PRICING_ATTR_tbl
1731 ,x_PRICING_ATTR_val_tbl => l_PRICING_ATTR_val_tbl
1732 );
1733
1734 */
1735
1736 QP_Modifiers_PVT.Process_Modifiers
1737 ( p_api_version_number => 1.0
1738 , p_init_msg_list => FND_API.G_FALSE
1739 , p_commit => FND_API.G_FALSE
1740 , p_validation_level => FND_API.G_VALID_LEVEL_FULL
1741 , p_control_rec => l_control_rec
1742 , x_return_status => x_return_status
1743 , x_msg_count =>x_msg_count
1744 , x_msg_data =>x_msg_data
1745 ,p_QUALIFIERS_tbl => l_QUALIFIERS_tbl
1746 ,x_MODIFIER_LIST_rec => l_MODIFIER_LIST_rec
1747 ,x_MODIFIERS_tbl => l_MODIFIERS_tbl
1748 ,x_QUALIFIERS_tbl => l_x_QUALIFIERS_tbl
1749 ,x_PRICING_ATTR_tbl => l_PRICING_ATTR_tbl
1750 );
1751
1752
1753 oe_debug_pub.add('END Create GSA_Qualifiers in QPXFMLHB');
1754
1755
1756 EXCEPTION
1757
1758 WHEN FND_API.G_EXC_ERROR THEN
1759
1760 x_return_status := FND_API.G_RET_STS_ERROR;
1761
1762 FND_MESSAGE.SET_NAME('QP','QP_PE_QUALIFIERS');
1763 OE_MSG_PUB.Add;
1764
1765 -- Get message count and data
1766
1767 OE_MSG_PUB.Count_And_Get
1768 ( p_count => x_msg_count
1769 , p_data => x_msg_data
1770 );
1771
1772 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1773 THEN
1774 OE_MSG_PUB.Add_Exc_Msg
1775 ( G_PKG_NAME
1776 , 'QP_QP_FORM_MODIFIER_LIST'
1777 );
1778 END IF;
1779
1780 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1781
1782 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1783
1784 FND_MESSAGE.SET_NAME('QP','QP_PE_QUALIFIERS');
1785 OE_MSG_PUB.Add;
1786 -- Get message count and data
1787
1788 OE_MSG_PUB.Count_And_Get
1789 ( p_count => x_msg_count
1790 , p_data => x_msg_data
1791 );
1792
1793 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1794 THEN
1795 OE_MSG_PUB.Add_Exc_Msg
1796 ( G_PKG_NAME
1797 , 'QP_QP_FORM_MODIFIER_LIST'
1798 );
1799 END IF;
1800
1801 WHEN OTHERS THEN
1802
1803 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1804 THEN
1805 OE_MSG_PUB.Add_Exc_Msg
1806 ( G_PKG_NAME
1807 , 'QP_QP_FORM_MODIFIER_LIST'
1808 );
1809 END IF;
1810
1811 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1812
1813 -- Get message count and data
1814
1815 OE_MSG_PUB.Count_And_Get
1816 ( p_count => x_msg_count
1817 , p_data => x_msg_data
1818 );
1819
1820
1821 oe_debug_pub.add('EXP Create GSA_Qualifiers in QPXFMLHB');
1822
1823
1824 END Create_GSA_Qual;
1825
1826
1827 -- Procedure lock_Row
1828 --
1829
1830 PROCEDURE Lock_Row
1831 ( x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1832 , x_msg_count OUT NOCOPY /* file.sql.39 change */ NUMBER
1833 , x_msg_data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1834 , p_attribute1 IN VARCHAR2
1835 , p_attribute10 IN VARCHAR2
1836 , p_attribute11 IN VARCHAR2
1837 , p_attribute12 IN VARCHAR2
1838 , p_attribute13 IN VARCHAR2
1839 , p_attribute14 IN VARCHAR2
1840 , p_attribute15 IN VARCHAR2
1841 , p_attribute2 IN VARCHAR2
1842 , p_attribute3 IN VARCHAR2
1843 , p_attribute4 IN VARCHAR2
1844 , p_attribute5 IN VARCHAR2
1845 , p_attribute6 IN VARCHAR2
1846 , p_attribute7 IN VARCHAR2
1847 , p_attribute8 IN VARCHAR2
1848 , p_attribute9 IN VARCHAR2
1849 , p_automatic_flag IN VARCHAR2
1850 , p_comments IN VARCHAR2
1851 , p_context IN VARCHAR2
1852 , p_created_by IN NUMBER
1853 , p_creation_date IN DATE
1854 , p_currency_code IN VARCHAR2
1855 , p_discount_lines_flag IN VARCHAR2
1856 , p_end_date_active IN DATE
1857 , p_freight_terms_code IN VARCHAR2
1858 , p_gsa_indicator IN VARCHAR2
1859 , p_last_updated_by IN NUMBER
1860 , p_last_update_date IN DATE
1861 , p_last_update_login IN NUMBER
1862 , p_list_header_id IN NUMBER
1863 , p_list_type_code IN VARCHAR2
1864 , p_program_application_id IN NUMBER
1865 , p_program_id IN NUMBER
1866 , p_program_update_date IN DATE
1867 , p_prorate_flag IN VARCHAR2
1868 , p_request_id IN NUMBER
1869 , p_rounding_factor IN NUMBER
1870 , p_ship_method_code IN VARCHAR2
1871 , p_start_date_active IN DATE
1872 , p_terms_id IN NUMBER
1873 , p_source_system_code IN VARCHAR2
1874 , p_pte_code IN VARCHAR2
1875 , p_active_flag IN VARCHAR2
1876 , p_parent_list_header_id IN NUMBER
1877 , p_start_date_active_first IN DATE
1878 , p_end_date_active_first IN DATE
1879 , p_active_date_first_type IN VARCHAR2
1880 , p_start_date_active_second IN DATE
1881 , p_global_flag IN VARCHAR2
1882 , p_end_date_active_second IN DATE
1883 , p_active_date_second_type IN VARCHAR2
1884 , p_ask_for_flag IN VARCHAR2
1885 , p_list_source_code IN VARCHAR2 := NULL
1886 , p_orig_system_header_ref IN VARCHAR2 := NULL
1887 , p_shareable_flag IN VARCHAR2 := NULL
1888 --added for MOAC
1889 , p_org_id IN NUMBER
1890 )
1891 IS
1892 l_return_status VARCHAR2(1);
1893 l_MODIFIER_LIST_rec QP_Modifiers_PUB.Modifier_List_Rec_Type;
1894 l_x_MODIFIER_LIST_rec QP_Modifiers_PUB.Modifier_List_Rec_Type;
1895 l_x_MODIFIERS_rec QP_Modifiers_PUB.Modifiers_Rec_Type;
1896 l_x_MODIFIERS_tbl QP_Modifiers_PUB.Modifiers_Tbl_Type;
1897 l_x_QUALIFIERS_rec QP_Qualifier_Rules_PUB.Qualifiers_Rec_Type;
1898 l_x_QUALIFIERS_tbl QP_Qualifier_Rules_PUB.Qualifiers_Tbl_Type;
1899 l_x_PRICING_ATTR_rec QP_Modifiers_PUB.Pricing_Attr_Rec_Type;
1900 l_x_PRICING_ATTR_tbl QP_Modifiers_PUB.Pricing_Attr_Tbl_Type;
1901 BEGIN
1902
1903 oe_debug_pub.add('BEGIN lock_row in QPXFMLHB');
1904 -- Load MODIFIER_LIST record
1905
1906 l_MODIFIER_LIST_rec.attribute1 := p_attribute1;
1907 l_MODIFIER_LIST_rec.attribute10 := p_attribute10;
1908 l_MODIFIER_LIST_rec.attribute11 := p_attribute11;
1909 l_MODIFIER_LIST_rec.attribute12 := p_attribute12;
1910 l_MODIFIER_LIST_rec.attribute13 := p_attribute13;
1911 l_MODIFIER_LIST_rec.attribute14 := p_attribute14;
1912 l_MODIFIER_LIST_rec.attribute15 := p_attribute15;
1913 l_MODIFIER_LIST_rec.attribute2 := p_attribute2;
1914 l_MODIFIER_LIST_rec.attribute3 := p_attribute3;
1915 l_MODIFIER_LIST_rec.attribute4 := p_attribute4;
1916 l_MODIFIER_LIST_rec.attribute5 := p_attribute5;
1917 l_MODIFIER_LIST_rec.attribute6 := p_attribute6;
1918 l_MODIFIER_LIST_rec.attribute7 := p_attribute7;
1919 l_MODIFIER_LIST_rec.attribute8 := p_attribute8;
1920 l_MODIFIER_LIST_rec.attribute9 := p_attribute9;
1921 l_MODIFIER_LIST_rec.automatic_flag := p_automatic_flag;
1922 l_MODIFIER_LIST_rec.comments := p_comments;
1923 l_MODIFIER_LIST_rec.context := p_context;
1924 l_MODIFIER_LIST_rec.created_by := p_created_by;
1925 l_MODIFIER_LIST_rec.creation_date := p_creation_date;
1926 l_MODIFIER_LIST_rec.currency_code := p_currency_code;
1927 l_MODIFIER_LIST_rec.discount_lines_flag := p_discount_lines_flag;
1928 l_MODIFIER_LIST_rec.end_date_active := p_end_date_active;
1929 l_MODIFIER_LIST_rec.freight_terms_code := p_freight_terms_code;
1930 l_MODIFIER_LIST_rec.gsa_indicator := p_gsa_indicator;
1931 l_MODIFIER_LIST_rec.last_updated_by := p_last_updated_by;
1932 l_MODIFIER_LIST_rec.last_update_date := p_last_update_date;
1933 l_MODIFIER_LIST_rec.last_update_login := p_last_update_login;
1934 l_MODIFIER_LIST_rec.list_header_id := p_list_header_id;
1935 l_MODIFIER_LIST_rec.list_type_code := p_list_type_code;
1936 l_MODIFIER_LIST_rec.program_application_id := p_program_application_id;
1937 l_MODIFIER_LIST_rec.program_id := p_program_id;
1938 l_MODIFIER_LIST_rec.program_update_date := p_program_update_date;
1939 l_MODIFIER_LIST_rec.prorate_flag := p_prorate_flag;
1940 l_MODIFIER_LIST_rec.request_id := p_request_id;
1941 l_MODIFIER_LIST_rec.rounding_factor := p_rounding_factor;
1942 l_MODIFIER_LIST_rec.ship_method_code := p_ship_method_code;
1943 l_MODIFIER_LIST_rec.start_date_active := p_start_date_active;
1944 l_MODIFIER_LIST_rec.terms_id := p_terms_id;
1945 l_MODIFIER_LIST_rec.source_system_code := p_source_system_code;
1946 l_MODIFIER_LIST_rec.pte_code := p_pte_code;
1947 l_MODIFIER_LIST_rec.active_flag := p_active_flag;
1948 l_MODIFIER_LIST_rec.parent_list_header_id := p_parent_list_header_id;
1949 l_MODIFIER_LIST_rec.start_date_active_first := p_start_date_active_first;
1950 l_MODIFIER_LIST_rec.end_date_active_first := p_end_date_active_first;
1951 l_MODIFIER_LIST_rec.active_date_first_type := p_active_date_first_type;
1952 l_MODIFIER_LIST_rec.start_date_active_second := p_start_date_active_second;
1953 l_MODIFIER_LIST_rec.global_flag := p_global_flag;
1954 l_MODIFIER_LIST_rec.end_date_active_second := p_end_date_active_second;
1955 l_MODIFIER_LIST_rec.active_date_second_type := p_active_date_second_type;
1956 l_MODIFIER_LIST_rec.ask_for_flag := p_ask_for_flag;
1957 l_MODIFIER_LIST_rec.list_source_code := p_list_source_code ;
1958 l_MODIFIER_LIST_rec.orig_system_header_ref := p_orig_system_header_ref;
1959 l_MODIFIER_LIST_rec.shareable_flag := p_shareable_flag ;
1960 --added for MOAC
1961 l_MODIFIER_LIST_rec.org_id := p_org_id ;
1962 l_MODIFIER_LIST_rec.operation := QP_GLOBALS.G_OPR_LOCK;
1963
1964 -- Call QP_Modifiers_PVT.Lock_MODIFIERS
1965
1966 QP_Modifiers_PVT.Lock_MODIFIERS
1967 ( p_api_version_number => 1.0
1968 , p_init_msg_list => FND_API.G_TRUE
1969 , x_return_status => l_return_status
1970 , x_msg_count => x_msg_count
1971 , x_msg_data => x_msg_data
1972 , p_MODIFIER_LIST_rec => l_MODIFIER_LIST_rec
1973 , x_MODIFIER_LIST_rec => l_x_MODIFIER_LIST_rec
1974 , x_MODIFIERS_tbl => l_x_MODIFIERS_tbl
1975 , x_QUALIFIERS_tbl => l_x_QUALIFIERS_tbl
1976 , x_PRICING_ATTR_tbl => l_x_PRICING_ATTR_tbl
1977 );
1978
1979 IF l_return_status = FND_API.G_RET_STS_SUCCESS THEN
1980
1981 -- Set DB flag and write record to cache.
1982
1983 l_x_MODIFIER_LIST_rec.db_flag := FND_API.G_TRUE;
1984
1985 Write_MODIFIER_LIST
1986 ( p_MODIFIER_LIST_rec => l_x_MODIFIER_LIST_rec
1987 , p_db_record => TRUE
1988 );
1989
1990 END IF;
1991
1992 -- Set return status.
1993
1994 x_return_status := l_return_status;
1995
1996 -- Get message count and data
1997
1998 OE_MSG_PUB.Count_And_Get
1999 ( p_count => x_msg_count
2000 , p_data => x_msg_data
2001 );
2002
2003
2004 EXCEPTION
2005
2006 WHEN OTHERS THEN
2007
2008 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2009 THEN
2010 OE_MSG_PUB.Add_Exc_Msg
2011 ( G_PKG_NAME
2012 , 'Lock_Row'
2013 );
2014 END IF;
2015
2016 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2017
2018 -- Get message count and data
2019
2020 OE_MSG_PUB.Count_And_Get
2021 ( p_count => x_msg_count
2022 , p_data => x_msg_data
2023 );
2024
2025
2026 oe_debug_pub.add('END lock_row in QPXFMLHB');
2027
2028 END Lock_Row;
2029
2030 -- Procedures maintaining MODIFIER_LIST record cache.
2031
2032 PROCEDURE Write_MODIFIER_LIST
2033 ( p_MODIFIER_LIST_rec IN QP_Modifiers_PUB.Modifier_List_Rec_Type
2034 , p_db_record IN BOOLEAN := FALSE
2035 )
2036 IS
2037 BEGIN
2038 oe_debug_pub.add('BEGIN write_modifier_list in QPXFMLHB');
2039
2040 g_MODIFIER_LIST_rec := p_MODIFIER_LIST_rec;
2041
2042 IF p_db_record THEN
2043
2044 g_db_MODIFIER_LIST_rec := p_MODIFIER_LIST_rec;
2045
2046 END IF;
2047 oe_debug_pub.add('END write_modifier_list in QPXFMLHB');
2048
2049 END Write_Modifier_List;
2050
2051 FUNCTION Get_MODIFIER_LIST
2052 ( p_db_record IN BOOLEAN := FALSE
2053 , p_list_header_id IN NUMBER
2054 )
2055 RETURN QP_Modifiers_PUB.Modifier_List_Rec_Type
2056 IS
2057 BEGIN
2058
2059 oe_debug_pub.add('BEGIN get_modifier_list in QPXFMLHB');
2060 IF p_list_header_id <> g_MODIFIER_LIST_rec.list_header_id
2061 THEN
2062
2063 -- Query row from DB
2064
2065 g_MODIFIER_LIST_rec := QP_Modifier_List_Util.Query_Row
2066 ( p_list_header_id => p_list_header_id
2067 );
2068
2069 g_MODIFIER_LIST_rec.db_flag := FND_API.G_TRUE;
2070
2071 -- Load DB record
2072
2073 g_db_MODIFIER_LIST_rec := g_MODIFIER_LIST_rec;
2074
2075 END IF;
2076
2077 IF p_db_record THEN
2078
2079 oe_debug_pub.add('if END get_modifier_list in QPXFMLHB');
2080 RETURN g_db_MODIFIER_LIST_rec;
2081
2082 ELSE
2083
2084 oe_debug_pub.add('else END get_modifier_list in QPXFMLHB');
2085 RETURN g_MODIFIER_LIST_rec;
2086
2087 END IF;
2088 oe_debug_pub.add('END get_modifier_list in QPXFMLHB');
2089
2090 END Get_Modifier_List;
2091
2092 PROCEDURE Clear_Modifier_List
2093 IS
2094 BEGIN
2095
2096 g_MODIFIER_LIST_rec := QP_Modifiers_PUB.G_MISS_MODIFIER_LIST_REC;
2097 g_db_MODIFIER_LIST_rec := QP_Modifiers_PUB.G_MISS_MODIFIER_LIST_REC;
2098
2099 END Clear_Modifier_List;
2100
2101
2102 --added bu svdeshmu
2103 -- This procedure will be called from the client when the user
2104 -- clears a record
2105 Procedure Clear_Record
2106 ( x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
2107 , x_msg_count OUT NOCOPY /* file.sql.39 change */ NUMBER
2108 , x_msg_data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
2109 , p_list_header_id IN NUMBER
2110 )
2111 IS
2112 l_return_status Varchar2(30);
2113 BEGIN
2114 OE_MSG_PUB.initialize;
2115 x_return_status := FND_API.G_RET_STS_SUCCESS;
2116 QP_DELAYED_REQUESTS_PVT.Delete_Reqs_for_Deleted_Entity(
2117 p_entity_code => QP_GLOBALS.G_ENTITY_MODIFIER_LIST
2118 ,p_entity_id => p_list_header_id
2119 ,x_return_status => l_return_status);
2120
2121 OE_MSG_PUB.Count_And_Get
2122 ( p_count => x_msg_count
2123 , p_data => x_msg_data
2124 );
2125
2126 -- Clear the controller cache
2127 Clear_Modifier_List;
2128
2129 EXCEPTION
2130 WHEN OTHERS THEN
2131 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2132 THEN
2133 OE_MSG_PUB.Add_Exc_Msg
2134 ( G_PKG_NAME
2135 , 'Clear_Record'
2136 );
2137 END IF;
2138 -- Get message count and data
2139 OE_MSG_PUB.Count_And_Get
2140 ( p_count => x_msg_count
2141 , p_data => x_msg_data
2142 );
2143 x_return_status := FND_API.G_RET_STS_ERROR;
2144
2145 END Clear_Record;
2146
2147
2148 -- This procedure will be called from the client when the user
2149 -- clears a block or Form
2150 Procedure Delete_All_Requests
2151 ( x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
2152 , x_msg_count OUT NOCOPY /* file.sql.39 change */ NUMBER
2153 , x_msg_data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
2154 )
2155 IS
2156 l_return_status Varchar2(30);
2157 BEGIN
2158 OE_MSG_PUB.initialize;
2159 x_return_status := FND_API.G_RET_STS_SUCCESS;
2160 QP_DELAYED_REQUESTS_PVT.Clear_Request(
2161 x_return_status => l_return_status);
2162
2163 EXCEPTION
2164 WHEN OTHERS THEN
2165 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2166 THEN
2167 OE_MSG_PUB.Add_Exc_Msg
2168 ( G_PKG_NAME
2169 , 'Delete_All_Requests'
2170 );
2171 END IF;
2172 -- Get message count and data
2173 OE_MSG_PUB.Count_And_Get
2174 ( p_count => x_msg_count
2175 , p_data => x_msg_data
2176 );
2177 x_return_status := FND_API.G_RET_STS_ERROR;
2178
2179 END Delete_All_Requests;
2180
2181
2182 --end of additions by svdeshmu
2183
2184
2185
2186
2187 END QP_QP_Form_Modifier_List;