DBA Data[Home] [Help]

PACKAGE BODY: APPS.QP_MODIFIER_LIST_UTIL

Source


1 PACKAGE BODY QP_Modifier_List_Util AS
2 /* $Header: QPXUMLHB.pls 120.4.12010000.5 2009/08/19 07:18:38 smbalara ship $ */
3 
4 --  Global constant holding the package name
5 
6 G_PKG_NAME                    CONSTANT VARCHAR2(30) := 'QP_Modifier_List_Util';
7 
8 --  Procedure Clear_Dependent_Attr
9 
10 PROCEDURE Clear_Dependent_Attr
11 (   p_attr_id                       IN  NUMBER := FND_API.G_MISS_NUM
12 ,   p_MODIFIER_LIST_rec             IN  QP_Modifiers_PUB.Modifier_List_Rec_Type
13 ,   p_old_MODIFIER_LIST_rec         IN  QP_Modifiers_PUB.Modifier_List_Rec_Type :=
14                                         QP_Modifiers_PUB.G_MISS_MODIFIER_LIST_REC
15 ,   x_MODIFIER_LIST_rec             OUT NOCOPY QP_Modifiers_PUB.Modifier_List_Rec_Type
16 )
17 IS
18 l_index                       NUMBER := 0;
19 l_src_attr_tbl                QP_GLOBALS.NUMBER_Tbl_Type;
20 l_dep_attr_tbl                QP_GLOBALS.NUMBER_Tbl_Type;
21 BEGIN
22 
23 
24 	oe_debug_pub.add('BEGIN clear_dependent_attr in QPXUMLHB');
25 
26     --  Load out record
27 
28     x_MODIFIER_LIST_rec := p_MODIFIER_LIST_rec;
29 
30     --  If attr_id is missing compare old and new records and for
31     --  every changed attribute clear its dependent fields.
32 
33     IF p_attr_id = FND_API.G_MISS_NUM THEN
34 
35         IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.attribute1,p_old_MODIFIER_LIST_rec.attribute1)
36         THEN
37             l_index := l_index + 1;
38             l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_ATTRIBUTE1;
39         END IF;
40 
41         IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.attribute10,p_old_MODIFIER_LIST_rec.attribute10)
42         THEN
43             l_index := l_index + 1;
44             l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_ATTRIBUTE10;
45         END IF;
46 
47         IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.attribute11,p_old_MODIFIER_LIST_rec.attribute11)
48         THEN
49             l_index := l_index + 1;
50             l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_ATTRIBUTE11;
51         END IF;
52 
53         IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.attribute12,p_old_MODIFIER_LIST_rec.attribute12)
54         THEN
55             l_index := l_index + 1;
56             l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_ATTRIBUTE12;
57         END IF;
58 
59         IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.attribute13,p_old_MODIFIER_LIST_rec.attribute13)
60         THEN
61             l_index := l_index + 1;
62             l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_ATTRIBUTE13;
63         END IF;
64 
65         IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.attribute14,p_old_MODIFIER_LIST_rec.attribute14)
66         THEN
67             l_index := l_index + 1;
68             l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_ATTRIBUTE14;
69         END IF;
70 
71         IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.attribute15,p_old_MODIFIER_LIST_rec.attribute15)
72         THEN
73             l_index := l_index + 1;
74             l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_ATTRIBUTE15;
75         END IF;
76 
77         IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.attribute2,p_old_MODIFIER_LIST_rec.attribute2)
78         THEN
79             l_index := l_index + 1;
80             l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_ATTRIBUTE2;
81         END IF;
82 
83         IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.attribute3,p_old_MODIFIER_LIST_rec.attribute3)
84         THEN
85             l_index := l_index + 1;
86             l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_ATTRIBUTE3;
87         END IF;
88 
89         IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.attribute4,p_old_MODIFIER_LIST_rec.attribute4)
90         THEN
91             l_index := l_index + 1;
92             l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_ATTRIBUTE4;
93         END IF;
94 
95         IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.attribute5,p_old_MODIFIER_LIST_rec.attribute5)
96         THEN
97             l_index := l_index + 1;
98             l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_ATTRIBUTE5;
99         END IF;
100 
101         IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.attribute6,p_old_MODIFIER_LIST_rec.attribute6)
102         THEN
103             l_index := l_index + 1;
104             l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_ATTRIBUTE6;
105         END IF;
106 
107         IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.attribute7,p_old_MODIFIER_LIST_rec.attribute7)
108         THEN
109             l_index := l_index + 1;
110             l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_ATTRIBUTE7;
111         END IF;
112 
113         IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.attribute8,p_old_MODIFIER_LIST_rec.attribute8)
114         THEN
115             l_index := l_index + 1;
116             l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_ATTRIBUTE8;
117         END IF;
118 
119         IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.attribute9,p_old_MODIFIER_LIST_rec.attribute9)
120         THEN
121             l_index := l_index + 1;
122             l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_ATTRIBUTE9;
123         END IF;
124 
125         IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.automatic_flag,p_old_MODIFIER_LIST_rec.automatic_flag)
126         THEN
127             l_index := l_index + 1;
128             l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_AUTOMATIC;
129         END IF;
130 
131         IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.comments,p_old_MODIFIER_LIST_rec.comments)
132         THEN
133             l_index := l_index + 1;
134             l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_COMMENTS;
135         END IF;
136 
137         IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.context,p_old_MODIFIER_LIST_rec.context)
138         THEN
139             l_index := l_index + 1;
140             l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_CONTEXT;
141         END IF;
142 
143         IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.created_by,p_old_MODIFIER_LIST_rec.created_by)
144         THEN
145             l_index := l_index + 1;
146             l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_CREATED_BY;
147         END IF;
148 
149         IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.creation_date,p_old_MODIFIER_LIST_rec.creation_date)
150         THEN
151             l_index := l_index + 1;
152             l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_CREATION_DATE;
153         END IF;
154 
155         IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.currency_code,p_old_MODIFIER_LIST_rec.currency_code)
156         THEN
157             l_index := l_index + 1;
158             l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_CURRENCY;
159         END IF;
160 
161         IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.discount_lines_flag,p_old_MODIFIER_LIST_rec.discount_lines_flag)
162         THEN
163             l_index := l_index + 1;
164             l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_DISCOUNT_LINES;
165         END IF;
166 
167         IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.end_date_active,p_old_MODIFIER_LIST_rec.end_date_active)
168         THEN
169             l_index := l_index + 1;
170             l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_END_DATE_ACTIVE;
171         END IF;
172 
173         IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.freight_terms_code,p_old_MODIFIER_LIST_rec.freight_terms_code)
174         THEN
175             l_index := l_index + 1;
176             l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_FREIGHT_TERMS;
177         END IF;
178 
179         IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.gsa_indicator,p_old_MODIFIER_LIST_rec.gsa_indicator)
180         THEN
181             l_index := l_index + 1;
182             l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_GSA_INDICATOR;
183         END IF;
184 
185         IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.last_updated_by,p_old_MODIFIER_LIST_rec.last_updated_by)
186         THEN
187             l_index := l_index + 1;
188             l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_LAST_UPDATED_BY;
189         END IF;
190 
191         IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.last_update_date,p_old_MODIFIER_LIST_rec.last_update_date)
192         THEN
193             l_index := l_index + 1;
194             l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_LAST_UPDATE_DATE;
195         END IF;
196 
197         IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.last_update_login,p_old_MODIFIER_LIST_rec.last_update_login)
198         THEN
199             l_index := l_index + 1;
200             l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_LAST_UPDATE_LOGIN;
201         END IF;
202 
203         IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.list_header_id,p_old_MODIFIER_LIST_rec.list_header_id)
204         THEN
205             l_index := l_index + 1;
206             l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_LIST_HEADER;
207         END IF;
208 
209         IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.list_type_code,p_old_MODIFIER_LIST_rec.list_type_code)
210         THEN
211             l_index := l_index + 1;
212             l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_LIST_TYPE;
213         END IF;
214 
215         IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.program_application_id,p_old_MODIFIER_LIST_rec.program_application_id)
216         THEN
217             l_index := l_index + 1;
218             l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_PROGRAM_APPLICATION;
219         END IF;
220 
221         IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.program_id,p_old_MODIFIER_LIST_rec.program_id)
222         THEN
223             l_index := l_index + 1;
224             l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_PROGRAM;
225         END IF;
226 
227         IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.program_update_date,p_old_MODIFIER_LIST_rec.program_update_date)
228         THEN
229             l_index := l_index + 1;
230             l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_PROGRAM_UPDATE_DATE;
231         END IF;
232 
233         IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.prorate_flag,p_old_MODIFIER_LIST_rec.prorate_flag)
234         THEN
235             l_index := l_index + 1;
236             l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_PRORATE;
237         END IF;
238 
239         IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.request_id,p_old_MODIFIER_LIST_rec.request_id)
240         THEN
241             l_index := l_index + 1;
242             l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_REQUEST;
243         END IF;
244 
245         IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.rounding_factor,p_old_MODIFIER_LIST_rec.rounding_factor)
246         THEN
247             l_index := l_index + 1;
248             l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_ROUNDING_FACTOR;
249         END IF;
250 
251         IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.ship_method_code,p_old_MODIFIER_LIST_rec.ship_method_code)
252         THEN
253             l_index := l_index + 1;
254             l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_SHIP_METHOD;
255         END IF;
256 
257         IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.start_date_active,p_old_MODIFIER_LIST_rec.start_date_active)
258         THEN
259             l_index := l_index + 1;
260             l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_START_DATE_ACTIVE;
261         END IF;
262 
263         IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.terms_id,p_old_MODIFIER_LIST_rec.terms_id)
264         THEN
265             l_index := l_index + 1;
266             l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_TERMS;
267         END IF;
268 
269         IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.source_system_code,p_old_MODIFIER_LIST_rec.source_system_code)
270         THEN
271             l_index := l_index + 1;
272             l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_SOURCE_SYSTEM_CODE;
273         END IF;
274 
275         IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.pte_code,p_old_MODIFIER_LIST_rec.pte_code)
276         THEN
277             l_index := l_index + 1;
278             l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_PTE_CODE;
279         END IF;
280 
281         IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.active_flag,p_old_MODIFIER_LIST_rec.active_flag)
282         THEN
283             l_index := l_index + 1;
284             l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_ACTIVE_FLAG;
285         END IF;
286 
287         IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.parent_list_header_id,p_old_MODIFIER_LIST_rec.parent_list_header_id)
288         THEN
289             l_index := l_index + 1;
290             l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_PARENT_LIST_HEADER_ID;
291         END IF;
292 
293         IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.start_date_active_first,p_old_MODIFIER_LIST_rec.start_date_active_first)
294         THEN
295             l_index := l_index + 1;
296             l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_START_DATE_ACTIVE_FIRST;
297         END IF;
298 
299         IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.end_date_active_first,p_old_MODIFIER_LIST_rec.end_date_active_first)
300         THEN
301             l_index := l_index + 1;
302             l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_END_DATE_ACTIVE_FIRST;
303         END IF;
304 
305         IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.active_date_first_type,p_old_MODIFIER_LIST_rec.active_date_first_type)
306         THEN
307             l_index := l_index + 1;
308             l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_ACTIVE_DATE_FIRST_TYPE;
309         END IF;
310 
311         IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.start_date_active_second,p_old_MODIFIER_LIST_rec.start_date_active_second)
312         THEN
313             l_index := l_index + 1;
314             l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_START_DATE_ACTIVE_SECOND;
315         END IF;
316 
317         IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.global_flag,p_old_MODIFIER_LIST_rec.global_flag)
318         THEN
319             l_index := l_index + 1;
320             l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_GLOBAL_FLAG;
321         END IF;
322 
323 
324         IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.end_date_active_second,p_old_MODIFIER_LIST_rec.end_date_active_second)
325         THEN
326             l_index := l_index + 1;
327             l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_END_DATE_ACTIVE_SECOND;
328         END IF;
329 
330         IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.active_date_second_type,p_old_MODIFIER_LIST_rec.active_date_second_type)
331         THEN
332             l_index := l_index + 1;
333             l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_ACTIVE_DATE_SECOND_TYPE;
334         END IF;
335 
336         IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.ask_for_flag,p_old_MODIFIER_LIST_rec.ask_for_flag)
337         THEN
338             l_index := l_index + 1;
339             l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_ASK_FOR;
340         END IF;
341 
342         IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.name,p_old_MODIFIER_LIST_rec.name)
343         THEN
344             l_index := l_index + 1;
345             l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_NAME;
346         END IF;
347 
348         IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.description,p_old_MODIFIER_LIST_rec.description)
349         THEN
350             l_index := l_index + 1;
351             l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_DESCRIPTION;
352         END IF;
353 
354 -- Blanket Pricing
355 	IF NOT QP_GLOBALS.Equal (p_MODIFIER_LIST_rec.list_source_code, p_old_MODIFIER_LIST_rec.list_source_code)
356         THEN
357             l_index := l_index + 1;
358             l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_LIST_SOURCE_CODE;
359 	END IF;
360 
361 	IF NOT QP_GLOBALS.Equal (p_MODIFIER_LIST_rec.orig_system_header_ref, p_old_MODIFIER_LIST_rec.orig_system_header_ref)
362 	THEN
363             l_index := l_index + 1;
364             l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_ORIG_SYSTEM_HEADER_REF;
365 	END IF;
366 
367 	IF NOT QP_GLOBALS.Equal (p_MODIFIER_LIST_rec.shareable_flag,p_old_MODIFIER_LIST_rec.shareable_flag)
368 	THEN
369             l_index := l_index + 1;
370             l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_SHAREABLE_FLAG;
371 	END IF;
372 
373         --added for MOAC
374 	IF NOT QP_GLOBALS.Equal (p_MODIFIER_LIST_rec.org_id,p_old_MODIFIER_LIST_rec.org_id)
375 	THEN
376             l_index := l_index + 1;
377             l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_ORG_ID;
378 	END IF;
379 
380     ELSIF p_attr_id = G_ATTRIBUTE1 THEN
381         l_index := l_index + 1;
382         l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_ATTRIBUTE1;
383     ELSIF p_attr_id = G_ATTRIBUTE10 THEN
384         l_index := l_index + 1;
385         l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_ATTRIBUTE10;
386     ELSIF p_attr_id = G_ATTRIBUTE11 THEN
387         l_index := l_index + 1;
388         l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_ATTRIBUTE11;
389     ELSIF p_attr_id = G_ATTRIBUTE12 THEN
390         l_index := l_index + 1;
391         l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_ATTRIBUTE12;
392     ELSIF p_attr_id = G_ATTRIBUTE13 THEN
393         l_index := l_index + 1;
394         l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_ATTRIBUTE13;
395     ELSIF p_attr_id = G_ATTRIBUTE14 THEN
396         l_index := l_index + 1;
397         l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_ATTRIBUTE14;
398     ELSIF p_attr_id = G_ATTRIBUTE15 THEN
399         l_index := l_index + 1;
400         l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_ATTRIBUTE15;
401     ELSIF p_attr_id = G_ATTRIBUTE2 THEN
402         l_index := l_index + 1;
403         l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_ATTRIBUTE2;
404     ELSIF p_attr_id = G_ATTRIBUTE3 THEN
405         l_index := l_index + 1;
406         l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_ATTRIBUTE3;
407     ELSIF p_attr_id = G_ATTRIBUTE4 THEN
408         l_index := l_index + 1;
409         l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_ATTRIBUTE4;
410     ELSIF p_attr_id = G_ATTRIBUTE5 THEN
411         l_index := l_index + 1;
412         l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_ATTRIBUTE5;
413     ELSIF p_attr_id = G_ATTRIBUTE6 THEN
414         l_index := l_index + 1;
415         l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_ATTRIBUTE6;
416     ELSIF p_attr_id = G_ATTRIBUTE7 THEN
417         l_index := l_index + 1;
418         l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_ATTRIBUTE7;
419     ELSIF p_attr_id = G_ATTRIBUTE8 THEN
420         l_index := l_index + 1;
421         l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_ATTRIBUTE8;
422     ELSIF p_attr_id = G_ATTRIBUTE9 THEN
423         l_index := l_index + 1;
424         l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_ATTRIBUTE9;
425     ELSIF p_attr_id = G_AUTOMATIC THEN
426         l_index := l_index + 1;
427         l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_AUTOMATIC;
428     ELSIF p_attr_id = G_COMMENTS THEN
429         l_index := l_index + 1;
430         l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_COMMENTS;
431     ELSIF p_attr_id = G_CONTEXT THEN
432         l_index := l_index + 1;
433         l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_CONTEXT;
434     ELSIF p_attr_id = G_CREATED_BY THEN
435         l_index := l_index + 1;
436         l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_CREATED_BY;
437     ELSIF p_attr_id = G_CREATION_DATE THEN
438         l_index := l_index + 1;
439         l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_CREATION_DATE;
440     ELSIF p_attr_id = G_CURRENCY THEN
441         l_index := l_index + 1;
442         l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_CURRENCY;
443     ELSIF p_attr_id = G_DISCOUNT_LINES THEN
444         l_index := l_index + 1;
445         l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_DISCOUNT_LINES;
446     ELSIF p_attr_id = G_END_DATE_ACTIVE THEN
447         l_index := l_index + 1;
448         l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_END_DATE_ACTIVE;
449     ELSIF p_attr_id = G_FREIGHT_TERMS THEN
450         l_index := l_index + 1;
451         l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_FREIGHT_TERMS;
452     ELSIF p_attr_id = G_GSA_INDICATOR THEN
453         l_index := l_index + 1;
454         l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_GSA_INDICATOR;
455     ELSIF p_attr_id = G_LAST_UPDATED_BY THEN
456         l_index := l_index + 1;
457         l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_LAST_UPDATED_BY;
458     ELSIF p_attr_id = G_LAST_UPDATE_DATE THEN
459         l_index := l_index + 1;
460         l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_LAST_UPDATE_DATE;
461     ELSIF p_attr_id = G_LAST_UPDATE_LOGIN THEN
462         l_index := l_index + 1;
463         l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_LAST_UPDATE_LOGIN;
464     ELSIF p_attr_id = G_LIST_HEADER THEN
465         l_index := l_index + 1;
466         l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_LIST_HEADER;
467     ELSIF p_attr_id = G_LIST_TYPE THEN
468         l_index := l_index + 1;
469         l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_LIST_TYPE;
470     ELSIF p_attr_id = G_PROGRAM_APPLICATION THEN
471         l_index := l_index + 1;
472         l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_PROGRAM_APPLICATION;
473     ELSIF p_attr_id = G_PROGRAM THEN
474         l_index := l_index + 1;
475         l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_PROGRAM;
476     ELSIF p_attr_id = G_PROGRAM_UPDATE_DATE THEN
477         l_index := l_index + 1;
478         l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_PROGRAM_UPDATE_DATE;
479     ELSIF p_attr_id = G_PRORATE THEN
480         l_index := l_index + 1;
481         l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_PRORATE;
482     ELSIF p_attr_id = G_REQUEST THEN
483         l_index := l_index + 1;
484         l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_REQUEST;
485     ELSIF p_attr_id = G_ROUNDING_FACTOR THEN
486         l_index := l_index + 1;
487         l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_ROUNDING_FACTOR;
488     ELSIF p_attr_id = G_SHIP_METHOD THEN
489         l_index := l_index + 1;
490         l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_SHIP_METHOD;
491     ELSIF p_attr_id = G_START_DATE_ACTIVE THEN
492         l_index := l_index + 1;
493         l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_START_DATE_ACTIVE;
494     ELSIF p_attr_id = G_TERMS THEN
495         l_index := l_index + 1;
496         l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_TERMS;
497     ELSIF p_attr_id = G_SOURCE_SYSTEM_CODE THEN
498         l_index := l_index + 1;
499         l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_SOURCE_SYSTEM_CODE;
500     ELSIF p_attr_id = G_PTE_CODE THEN
501         l_index := l_index + 1;
502         l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_PTE_CODE;
503     ELSIF p_attr_id = G_ACTIVE_FLAG THEN
504         l_index := l_index + 1;
505         l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_ACTIVE_FLAG;
506     ELSIF p_attr_id = G_PARENT_LIST_HEADER_ID THEN
507         l_index := l_index + 1;
508         l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_PARENT_LIST_HEADER_ID;
509     ELSIF p_attr_id = G_START_DATE_ACTIVE_FIRST THEN
510         l_index := l_index + 1;
511         l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_START_DATE_ACTIVE_FIRST;
512     ELSIF p_attr_id = G_END_DATE_ACTIVE_FIRST THEN
513         l_index := l_index + 1;
514         l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_END_DATE_ACTIVE_FIRST;
515     ELSIF p_attr_id = G_ACTIVE_DATE_FIRST_TYPE THEN
516         l_index := l_index + 1;
517         l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_ACTIVE_DATE_FIRST_TYPE;
518     ELSIF p_attr_id = G_START_DATE_ACTIVE_SECOND THEN
519         l_index := l_index + 1;
520         l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_START_DATE_ACTIVE_SECOND;
521     ELSIF p_attr_id = G_GLOBAL_FLAG THEN
522         l_index := l_index + 1;
523         l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_GLOBAL_FLAG;
524     ELSIF p_attr_id = G_END_DATE_ACTIVE_SECOND THEN
525         l_index := l_index + 1;
526         l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_END_DATE_ACTIVE_SECOND;
527     ELSIF p_attr_id = G_ACTIVE_DATE_SECOND_TYPE THEN
528         l_index := l_index + 1;
529         l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_ACTIVE_DATE_SECOND_TYPE;
530     ELSIF p_attr_id = G_ASK_FOR THEN
531         l_index := l_index + 1;
532         l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_ASK_FOR;
533     ELSIF p_attr_id = G_NAME THEN
534         l_index := l_index + 1;
535         l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_NAME;
536     ELSIF p_attr_id = G_DESCRIPTION THEN
537         l_index := l_index + 1;
538         l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_DESCRIPTION;
539 -- Blanket pricing
540     ELSIF p_attr_id = G_LIST_SOURCE_CODE THEN
541         l_index := l_index + 1;
542         l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_LIST_SOURCE_CODE;
543     ELSIF p_attr_id = G_ORIG_SYSTEM_HEADER_REF THEN
544         l_index := l_index + 1;
545         l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_ORIG_SYSTEM_HEADER_REF;
546     ELSIF p_attr_id = G_SHAREABLE_FLAG THEN
547         l_index := l_index + 1;
548         l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_SHAREABLE_FLAG;
549     --added for MOAC
550     ELSIF p_attr_id = G_ORG_ID THEN
551         l_index := l_index + 1;
552         l_src_attr_tbl(l_index) := QP_MODIFIER_LIST_UTIL.G_ORG_ID;
553     END IF;
554 	oe_debug_pub.add('END clear_dependent_attr in QPXUMLHB');
555 
556 END Clear_Dependent_Attr;
557 
558 --  Procedure Apply_Attribute_Changes
559 
560 PROCEDURE Apply_Attribute_Changes
561 (   p_MODIFIER_LIST_rec             IN  QP_Modifiers_PUB.Modifier_List_Rec_Type
562 ,   p_old_MODIFIER_LIST_rec         IN  QP_Modifiers_PUB.Modifier_List_Rec_Type :=
563                                         QP_Modifiers_PUB.G_MISS_MODIFIER_LIST_REC
564 ,   x_MODIFIER_LIST_rec             OUT NOCOPY QP_Modifiers_PUB.Modifier_List_Rec_Type
565 )
566 IS
567 l_modifiers_exist VARCHAR2(1) := 'N';
568 ------------------------fix for bug 3756625
569 CURSOR l_pricing_phase_cur (l_list_header_id NUMBER) IS
570 select distinct pricing_phase_id from qp_list_lines
571 where list_header_id = l_list_header_id;
572 BEGIN
573 
574 	oe_debug_pub.add('BEGIN apply_attribute_changes in QPXUMLHB');
575     --  Load out record
576 
577     x_MODIFIER_LIST_rec := p_MODIFIER_LIST_rec;
578 
579     IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.attribute1,p_old_MODIFIER_LIST_rec.attribute1)
580     THEN
581         NULL;
582     END IF;
583 
584     IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.attribute10,p_old_MODIFIER_LIST_rec.attribute10)
585     THEN
586         NULL;
587     END IF;
588 
589     IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.attribute11,p_old_MODIFIER_LIST_rec.attribute11)
590     THEN
591         NULL;
592     END IF;
593 
594     IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.attribute12,p_old_MODIFIER_LIST_rec.attribute12)
595     THEN
596         NULL;
597     END IF;
598 
599     IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.attribute13,p_old_MODIFIER_LIST_rec.attribute13)
600     THEN
601         NULL;
602     END IF;
603 
604     IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.attribute14,p_old_MODIFIER_LIST_rec.attribute14)
605     THEN
606         NULL;
607     END IF;
608 
609     IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.attribute15,p_old_MODIFIER_LIST_rec.attribute15)
610     THEN
611         NULL;
612     END IF;
613 
614     IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.attribute2,p_old_MODIFIER_LIST_rec.attribute2)
615     THEN
616         NULL;
617     END IF;
618 
619     IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.attribute3,p_old_MODIFIER_LIST_rec.attribute3)
620     THEN
621         NULL;
622     END IF;
623 
624     IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.attribute4,p_old_MODIFIER_LIST_rec.attribute4)
625     THEN
626         NULL;
627     END IF;
628 
629     IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.attribute5,p_old_MODIFIER_LIST_rec.attribute5)
630     THEN
631         NULL;
632     END IF;
633 
634     IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.attribute6,p_old_MODIFIER_LIST_rec.attribute6)
635     THEN
636         NULL;
637     END IF;
638 
639     IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.attribute7,p_old_MODIFIER_LIST_rec.attribute7)
640     THEN
641         NULL;
642     END IF;
643 
644     IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.attribute8,p_old_MODIFIER_LIST_rec.attribute8)
645     THEN
646         NULL;
647     END IF;
648 
649     IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.attribute9,p_old_MODIFIER_LIST_rec.attribute9)
650     THEN
651         NULL;
652     END IF;
653 
654     IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.automatic_flag,p_old_MODIFIER_LIST_rec.automatic_flag)
655     THEN
656        -- NULL;
657        IF QP_JAVA_ENGINE_UTIL_PUB.Java_Engine_Installed = 'N' THEN
658         IF FND_PROFILE.VALUE('QP_PATTERN_SEARCH') = 'M' OR FND_PROFILE.VALUE('QP_PATTERN_SEARCH') = 'B'THEN
659          IF(p_MODIFIER_LIST_rec.operation = OE_GLOBALS.G_OPR_UPDATE) THEN
660                 qp_delayed_requests_pvt.log_request(
661 		p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
662 		p_entity_id => p_MODIFIER_LIST_rec.list_header_id,
663 		p_request_unique_key1 => NULL,
664 		p_request_unique_key2 => 'UD',
665 		p_requesting_entity_code => QP_GLOBALS.G_ENTITY_ALL,
666 		p_requesting_entity_id => p_MODIFIER_LIST_rec.list_header_id,
667 		p_request_type => QP_GLOBALS.G_MAINTAIN_HEADER_PATTERN,
668 		x_return_status => x_MODIFIER_LIST_rec.return_status);
669         END IF;
670        END IF;
671       END IF;
672     END IF;
673 
674     IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.comments,p_old_MODIFIER_LIST_rec.comments)
675     THEN
676         NULL;
677     END IF;
678 
679     IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.context,p_old_MODIFIER_LIST_rec.context)
680     THEN
681         NULL;
682     END IF;
683 
684     IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.created_by,p_old_MODIFIER_LIST_rec.created_by)
685     THEN
686         NULL;
687     END IF;
688 
689     IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.creation_date,p_old_MODIFIER_LIST_rec.creation_date)
690     THEN
691         NULL;
692     END IF;
693 
694     IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.currency_code,p_old_MODIFIER_LIST_rec.currency_code)
695     THEN
696 --      NULL;
697 	IF QP_JAVA_ENGINE_UTIL_PUB.Java_Engine_Installed = 'Y' THEN
698 	  IF(p_MODIFIER_LIST_rec.operation = OE_GLOBALS.G_OPR_UPDATE) THEN
699             qp_delayed_requests_pvt.log_request(
700 		p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
701 		p_entity_id => p_MODIFIER_LIST_rec.list_header_id,
702 		p_request_unique_key1 => NULL,
703 		p_request_unique_key2 => 'UD',
704 		p_requesting_entity_code => QP_GLOBALS.G_ENTITY_ALL,
705 		p_requesting_entity_id => p_MODIFIER_LIST_rec.list_header_id,
706 		p_request_type => QP_GLOBALS.G_MAINTAIN_HEADER_PATTERN,
707 		x_return_status => x_MODIFIER_LIST_rec.return_status);
708 	END IF;
709     END IF;
710 -- Pattern
711 -- jagan's PL/SQL pattern
712        IF QP_JAVA_ENGINE_UTIL_PUB.Java_Engine_Installed = 'N' THEN
713         IF FND_PROFILE.VALUE('QP_PATTERN_SEARCH') = 'M' OR FND_PROFILE.VALUE('QP_PATTERN_SEARCH') = 'B'THEN
714          IF(p_MODIFIER_LIST_rec.operation = OE_GLOBALS.G_OPR_UPDATE) THEN
715                 qp_delayed_requests_pvt.log_request(
716 		p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
717 		p_entity_id => p_MODIFIER_LIST_rec.list_header_id,
718 		p_request_unique_key1 => NULL,
719 		p_request_unique_key2 => 'UD',
720 		p_requesting_entity_code => QP_GLOBALS.G_ENTITY_ALL,
721 		p_requesting_entity_id => p_MODIFIER_LIST_rec.list_header_id,
722 		p_request_type => QP_GLOBALS.G_MAINTAIN_HEADER_PATTERN,
723 		x_return_status => x_MODIFIER_LIST_rec.return_status);
724         END IF;
725        END IF;
726       END IF;
727     END IF;
728 
729     IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.discount_lines_flag,p_old_MODIFIER_LIST_rec.discount_lines_flag)
730     THEN
731         NULL;
732     END IF;
733 
734     IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.end_date_active,p_old_MODIFIER_LIST_rec.end_date_active)
735     THEN
736        -- NULL;
737        IF QP_JAVA_ENGINE_UTIL_PUB.Java_Engine_Installed = 'N' THEN
738         IF FND_PROFILE.VALUE('QP_PATTERN_SEARCH') = 'M' OR FND_PROFILE.VALUE('QP_PATTERN_SEARCH') = 'B'THEN
739          IF(p_MODIFIER_LIST_rec.operation = OE_GLOBALS.G_OPR_UPDATE) THEN
740                 qp_delayed_requests_pvt.log_request(
741 		p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
742 		p_entity_id => p_MODIFIER_LIST_rec.list_header_id,
743 		p_request_unique_key1 => NULL,
744 		p_request_unique_key2 => 'UD',
745 		p_requesting_entity_code => QP_GLOBALS.G_ENTITY_ALL,
746 		p_requesting_entity_id => p_MODIFIER_LIST_rec.list_header_id,
747 		p_request_type => QP_GLOBALS.G_MAINTAIN_HEADER_PATTERN,
748 		x_return_status => x_MODIFIER_LIST_rec.return_status);
749         END IF;
750        END IF;
751       END IF;
752     END IF;
753 
754     IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.freight_terms_code,p_old_MODIFIER_LIST_rec.freight_terms_code)
755     THEN
756         NULL;
757     END IF;
758 
759     IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.gsa_indicator,p_old_MODIFIER_LIST_rec.gsa_indicator)
760     THEN
761         NULL;
762     END IF;
763 
764     IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.last_updated_by,p_old_MODIFIER_LIST_rec.last_updated_by)
765     THEN
766         NULL;
767     END IF;
768 
769     IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.last_update_date,p_old_MODIFIER_LIST_rec.last_update_date)
770     THEN
771         NULL;
772     END IF;
773 
774     IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.last_update_login,p_old_MODIFIER_LIST_rec.last_update_login)
775     THEN
776         NULL;
777     END IF;
778 
779     IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.list_header_id,p_old_MODIFIER_LIST_rec.list_header_id)
780     THEN
781         NULL;
782     END IF;
783 
784     IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.list_type_code,p_old_MODIFIER_LIST_rec.list_type_code)
785     THEN
786         NULL;
787 	IF QP_JAVA_ENGINE_UTIL_PUB.Java_Engine_Installed = 'Y' THEN
788 	  IF (p_MODIFIER_LIST_rec.operation = OE_GLOBALS.G_OPR_UPDATE) THEN
789             qp_delayed_requests_pvt.log_request(
790 		p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
791 		p_entity_id => p_MODIFIER_LIST_rec.list_header_id,
792 		p_request_unique_key1 => NULL,
793 		p_request_unique_key2 => 'UD',
794 		p_requesting_entity_code => QP_GLOBALS.G_ENTITY_ALL,
795 		p_requesting_entity_id => p_MODIFIER_LIST_rec.list_header_id,
796 		p_request_type => QP_GLOBALS.G_MAINTAIN_HEADER_PATTERN,
797 		x_return_status => x_MODIFIER_LIST_rec.return_status);
798 	END IF;
799      END IF;
800 -- Pattern
801 -- jagan's PL/SQL pattern
802 
803        IF QP_JAVA_ENGINE_UTIL_PUB.Java_Engine_Installed = 'N' THEN
804         IF FND_PROFILE.VALUE('QP_PATTERN_SEARCH') = 'M' OR FND_PROFILE.VALUE('QP_PATTERN_SEARCH') = 'B' THEN
805          IF (p_MODIFIER_LIST_rec.operation = OE_GLOBALS.G_OPR_UPDATE) THEN
806                 qp_delayed_requests_pvt.log_request(
807 		p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
808 		p_entity_id => p_MODIFIER_LIST_rec.list_header_id,
809 		p_request_unique_key1 => NULL,
810 		p_request_unique_key2 => 'UD',
811 		p_requesting_entity_code => QP_GLOBALS.G_ENTITY_ALL,
812 		p_requesting_entity_id => p_MODIFIER_LIST_rec.list_header_id,
813 		p_request_type => QP_GLOBALS.G_MAINTAIN_HEADER_PATTERN,
814 		x_return_status => x_MODIFIER_LIST_rec.return_status);
815 	END IF;
816        END IF;
817       END IF;
818     END IF;
819 
820     IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.program_application_id,p_old_MODIFIER_LIST_rec.program_application_id)
821     THEN
822         NULL;
823     END IF;
824 
825     IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.program_id,p_old_MODIFIER_LIST_rec.program_id)
826     THEN
827         NULL;
828     END IF;
829 
830     IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.program_update_date,p_old_MODIFIER_LIST_rec.program_update_date)
831     THEN
832         NULL;
833     END IF;
834 
835     IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.prorate_flag,p_old_MODIFIER_LIST_rec.prorate_flag)
836     THEN
837         NULL;
838     END IF;
839 
840     IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.request_id,p_old_MODIFIER_LIST_rec.request_id)
841     THEN
842         NULL;
843     END IF;
844 
845     IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.rounding_factor,p_old_MODIFIER_LIST_rec.rounding_factor)
846     THEN
847         NULL;
848     END IF;
849 
850     IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.ship_method_code,p_old_MODIFIER_LIST_rec.ship_method_code)
851     THEN
852         NULL;
853     END IF;
854 
855     IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.start_date_active,p_old_MODIFIER_LIST_rec.start_date_active)
856     THEN
857       --  NULL;
858       IF QP_JAVA_ENGINE_UTIL_PUB.Java_Engine_Installed = 'N' THEN
859         IF FND_PROFILE.VALUE('QP_PATTERN_SEARCH') = 'M' OR FND_PROFILE.VALUE('QP_PATTERN_SEARCH') = 'B'THEN
860          IF(p_MODIFIER_LIST_rec.operation = OE_GLOBALS.G_OPR_UPDATE) THEN
861                 qp_delayed_requests_pvt.log_request(
862 		p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
863 		p_entity_id => p_MODIFIER_LIST_rec.list_header_id,
864 		p_request_unique_key1 => NULL,
865 		p_request_unique_key2 => 'UD',
866 		p_requesting_entity_code => QP_GLOBALS.G_ENTITY_ALL,
867 		p_requesting_entity_id => p_MODIFIER_LIST_rec.list_header_id,
868 		p_request_type => QP_GLOBALS.G_MAINTAIN_HEADER_PATTERN,
869 		x_return_status => x_MODIFIER_LIST_rec.return_status);
870         END IF;
871        END IF;
872       END IF;
873     END IF;
874 
875     IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.terms_id,p_old_MODIFIER_LIST_rec.terms_id)
876     THEN
877         NULL;
878     END IF;
879 
880     IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.source_system_code,p_old_MODIFIER_LIST_rec.source_system_code)
881     THEN
882         NULL;
883 	IF QP_JAVA_ENGINE_UTIL_PUB.Java_Engine_Installed = 'Y' THEN
884 	   IF (p_MODIFIER_LIST_rec.operation = OE_GLOBALS.G_OPR_UPDATE) THEN
885             qp_delayed_requests_pvt.log_request(
886 		p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
887 		p_entity_id => p_MODIFIER_LIST_rec.list_header_id,
888 		p_request_unique_key1 => NULL,
889 		p_request_unique_key2 => 'UD',
890 		p_requesting_entity_code => QP_GLOBALS.G_ENTITY_ALL,
891 		p_requesting_entity_id => p_MODIFIER_LIST_rec.list_header_id,
892 		p_request_type => QP_GLOBALS.G_MAINTAIN_HEADER_PATTERN,
893 		x_return_status => x_MODIFIER_LIST_rec.return_status);
894           END IF;
895 	END IF;
896 -- Pattern
897 -- jagan's PL/SQL pattern
898        IF QP_JAVA_ENGINE_UTIL_PUB.Java_Engine_Installed = 'N' THEN
899         IF FND_PROFILE.VALUE('QP_PATTERN_SEARCH') = 'Y' OR FND_PROFILE.VALUE('QP_PATTERN_SEARCH') = 'B' THEN
900          IF (p_MODIFIER_LIST_rec.operation = OE_GLOBALS.G_OPR_UPDATE) THEN
901             qp_delayed_requests_pvt.log_request(
902 		p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
903 		p_entity_id => p_MODIFIER_LIST_rec.list_header_id,
904 		p_request_unique_key1 => NULL,
905 		p_request_unique_key2 => 'UD',
906 		p_requesting_entity_code => QP_GLOBALS.G_ENTITY_ALL,
907 		p_requesting_entity_id => p_MODIFIER_LIST_rec.list_header_id,
908 		p_request_type => QP_GLOBALS.G_MAINTAIN_HEADER_PATTERN,
909 		x_return_status => x_MODIFIER_LIST_rec.return_status);
910           END IF;
911        END IF;
912       END IF;
913     END IF;
914 
915     IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.pte_code,p_old_MODIFIER_LIST_rec.pte_code)
916     THEN
917         NULL;
918     END IF;
919 
920     IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.active_flag,p_old_MODIFIER_LIST_rec.active_flag)
921     THEN
922         NULL;
923 
924 		--hw
925 		-- log delayed request for changed lines for active flag change
926 		if QP_PERF_PVT.enabled = 'Y' then
927  		qp_delayed_requests_pvt.log_request(
928           	p_entity_code => QP_GLOBALS.G_ENTITY_MODIFIER_LIST,
929        	  	p_entity_id => p_MODIFIER_LIST_rec.list_header_id,
930           	p_requesting_entity_code => QP_GLOBALS.G_ENTITY_MODIFIERS,
931           	p_requesting_entity_id => p_MODIFIER_LIST_rec.list_header_id,
932           	p_request_type => QP_GLOBALS.G_UPDATE_CHANGED_LINES_ACT,
933 			p_param1 => p_MODIFIER_LIST_rec.active_flag,
934           	x_return_status => x_MODIFIER_LIST_rec.return_status);
935 		end if;
936 
937 		--hvop
938 		qp_delayed_requests_pvt.log_request(
939                 p_entity_code => QP_GLOBALS.G_ENTITY_MODIFIER_LIST,
940                 p_entity_id => p_MODIFIER_LIST_rec.list_header_id,
941                 p_requesting_entity_code => QP_GLOBALS.G_ENTITY_MODIFIERS,
942                 p_requesting_entity_id => p_MODIFIER_LIST_rec.list_header_id,
943                 p_request_type => QP_GLOBALS.G_UPDATE_HVOP,
944                 x_return_status => x_MODIFIER_LIST_rec.return_status);
945 		--hvop
946 		IF QP_JAVA_ENGINE_UTIL_PUB.Java_Engine_Installed = 'Y' THEN
947             	 IF (p_MODIFIER_LIST_rec.operation = OE_GLOBALS.G_OPR_UPDATE) THEN
948                   qp_delayed_requests_pvt.log_request(
949 		  p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
950 		  p_entity_id => p_MODIFIER_LIST_rec.list_header_id,
951 		  p_request_unique_key1 => NULL,
952 		  p_request_unique_key2 => 'UD',
953 		  p_requesting_entity_code => QP_GLOBALS.G_ENTITY_ALL,
954 		  p_requesting_entity_id => p_MODIFIER_LIST_rec.list_header_id,
955 		  p_request_type => QP_GLOBALS.G_MAINTAIN_HEADER_PATTERN,
956 		  x_return_status => x_MODIFIER_LIST_rec.return_status);
957 		END IF;
958               END IF; --Java Engine Installed
959 	-- Pattern
960 -- jagan's PL/SQL pattern
961        IF QP_JAVA_ENGINE_UTIL_PUB.Java_Engine_Installed = 'N' THEN
962         IF FND_PROFILE.VALUE('QP_PATTERN_SEARCH') = 'M' OR FND_PROFILE.VALUE('QP_PATTERN_SEARCH') = 'B' THEN
963          IF (p_MODIFIER_LIST_rec.operation = OE_GLOBALS.G_OPR_UPDATE) THEN
964                   qp_delayed_requests_pvt.log_request(
965 		  p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
966 		  p_entity_id => p_MODIFIER_LIST_rec.list_header_id,
967 		  p_request_unique_key1 => NULL,
968 		  p_request_unique_key2 => 'UD',
969 		  p_requesting_entity_code => QP_GLOBALS.G_ENTITY_ALL,
970 		  p_requesting_entity_id => p_MODIFIER_LIST_rec.list_header_id,
971 		  p_request_type => QP_GLOBALS.G_MAINTAIN_HEADER_PATTERN,
972 		  x_return_status => x_MODIFIER_LIST_rec.return_status);
973 	 END IF;
974        END IF;
975       END IF;
976 --to populate rltd_Exists,oid_exists,prg_exists and qp_basic_modifiers_setup
977 --performance profile
978   IF p_MODIFIER_LIST_rec.operation = QP_GLOBALS.G_OPR_UPDATE THEN
979 
980 	BEGIN
981 	select 'Y' into l_modifiers_exist
982 	from qp_list_lines
983 	where list_header_id = p_MODIFIER_LIST_rec.list_header_id
984 	and rownum = 1;
985 	EXCEPTION
986 	When OTHERS THEN
987 	l_modifiers_exist := 'N';
988 	END;
989 
990 	IF l_modifiers_exist = 'Y' THEN
991 
992 ------------------fix for bug 3756625
993   FOR I in l_pricing_phase_cur(p_MODIFIER_LIST_rec.list_header_id)
994 LOOP
995 
996          qp_delayed_requests_PVT.log_request(
997                  p_entity_code => QP_GLOBALS.G_ENTITY_MODIFIER_LIST,
998                   p_entity_id  => p_MODIFIER_LIST_rec.list_header_id,
999                   p_param1  => I.pricing_phase_id,
1000                  p_requesting_entity_code=> QP_GLOBALS.G_ENTITY_MODIFIER_LIST,
1001                  p_requesting_entity_id => p_MODIFIER_LIST_rec.list_header_id,
1002                  p_request_type =>QP_GLOBALS.G_UPDATE_PRICING_PHASE,
1003                  x_return_status => x_MODIFIER_LIST_rec.return_status);
1004 END LOOP;
1005 
1006 	qp_delayed_requests_pvt.log_request(
1007                 p_entity_code => QP_GLOBALS.G_ENTITY_MODIFIER_LIST,
1008                 p_entity_id => p_MODIFIER_LIST_rec.list_header_id,
1009                 p_requesting_entity_code => QP_GLOBALS.G_ENTITY_MODIFIERS,
1010                 p_requesting_entity_id => p_MODIFIER_LIST_rec.list_header_id,
1011                 p_request_type => QP_GLOBALS.G_UPDATE_HVOP,
1012                 x_return_status => x_MODIFIER_LIST_rec.return_status);
1013 	END IF;
1014   END IF;
1015 
1016   IF p_MODIFIER_LIST_rec.operation = QP_GLOBALS.G_OPR_UPDATE THEN
1017 
1018            Update QP_QUALIFIERS
1019            set    active_flag = p_MODIFIER_LIST_rec.active_flag
1020            where  list_header_id = p_MODIFIER_LIST_rec.list_header_id;
1021 
1022    IF p_MODIFIER_LIST_rec.active_flag = 'Y'
1023    THEN
1024 	update qp_pte_segments set used_in_setup='Y'
1025 	where nvl(used_in_setup,'N')='N'
1026 	and segment_id in
1027 	(select  a.segment_id
1028 	from qp_segments_b a,qp_prc_contexts_b b,qp_qualifiers c
1029 	where c.list_header_id         = p_MODIFIER_LIST_rec.list_header_id
1030 	and   a.segment_mapping_column = c .qualifier_attribute
1031 	and   a.prc_context_id         = b.prc_context_id
1032 	and   b.prc_context_type       = 'QUALIFIER'
1033 	and   b.prc_context_code       = c.qualifier_context);
1034 
1035 	update qp_pte_segments d set used_in_setup='Y'
1036 	where nvl(used_in_setup,'N')='N'
1037 	and exists
1038 	(select  'x'
1039 	from qp_segments_b a,qp_prc_contexts_b b,qp_pricing_attributes c
1040 	where c.list_header_id         = p_MODIFIER_LIST_rec.list_header_id
1041 	and   a.segment_mapping_column = c.pricing_attribute
1042         and   a.segment_id             = d.segment_id
1043 	and   a.prc_context_id         = b.prc_context_id
1044 	and   b.prc_context_type       = 'PRICING_ATTRIBUTE'
1045 	and   b.prc_context_code       = c.pricing_attribute_context);
1046 
1047 	update qp_pte_segments d set used_in_setup='Y'
1048 	where nvl(used_in_setup,'N')='N'
1049 	and exists
1050 	(select  'x'
1051 	from qp_segments_b a,qp_prc_contexts_b b,qp_pricing_attributes c
1052 	where c.list_header_id         = p_MODIFIER_LIST_rec.list_header_id
1053 	and   a.segment_mapping_column = c.product_attribute
1054         and   a.segment_id             = d.segment_id
1055 	and   a.prc_context_id         = b.prc_context_id
1056 	and   b.prc_context_type       = 'PRODUCT'
1057 	and   b.prc_context_code       = c.product_attribute_context);
1058 
1059 	update qp_pte_segments set used_in_setup='Y'
1060 	where nvl(used_in_setup,'N')='N'
1061 	and segment_id in
1062 	(select  a.segment_id
1063 	from qp_segments_b a,qp_prc_contexts_b b,qp_limits c
1064 	where c.list_header_id         = p_MODIFIER_LIST_rec.list_header_id
1065 	and   a.segment_mapping_column = c.multival_attribute1
1066 	and   a.prc_context_id         = b.prc_context_id
1067 	and   b.prc_context_type       = c.multival_attr1_type
1068 	and   b.prc_context_code       = c.multival_attr1_context);
1069 
1070 	update qp_pte_segments set used_in_setup='Y'
1071 	where nvl(used_in_setup,'N')='N'
1072 	and segment_id in
1073 	(select  a.segment_id
1074 	from qp_segments_b a,qp_prc_contexts_b b,qp_limits c
1075 	where c.list_header_id         = p_MODIFIER_LIST_rec.list_header_id
1076 	and   a.segment_mapping_column = c.multival_attribute2
1077 	and   a.prc_context_id         = b.prc_context_id
1078 	and   b.prc_context_type       = c.multival_attr2_type
1079 	and   b.prc_context_code       = c.multival_attr2_context);
1080 
1081 
1082 	update qp_pte_segments set used_in_setup='Y'
1083 	where nvl(used_in_setup,'N')='N'
1084 	and segment_id in
1085 	(select  a.segment_id
1086 	from qp_segments_b a,qp_prc_contexts_b b,qp_limit_attributes c,qp_limits d
1087 	where c.limit_id               = d.limit_id
1088         and   d.list_header_id         = p_MODIFIER_LIST_rec.list_header_id
1089 	and   a.segment_mapping_column = c.limit_attribute
1090 	and   a.prc_context_id         = b.prc_context_id
1091 	and   b.prc_context_type       = c.limit_attribute_type
1092 	and   b.prc_context_code       = c.limit_attribute_context);
1093 
1094     END IF;
1095 
1096   END IF;
1097   END IF;
1098 
1099     IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.parent_list_header_id,p_old_MODIFIER_LIST_rec.parent_list_header_id)
1100     THEN
1101         NULL;
1102     END IF;
1103 
1104     IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.start_date_active_first,p_old_MODIFIER_LIST_rec.start_date_active_first)
1105     THEN
1106       --  NULL;
1107       IF QP_JAVA_ENGINE_UTIL_PUB.Java_Engine_Installed = 'N' THEN
1108         IF FND_PROFILE.VALUE('QP_PATTERN_SEARCH') = 'M' OR FND_PROFILE.VALUE('QP_PATTERN_SEARCH') = 'B'THEN
1109          IF(p_MODIFIER_LIST_rec.operation = OE_GLOBALS.G_OPR_UPDATE) THEN
1110                 qp_delayed_requests_pvt.log_request(
1111 		p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
1112 		p_entity_id => p_MODIFIER_LIST_rec.list_header_id,
1113 		p_request_unique_key1 => NULL,
1114 		p_request_unique_key2 => 'UD',
1115 		p_requesting_entity_code => QP_GLOBALS.G_ENTITY_ALL,
1116 		p_requesting_entity_id => p_MODIFIER_LIST_rec.list_header_id,
1117 		p_request_type => QP_GLOBALS.G_MAINTAIN_HEADER_PATTERN,
1118 		x_return_status => x_MODIFIER_LIST_rec.return_status);
1119         END IF;
1120        END IF;
1121       END IF;
1122     END IF;
1123 
1124     IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.end_date_active_first,p_old_MODIFIER_LIST_rec.end_date_active_first)
1125     THEN
1126        -- NULL;
1127        IF QP_JAVA_ENGINE_UTIL_PUB.Java_Engine_Installed = 'N' THEN
1128         IF FND_PROFILE.VALUE('QP_PATTERN_SEARCH') = 'M' OR FND_PROFILE.VALUE('QP_PATTERN_SEARCH') = 'B'THEN
1129          IF(p_MODIFIER_LIST_rec.operation = OE_GLOBALS.G_OPR_UPDATE) THEN
1130                 qp_delayed_requests_pvt.log_request(
1131 		p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
1132 		p_entity_id => p_MODIFIER_LIST_rec.list_header_id,
1133 		p_request_unique_key1 => NULL,
1134 		p_request_unique_key2 => 'UD',
1135 		p_requesting_entity_code => QP_GLOBALS.G_ENTITY_ALL,
1136 		p_requesting_entity_id => p_MODIFIER_LIST_rec.list_header_id,
1137 		p_request_type => QP_GLOBALS.G_MAINTAIN_HEADER_PATTERN,
1138 		x_return_status => x_MODIFIER_LIST_rec.return_status);
1139         END IF;
1140        END IF;
1141       END IF;
1142     END IF;
1143 
1144     IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.active_date_first_type,p_old_MODIFIER_LIST_rec.active_date_first_type)
1145     THEN
1146        -- NULL;
1147        IF QP_JAVA_ENGINE_UTIL_PUB.Java_Engine_Installed = 'N' THEN
1148         IF FND_PROFILE.VALUE('QP_PATTERN_SEARCH') = 'M' OR FND_PROFILE.VALUE('QP_PATTERN_SEARCH') = 'B'THEN
1149          IF(p_MODIFIER_LIST_rec.operation = OE_GLOBALS.G_OPR_UPDATE) THEN
1150                 qp_delayed_requests_pvt.log_request(
1151 		p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
1152 		p_entity_id => p_MODIFIER_LIST_rec.list_header_id,
1153 		p_request_unique_key1 => NULL,
1154 		p_request_unique_key2 => 'UD',
1155 		p_requesting_entity_code => QP_GLOBALS.G_ENTITY_ALL,
1156 		p_requesting_entity_id => p_MODIFIER_LIST_rec.list_header_id,
1157 		p_request_type => QP_GLOBALS.G_MAINTAIN_HEADER_PATTERN,
1158 		x_return_status => x_MODIFIER_LIST_rec.return_status);
1159         END IF;
1160        END IF;
1161       END IF;
1162     END IF;
1163 
1164     IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.start_date_active_second,p_old_MODIFIER_LIST_rec.start_date_active_second)
1165     THEN
1166       --  NULL;
1167       IF QP_JAVA_ENGINE_UTIL_PUB.Java_Engine_Installed = 'N' THEN
1168         IF FND_PROFILE.VALUE('QP_PATTERN_SEARCH') = 'M' OR FND_PROFILE.VALUE('QP_PATTERN_SEARCH') = 'B'THEN
1169          IF(p_MODIFIER_LIST_rec.operation = OE_GLOBALS.G_OPR_UPDATE) THEN
1170                 qp_delayed_requests_pvt.log_request(
1171 		p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
1172 		p_entity_id => p_MODIFIER_LIST_rec.list_header_id,
1173 		p_request_unique_key1 => NULL,
1174 		p_request_unique_key2 => 'UD',
1175 		p_requesting_entity_code => QP_GLOBALS.G_ENTITY_ALL,
1176 		p_requesting_entity_id => p_MODIFIER_LIST_rec.list_header_id,
1177 		p_request_type => QP_GLOBALS.G_MAINTAIN_HEADER_PATTERN,
1178 		x_return_status => x_MODIFIER_LIST_rec.return_status);
1179         END IF;
1180        END IF;
1181       END IF;
1182     END IF;
1183 
1184     IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.global_flag,p_old_MODIFIER_LIST_rec.global_flag)
1185     THEN
1186      --   NULL;
1187      IF QP_JAVA_ENGINE_UTIL_PUB.Java_Engine_Installed = 'N' THEN
1188         IF FND_PROFILE.VALUE('QP_PATTERN_SEARCH') = 'M' OR FND_PROFILE.VALUE('QP_PATTERN_SEARCH') = 'B'THEN
1189          IF(p_MODIFIER_LIST_rec.operation = OE_GLOBALS.G_OPR_UPDATE) THEN
1190                 qp_delayed_requests_pvt.log_request(
1191 		p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
1192 		p_entity_id => p_MODIFIER_LIST_rec.list_header_id,
1193 		p_request_unique_key1 => NULL,
1194 		p_request_unique_key2 => 'UD',
1195 		p_requesting_entity_code => QP_GLOBALS.G_ENTITY_ALL,
1196 		p_requesting_entity_id => p_MODIFIER_LIST_rec.list_header_id,
1197 		p_request_type => QP_GLOBALS.G_MAINTAIN_HEADER_PATTERN,
1198 		x_return_status => x_MODIFIER_LIST_rec.return_status);
1199         END IF;
1200        END IF;
1201       END IF;
1202     END IF;
1203 
1204 
1205     IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.end_date_active_second,p_old_MODIFIER_LIST_rec.end_date_active_second)
1206     THEN
1207       --  NULL;
1208       IF QP_JAVA_ENGINE_UTIL_PUB.Java_Engine_Installed = 'N' THEN
1209         IF FND_PROFILE.VALUE('QP_PATTERN_SEARCH') = 'M' OR FND_PROFILE.VALUE('QP_PATTERN_SEARCH') = 'B'THEN
1210          IF(p_MODIFIER_LIST_rec.operation = OE_GLOBALS.G_OPR_UPDATE) THEN
1211                 qp_delayed_requests_pvt.log_request(
1212 		p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
1213 		p_entity_id => p_MODIFIER_LIST_rec.list_header_id,
1214 		p_request_unique_key1 => NULL,
1215 		p_request_unique_key2 => 'UD',
1216 		p_requesting_entity_code => QP_GLOBALS.G_ENTITY_ALL,
1217 		p_requesting_entity_id => p_MODIFIER_LIST_rec.list_header_id,
1218 		p_request_type => QP_GLOBALS.G_MAINTAIN_HEADER_PATTERN,
1219 		x_return_status => x_MODIFIER_LIST_rec.return_status);
1220         END IF;
1221        END IF;
1222       END IF;
1223     END IF;
1224 
1225     IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.active_date_second_type,p_old_MODIFIER_LIST_rec.active_date_second_type)
1226     THEN
1227       --  NULL;
1228       IF QP_JAVA_ENGINE_UTIL_PUB.Java_Engine_Installed = 'N' THEN
1229         IF FND_PROFILE.VALUE('QP_PATTERN_SEARCH') = 'M' OR FND_PROFILE.VALUE('QP_PATTERN_SEARCH') = 'B'THEN
1230          IF(p_MODIFIER_LIST_rec.operation = OE_GLOBALS.G_OPR_UPDATE) THEN
1231                 qp_delayed_requests_pvt.log_request(
1232 		p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
1233 		p_entity_id => p_MODIFIER_LIST_rec.list_header_id,
1234 		p_request_unique_key1 => NULL,
1235 		p_request_unique_key2 => 'UD',
1236 		p_requesting_entity_code => QP_GLOBALS.G_ENTITY_ALL,
1237 		p_requesting_entity_id => p_MODIFIER_LIST_rec.list_header_id,
1238 		p_request_type => QP_GLOBALS.G_MAINTAIN_HEADER_PATTERN,
1239 		x_return_status => x_MODIFIER_LIST_rec.return_status);
1240         END IF;
1241        END IF;
1242       END IF;
1243     END IF;
1244 
1245     IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.ask_for_flag,p_old_MODIFIER_LIST_rec.ask_for_flag)
1246     THEN
1247         NULL;
1248 	IF QP_JAVA_ENGINE_UTIL_PUB.Java_Engine_Installed = 'Y' THEN
1249 	  IF(p_MODIFIER_LIST_rec.operation = OE_GLOBALS.G_OPR_UPDATE) THEN
1250              qp_delayed_requests_pvt.log_request(
1251 		p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
1252 		p_entity_id => p_MODIFIER_LIST_rec.list_header_id,
1253 		p_request_unique_key1 => NULL,
1254 		p_request_unique_key2 => 'UD',
1255 		p_requesting_entity_code => QP_GLOBALS.G_ENTITY_ALL,
1256 		p_requesting_entity_id => p_MODIFIER_LIST_rec.list_header_id,
1257 		p_request_type => QP_GLOBALS.G_MAINTAIN_HEADER_PATTERN,
1258 		x_return_status => x_MODIFIER_LIST_rec.return_status);
1259             END IF;
1260 	END IF;
1261 -- Pattern
1262 -- jagan's PL/SQL pattern
1263        IF QP_JAVA_ENGINE_UTIL_PUB.Java_Engine_Installed = 'N' THEN
1264         IF FND_PROFILE.VALUE('QP_PATTERN_SEARCH') = 'M' OR FND_PROFILE.VALUE('QP_PATTERN_SEARCH') = 'B' THEN
1265          IF(p_MODIFIER_LIST_rec.operation = OE_GLOBALS.G_OPR_UPDATE) THEN
1266              qp_delayed_requests_pvt.log_request(
1267 		p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
1268 		p_entity_id => p_MODIFIER_LIST_rec.list_header_id,
1269 		p_request_unique_key1 => NULL,
1270 		p_request_unique_key2 => 'UD',
1271 		p_requesting_entity_code => QP_GLOBALS.G_ENTITY_ALL,
1272 		p_requesting_entity_id => p_MODIFIER_LIST_rec.list_header_id,
1273 		p_request_type => QP_GLOBALS.G_MAINTAIN_HEADER_PATTERN,
1274 		x_return_status => x_MODIFIER_LIST_rec.return_status);
1275             END IF;
1276        END IF;
1277       END IF;
1278     END IF;
1279 
1280     IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.name,p_old_MODIFIER_LIST_rec.name)
1281     THEN
1282         NULL;
1283     END IF;
1284 
1285     IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.description,p_old_MODIFIER_LIST_rec.description)
1286     THEN
1287         NULL;
1288     END IF;
1289 
1290     -- Blanket Pricing
1291     IF NOT QP_GLOBALS.Equal (p_MODIFIER_LIST_rec.list_source_code, p_old_MODIFIER_LIST_rec.list_source_code)
1292     THEN
1293         NULL;
1294     END IF;
1295 
1296     IF NOT QP_GLOBALS.Equal (p_MODIFIER_LIST_rec.orig_system_header_ref, p_old_MODIFIER_LIST_rec.orig_system_header_ref)
1297     THEN
1298         NULL;
1299     END IF;
1300 
1301     IF NOT QP_GLOBALS.Equal (p_MODIFIER_LIST_rec.shareable_flag, p_old_MODIFIER_LIST_rec.shareable_flag)
1302     THEN
1303         NULL;
1304     END IF;
1305 
1306     --added for MOAC
1307     IF NOT QP_GLOBALS.Equal (p_MODIFIER_LIST_rec.org_id, p_old_MODIFIER_LIST_rec.org_id)
1308     THEN
1309         NULL;
1310     END IF;
1311 
1312 	oe_debug_pub.add('END apply_attribute_changes in QPXUMLHB');
1313 END Apply_Attribute_Changes;
1314 
1315 
1316 --  Function Complete_Record
1317 
1318 FUNCTION Complete_Record
1319 (   p_MODIFIER_LIST_rec             IN  QP_Modifiers_PUB.Modifier_List_Rec_Type
1320 ,   p_old_MODIFIER_LIST_rec         IN  QP_Modifiers_PUB.Modifier_List_Rec_Type
1321 ) RETURN QP_Modifiers_PUB.Modifier_List_Rec_Type
1322 IS
1323 l_MODIFIER_LIST_rec           QP_Modifiers_PUB.Modifier_List_Rec_Type := p_MODIFIER_LIST_rec;
1324 BEGIN
1325 
1326 	oe_debug_pub.add('BEGIN complete_record in QPXUMLHB');
1327 
1328     IF l_MODIFIER_LIST_rec.attribute1 = FND_API.G_MISS_CHAR THEN
1329         l_MODIFIER_LIST_rec.attribute1 := p_old_MODIFIER_LIST_rec.attribute1;
1330     END IF;
1331 
1332     IF l_MODIFIER_LIST_rec.attribute10 = FND_API.G_MISS_CHAR THEN
1333         l_MODIFIER_LIST_rec.attribute10 := p_old_MODIFIER_LIST_rec.attribute10;
1334     END IF;
1335 
1336     IF l_MODIFIER_LIST_rec.attribute11 = FND_API.G_MISS_CHAR THEN
1337         l_MODIFIER_LIST_rec.attribute11 := p_old_MODIFIER_LIST_rec.attribute11;
1338     END IF;
1339 
1340     IF l_MODIFIER_LIST_rec.attribute12 = FND_API.G_MISS_CHAR THEN
1341         l_MODIFIER_LIST_rec.attribute12 := p_old_MODIFIER_LIST_rec.attribute12;
1342     END IF;
1343 
1344     IF l_MODIFIER_LIST_rec.attribute13 = FND_API.G_MISS_CHAR THEN
1345         l_MODIFIER_LIST_rec.attribute13 := p_old_MODIFIER_LIST_rec.attribute13;
1346     END IF;
1347 
1348     IF l_MODIFIER_LIST_rec.attribute14 = FND_API.G_MISS_CHAR THEN
1349         l_MODIFIER_LIST_rec.attribute14 := p_old_MODIFIER_LIST_rec.attribute14;
1350     END IF;
1351 
1352     IF l_MODIFIER_LIST_rec.attribute15 = FND_API.G_MISS_CHAR THEN
1353         l_MODIFIER_LIST_rec.attribute15 := p_old_MODIFIER_LIST_rec.attribute15;
1354     END IF;
1355 
1356     IF l_MODIFIER_LIST_rec.attribute2 = FND_API.G_MISS_CHAR THEN
1357         l_MODIFIER_LIST_rec.attribute2 := p_old_MODIFIER_LIST_rec.attribute2;
1358     END IF;
1359 
1360     IF l_MODIFIER_LIST_rec.attribute3 = FND_API.G_MISS_CHAR THEN
1361         l_MODIFIER_LIST_rec.attribute3 := p_old_MODIFIER_LIST_rec.attribute3;
1362     END IF;
1363 
1364     IF l_MODIFIER_LIST_rec.attribute4 = FND_API.G_MISS_CHAR THEN
1365         l_MODIFIER_LIST_rec.attribute4 := p_old_MODIFIER_LIST_rec.attribute4;
1366     END IF;
1367 
1368     IF l_MODIFIER_LIST_rec.attribute5 = FND_API.G_MISS_CHAR THEN
1369         l_MODIFIER_LIST_rec.attribute5 := p_old_MODIFIER_LIST_rec.attribute5;
1370     END IF;
1371 
1372     IF l_MODIFIER_LIST_rec.attribute6 = FND_API.G_MISS_CHAR THEN
1373         l_MODIFIER_LIST_rec.attribute6 := p_old_MODIFIER_LIST_rec.attribute6;
1374     END IF;
1375 
1376     IF l_MODIFIER_LIST_rec.attribute7 = FND_API.G_MISS_CHAR THEN
1377         l_MODIFIER_LIST_rec.attribute7 := p_old_MODIFIER_LIST_rec.attribute7;
1378     END IF;
1379 
1380     IF l_MODIFIER_LIST_rec.attribute8 = FND_API.G_MISS_CHAR THEN
1381         l_MODIFIER_LIST_rec.attribute8 := p_old_MODIFIER_LIST_rec.attribute8;
1382     END IF;
1383 
1384     IF l_MODIFIER_LIST_rec.attribute9 = FND_API.G_MISS_CHAR THEN
1385         l_MODIFIER_LIST_rec.attribute9 := p_old_MODIFIER_LIST_rec.attribute9;
1386     END IF;
1387 
1388     IF l_MODIFIER_LIST_rec.automatic_flag = FND_API.G_MISS_CHAR THEN
1389         l_MODIFIER_LIST_rec.automatic_flag := p_old_MODIFIER_LIST_rec.automatic_flag;
1390     END IF;
1391 
1392     IF l_MODIFIER_LIST_rec.comments = FND_API.G_MISS_CHAR THEN
1393         l_MODIFIER_LIST_rec.comments := p_old_MODIFIER_LIST_rec.comments;
1394     END IF;
1395 
1396     IF l_MODIFIER_LIST_rec.context = FND_API.G_MISS_CHAR THEN
1397         l_MODIFIER_LIST_rec.context := p_old_MODIFIER_LIST_rec.context;
1398     END IF;
1399 
1400     IF l_MODIFIER_LIST_rec.created_by = FND_API.G_MISS_NUM THEN
1401         l_MODIFIER_LIST_rec.created_by := p_old_MODIFIER_LIST_rec.created_by;
1402     END IF;
1403 
1404     IF l_MODIFIER_LIST_rec.creation_date = FND_API.G_MISS_DATE THEN
1405         l_MODIFIER_LIST_rec.creation_date := p_old_MODIFIER_LIST_rec.creation_date;
1406     END IF;
1407 
1408     IF l_MODIFIER_LIST_rec.currency_code = FND_API.G_MISS_CHAR THEN
1409         l_MODIFIER_LIST_rec.currency_code := p_old_MODIFIER_LIST_rec.currency_code;
1410     END IF;
1411 
1412     IF l_MODIFIER_LIST_rec.discount_lines_flag = FND_API.G_MISS_CHAR THEN
1413         l_MODIFIER_LIST_rec.discount_lines_flag := p_old_MODIFIER_LIST_rec.discount_lines_flag;
1414     END IF;
1415 
1416     IF l_MODIFIER_LIST_rec.end_date_active = FND_API.G_MISS_DATE THEN
1417         l_MODIFIER_LIST_rec.end_date_active := p_old_MODIFIER_LIST_rec.end_date_active;
1418     END IF;
1419 
1420     IF l_MODIFIER_LIST_rec.freight_terms_code = FND_API.G_MISS_CHAR THEN
1421         l_MODIFIER_LIST_rec.freight_terms_code := p_old_MODIFIER_LIST_rec.freight_terms_code;
1422     END IF;
1423 
1424     IF l_MODIFIER_LIST_rec.gsa_indicator = FND_API.G_MISS_CHAR THEN
1425         l_MODIFIER_LIST_rec.gsa_indicator := p_old_MODIFIER_LIST_rec.gsa_indicator;
1426     END IF;
1427 
1428     IF l_MODIFIER_LIST_rec.last_updated_by = FND_API.G_MISS_NUM THEN
1429         l_MODIFIER_LIST_rec.last_updated_by := p_old_MODIFIER_LIST_rec.last_updated_by;
1430     END IF;
1431 
1432     IF l_MODIFIER_LIST_rec.last_update_date = FND_API.G_MISS_DATE THEN
1433         l_MODIFIER_LIST_rec.last_update_date := p_old_MODIFIER_LIST_rec.last_update_date;
1434     END IF;
1435 
1436     IF l_MODIFIER_LIST_rec.last_update_login = FND_API.G_MISS_NUM THEN
1437         l_MODIFIER_LIST_rec.last_update_login := p_old_MODIFIER_LIST_rec.last_update_login;
1438     END IF;
1439 
1440     IF l_MODIFIER_LIST_rec.list_header_id = FND_API.G_MISS_NUM THEN
1441         l_MODIFIER_LIST_rec.list_header_id := p_old_MODIFIER_LIST_rec.list_header_id;
1442     END IF;
1443 
1444     IF l_MODIFIER_LIST_rec.list_type_code = FND_API.G_MISS_CHAR THEN
1445         l_MODIFIER_LIST_rec.list_type_code := p_old_MODIFIER_LIST_rec.list_type_code;
1446     END IF;
1447 
1448     IF l_MODIFIER_LIST_rec.program_application_id = FND_API.G_MISS_NUM THEN
1449         l_MODIFIER_LIST_rec.program_application_id := p_old_MODIFIER_LIST_rec.program_application_id;
1450     END IF;
1451 
1452     IF l_MODIFIER_LIST_rec.program_id = FND_API.G_MISS_NUM THEN
1453         l_MODIFIER_LIST_rec.program_id := p_old_MODIFIER_LIST_rec.program_id;
1454     END IF;
1455 
1456     IF l_MODIFIER_LIST_rec.program_update_date = FND_API.G_MISS_DATE THEN
1457         l_MODIFIER_LIST_rec.program_update_date := p_old_MODIFIER_LIST_rec.program_update_date;
1458     END IF;
1459 
1460     IF l_MODIFIER_LIST_rec.prorate_flag = FND_API.G_MISS_CHAR THEN
1461         l_MODIFIER_LIST_rec.prorate_flag := p_old_MODIFIER_LIST_rec.prorate_flag;
1462     END IF;
1463 
1464     IF l_MODIFIER_LIST_rec.request_id = FND_API.G_MISS_NUM THEN
1465         l_MODIFIER_LIST_rec.request_id := p_old_MODIFIER_LIST_rec.request_id;
1466     END IF;
1467 
1468     IF l_MODIFIER_LIST_rec.rounding_factor = FND_API.G_MISS_NUM THEN
1469         l_MODIFIER_LIST_rec.rounding_factor := p_old_MODIFIER_LIST_rec.rounding_factor;
1470     END IF;
1471 
1472     IF l_MODIFIER_LIST_rec.ship_method_code = FND_API.G_MISS_CHAR THEN
1473         l_MODIFIER_LIST_rec.ship_method_code := p_old_MODIFIER_LIST_rec.ship_method_code;
1474     END IF;
1475 
1476     IF l_MODIFIER_LIST_rec.start_date_active = FND_API.G_MISS_DATE THEN
1477         l_MODIFIER_LIST_rec.start_date_active := p_old_MODIFIER_LIST_rec.start_date_active;
1478     END IF;
1479 
1480     IF l_MODIFIER_LIST_rec.terms_id = FND_API.G_MISS_NUM THEN
1481         l_MODIFIER_LIST_rec.terms_id := p_old_MODIFIER_LIST_rec.terms_id;
1482     END IF;
1483 
1484     IF l_MODIFIER_LIST_rec.source_system_code = FND_API.G_MISS_CHAR THEN
1485         l_MODIFIER_LIST_rec.source_system_code := p_old_MODIFIER_LIST_rec.source_system_code;
1486     END IF;
1487 
1488     IF l_MODIFIER_LIST_rec.pte_code = FND_API.G_MISS_CHAR THEN
1489         l_MODIFIER_LIST_rec.pte_code := p_old_MODIFIER_LIST_rec.pte_code;
1490     END IF;
1491 
1492     IF l_MODIFIER_LIST_rec.active_flag = FND_API.G_MISS_CHAR THEN
1493         l_MODIFIER_LIST_rec.active_flag := p_old_MODIFIER_LIST_rec.active_flag;
1494     END IF;
1495 
1496     IF l_MODIFIER_LIST_rec.parent_list_header_id = FND_API.G_MISS_NUM THEN
1497         l_MODIFIER_LIST_rec.parent_list_header_id := p_old_MODIFIER_LIST_rec.parent_list_header_id;
1498     END IF;
1499 
1500     IF l_MODIFIER_LIST_rec.start_date_active_first = FND_API.G_MISS_DATE THEN
1501         l_MODIFIER_LIST_rec.start_date_active_first := p_old_MODIFIER_LIST_rec.start_date_active_first;
1502     END IF;
1503 
1504     IF l_MODIFIER_LIST_rec.end_date_active_first = FND_API.G_MISS_DATE THEN
1505         l_MODIFIER_LIST_rec.end_date_active_first := p_old_MODIFIER_LIST_rec.end_date_active_first;
1506     END IF;
1507 
1508     IF l_MODIFIER_LIST_rec.active_date_first_type = FND_API.G_MISS_CHAR THEN
1509         l_MODIFIER_LIST_rec.active_date_first_type := p_old_MODIFIER_LIST_rec.active_date_first_type;
1510     END IF;
1511 
1512     IF l_MODIFIER_LIST_rec.start_date_active_second = FND_API.G_MISS_DATE THEN
1513         l_MODIFIER_LIST_rec.start_date_active_second := p_old_MODIFIER_LIST_rec.start_date_active_second;
1514     END IF;
1515 
1516     IF l_MODIFIER_LIST_rec.global_flag = FND_API.G_MISS_CHAR THEN
1517         l_MODIFIER_LIST_rec.global_flag := p_old_MODIFIER_LIST_rec.global_flag;
1518     END IF;
1519 
1520 
1521     IF l_MODIFIER_LIST_rec.end_date_active_second = FND_API.G_MISS_DATE THEN
1522         l_MODIFIER_LIST_rec.end_date_active_second := p_old_MODIFIER_LIST_rec.end_date_active_second;
1523     END IF;
1524 
1525     IF l_MODIFIER_LIST_rec.active_date_second_type = FND_API.G_MISS_CHAR THEN
1526         l_MODIFIER_LIST_rec.active_date_second_type := p_old_MODIFIER_LIST_rec.active_date_second_type;
1527     END IF;
1528 
1529     IF l_MODIFIER_LIST_rec.ask_for_flag = FND_API.G_MISS_CHAR THEN
1530         l_MODIFIER_LIST_rec.ask_for_flag := p_old_MODIFIER_LIST_rec.ask_for_flag;
1531     END IF;
1532 
1533     IF l_MODIFIER_LIST_rec.name = FND_API.G_MISS_CHAR THEN
1534         l_MODIFIER_LIST_rec.name := p_old_MODIFIER_LIST_rec.name;
1535     END IF;
1536 
1537     IF l_MODIFIER_LIST_rec.version_no = FND_API.G_MISS_CHAR THEN
1538         l_MODIFIER_LIST_rec.version_no := p_old_MODIFIER_LIST_rec.version_no;
1539     END IF;
1540 
1541     IF l_MODIFIER_LIST_rec.description = FND_API.G_MISS_CHAR THEN
1542         l_MODIFIER_LIST_rec.description := p_old_MODIFIER_LIST_rec.description;
1543     END IF;
1544 
1545     -- Blanket Agreement Pricing bug#3871577
1546     IF l_MODIFIER_LIST_rec.list_source_code = FND_API.G_MISS_CHAR THEN
1547         l_MODIFIER_LIST_rec.list_source_code := p_old_MODIFIER_LIST_rec.list_source_code;
1548     END IF;
1549 
1550     IF l_MODIFIER_LIST_rec.orig_system_header_ref = FND_API.G_MISS_CHAR THEN
1551         l_MODIFIER_LIST_rec.orig_system_header_ref := p_old_MODIFIER_LIST_rec.orig_system_header_ref;
1552     END IF;
1553 
1554     IF l_MODIFIER_LIST_rec.shareable_flag = FND_API.G_MISS_CHAR THEN
1555         l_MODIFIER_LIST_rec.shareable_flag := p_old_MODIFIER_LIST_rec.shareable_flag;
1556     END IF;
1557 
1558     --added for MOAC
1559     IF l_MODIFIER_LIST_rec.org_id = FND_API.G_MISS_NUM THEN
1560         l_MODIFIER_LIST_rec.org_id := p_old_MODIFIER_LIST_rec.org_id;
1561     END IF;
1562 
1563 	oe_debug_pub.add('version QPXUMLHB'||l_MODIFIER_LIST_rec.version_no);
1564 	oe_debug_pub.add('END complete_record in QPXUMLHB');
1565     RETURN l_MODIFIER_LIST_rec;
1566 
1567 END Complete_Record;
1568 
1569 --  Function Convert_Miss_To_Null
1570 
1571 FUNCTION Convert_Miss_To_Null
1572 (   p_MODIFIER_LIST_rec             IN  QP_Modifiers_PUB.Modifier_List_Rec_Type
1573 ) RETURN QP_Modifiers_PUB.Modifier_List_Rec_Type
1574 IS
1575 l_MODIFIER_LIST_rec           QP_Modifiers_PUB.Modifier_List_Rec_Type := p_MODIFIER_LIST_rec;
1576 BEGIN
1577 
1578 	oe_debug_pub.add('BEGIN convert_miss_to_null in QPXUMLHB');
1579 
1580     IF l_MODIFIER_LIST_rec.attribute1 = FND_API.G_MISS_CHAR THEN
1581         l_MODIFIER_LIST_rec.attribute1 := NULL;
1582     END IF;
1583 
1584     IF l_MODIFIER_LIST_rec.attribute10 = FND_API.G_MISS_CHAR THEN
1585         l_MODIFIER_LIST_rec.attribute10 := NULL;
1586     END IF;
1587 
1588     IF l_MODIFIER_LIST_rec.attribute11 = FND_API.G_MISS_CHAR THEN
1589         l_MODIFIER_LIST_rec.attribute11 := NULL;
1590     END IF;
1591 
1592     IF l_MODIFIER_LIST_rec.attribute12 = FND_API.G_MISS_CHAR THEN
1593         l_MODIFIER_LIST_rec.attribute12 := NULL;
1594     END IF;
1595 
1596     IF l_MODIFIER_LIST_rec.attribute13 = FND_API.G_MISS_CHAR THEN
1597         l_MODIFIER_LIST_rec.attribute13 := NULL;
1598     END IF;
1599 
1600     IF l_MODIFIER_LIST_rec.attribute14 = FND_API.G_MISS_CHAR THEN
1601         l_MODIFIER_LIST_rec.attribute14 := NULL;
1602     END IF;
1603 
1604     IF l_MODIFIER_LIST_rec.attribute15 = FND_API.G_MISS_CHAR THEN
1605         l_MODIFIER_LIST_rec.attribute15 := NULL;
1606     END IF;
1607 
1608     IF l_MODIFIER_LIST_rec.attribute2 = FND_API.G_MISS_CHAR THEN
1609         l_MODIFIER_LIST_rec.attribute2 := NULL;
1610     END IF;
1611 
1612     IF l_MODIFIER_LIST_rec.attribute3 = FND_API.G_MISS_CHAR THEN
1613         l_MODIFIER_LIST_rec.attribute3 := NULL;
1614     END IF;
1615 
1616     IF l_MODIFIER_LIST_rec.attribute4 = FND_API.G_MISS_CHAR THEN
1617         l_MODIFIER_LIST_rec.attribute4 := NULL;
1618     END IF;
1619 
1620     IF l_MODIFIER_LIST_rec.attribute5 = FND_API.G_MISS_CHAR THEN
1621         l_MODIFIER_LIST_rec.attribute5 := NULL;
1622     END IF;
1623 
1624     IF l_MODIFIER_LIST_rec.attribute6 = FND_API.G_MISS_CHAR THEN
1625         l_MODIFIER_LIST_rec.attribute6 := NULL;
1626     END IF;
1627 
1628     IF l_MODIFIER_LIST_rec.attribute7 = FND_API.G_MISS_CHAR THEN
1629         l_MODIFIER_LIST_rec.attribute7 := NULL;
1630     END IF;
1631 
1632     IF l_MODIFIER_LIST_rec.attribute8 = FND_API.G_MISS_CHAR THEN
1633         l_MODIFIER_LIST_rec.attribute8 := NULL;
1634     END IF;
1635 
1636     IF l_MODIFIER_LIST_rec.attribute9 = FND_API.G_MISS_CHAR THEN
1637         l_MODIFIER_LIST_rec.attribute9 := NULL;
1638     END IF;
1639 
1640     IF l_MODIFIER_LIST_rec.automatic_flag = FND_API.G_MISS_CHAR THEN
1641         l_MODIFIER_LIST_rec.automatic_flag := NULL;
1642     END IF;
1643 
1644     IF l_MODIFIER_LIST_rec.comments = FND_API.G_MISS_CHAR THEN
1645         l_MODIFIER_LIST_rec.comments := NULL;
1646     END IF;
1647 
1648     IF l_MODIFIER_LIST_rec.context = FND_API.G_MISS_CHAR THEN
1649         l_MODIFIER_LIST_rec.context := NULL;
1650     END IF;
1651 
1652     IF l_MODIFIER_LIST_rec.created_by = FND_API.G_MISS_NUM THEN
1653         l_MODIFIER_LIST_rec.created_by := NULL;
1654     END IF;
1655 
1656     IF l_MODIFIER_LIST_rec.creation_date = FND_API.G_MISS_DATE THEN
1657         l_MODIFIER_LIST_rec.creation_date := NULL;
1658     END IF;
1659 
1660     IF l_MODIFIER_LIST_rec.currency_code = FND_API.G_MISS_CHAR THEN
1661         l_MODIFIER_LIST_rec.currency_code := NULL;
1662     END IF;
1663 
1664     IF l_MODIFIER_LIST_rec.discount_lines_flag = FND_API.G_MISS_CHAR THEN
1665         l_MODIFIER_LIST_rec.discount_lines_flag := NULL;
1666     END IF;
1667 
1668     IF l_MODIFIER_LIST_rec.end_date_active = FND_API.G_MISS_DATE THEN
1669         l_MODIFIER_LIST_rec.end_date_active := NULL;
1670     END IF;
1671 
1672     IF l_MODIFIER_LIST_rec.freight_terms_code = FND_API.G_MISS_CHAR THEN
1673         l_MODIFIER_LIST_rec.freight_terms_code := NULL;
1674     END IF;
1675 
1676     IF l_MODIFIER_LIST_rec.gsa_indicator = FND_API.G_MISS_CHAR THEN
1677         l_MODIFIER_LIST_rec.gsa_indicator := NULL;
1678     END IF;
1679 
1680     IF l_MODIFIER_LIST_rec.last_updated_by = FND_API.G_MISS_NUM THEN
1681         l_MODIFIER_LIST_rec.last_updated_by := NULL;
1682     END IF;
1683 
1684     IF l_MODIFIER_LIST_rec.last_update_date = FND_API.G_MISS_DATE THEN
1685         l_MODIFIER_LIST_rec.last_update_date := NULL;
1686     END IF;
1687 
1688     IF l_MODIFIER_LIST_rec.last_update_login = FND_API.G_MISS_NUM THEN
1689         l_MODIFIER_LIST_rec.last_update_login := NULL;
1690     END IF;
1691 
1692     IF l_MODIFIER_LIST_rec.list_header_id = FND_API.G_MISS_NUM THEN
1693         l_MODIFIER_LIST_rec.list_header_id := NULL;
1694     END IF;
1695 
1696     IF l_MODIFIER_LIST_rec.list_type_code = FND_API.G_MISS_CHAR THEN
1697         l_MODIFIER_LIST_rec.list_type_code := NULL;
1698     END IF;
1699 
1700     IF l_MODIFIER_LIST_rec.program_application_id = FND_API.G_MISS_NUM THEN
1701         l_MODIFIER_LIST_rec.program_application_id := NULL;
1702     END IF;
1703 
1704     IF l_MODIFIER_LIST_rec.program_id = FND_API.G_MISS_NUM THEN
1705         l_MODIFIER_LIST_rec.program_id := NULL;
1706     END IF;
1707 
1708     IF l_MODIFIER_LIST_rec.program_update_date = FND_API.G_MISS_DATE THEN
1709         l_MODIFIER_LIST_rec.program_update_date := NULL;
1710     END IF;
1711 
1712     IF l_MODIFIER_LIST_rec.prorate_flag = FND_API.G_MISS_CHAR THEN
1713         l_MODIFIER_LIST_rec.prorate_flag := NULL;
1714     END IF;
1715 
1716     IF l_MODIFIER_LIST_rec.request_id = FND_API.G_MISS_NUM THEN
1717         l_MODIFIER_LIST_rec.request_id := NULL;
1718     END IF;
1719 
1720     IF l_MODIFIER_LIST_rec.rounding_factor = FND_API.G_MISS_NUM THEN
1721         l_MODIFIER_LIST_rec.rounding_factor := NULL;
1722     END IF;
1723 
1724     IF l_MODIFIER_LIST_rec.ship_method_code = FND_API.G_MISS_CHAR THEN
1725         l_MODIFIER_LIST_rec.ship_method_code := NULL;
1726     END IF;
1727 
1728     IF l_MODIFIER_LIST_rec.start_date_active = FND_API.G_MISS_DATE THEN
1729         l_MODIFIER_LIST_rec.start_date_active := NULL;
1730     END IF;
1731 
1732     IF l_MODIFIER_LIST_rec.terms_id = FND_API.G_MISS_NUM THEN
1733         l_MODIFIER_LIST_rec.terms_id := NULL;
1734     END IF;
1735 
1736     IF l_MODIFIER_LIST_rec.source_system_code = FND_API.G_MISS_CHAR THEN
1737         l_MODIFIER_LIST_rec.source_system_code := NULL;
1738     END IF;
1739 
1740     IF l_MODIFIER_LIST_rec.pte_code = FND_API.G_MISS_CHAR THEN
1741         l_MODIFIER_LIST_rec.pte_code := NULL;
1742     END IF;
1743 
1744     IF l_MODIFIER_LIST_rec.active_flag = FND_API.G_MISS_CHAR THEN
1745         l_MODIFIER_LIST_rec.active_flag := NULL;
1746     END IF;
1747 
1748     IF l_MODIFIER_LIST_rec.parent_list_header_id = FND_API.G_MISS_NUM THEN
1749         l_MODIFIER_LIST_rec.parent_list_header_id := NULL;
1750     END IF;
1751 
1752     IF l_MODIFIER_LIST_rec.start_date_active_first = FND_API.G_MISS_DATE THEN
1753         l_MODIFIER_LIST_rec.start_date_active_first := NULL;
1754     END IF;
1755 
1756     IF l_MODIFIER_LIST_rec.end_date_active_first = FND_API.G_MISS_DATE THEN
1757         l_MODIFIER_LIST_rec.end_date_active_first := NULL;
1758     END IF;
1759 
1760     IF l_MODIFIER_LIST_rec.active_date_first_type = FND_API.G_MISS_CHAR THEN
1761         l_MODIFIER_LIST_rec.active_date_first_type :=  NULL;
1762     END IF;
1763 
1764     IF l_MODIFIER_LIST_rec.start_date_active_second = FND_API.G_MISS_DATE THEN
1765         l_MODIFIER_LIST_rec.start_date_active_second := NULL;
1766     END IF;
1767 
1768     IF l_MODIFIER_LIST_rec.global_flag = FND_API.G_MISS_CHAR THEN
1769         l_MODIFIER_LIST_rec.global_flag := NULL;
1770     END IF;
1771 
1772 
1773     IF l_MODIFIER_LIST_rec.end_date_active_second = FND_API.G_MISS_DATE THEN
1774         l_MODIFIER_LIST_rec.end_date_active_second := NULL;
1775     END IF;
1776 
1777     IF l_MODIFIER_LIST_rec.active_date_second_type = FND_API.G_MISS_CHAR THEN
1778         l_MODIFIER_LIST_rec.active_date_second_type := NULL;
1779     END IF;
1780 
1781     IF l_MODIFIER_LIST_rec.ask_for_flag = FND_API.G_MISS_CHAR THEN
1782         l_MODIFIER_LIST_rec.ask_for_flag := NULL;
1783     END IF;
1784 
1785     IF l_MODIFIER_LIST_rec.name = FND_API.G_MISS_CHAR THEN
1786         l_MODIFIER_LIST_rec.name := NULL;
1787     END IF;
1788 
1789     IF l_MODIFIER_LIST_rec.description = FND_API.G_MISS_CHAR THEN
1790         l_MODIFIER_LIST_rec.description := NULL;
1791     END IF;
1792 
1793 	oe_debug_pub.add('END convert_miss_to_null in QPXUMLHB');
1794 
1795     RETURN l_MODIFIER_LIST_rec;
1796 
1797 END Convert_Miss_To_Null;
1798 
1799 --  Procedure Update_Row
1800 
1801 PROCEDURE Update_Row
1802 (   p_MODIFIER_LIST_rec             IN  QP_Modifiers_PUB.Modifier_List_Rec_Type
1803 )
1804 IS
1805 l_active_date_first_type   VARCHAR2(30);
1806 l_start_date_active_first  DATE;
1807 l_end_date_active_first    DATE;
1808 l_active_date_second_type  VARCHAR2(30);
1809 l_start_date_active_second DATE;
1810 l_end_date_active_second   DATE;
1811 BEGIN
1812 
1813 	oe_debug_pub.add('BEGIN update_row in QPXUMLHB');
1814 
1815     -- MKARYA - Correct the first and second active dates value, for bug 1744890
1816     l_active_date_first_type := p_MODIFIER_LIST_rec.active_date_first_type;
1817     l_start_date_active_first := p_MODIFIER_LIST_rec.start_date_active_first;
1818     l_end_date_active_first := p_MODIFIER_LIST_rec.end_date_active_first;
1819     l_active_date_second_type := p_MODIFIER_LIST_rec.active_date_second_type;
1820     l_start_date_active_second := p_MODIFIER_LIST_rec.start_date_active_second;
1821     l_end_date_active_second := p_MODIFIER_LIST_rec.end_date_active_second;
1822 
1823     IF (l_active_date_first_type = 'SHIP'
1824         OR l_active_date_second_type = 'ORD') THEN
1825            QP_UTIL.CORRECT_ACTIVE_DATES(l_active_date_first_type
1826                                        ,l_start_date_active_first
1827                                        ,l_end_date_active_first
1828                                        ,l_active_date_second_type
1829                                        ,l_start_date_active_second
1830                                        ,l_end_date_active_second
1831                                        );
1832     END IF;
1833 
1834     if QP_security.check_function( p_function_name => QP_Security.G_FUNCTION_UPDATE,
1835                                    p_instance_type => QP_Security.G_MODIFIER_OBJECT,
1836                                    p_instance_pk1 => p_MODIFIER_LIST_rec.list_header_id) <> 'F' then
1837 
1838     --for moac changes QP_LIST_HEADERS_B to all_b to enable updates to ML with orig_org_id
1839     --that do not belong to the responsibility when the user has update privilges
1840     UPDATE  QP_LIST_HEADERS_ALL_B
1841     SET     ATTRIBUTE1                     = p_MODIFIER_LIST_rec.attribute1
1842     ,       ATTRIBUTE10                    = p_MODIFIER_LIST_rec.attribute10
1843     ,       ATTRIBUTE11                    = p_MODIFIER_LIST_rec.attribute11
1844     ,       ATTRIBUTE12                    = p_MODIFIER_LIST_rec.attribute12
1845     ,       ATTRIBUTE13                    = p_MODIFIER_LIST_rec.attribute13
1846     ,       ATTRIBUTE14                    = p_MODIFIER_LIST_rec.attribute14
1847     ,       ATTRIBUTE15                    = p_MODIFIER_LIST_rec.attribute15
1848     ,       ATTRIBUTE2                     = p_MODIFIER_LIST_rec.attribute2
1849     ,       ATTRIBUTE3                     = p_MODIFIER_LIST_rec.attribute3
1850     ,       ATTRIBUTE4                     = p_MODIFIER_LIST_rec.attribute4
1851     ,       ATTRIBUTE5                     = p_MODIFIER_LIST_rec.attribute5
1852     ,       ATTRIBUTE6                     = p_MODIFIER_LIST_rec.attribute6
1853     ,       ATTRIBUTE7                     = p_MODIFIER_LIST_rec.attribute7
1854     ,       ATTRIBUTE8                     = p_MODIFIER_LIST_rec.attribute8
1855     ,       ATTRIBUTE9                     = p_MODIFIER_LIST_rec.attribute9
1856     ,       AUTOMATIC_FLAG                 = p_MODIFIER_LIST_rec.automatic_flag
1857     ,       COMMENTS                       = p_MODIFIER_LIST_rec.comments
1858     ,       CONTEXT                        = p_MODIFIER_LIST_rec.context
1859     ,       CREATED_BY                     = p_MODIFIER_LIST_rec.created_by
1860     ,       CREATION_DATE                  = p_MODIFIER_LIST_rec.creation_date
1861     ,       CURRENCY_CODE                  = p_MODIFIER_LIST_rec.currency_code
1862     ,       DISCOUNT_LINES_FLAG            = p_MODIFIER_LIST_rec.discount_lines_flag
1863     ,       END_DATE_ACTIVE                = TRUNC(p_MODIFIER_LIST_rec.end_date_active)
1864     ,       FREIGHT_TERMS_CODE             = p_MODIFIER_LIST_rec.freight_terms_code
1865     ,       GSA_INDICATOR                  = p_MODIFIER_LIST_rec.gsa_indicator
1866     ,       LAST_UPDATED_BY                = p_MODIFIER_LIST_rec.last_updated_by
1867     ,       LAST_UPDATE_DATE               = p_MODIFIER_LIST_rec.last_update_date
1868     ,       LAST_UPDATE_LOGIN              = p_MODIFIER_LIST_rec.last_update_login
1869     ,       LIST_HEADER_ID                 = p_MODIFIER_LIST_rec.list_header_id
1870     ,       LIST_TYPE_CODE                 = p_MODIFIER_LIST_rec.list_type_code
1871     ,       PROGRAM_APPLICATION_ID         = p_MODIFIER_LIST_rec.program_application_id
1872     ,       PROGRAM_ID                     = p_MODIFIER_LIST_rec.program_id
1873     ,       PROGRAM_UPDATE_DATE            = p_MODIFIER_LIST_rec.program_update_date
1874     ,       PRORATE_FLAG                   = p_MODIFIER_LIST_rec.prorate_flag
1875     ,       REQUEST_ID                     = p_MODIFIER_LIST_rec.request_id
1876     ,       ROUNDING_FACTOR                = p_MODIFIER_LIST_rec.rounding_factor
1877     ,       SHIP_METHOD_CODE               = p_MODIFIER_LIST_rec.ship_method_code
1878     ,       START_DATE_ACTIVE              = TRUNC(p_MODIFIER_LIST_rec.start_date_active)
1879     ,       TERMS_ID                       = p_MODIFIER_LIST_rec.terms_id
1880     ,       SOURCE_SYSTEM_CODE             = p_MODIFIER_LIST_rec.source_system_code
1881     ,       PTE_CODE                       = p_MODIFIER_LIST_rec.pte_code
1882     ,       ACTIVE_FLAG                    = p_MODIFIER_LIST_rec.active_flag
1883     ,       PARENT_LIST_HEADER_ID          = p_MODIFIER_LIST_rec.parent_list_header_id
1884     ,       START_DATE_ACTIVE_FIRST        = TRUNC(l_start_date_active_first)
1885     ,       END_DATE_ACTIVE_FIRST          = TRUNC(l_end_date_active_first)
1886     ,       ACTIVE_DATE_FIRST_TYPE         = l_active_date_first_type
1887     ,       START_DATE_ACTIVE_SECOND       = TRUNC(l_start_date_active_second)
1888     ,       GLOBAL_FLAG                    = p_MODIFIER_LIST_rec.global_flag
1889     ,       END_DATE_ACTIVE_SECOND         = TRUNC(l_end_date_active_second)
1890     ,       ACTIVE_DATE_SECOND_TYPE        = l_active_date_second_type
1891     ,       ASK_FOR_FLAG                   = p_MODIFIER_LIST_rec.ask_for_flag
1892     ,       LIST_SOURCE_CODE               = p_MODIFIER_LIST_rec.list_source_code
1893     ,       ORIG_SYSTEM_HEADER_REF         = p_MODIFIER_LIST_rec.orig_system_header_ref
1894     ,       SHAREABLE_FLAG                 = p_MODIFIER_LIST_rec.shareable_flag
1895     ,       ORIG_ORG_ID                    = p_MODIFIER_LIST_rec.org_id
1896     WHERE   LIST_HEADER_ID = p_MODIFIER_LIST_rec.list_header_id
1897     ;
1898 
1899     Begin
1900 
1901        update QP_LIST_HEADERS_TL set
1902          NAME                   = p_MODIFIER_LIST_rec.NAME
1903        , DESCRIPTION            = p_MODIFIER_LIST_rec.DESCRIPTION
1904        , VERSION_NO             = p_MODIFIER_LIST_rec.VERSION_NO
1905        , LAST_UPDATE_DATE       = p_MODIFIER_LIST_rec.LAST_UPDATE_DATE
1906        , LAST_UPDATED_BY        = p_MODIFIER_LIST_rec.LAST_UPDATED_BY
1907        , LAST_UPDATE_LOGIN      = p_MODIFIER_LIST_rec.LAST_UPDATE_LOGIN
1908        , SOURCE_LANG            = userenv('LANG')
1909        where LIST_HEADER_ID     = p_MODIFIER_LIST_rec.LIST_HEADER_ID
1910        and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
1911 
1912        Exception
1913          WHEN DUP_VAL_ON_INDEX THEN
1914 
1915          FND_MESSAGE.SET_NAME('QP','QP_DUPLICATE_MODIFIER');
1916          OE_MSG_PUB.Add;
1917          RAISE FND_API.G_EXC_ERROR;
1918 
1919            WHEN OTHERS THEN
1920 
1921                IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1922                THEN
1923                    OE_MSG_PUB.Add_Exc_Msg
1924                    (   G_PKG_NAME
1925                    ,      'Update_Row'
1926                    );
1927                END IF;
1928 
1929                RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1930 
1931        End;
1932      end if;
1933 
1934 EXCEPTION
1935 
1936     WHEN FND_API.G_EXC_ERROR THEN
1937     RAISE;
1938 
1939     WHEN OTHERS THEN
1940 
1941         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1942         THEN
1943             OE_MSG_PUB.Add_Exc_Msg
1944             (   G_PKG_NAME
1945             ,   'Update_Row'
1946             );
1947         END IF;
1948 
1949         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1950 
1951 END Update_Row;
1952 
1953 --  Procedure Insert_Row
1954 
1955 PROCEDURE Insert_Row
1956 (   p_MODIFIER_LIST_rec             IN  QP_Modifiers_PUB.Modifier_List_Rec_Type
1957 )
1958 IS
1959 l_return_status   VARCHAR2(30);
1960 l_active_date_first_type   VARCHAR2(30);
1961 l_start_date_active_first  DATE;
1962 l_end_date_active_first    DATE;
1963 l_active_date_second_type  VARCHAR2(30);
1964 l_start_date_active_second DATE;
1965 l_end_date_active_second   DATE;
1966 x_result                   VARCHAR2(1);
1967 
1968 BEGIN
1969 
1970 Begin
1971 
1972 insert into QP_LIST_HEADERS_TL
1973 ( LIST_HEADER_ID
1974 , NAME
1975 , DESCRIPTION
1976 , VERSION_NO
1977 , CREATION_DATE
1978 , CREATED_BY
1979 , LAST_UPDATE_DATE
1980 , LAST_UPDATED_BY
1981 , LAST_UPDATE_LOGIN
1982 , LANGUAGE
1983 , SOURCE_LANG
1984 ) select
1985   p_MODIFIER_LIST_rec.LIST_HEADER_ID
1986 , p_MODIFIER_LIST_rec.NAME
1987 , p_MODIFIER_LIST_rec.DESCRIPTION
1988 , p_MODIFIER_LIST_rec.VERSION_NO
1989 , p_MODIFIER_LIST_rec.CREATION_DATE
1990 , p_MODIFIER_LIST_rec.CREATED_BY
1991 , p_MODIFIER_LIST_rec.LAST_UPDATE_DATE
1992 , p_MODIFIER_LIST_rec.LAST_UPDATED_BY
1993 , p_MODIFIER_LIST_rec.LAST_UPDATE_LOGIN
1994 , L.LANGUAGE_CODE
1995 , userenv('LANG')
1996 from FND_LANGUAGES L
1997 where L.INSTALLED_FLAG in ('I','B')
1998 and not exists
1999 (select NULL from QP_LIST_HEADERS_TL T
2000 where T.LIST_HEADER_ID = p_MODIFIER_LIST_rec.LIST_HEADER_ID
2001 and T.LANGUAGE = L.LANGUAGE_CODE);
2002 
2003 Exception
2004   WHEN DUP_VAL_ON_INDEX THEN
2005 
2006   FND_MESSAGE.SET_NAME('QP','QP_DUPLICATE_MODIFIER');
2007   OE_MSG_PUB.Add;
2008   RAISE FND_API.G_EXC_ERROR;
2009 
2010     WHEN OTHERS THEN
2011 
2012         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2013         THEN
2014             OE_MSG_PUB.Add_Exc_Msg
2015             (   G_PKG_NAME
2016             ,   'Insert_Row'
2017             );
2018         END IF;
2019 
2020         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2021 
2022 End;
2023 
2024 	oe_debug_pub.add('BEGIN insert_row in QPXUMLHB');
2025 
2026     -- MKARYA - Correct the first and second active dates value, for bug 1744890
2027     l_active_date_first_type := p_MODIFIER_LIST_rec.active_date_first_type;
2028     l_start_date_active_first := p_MODIFIER_LIST_rec.start_date_active_first;
2029     l_end_date_active_first := p_MODIFIER_LIST_rec.end_date_active_first;
2030     l_active_date_second_type := p_MODIFIER_LIST_rec.active_date_second_type;
2031     l_start_date_active_second := p_MODIFIER_LIST_rec.start_date_active_second;
2032     l_end_date_active_second := p_MODIFIER_LIST_rec.end_date_active_second;
2033 
2034     IF (l_active_date_first_type = 'SHIP'
2035         OR l_active_date_second_type = 'ORD') THEN
2036            QP_UTIL.CORRECT_ACTIVE_DATES(l_active_date_first_type
2037                                        ,l_start_date_active_first
2038                                        ,l_end_date_active_first
2039                                        ,l_active_date_second_type
2040                                        ,l_start_date_active_second
2041                                        ,l_end_date_active_second
2042                                        );
2043     END IF;
2044 
2045     INSERT  INTO QP_LIST_HEADERS_B
2046     (       ATTRIBUTE1
2047     ,       ATTRIBUTE10
2048     ,       ATTRIBUTE11
2049     ,       ATTRIBUTE12
2050     ,       ATTRIBUTE13
2051     ,       ATTRIBUTE14
2052     ,       ATTRIBUTE15
2053     ,       ATTRIBUTE2
2054     ,       ATTRIBUTE3
2055     ,       ATTRIBUTE4
2056     ,       ATTRIBUTE5
2057     ,       ATTRIBUTE6
2058     ,       ATTRIBUTE7
2059     ,       ATTRIBUTE8
2060     ,       ATTRIBUTE9
2061     ,       AUTOMATIC_FLAG
2062     ,       COMMENTS
2063     ,       CONTEXT
2064     ,       CREATED_BY
2065     ,       CREATION_DATE
2066     ,       CURRENCY_CODE
2067     ,       DISCOUNT_LINES_FLAG
2068     ,       END_DATE_ACTIVE
2069     ,       FREIGHT_TERMS_CODE
2070     ,       GSA_INDICATOR
2071     ,       LAST_UPDATED_BY
2072     ,       LAST_UPDATE_DATE
2073     ,       LAST_UPDATE_LOGIN
2074     ,       LIST_HEADER_ID
2075     ,       LIST_TYPE_CODE
2076     ,       PROGRAM_APPLICATION_ID
2077     ,       PROGRAM_ID
2078     ,       PROGRAM_UPDATE_DATE
2079     ,       PRORATE_FLAG
2080     ,       REQUEST_ID
2081     ,       ROUNDING_FACTOR
2082     ,       SHIP_METHOD_CODE
2083     ,       START_DATE_ACTIVE
2084     ,       TERMS_ID
2085     ,       SOURCE_SYSTEM_CODE
2086     ,       PTE_CODE
2087     ,       ACTIVE_FLAG
2088     ,       PARENT_LIST_HEADER_ID
2089     ,       START_DATE_ACTIVE_FIRST
2090     ,       END_DATE_ACTIVE_FIRST
2091     ,       ACTIVE_DATE_FIRST_TYPE
2092     ,       START_DATE_ACTIVE_SECOND
2093     ,       GLOBAL_FLAG
2094     ,       END_DATE_ACTIVE_SECOND
2095     ,       ACTIVE_DATE_SECOND_TYPE
2096     , 	    ASK_FOR_FLAG
2097     , 	    orig_org_id
2098     ,       LIST_SOURCE_CODE
2099     ,       ORIG_SYSTEM_HEADER_REF
2100     ,       SHAREABLE_FLAG
2101     )
2102     VALUES
2103     (       p_MODIFIER_LIST_rec.attribute1
2104     ,       p_MODIFIER_LIST_rec.attribute10
2105     ,       p_MODIFIER_LIST_rec.attribute11
2106     ,       p_MODIFIER_LIST_rec.attribute12
2107     ,       p_MODIFIER_LIST_rec.attribute13
2108     ,       p_MODIFIER_LIST_rec.attribute14
2109     ,       p_MODIFIER_LIST_rec.attribute15
2110     ,       p_MODIFIER_LIST_rec.attribute2
2111     ,       p_MODIFIER_LIST_rec.attribute3
2112     ,       p_MODIFIER_LIST_rec.attribute4
2113     ,       p_MODIFIER_LIST_rec.attribute5
2114     ,       p_MODIFIER_LIST_rec.attribute6
2115     ,       p_MODIFIER_LIST_rec.attribute7
2116     ,       p_MODIFIER_LIST_rec.attribute8
2117     ,       p_MODIFIER_LIST_rec.attribute9
2118     ,       p_MODIFIER_LIST_rec.automatic_flag
2119     ,       p_MODIFIER_LIST_rec.comments
2120     ,       p_MODIFIER_LIST_rec.context
2121     ,       p_MODIFIER_LIST_rec.created_by
2122     ,       p_MODIFIER_LIST_rec.creation_date
2123     ,       p_MODIFIER_LIST_rec.currency_code
2124     ,       p_MODIFIER_LIST_rec.discount_lines_flag
2125     ,       TRUNC(p_MODIFIER_LIST_rec.end_date_active)
2126     ,       p_MODIFIER_LIST_rec.freight_terms_code
2127     ,       p_MODIFIER_LIST_rec.gsa_indicator
2128     ,       p_MODIFIER_LIST_rec.last_updated_by
2129     ,       p_MODIFIER_LIST_rec.last_update_date
2130     ,       p_MODIFIER_LIST_rec.last_update_login
2131     ,       p_MODIFIER_LIST_rec.list_header_id
2132     ,       p_MODIFIER_LIST_rec.list_type_code
2133     ,       p_MODIFIER_LIST_rec.program_application_id
2134     ,       p_MODIFIER_LIST_rec.program_id
2135     ,       p_MODIFIER_LIST_rec.program_update_date
2136     ,       p_MODIFIER_LIST_rec.prorate_flag
2137     ,       p_MODIFIER_LIST_rec.request_id
2138     ,       p_MODIFIER_LIST_rec.rounding_factor
2139     ,       p_MODIFIER_LIST_rec.ship_method_code
2140     ,       TRUNC(p_MODIFIER_LIST_rec.start_date_active)
2141     ,       p_MODIFIER_LIST_rec.terms_id
2142     ,       p_MODIFIER_LIST_rec.source_system_code
2143     ,       p_MODIFIER_LIST_rec.pte_code
2144     ,       p_MODIFIER_LIST_rec.active_flag
2145     ,       p_MODIFIER_LIST_rec.parent_list_header_id
2146     ,       TRUNC(l_start_date_active_first)
2147     ,       TRUNC(l_end_date_active_first)
2148     ,       l_active_date_first_type
2149     ,       TRUNC(l_start_date_active_second)
2150     ,       p_MODIFIER_LIST_rec.global_flag
2151     ,       TRUNC(l_end_date_active_second)
2152     ,       l_active_date_second_type
2153     ,       p_MODIFIER_LIST_rec.ask_for_flag
2154             --added for MOAC
2155     ,       p_MODIFIER_LIST_rec.org_id
2156     ,       p_MODIFIER_LIST_rec.list_source_code
2157     ,       p_MODIFIER_LIST_rec.orig_system_header_ref
2158     ,       p_MODIFIER_LIST_rec.shareable_flag
2159     );
2160 
2161     QP_Security.create_default_grants( p_instance_type => QP_Security.G_MODIFIER_OBJECT,
2162                                     p_instance_pk1 => p_MODIFIER_LIST_rec.list_header_id,
2163                                     x_return_status => x_result);
2164 
2165 	oe_debug_pub.add('insert QPXUMLHB'||p_MODIFIER_LIST_rec.VERSION_NO||to_char(p_modifier_list_rec.list_header_id));
2166 
2167 
2168 IF p_MODIFIER_LIST_rec.gsa_indicator = 'Y'
2169 THEN
2170 
2171   QP_QP_Form_Modifier_List.Create_GSA_Qual(p_MODIFIER_LIST_rec.LIST_HEADER_ID ,
2172      							 FND_API.G_MISS_NUM,
2173   					--NULL, for bug2420752
2174 							 'GSA',
2175 							 l_return_status );
2176 END IF;
2177 
2178 oe_debug_pub.add('l_ret_sts'||l_return_status);
2179 /*added this code to raise exception if qualifier does not get created-spgopal*/
2180 
2181 	    	IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2182 oe_debug_pub.add('l_ret_sts if'||l_return_status);
2183 			FND_MESSAGE.SET_NAME('QP','QP_PE_QUALIFIERS');
2184 			OE_MSG_PUB.Add;
2185 
2186 			  	RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2187 		ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
2188 oe_debug_pub.add('l_ret_sts else '||l_return_status);
2189 			FND_MESSAGE.SET_NAME('QP','QP_PE_QUALIFIERS');
2190 			OE_MSG_PUB.Add;
2191 				RAISE FND_API.G_EXC_ERROR;
2192 		END IF;
2193 
2194 
2195 
2196 	oe_debug_pub.add('insert after QPXUMLHB'||p_MODIFIER_LIST_rec.VERSION_NO||to_char(p_modifier_list_rec.list_header_id));
2197 	oe_debug_pub.add('END insert_row in QPXUMLHB');
2198 EXCEPTION
2199 
2200     WHEN FND_API.G_EXC_ERROR THEN
2201 
2202 
2203 		--x_return_status := FND_API.G_RET_STS_ERROR;
2204 
2205 /*
2206 			--  Get message count and data
2207 
2208 			OE_MSG_PUB.Count_And_Get
2209 			(   p_count                       => x_msg_count
2210 			,   p_data                        => x_msg_data
2211 			);
2212 			*/
2213 /* Commented for Bug 2101393
2214         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2215         THEN
2216             OE_MSG_PUB.Add_Exc_Msg
2217             (   G_PKG_NAME
2218             ,   'Insert_Row'
2219             );
2220         END IF;
2221 
2222         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2223 */
2224          RAISE;     -- Bug 2101393
2225 
2226 	WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2227 
2228 
2229 		--x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2230 
2231 /*
2232 			--  Get message count and data
2233 
2234 			OE_MSG_PUB.Count_And_Get
2235 			(   p_count                       => x_msg_count
2236 			,   p_data                        => x_msg_data
2237 			);
2238 			*/
2239 
2240         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2241         THEN
2242             OE_MSG_PUB.Add_Exc_Msg
2243             (   G_PKG_NAME
2244             ,   'Insert_Row'
2245             );
2246         END IF;
2247 
2248         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2249 
2250 
2251     WHEN OTHERS THEN
2252 
2253         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2254         THEN
2255             OE_MSG_PUB.Add_Exc_Msg
2256             (   G_PKG_NAME
2257             ,   'Insert_Row'
2258             );
2259         END IF;
2260 
2261         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2262 
2263 END Insert_Row;
2264 
2265 --  Procedure Delete_Row
2266 
2267 PROCEDURE Delete_Row
2268 (   p_list_header_id                IN  NUMBER
2269 )
2270 IS
2271 CURSOR C1(a_list_header_id NUMBER)
2272 IS
2273   SELECT list_line_id
2274   FROM   qp_list_lines
2275   WHERE  list_header_id = a_list_header_id;
2276 
2277 BEGIN
2278 
2279 	oe_debug_pub.add('BEGIN delete_row in QPXUMLHB');
2280 
2281   FOR list_lines in C1(p_list_header_id)
2282   LOOP
2283 
2284     DELETE FROM QP_PRICING_ATTRIBUTES
2285     WHERE LIST_LINE_ID = list_lines.list_line_id;
2286 
2287     DELETE FROM QP_RLTD_MODIFIERS
2288     WHERE FROM_RLTD_MODIFIER_ID = list_lines.list_line_id;
2289 
2290   END LOOP;
2291 
2292     DELETE FROM QP_LIST_LINES
2293     WHERE LIST_HEADER_ID = p_list_header_id;
2294 
2295     DELETE FROM QP_QUALIFIERS
2296     WHERE LIST_HEADER_ID = p_list_header_id;
2297 
2298     DELETE FROM QP_LIST_HEADERS_TL
2299     WHERE LIST_HEADER_ID = p_list_header_id;
2300 
2301     DELETE  FROM QP_LIST_HEADERS_B
2302     WHERE   LIST_HEADER_ID = p_list_header_id ;
2303 
2304 	oe_debug_pub.add('END delete_row in QPXUMLHB');
2305 EXCEPTION
2306 
2307     WHEN OTHERS THEN
2308 
2309         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2310         THEN
2311             OE_MSG_PUB.Add_Exc_Msg
2312             (   G_PKG_NAME
2313             ,   'Delete_Row'
2314             );
2315         END IF;
2316 
2317         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2318 
2319 END Delete_Row;
2320 
2321 --  Function Query_Row
2322 
2323 FUNCTION Query_Row
2324 (   p_list_header_id                IN  NUMBER
2325 ) RETURN QP_Modifiers_PUB.Modifier_List_Rec_Type
2326 IS
2327 l_MODIFIER_LIST_rec           QP_Modifiers_PUB.Modifier_List_Rec_Type;
2328 BEGIN
2329 
2330 	oe_debug_pub.add('BEGIN query_row in QPXUMLHB');
2331 
2332     SELECT  ATTRIBUTE1
2333     ,       ATTRIBUTE10
2334     ,       ATTRIBUTE11
2335     ,       ATTRIBUTE12
2336     ,       ATTRIBUTE13
2337     ,       ATTRIBUTE14
2338     ,       ATTRIBUTE15
2339     ,       ATTRIBUTE2
2340     ,       ATTRIBUTE3
2341     ,       ATTRIBUTE4
2342     ,       ATTRIBUTE5
2343     ,       ATTRIBUTE6
2344     ,       ATTRIBUTE7
2345     ,       ATTRIBUTE8
2346     ,       ATTRIBUTE9
2347     ,       AUTOMATIC_FLAG
2348     ,       COMMENTS
2349     ,       CONTEXT
2350     ,       CREATED_BY
2351     ,       CREATION_DATE
2352     ,       CURRENCY_CODE
2353     ,       DISCOUNT_LINES_FLAG
2354     ,       END_DATE_ACTIVE
2355     ,       FREIGHT_TERMS_CODE
2356     ,       GSA_INDICATOR
2357     ,       LAST_UPDATED_BY
2358     ,       LAST_UPDATE_DATE
2359     ,       LAST_UPDATE_LOGIN
2360     ,       LIST_HEADER_ID
2361     ,       LIST_TYPE_CODE
2362     ,       PROGRAM_APPLICATION_ID
2363     ,       PROGRAM_ID
2364     ,       PROGRAM_UPDATE_DATE
2365     ,       PRORATE_FLAG
2366     ,       REQUEST_ID
2367     ,       ROUNDING_FACTOR
2368     ,       SHIP_METHOD_CODE
2369     ,       START_DATE_ACTIVE
2370     ,       TERMS_ID
2371     ,       SOURCE_SYSTEM_CODE
2372     ,       PTE_CODE
2373     ,       ACTIVE_FLAG
2374     ,       PARENT_LIST_HEADER_ID
2375     ,       START_DATE_ACTIVE_FIRST
2376     ,       END_DATE_ACTIVE_FIRST
2377     ,       ACTIVE_DATE_FIRST_TYPE
2378     ,       START_DATE_ACTIVE_SECOND
2379     ,       GLOBAL_FLAG
2380     ,       END_DATE_ACTIVE_SECOND
2381     ,       ACTIVE_DATE_SECOND_TYPE
2382     ,       ASK_FOR_FLAG
2383     ,       LIST_SOURCE_CODE
2384     ,       ORIG_SYSTEM_HEADER_REF
2385     ,       SHAREABLE_FLAG
2386             --added for MOAC
2387     ,       orig_org_id
2388     INTO    l_MODIFIER_LIST_rec.attribute1
2389     ,       l_MODIFIER_LIST_rec.attribute10
2390     ,       l_MODIFIER_LIST_rec.attribute11
2391     ,       l_MODIFIER_LIST_rec.attribute12
2392     ,       l_MODIFIER_LIST_rec.attribute13
2393     ,       l_MODIFIER_LIST_rec.attribute14
2394     ,       l_MODIFIER_LIST_rec.attribute15
2395     ,       l_MODIFIER_LIST_rec.attribute2
2396     ,       l_MODIFIER_LIST_rec.attribute3
2397     ,       l_MODIFIER_LIST_rec.attribute4
2398     ,       l_MODIFIER_LIST_rec.attribute5
2399     ,       l_MODIFIER_LIST_rec.attribute6
2400     ,       l_MODIFIER_LIST_rec.attribute7
2401     ,       l_MODIFIER_LIST_rec.attribute8
2402     ,       l_MODIFIER_LIST_rec.attribute9
2403     ,       l_MODIFIER_LIST_rec.automatic_flag
2404     ,       l_MODIFIER_LIST_rec.comments
2405     ,       l_MODIFIER_LIST_rec.context
2406     ,       l_MODIFIER_LIST_rec.created_by
2407     ,       l_MODIFIER_LIST_rec.creation_date
2408     ,       l_MODIFIER_LIST_rec.currency_code
2409     ,       l_MODIFIER_LIST_rec.discount_lines_flag
2410     ,       l_MODIFIER_LIST_rec.end_date_active
2411     ,       l_MODIFIER_LIST_rec.freight_terms_code
2412     ,       l_MODIFIER_LIST_rec.gsa_indicator
2413     ,       l_MODIFIER_LIST_rec.last_updated_by
2414     ,       l_MODIFIER_LIST_rec.last_update_date
2415     ,       l_MODIFIER_LIST_rec.last_update_login
2416     ,       l_MODIFIER_LIST_rec.list_header_id
2417     ,       l_MODIFIER_LIST_rec.list_type_code
2418     ,       l_MODIFIER_LIST_rec.program_application_id
2419     ,       l_MODIFIER_LIST_rec.program_id
2420     ,       l_MODIFIER_LIST_rec.program_update_date
2421     ,       l_MODIFIER_LIST_rec.prorate_flag
2422     ,       l_MODIFIER_LIST_rec.request_id
2423     ,       l_MODIFIER_LIST_rec.rounding_factor
2424     ,       l_MODIFIER_LIST_rec.ship_method_code
2425     ,       l_MODIFIER_LIST_rec.start_date_active
2426     ,       l_MODIFIER_LIST_rec.terms_id
2427     ,       l_MODIFIER_LIST_rec.source_system_code
2428     ,       l_MODIFIER_LIST_rec.pte_code
2429     ,       l_MODIFIER_LIST_rec.active_flag
2430     ,       l_MODIFIER_LIST_rec.parent_list_header_id
2431     ,       l_MODIFIER_LIST_rec.start_date_active_first
2432     ,       l_MODIFIER_LIST_rec.end_date_active_first
2433     ,       l_MODIFIER_LIST_rec.active_date_first_type
2434     ,       l_MODIFIER_LIST_rec.start_date_active_second
2435     ,       l_MODIFIER_LIST_rec.global_flag
2436     ,       l_MODIFIER_LIST_rec.end_date_active_second
2437     ,       l_MODIFIER_LIST_rec.active_date_second_type
2438     ,       l_MODIFIER_LIST_rec.ask_for_flag
2439     ,       l_MODIFIER_LIST_rec.list_source_code
2440     ,       l_MODIFIER_LIST_rec.orig_system_header_ref
2441     ,       l_MODIFIER_LIST_rec.shareable_flag
2442             --added for MOAC
2443     ,      l_MODIFIER_LIST_rec.org_id
2444     FROM    QP_LIST_HEADERS_B
2445     WHERE   LIST_HEADER_ID = p_list_header_id
2446     ;
2447 
2448     SELECT  NAME
2449     ,       DESCRIPTION
2450     ,       VERSION_NO
2451     INTO    l_MODIFIER_LIST_rec.name
2452     ,       l_MODIFIER_LIST_rec.description
2453     ,       l_MODIFIER_LIST_rec.version_no
2454     FROM    qp_list_headers_tl
2455     WHERE   LIST_HEADER_ID = p_list_header_id
2456     AND     LANGUAGE = userenv('LANG');
2457 
2458 	oe_debug_pub.add('version_no QPXUMLHB'||l_MODIFIER_LIST_rec.version_no);
2459 	oe_debug_pub.add('END query_row in QPXUMLHB');
2460     RETURN l_MODIFIER_LIST_rec;
2461 
2462 EXCEPTION
2463 
2464     WHEN NO_DATA_FOUND THEN
2465     null;
2466 
2467     WHEN OTHERS THEN
2468 
2469         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2470         THEN
2471             OE_MSG_PUB.Add_Exc_Msg
2472             (   G_PKG_NAME
2473             ,   'Query_Row'
2474             );
2475         END IF;
2476 
2477         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2478 
2479 END Query_Row;
2480 
2481 --  Procedure       lock_Row
2482 --
2483 
2484 PROCEDURE Lock_Row
2485 (   x_return_status                 OUT NOCOPY VARCHAR2
2486 ,   p_MODIFIER_LIST_rec             IN  QP_Modifiers_PUB.Modifier_List_Rec_Type
2487 ,   x_MODIFIER_LIST_rec             OUT NOCOPY QP_Modifiers_PUB.Modifier_List_Rec_Type
2488 )
2489 IS
2490 l_MODIFIER_LIST_rec           QP_Modifiers_PUB.Modifier_List_Rec_Type;
2491 BEGIN
2492 
2493 	oe_debug_pub.add('BEGIN lock_row in QPXUMLHB');
2494 
2495     SELECT  ATTRIBUTE1
2496     ,       ATTRIBUTE10
2497     ,       ATTRIBUTE11
2498     ,       ATTRIBUTE12
2499     ,       ATTRIBUTE13
2500     ,       ATTRIBUTE14
2501     ,       ATTRIBUTE15
2502     ,       ATTRIBUTE2
2503     ,       ATTRIBUTE3
2504     ,       ATTRIBUTE4
2505     ,       ATTRIBUTE5
2506     ,       ATTRIBUTE6
2507     ,       ATTRIBUTE7
2508     ,       ATTRIBUTE8
2509     ,       ATTRIBUTE9
2510     ,       AUTOMATIC_FLAG
2511     ,       COMMENTS
2512     ,       CONTEXT
2513     ,       CREATED_BY
2514     , trunc(CREATION_DATE)
2515     ,       CURRENCY_CODE
2516     ,       DISCOUNT_LINES_FLAG
2517     , trunc(END_DATE_ACTIVE)
2518     ,       FREIGHT_TERMS_CODE
2519     ,       GSA_INDICATOR
2520     ,       LAST_UPDATED_BY
2521     , trunc(LAST_UPDATE_DATE)
2522     ,       LAST_UPDATE_LOGIN
2523     ,       LIST_HEADER_ID
2524     ,       LIST_TYPE_CODE
2525     ,       PROGRAM_APPLICATION_ID
2526     ,       PROGRAM_ID
2527     , trunc(PROGRAM_UPDATE_DATE)
2528     ,       PRORATE_FLAG
2529     ,       REQUEST_ID
2530     ,       ROUNDING_FACTOR
2531     ,       SHIP_METHOD_CODE
2532     , trunc(START_DATE_ACTIVE)
2533     ,       TERMS_ID
2534     ,       SOURCE_SYSTEM_CODE
2535     ,       PTE_CODE
2536     ,       ACTIVE_FLAG
2537     ,       PARENT_LIST_HEADER_ID
2538     , trunc(START_DATE_ACTIVE_FIRST)
2539     , trunc(END_DATE_ACTIVE_FIRST)
2540     ,      (ACTIVE_DATE_FIRST_TYPE)
2541     , trunc(START_DATE_ACTIVE_SECOND)
2542     ,       GLOBAL_FLAG
2543     , trunc(END_DATE_ACTIVE_SECOND)
2544     ,      (ACTIVE_DATE_SECOND_TYPE)
2545     ,       ASK_FOR_FLAG
2546     ,       LIST_SOURCE_CODE
2547     ,       ORIG_SYSTEM_HEADER_REF
2548     ,       SHAREABLE_FLAG
2549     ,       ORIG_ORG_ID
2550     INTO    l_MODIFIER_LIST_rec.attribute1
2551     ,       l_MODIFIER_LIST_rec.attribute10
2552     ,       l_MODIFIER_LIST_rec.attribute11
2553     ,       l_MODIFIER_LIST_rec.attribute12
2554     ,       l_MODIFIER_LIST_rec.attribute13
2555     ,       l_MODIFIER_LIST_rec.attribute14
2556     ,       l_MODIFIER_LIST_rec.attribute15
2557     ,       l_MODIFIER_LIST_rec.attribute2
2558     ,       l_MODIFIER_LIST_rec.attribute3
2559     ,       l_MODIFIER_LIST_rec.attribute4
2560     ,       l_MODIFIER_LIST_rec.attribute5
2561     ,       l_MODIFIER_LIST_rec.attribute6
2562     ,       l_MODIFIER_LIST_rec.attribute7
2563     ,       l_MODIFIER_LIST_rec.attribute8
2564     ,       l_MODIFIER_LIST_rec.attribute9
2565     ,       l_MODIFIER_LIST_rec.automatic_flag
2566     ,       l_MODIFIER_LIST_rec.comments
2567     ,       l_MODIFIER_LIST_rec.context
2568     ,       l_MODIFIER_LIST_rec.created_by
2569     ,       l_MODIFIER_LIST_rec.creation_date
2570     ,       l_MODIFIER_LIST_rec.currency_code
2571     ,       l_MODIFIER_LIST_rec.discount_lines_flag
2572     ,       l_MODIFIER_LIST_rec.end_date_active
2573     ,       l_MODIFIER_LIST_rec.freight_terms_code
2574     ,       l_MODIFIER_LIST_rec.gsa_indicator
2575     ,       l_MODIFIER_LIST_rec.last_updated_by
2576     ,       l_MODIFIER_LIST_rec.last_update_date
2577     ,       l_MODIFIER_LIST_rec.last_update_login
2578     ,       l_MODIFIER_LIST_rec.list_header_id
2579     ,       l_MODIFIER_LIST_rec.list_type_code
2580     ,       l_MODIFIER_LIST_rec.program_application_id
2581     ,       l_MODIFIER_LIST_rec.program_id
2582     ,       l_MODIFIER_LIST_rec.program_update_date
2583     ,       l_MODIFIER_LIST_rec.prorate_flag
2584     ,       l_MODIFIER_LIST_rec.request_id
2585     ,       l_MODIFIER_LIST_rec.rounding_factor
2586     ,       l_MODIFIER_LIST_rec.ship_method_code
2587     ,       l_MODIFIER_LIST_rec.start_date_active
2588     ,       l_MODIFIER_LIST_rec.terms_id
2589     ,       l_MODIFIER_LIST_rec.source_system_code
2590     ,       l_MODIFIER_LIST_rec.pte_code
2591     ,       l_MODIFIER_LIST_rec.active_flag
2592     ,       l_MODIFIER_LIST_rec.parent_list_header_id
2593     ,       l_MODIFIER_LIST_rec.start_date_active_first
2594     ,       l_MODIFIER_LIST_rec.end_date_active_first
2595     ,       l_MODIFIER_LIST_rec.active_date_first_type
2596     ,       l_MODIFIER_LIST_rec.start_date_active_second
2597     ,       l_MODIFIER_LIST_rec.global_flag
2598     ,       l_MODIFIER_LIST_rec.end_date_active_second
2599     ,       l_MODIFIER_LIST_rec.active_date_second_type
2600     ,       l_MODIFIER_LIST_rec.ask_for_flag
2601     ,       l_MODIFIER_LIST_rec.list_source_code
2602     ,       l_MODIFIER_LIST_rec.orig_system_header_ref
2603     ,       l_MODIFIER_LIST_rec.shareable_flag
2604             --added for MOAC
2605     ,       l_MODIFIER_LIST_rec.org_id
2606     --for moac changes QP_LIST_HEADERS_B to all_b to enable locks/updates to ML with orig_org_id
2607     --that do not belong to the responsibility when the user has update privilges
2608     FROM    QP_LIST_HEADERS_ALL_B
2609     WHERE   LIST_HEADER_ID = p_MODIFIER_LIST_rec.list_header_id
2610         FOR UPDATE NOWAIT;
2611 
2612     SELECT  NAME
2613     ,       DESCRIPTION
2614     ,       VERSION_NO
2615     INTO    l_MODIFIER_LIST_rec.name
2616     ,       l_MODIFIER_LIST_rec.description
2617     ,       l_MODIFIER_LIST_rec.version_no
2618     FROM    qp_list_headers_tl
2619     WHERE   LIST_HEADER_ID = p_MODIFIER_LIST_rec.list_header_id
2620     AND     LANGUAGE = userenv('LANG');
2621 
2622     --  Row locked. Compare IN attributes to DB attributes.
2623 
2624     IF  QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.attribute1,
2625                          l_MODIFIER_LIST_rec.attribute1)
2626     AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.attribute10,
2627                          l_MODIFIER_LIST_rec.attribute10)
2628     AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.attribute11,
2629                          l_MODIFIER_LIST_rec.attribute11)
2630     AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.attribute12,
2631                          l_MODIFIER_LIST_rec.attribute12)
2632     AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.attribute13,
2633                          l_MODIFIER_LIST_rec.attribute13)
2634     AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.attribute14,
2635                          l_MODIFIER_LIST_rec.attribute14)
2636     AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.attribute15,
2637                          l_MODIFIER_LIST_rec.attribute15)
2638     AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.attribute2,
2639                          l_MODIFIER_LIST_rec.attribute2)
2640     AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.attribute3,
2641                          l_MODIFIER_LIST_rec.attribute3)
2642     AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.attribute4,
2643                          l_MODIFIER_LIST_rec.attribute4)
2644     AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.attribute5,
2645                          l_MODIFIER_LIST_rec.attribute5)
2646     AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.attribute6,
2647                          l_MODIFIER_LIST_rec.attribute6)
2648     AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.attribute7,
2649                          l_MODIFIER_LIST_rec.attribute7)
2650     AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.attribute8,
2651                          l_MODIFIER_LIST_rec.attribute8)
2652     AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.attribute9,
2653                          l_MODIFIER_LIST_rec.attribute9)
2654     AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.automatic_flag,
2655                          l_MODIFIER_LIST_rec.automatic_flag)
2656     AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.comments,
2657                          l_MODIFIER_LIST_rec.comments)
2658     AND  QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.context,
2659                          l_MODIFIER_LIST_rec.context)
2660     AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.created_by,
2661                          l_MODIFIER_LIST_rec.created_by)
2662 --    AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.creation_date,
2663 --                         l_MODIFIER_LIST_rec.creation_date)
2664     AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.currency_code,
2665                          l_MODIFIER_LIST_rec.currency_code)
2666     AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.discount_lines_flag,
2667                          l_MODIFIER_LIST_rec.discount_lines_flag)
2668     AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.end_date_active,
2669                          l_MODIFIER_LIST_rec.end_date_active)
2670     AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.freight_terms_code,
2671                          l_MODIFIER_LIST_rec.freight_terms_code)
2672     AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.gsa_indicator,
2673                          l_MODIFIER_LIST_rec.gsa_indicator)
2674     AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.last_updated_by,
2675                          l_MODIFIER_LIST_rec.last_updated_by)
2676 --    AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.last_update_date,
2677 --                         l_MODIFIER_LIST_rec.last_update_date)
2678     AND  QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.last_update_login,
2679                          l_MODIFIER_LIST_rec.last_update_login)
2680     AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.list_header_id,
2681                          l_MODIFIER_LIST_rec.list_header_id)
2682     AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.list_type_code,
2683                          l_MODIFIER_LIST_rec.list_type_code)
2684     --AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.program_application_id,
2685     --                     l_MODIFIER_LIST_rec.program_application_id)
2686     --AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.program_id,
2687     --                     l_MODIFIER_LIST_rec.program_id)
2688     --AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.program_update_date,
2689     --                     l_MODIFIER_LIST_rec.program_update_date)
2690     AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.prorate_flag,
2691                          l_MODIFIER_LIST_rec.prorate_flag)
2692     --AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.request_id,
2693     --                     l_MODIFIER_LIST_rec.request_id)
2694     AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.rounding_factor,
2695                          l_MODIFIER_LIST_rec.rounding_factor)
2696     AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.ship_method_code,
2697                          l_MODIFIER_LIST_rec.ship_method_code)
2698     AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.start_date_active,
2699                          l_MODIFIER_LIST_rec.start_date_active)
2700     AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.terms_id,
2701                          l_MODIFIER_LIST_rec.terms_id)
2702     AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.source_system_code,
2703                          l_MODIFIER_LIST_rec.source_system_code)
2704     AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.pte_code,
2705                          l_MODIFIER_LIST_rec.pte_code)
2706     AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.active_flag,
2707                          l_MODIFIER_LIST_rec.active_flag)
2708     AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.parent_list_header_id,
2709                          l_MODIFIER_LIST_rec.parent_list_header_id)
2710     AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.start_date_active_first,
2711                          l_MODIFIER_LIST_rec.start_date_active_first)
2712     AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.end_date_active_first,
2713                          l_MODIFIER_LIST_rec.end_date_active_first)
2714     AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.active_date_first_type,
2715                          l_MODIFIER_LIST_rec.active_date_first_type)
2716     AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.start_date_active_second,
2717                          l_MODIFIER_LIST_rec.start_date_active_second)
2718     AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.global_flag,
2719                          l_MODIFIER_LIST_rec.global_flag)
2720     AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.end_date_active_second,
2721                          l_MODIFIER_LIST_rec.end_date_active_second)
2722     AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.active_date_second_type,
2723                          l_MODIFIER_LIST_rec.active_date_second_type)
2724     AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.ask_for_flag,
2725                          l_MODIFIER_LIST_rec.ask_for_flag)
2726     AND QP_GLOBALS.Equal (p_MODIFIER_LIST_rec.list_source_code,
2727                          l_MODIFIER_LIST_rec.list_source_code)
2728     AND QP_GLOBALS.Equal (p_MODIFIER_LIST_rec.orig_system_header_ref,
2729                          l_MODIFIER_LIST_rec.orig_system_header_ref)
2730     AND QP_GLOBALS.Equal (p_MODIFIER_LIST_rec.shareable_flag,
2731                          l_MODIFIER_LIST_rec.shareable_flag)
2732     THEN
2733 
2734         --  Row has not changed. Set out parameter.
2735 
2736         x_MODIFIER_LIST_rec            := l_MODIFIER_LIST_rec;
2737 
2738         --  Set return status
2739 
2740         x_return_status                := FND_API.G_RET_STS_SUCCESS;
2741         x_MODIFIER_LIST_rec.return_status := FND_API.G_RET_STS_SUCCESS;
2742 
2743     ELSE
2744 
2745         --  Row has changed by another user.
2746 	--debug messages added as per 8594682 for oe_lock_row error
2747 	oe_debug_pub.ADD('-------------------data compare in modifier header (database vx record)------------------');
2748 	oe_debug_pub.add('attribute1                   :'||l_MODIFIER_LIST_rec.attribute1||':'||p_MODIFIER_LIST_rec.attribute1||':');
2749 	oe_debug_pub.add('attribute10                  :'||l_MODIFIER_LIST_rec.attribute10||':'||p_MODIFIER_LIST_rec.attribute10||':');
2750 	oe_debug_pub.add('attribute11                  :'||l_MODIFIER_LIST_rec.attribute11||':'||p_MODIFIER_LIST_rec.attribute11||':');
2751 	oe_debug_pub.add('attribute12                  :'||l_MODIFIER_LIST_rec.attribute12||':'||p_MODIFIER_LIST_rec.attribute12||':');
2752 	oe_debug_pub.add('attribute13                  :'||l_MODIFIER_LIST_rec.attribute13||':'||p_MODIFIER_LIST_rec.attribute13||':');
2753 	oe_debug_pub.add('attribute14                  :'||l_MODIFIER_LIST_rec.attribute14||':'||p_MODIFIER_LIST_rec.attribute14||':');
2754 	oe_debug_pub.add('attribute15                  :'||l_MODIFIER_LIST_rec.attribute15||':'||p_MODIFIER_LIST_rec.attribute15||':');
2755 	oe_debug_pub.add('attribute2                   :'||l_MODIFIER_LIST_rec.attribute2||':'||p_MODIFIER_LIST_rec.attribute2||':');
2756 	oe_debug_pub.add('attribute3                   :'||l_MODIFIER_LIST_rec.attribute3||':'||p_MODIFIER_LIST_rec.attribute3||':');
2757 	oe_debug_pub.add('attribute4                   :'||l_MODIFIER_LIST_rec.attribute4||':'||p_MODIFIER_LIST_rec.attribute4||':');
2758 	oe_debug_pub.add('attribute5                   :'||l_MODIFIER_LIST_rec.attribute5||':'||p_MODIFIER_LIST_rec.attribute5||':');
2759 	oe_debug_pub.add('attribute6                   :'||l_MODIFIER_LIST_rec.attribute6||':'||p_MODIFIER_LIST_rec.attribute6||':');
2760 	oe_debug_pub.add('attribute7                   :'||l_MODIFIER_LIST_rec.attribute7||':'||p_MODIFIER_LIST_rec.attribute7||':');
2761 	oe_debug_pub.add('attribute8                   :'||l_MODIFIER_LIST_rec.attribute8||':'||p_MODIFIER_LIST_rec.attribute8||':');
2762 	oe_debug_pub.add('attribute9                   :'||l_MODIFIER_LIST_rec.attribute9||':'||p_MODIFIER_LIST_rec.attribute9||':');
2763 	oe_debug_pub.add('automatic_flag               :'||l_MODIFIER_LIST_rec.automatic_flag||':'||p_MODIFIER_LIST_rec.automatic_flag||':');
2764 	oe_debug_pub.add('comments                     :'||l_MODIFIER_LIST_rec.comments||':'||p_MODIFIER_LIST_rec.comments||':');
2765 	oe_debug_pub.add('context                      :'||l_MODIFIER_LIST_rec.context||':'||p_MODIFIER_LIST_rec.context||':');
2766 	oe_debug_pub.add('created_by                   :'||l_MODIFIER_LIST_rec.created_by||':'||p_MODIFIER_LIST_rec.created_by||':');
2767 	oe_debug_pub.add('creation_date                :'||l_MODIFIER_LIST_rec.creation_date||':'||p_MODIFIER_LIST_rec.creation_date||':');
2768 	oe_debug_pub.add('currency_code                :'||l_MODIFIER_LIST_rec.currency_code||':'||p_MODIFIER_LIST_rec.currency_code||':');
2769 	oe_debug_pub.add('discount_lines_flag          :'||l_MODIFIER_LIST_rec.discount_lines_flag||':'||p_MODIFIER_LIST_rec.discount_lines_flag||':');
2770 	oe_debug_pub.add('end_date_active              :'||l_MODIFIER_LIST_rec.end_date_active||':'||p_MODIFIER_LIST_rec.end_date_active||':');
2771 	oe_debug_pub.add('freight_terms_code           :'||l_MODIFIER_LIST_rec.freight_terms_code||':'||p_MODIFIER_LIST_rec.freight_terms_code||':');
2772 	oe_debug_pub.add('gsa_indicator                :'||l_MODIFIER_LIST_rec.gsa_indicator||':'||p_MODIFIER_LIST_rec.gsa_indicator||':');
2773 	oe_debug_pub.add('last_updated_by              :'||l_MODIFIER_LIST_rec.last_updated_by||':'||p_MODIFIER_LIST_rec.last_updated_by||':');
2774 	oe_debug_pub.add('last_update_date             :'||l_MODIFIER_LIST_rec.last_update_date||':'||p_MODIFIER_LIST_rec.last_update_date||':');
2775 	oe_debug_pub.add('last_update_login            :'||l_MODIFIER_LIST_rec.last_update_login||':'||p_MODIFIER_LIST_rec.last_update_login||':');
2776 	oe_debug_pub.add('list_header_id               :'||l_MODIFIER_LIST_rec.list_header_id||':'||p_MODIFIER_LIST_rec.list_header_id||':');
2777 	oe_debug_pub.add('list_type_code               :'||l_MODIFIER_LIST_rec.list_type_code||':'||p_MODIFIER_LIST_rec.list_type_code||':');
2778 	oe_debug_pub.add('program_application_id       :'||l_MODIFIER_LIST_rec.program_application_id||':'||p_MODIFIER_LIST_rec.program_application_id||':');
2779 	oe_debug_pub.add('program_id                   :'||l_MODIFIER_LIST_rec.program_id||':'||p_MODIFIER_LIST_rec.program_id||':');
2780 	oe_debug_pub.add('program_update_date          :'||l_MODIFIER_LIST_rec.program_update_date||':'||p_MODIFIER_LIST_rec.program_update_date||':');
2781 	oe_debug_pub.add('prorate_flag                 :'||l_MODIFIER_LIST_rec.prorate_flag||':'||p_MODIFIER_LIST_rec.prorate_flag||':' );
2782 	oe_debug_pub.add('request_id                   :'||l_MODIFIER_LIST_rec.request_id||':'||p_MODIFIER_LIST_rec.request_id||':');
2783 	oe_debug_pub.add('rounding_factor              :'||l_MODIFIER_LIST_rec.rounding_factor||':'||p_MODIFIER_LIST_rec.rounding_factor||':');
2784 	oe_debug_pub.add('ship_method_code             :'||l_MODIFIER_LIST_rec.ship_method_code||':'||p_MODIFIER_LIST_rec.ship_method_code||':');
2785 	oe_debug_pub.add('start_date_active            :'||l_MODIFIER_LIST_rec.start_date_active||':'||p_MODIFIER_LIST_rec.start_date_active||':');
2786 	oe_debug_pub.add('terms_id                     :'||l_MODIFIER_LIST_rec.terms_id||':'||p_MODIFIER_LIST_rec.terms_id||':');
2787 	oe_debug_pub.add('source_system_code           :'||l_MODIFIER_LIST_rec.source_system_code||':'||p_MODIFIER_LIST_rec.source_system_code||':');
2788 	oe_debug_pub.add('pte_code                     :'||l_MODIFIER_LIST_rec.pte_code||':'||p_MODIFIER_LIST_rec.pte_code||':');
2789 	oe_debug_pub.add('active_flag                  :'||l_MODIFIER_LIST_rec.active_flag||':'||p_MODIFIER_LIST_rec.active_flag||':');
2790 	oe_debug_pub.add('parent_list_header_id        :'||l_MODIFIER_LIST_rec.parent_list_header_id||':'||p_MODIFIER_LIST_rec.parent_list_header_id||':');
2791 	oe_debug_pub.add('start_date_active_first      :'||l_MODIFIER_LIST_rec.start_date_active_first||':'||p_MODIFIER_LIST_rec.start_date_active_first||':');
2792 	oe_debug_pub.add('end_date_active_first        :'||l_MODIFIER_LIST_rec.end_date_active_first||':'||p_MODIFIER_LIST_rec.end_date_active_first||':');
2793 	oe_debug_pub.add('active_date_first_type       :'||l_MODIFIER_LIST_rec.active_date_first_type||':'||p_MODIFIER_LIST_rec.active_date_first_type||':');
2794 	oe_debug_pub.add('start_date_active_second     :'||l_MODIFIER_LIST_rec.start_date_active_second||':'||p_MODIFIER_LIST_rec.start_date_active_second||':');
2795 	oe_debug_pub.add('global_flag                  :'||l_MODIFIER_LIST_rec.global_flag||':'||p_MODIFIER_LIST_rec.global_flag||':');
2796 	oe_debug_pub.add('end_date_active_second       :'||l_MODIFIER_LIST_rec.end_date_active_second||':'||p_MODIFIER_LIST_rec.end_date_active_second||':');
2797 	oe_debug_pub.add('active_date_second_type      :'||l_MODIFIER_LIST_rec.active_date_second_type||':'||p_MODIFIER_LIST_rec.active_date_second_type||':');
2798 	oe_debug_pub.add('ask_for_flag                 :'||l_MODIFIER_LIST_rec.ask_for_flag||':'||p_MODIFIER_LIST_rec.ask_for_flag||':');
2799 	oe_debug_pub.add('list_source_code             :'||l_MODIFIER_LIST_rec.list_source_code||':'||p_MODIFIER_LIST_rec.list_source_code||':');
2800 	oe_debug_pub.add('orig_system_header_ref       :'||l_MODIFIER_LIST_rec.orig_system_header_ref||':'||p_MODIFIER_LIST_rec.orig_system_header_ref||':');
2801 	oe_debug_pub.add('shareable_flag               :'||l_MODIFIER_LIST_rec.shareable_flag||':'||p_MODIFIER_LIST_rec.shareable_flag||':');
2802 	oe_debug_pub.ADD('-------------------data compare in modifier header end------------------');
2803 	--end debug messages added as per 8594682 for oe_lock_row error
2804         x_return_status                := FND_API.G_RET_STS_ERROR;
2805         x_MODIFIER_LIST_rec.return_status := FND_API.G_RET_STS_ERROR;
2806 
2807         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
2808         THEN
2809 
2810             FND_MESSAGE.SET_NAME('QP','OE_LOCK_ROW_CHANGED');
2811             OE_MSG_PUB.Add;
2812 
2813         END IF;
2814 
2815     END IF;
2816 
2817 	oe_debug_pub.add('END lock_row in QPXUMLHB');
2818 EXCEPTION
2819 
2820     WHEN NO_DATA_FOUND THEN
2821 
2822         x_return_status                := FND_API.G_RET_STS_ERROR;
2823         x_MODIFIER_LIST_rec.return_status := FND_API.G_RET_STS_ERROR;
2824 
2825         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
2826         THEN
2827 
2828             FND_MESSAGE.SET_NAME('QP','OE_LOCK_ROW_DELETED');
2829             OE_MSG_PUB.Add;
2830 
2831         END IF;
2832     WHEN APP_EXCEPTIONS.RECORD_LOCK_EXCEPTION THEN
2833 
2834         x_return_status                := FND_API.G_RET_STS_ERROR;
2835         x_MODIFIER_LIST_rec.return_status := FND_API.G_RET_STS_ERROR;
2836 
2837         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
2838         THEN
2839 
2840             FND_MESSAGE.SET_NAME('QP','OE_LOCK_ROW_ALREADY_LOCKED');
2841             OE_MSG_PUB.Add;
2842 
2843         END IF;
2844     WHEN OTHERS THEN
2845 
2846         x_return_status                := FND_API.G_RET_STS_UNEXP_ERROR;
2847         x_MODIFIER_LIST_rec.return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2848 
2849         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2850         THEN
2851             OE_MSG_PUB.Add_Exc_Msg
2852             (   G_PKG_NAME
2853             ,   'Lock_Row'
2854             );
2855         END IF;
2856 
2857 END Lock_Row;
2858 
2859 --  Function Get_Values
2860 
2861 FUNCTION Get_Values
2862 (   p_MODIFIER_LIST_rec             IN  QP_Modifiers_PUB.Modifier_List_Rec_Type
2863 ,   p_old_MODIFIER_LIST_rec         IN  QP_Modifiers_PUB.Modifier_List_Rec_Type :=
2864                                         QP_Modifiers_PUB.G_MISS_MODIFIER_LIST_REC
2865 ) RETURN QP_Modifiers_PUB.Modifier_List_Val_Rec_Type
2866 IS
2867 l_MODIFIER_LIST_val_rec       QP_Modifiers_PUB.Modifier_List_Val_Rec_Type;
2868 BEGIN
2869 
2870 	oe_debug_pub.add('BEGIN get_values in QPXUMLHB');
2871     IF p_MODIFIER_LIST_rec.automatic_flag IS NOT NULL AND
2872         p_MODIFIER_LIST_rec.automatic_flag <> FND_API.G_MISS_CHAR AND
2873         NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.automatic_flag,
2874         p_old_MODIFIER_LIST_rec.automatic_flag)
2875     THEN
2876         l_MODIFIER_LIST_val_rec.automatic := QP_Id_To_Value.Automatic
2877         (   p_automatic_flag              => p_MODIFIER_LIST_rec.automatic_flag
2878         );
2879     END IF;
2880 
2881     IF p_MODIFIER_LIST_rec.currency_code IS NOT NULL AND
2882         p_MODIFIER_LIST_rec.currency_code <> FND_API.G_MISS_CHAR AND
2883         NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.currency_code,
2884         p_old_MODIFIER_LIST_rec.currency_code)
2885     THEN
2886         l_MODIFIER_LIST_val_rec.currency := QP_Id_To_Value.Currency
2887         (   p_currency_code               => p_MODIFIER_LIST_rec.currency_code
2888         );
2889     END IF;
2890 
2891     IF p_MODIFIER_LIST_rec.discount_lines_flag IS NOT NULL AND
2892         p_MODIFIER_LIST_rec.discount_lines_flag <> FND_API.G_MISS_CHAR AND
2893         NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.discount_lines_flag,
2894         p_old_MODIFIER_LIST_rec.discount_lines_flag)
2895     THEN
2896         l_MODIFIER_LIST_val_rec.discount_lines := QP_Id_To_Value.Discount_Lines
2897         (   p_discount_lines_flag         => p_MODIFIER_LIST_rec.discount_lines_flag
2898         );
2899     END IF;
2900 
2901     IF p_MODIFIER_LIST_rec.freight_terms_code IS NOT NULL AND
2902         p_MODIFIER_LIST_rec.freight_terms_code <> FND_API.G_MISS_CHAR AND
2903         NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.freight_terms_code,
2904         p_old_MODIFIER_LIST_rec.freight_terms_code)
2905     THEN
2906         l_MODIFIER_LIST_val_rec.freight_terms := QP_Id_To_Value.Freight_Terms
2907         (   p_freight_terms_code          => p_MODIFIER_LIST_rec.freight_terms_code
2908         );
2909     END IF;
2910 
2911     IF p_MODIFIER_LIST_rec.list_header_id IS NOT NULL AND
2912         p_MODIFIER_LIST_rec.list_header_id <> FND_API.G_MISS_NUM AND
2913         NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.list_header_id,
2914         p_old_MODIFIER_LIST_rec.list_header_id)
2915     THEN
2916         l_MODIFIER_LIST_val_rec.list_header := QP_Id_To_Value.List_Header
2917         (   p_list_header_id              => p_MODIFIER_LIST_rec.list_header_id
2918         );
2919     END IF;
2920 
2921     IF p_MODIFIER_LIST_rec.list_type_code IS NOT NULL AND
2922         p_MODIFIER_LIST_rec.list_type_code <> FND_API.G_MISS_CHAR AND
2923         NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.list_type_code,
2924         p_old_MODIFIER_LIST_rec.list_type_code)
2925     THEN
2926         l_MODIFIER_LIST_val_rec.list_type := QP_Id_To_Value.List_Type
2927         (   p_list_type_code              => p_MODIFIER_LIST_rec.list_type_code
2928         );
2929     END IF;
2930 
2931     IF p_MODIFIER_LIST_rec.prorate_flag IS NOT NULL AND
2932         p_MODIFIER_LIST_rec.prorate_flag <> FND_API.G_MISS_CHAR AND
2933         NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.prorate_flag,
2934         p_old_MODIFIER_LIST_rec.prorate_flag)
2935     THEN
2936         l_MODIFIER_LIST_val_rec.prorate := QP_Id_To_Value.Prorate
2937         (   p_prorate_flag                => p_MODIFIER_LIST_rec.prorate_flag
2938         );
2939     END IF;
2940 
2941     IF p_MODIFIER_LIST_rec.ship_method_code IS NOT NULL AND
2942         p_MODIFIER_LIST_rec.ship_method_code <> FND_API.G_MISS_CHAR AND
2943         NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.ship_method_code,
2944         p_old_MODIFIER_LIST_rec.ship_method_code)
2945     THEN
2946         l_MODIFIER_LIST_val_rec.ship_method := QP_Id_To_Value.Ship_Method
2947         (   p_ship_method_code            => p_MODIFIER_LIST_rec.ship_method_code
2948         );
2949     END IF;
2950 
2951     IF p_MODIFIER_LIST_rec.terms_id IS NOT NULL AND
2952         p_MODIFIER_LIST_rec.terms_id <> FND_API.G_MISS_NUM AND
2953         NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.terms_id,
2954         p_old_MODIFIER_LIST_rec.terms_id)
2955     THEN
2956         l_MODIFIER_LIST_val_rec.terms := QP_Id_To_Value.Terms
2957         (   p_terms_id                    => p_MODIFIER_LIST_rec.terms_id
2958         );
2959     END IF;
2960 
2961     RETURN l_MODIFIER_LIST_val_rec;
2962 
2963 	oe_debug_pub.add('END get_values in QPXUMLHB');
2964 END Get_Values;
2965 
2966 --  Function Get_Ids
2967 
2968 FUNCTION Get_Ids
2969 (   p_MODIFIER_LIST_rec             IN  QP_Modifiers_PUB.Modifier_List_Rec_Type
2970 ,   p_MODIFIER_LIST_val_rec         IN  QP_Modifiers_PUB.Modifier_List_Val_Rec_Type
2971 ) RETURN QP_Modifiers_PUB.Modifier_List_Rec_Type
2972 IS
2973 l_MODIFIER_LIST_rec           QP_Modifiers_PUB.Modifier_List_Rec_Type;
2974 BEGIN
2975 
2976 	oe_debug_pub.add('BEGIN get_ids in QPXUMLHB');
2977     --  initialize  return_status.
2978 
2979     l_MODIFIER_LIST_rec.return_status := FND_API.G_RET_STS_SUCCESS;
2980 
2981     --  initialize l_MODIFIER_LIST_rec.
2982 
2983     l_MODIFIER_LIST_rec := p_MODIFIER_LIST_rec;
2984 
2985     IF  p_MODIFIER_LIST_val_rec.automatic <> FND_API.G_MISS_CHAR
2986     THEN
2987 
2988         IF p_MODIFIER_LIST_rec.automatic_flag <> FND_API.G_MISS_CHAR THEN
2989 
2990             l_MODIFIER_LIST_rec.automatic_flag := p_MODIFIER_LIST_rec.automatic_flag;
2991 
2992             IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
2993             THEN
2994 
2995                 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
2996                 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','automatic');
2997                 OE_MSG_PUB.Add;
2998 
2999             END IF;
3000 
3001         ELSE
3002 
3003             l_MODIFIER_LIST_rec.automatic_flag := QP_Value_To_Id.automatic
3004             (   p_automatic                   => p_MODIFIER_LIST_val_rec.automatic
3005             );
3006 
3007             IF l_MODIFIER_LIST_rec.automatic_flag = FND_API.G_MISS_CHAR THEN
3008                 l_MODIFIER_LIST_rec.return_status := FND_API.G_RET_STS_ERROR;
3009             END IF;
3010 
3011         END IF;
3012 
3013     END IF;
3014 
3015     IF  p_MODIFIER_LIST_val_rec.currency <> FND_API.G_MISS_CHAR
3016     THEN
3017 
3018         IF p_MODIFIER_LIST_rec.currency_code <> FND_API.G_MISS_CHAR THEN
3019 
3020             l_MODIFIER_LIST_rec.currency_code := p_MODIFIER_LIST_rec.currency_code;
3021 
3022             IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
3023             THEN
3024 
3025                 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
3026                 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','currency');
3027                 OE_MSG_PUB.Add;
3028 
3029             END IF;
3030 
3031         ELSE
3032 
3033             l_MODIFIER_LIST_rec.currency_code := QP_Value_To_Id.currency
3034             (   p_currency                    => p_MODIFIER_LIST_val_rec.currency
3035             );
3036 
3037             IF l_MODIFIER_LIST_rec.currency_code = FND_API.G_MISS_CHAR THEN
3038                 l_MODIFIER_LIST_rec.return_status := FND_API.G_RET_STS_ERROR;
3039             END IF;
3040 
3041         END IF;
3042 
3043     END IF;
3044 
3045     IF  p_MODIFIER_LIST_val_rec.discount_lines <> FND_API.G_MISS_CHAR
3046     THEN
3047 
3048         IF p_MODIFIER_LIST_rec.discount_lines_flag <> FND_API.G_MISS_CHAR THEN
3049 
3050             l_MODIFIER_LIST_rec.discount_lines_flag := p_MODIFIER_LIST_rec.discount_lines_flag;
3051 
3052             IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
3053             THEN
3054 
3055                 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
3056                 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','discount_lines');
3057                 OE_MSG_PUB.Add;
3058 
3059             END IF;
3060 
3061         ELSE
3062 
3063             l_MODIFIER_LIST_rec.discount_lines_flag := QP_Value_To_Id.discount_lines
3064             (   p_discount_lines              => p_MODIFIER_LIST_val_rec.discount_lines
3065             );
3066 
3067             IF l_MODIFIER_LIST_rec.discount_lines_flag = FND_API.G_MISS_CHAR THEN
3068                 l_MODIFIER_LIST_rec.return_status := FND_API.G_RET_STS_ERROR;
3069             END IF;
3070 
3071         END IF;
3072 
3073     END IF;
3074 
3075     IF  p_MODIFIER_LIST_val_rec.freight_terms <> FND_API.G_MISS_CHAR
3076     THEN
3077 
3078         IF p_MODIFIER_LIST_rec.freight_terms_code <> FND_API.G_MISS_CHAR THEN
3079 
3080             l_MODIFIER_LIST_rec.freight_terms_code := p_MODIFIER_LIST_rec.freight_terms_code;
3081 
3082             IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
3083             THEN
3084 
3085                 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
3086                 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','freight_terms');
3087                 OE_MSG_PUB.Add;
3088 
3089             END IF;
3090 
3091         ELSE
3092 
3093             l_MODIFIER_LIST_rec.freight_terms_code := QP_Value_To_Id.freight_terms
3094             (   p_freight_terms               => p_MODIFIER_LIST_val_rec.freight_terms
3095             );
3096 
3097             IF l_MODIFIER_LIST_rec.freight_terms_code = FND_API.G_MISS_CHAR THEN
3098                 l_MODIFIER_LIST_rec.return_status := FND_API.G_RET_STS_ERROR;
3099             END IF;
3100 
3101         END IF;
3102 
3103     END IF;
3104 
3105     IF  p_MODIFIER_LIST_val_rec.list_header <> FND_API.G_MISS_CHAR
3106     THEN
3107 
3108         IF p_MODIFIER_LIST_rec.list_header_id <> FND_API.G_MISS_NUM THEN
3109 
3110             l_MODIFIER_LIST_rec.list_header_id := p_MODIFIER_LIST_rec.list_header_id;
3111 
3112             IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
3113             THEN
3114 
3115                 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
3116                 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','list_header');
3117                 OE_MSG_PUB.Add;
3118 
3119             END IF;
3120 
3121         ELSE
3122 
3123             l_MODIFIER_LIST_rec.list_header_id := QP_Value_To_Id.list_header
3124             (   p_list_header                 => p_MODIFIER_LIST_val_rec.list_header
3125             );
3126 
3127             IF l_MODIFIER_LIST_rec.list_header_id = FND_API.G_MISS_NUM THEN
3128                 l_MODIFIER_LIST_rec.return_status := FND_API.G_RET_STS_ERROR;
3129             END IF;
3130 
3131         END IF;
3132 
3133     END IF;
3134 
3135     IF  p_MODIFIER_LIST_val_rec.list_type <> FND_API.G_MISS_CHAR
3136     THEN
3137 
3138         IF p_MODIFIER_LIST_rec.list_type_code <> FND_API.G_MISS_CHAR THEN
3139 
3140             l_MODIFIER_LIST_rec.list_type_code := p_MODIFIER_LIST_rec.list_type_code;
3141 
3142             IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
3143             THEN
3144 
3145                 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
3146                 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','list_type');
3147                 OE_MSG_PUB.Add;
3148 
3149             END IF;
3150 
3151         ELSE
3152 
3153             l_MODIFIER_LIST_rec.list_type_code := QP_Value_To_Id.list_type
3154             (   p_list_type                   => p_MODIFIER_LIST_val_rec.list_type
3155             );
3156 
3157             IF l_MODIFIER_LIST_rec.list_type_code = FND_API.G_MISS_CHAR THEN
3158                 l_MODIFIER_LIST_rec.return_status := FND_API.G_RET_STS_ERROR;
3159             END IF;
3160 
3161         END IF;
3162 
3163     END IF;
3164 
3165     IF  p_MODIFIER_LIST_val_rec.prorate <> FND_API.G_MISS_CHAR
3166     THEN
3167 
3168         IF p_MODIFIER_LIST_rec.prorate_flag <> FND_API.G_MISS_CHAR THEN
3169 
3170             l_MODIFIER_LIST_rec.prorate_flag := p_MODIFIER_LIST_rec.prorate_flag;
3171 
3172             IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
3173             THEN
3174 
3175                 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
3176                 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','prorate');
3177                 OE_MSG_PUB.Add;
3178 
3179             END IF;
3180 
3181         ELSE
3182 
3183             l_MODIFIER_LIST_rec.prorate_flag := QP_Value_To_Id.prorate
3184             (   p_prorate                     => p_MODIFIER_LIST_val_rec.prorate
3185             );
3186 
3187             IF l_MODIFIER_LIST_rec.prorate_flag = FND_API.G_MISS_CHAR THEN
3188                 l_MODIFIER_LIST_rec.return_status := FND_API.G_RET_STS_ERROR;
3189             END IF;
3190 
3191         END IF;
3192 
3193     END IF;
3194 
3195     IF  p_MODIFIER_LIST_val_rec.ship_method <> FND_API.G_MISS_CHAR
3196     THEN
3197 
3198         IF p_MODIFIER_LIST_rec.ship_method_code <> FND_API.G_MISS_CHAR THEN
3199 
3200             l_MODIFIER_LIST_rec.ship_method_code := p_MODIFIER_LIST_rec.ship_method_code;
3201 
3202             IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
3203             THEN
3204 
3205                 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
3206                 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','ship_method');
3207                 OE_MSG_PUB.Add;
3208 
3209             END IF;
3210 
3211         ELSE
3212 
3213             l_MODIFIER_LIST_rec.ship_method_code := QP_Value_To_Id.ship_method
3214             (   p_ship_method                 => p_MODIFIER_LIST_val_rec.ship_method
3215             );
3216 
3217             IF l_MODIFIER_LIST_rec.ship_method_code = FND_API.G_MISS_CHAR THEN
3218                 l_MODIFIER_LIST_rec.return_status := FND_API.G_RET_STS_ERROR;
3219             END IF;
3220 
3221         END IF;
3222 
3223     END IF;
3224 
3225     IF  p_MODIFIER_LIST_val_rec.terms <> FND_API.G_MISS_CHAR
3226     THEN
3227 
3228         IF p_MODIFIER_LIST_rec.terms_id <> FND_API.G_MISS_NUM THEN
3229 
3230             l_MODIFIER_LIST_rec.terms_id := p_MODIFIER_LIST_rec.terms_id;
3231 
3232             IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
3233             THEN
3234 
3235                 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
3236                 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','terms');
3237                 OE_MSG_PUB.Add;
3238 
3239             END IF;
3240 
3241         ELSE
3242 
3243             l_MODIFIER_LIST_rec.terms_id := QP_Value_To_Id.terms
3244             (   p_terms                       => p_MODIFIER_LIST_val_rec.terms
3245             );
3246 
3247             IF l_MODIFIER_LIST_rec.terms_id = FND_API.G_MISS_NUM THEN
3248                 l_MODIFIER_LIST_rec.return_status := FND_API.G_RET_STS_ERROR;
3249             END IF;
3250 
3251         END IF;
3252 
3253     END IF;
3254 
3255 
3256 	oe_debug_pub.add('END get_ids in QPXUMLHB');
3257     RETURN l_MODIFIER_LIST_rec;
3258 
3259 END Get_Ids;
3260 
3261 Function Get_Segment_Level_for_Group
3262   (p_list_header_id IN NUMBER
3263   ,p_list_line_id IN NUMBER
3264   ,p_qualifier_grouping_no IN NUMBER
3265   ) return varchar2
3266 is
3267  cursor c_qualifiers is
3268    select qualifier_context, qualifier_attribute
3269      from qp_qualifiers
3270     where list_header_id = p_list_header_id
3271       and ((qualifier_grouping_no = p_qualifier_grouping_no) OR (qualifier_grouping_no = -1))
3272       and list_line_id = p_list_line_id;
3273 
3274  l_current_segment_level   VARCHAR2(30) := NULL;
3275 
3276  l_final_segment_level     VARCHAR2(30) := NULL;
3277 
3278 
3279 BEGIN
3280   oe_debug_pub.add('Begin Get_Segment_Level_for_Group');
3281   oe_debug_pub.add('p_list_header_id = ' || p_list_header_id);
3282   oe_debug_pub.add('p_list_line_id = ' || p_list_line_id);
3283   oe_debug_pub.add('p_qualifier_grouping_no = ' || p_qualifier_grouping_no);
3284      FOR l_rec in c_qualifiers
3285      LOOP
3286         l_current_segment_level := qp_util.get_segment_level(p_list_header_id
3287                                                             ,l_rec.qualifier_context
3288                                                             ,l_rec.qualifier_attribute
3289                                                             );
3290         if l_final_segment_level is NULL then
3291            l_final_segment_level := l_current_segment_level;
3292         else
3293            if l_final_segment_level = 'LINE' then
3294               if l_current_segment_level = 'LINE' then
3295                  l_final_segment_level := 'LINE';
3296               elsif l_current_segment_level = 'BOTH' then
3297                  l_final_segment_level := 'LINE_BOTH';
3298               elsif l_current_segment_level = 'ORDER' then
3299                  -- Unexpected Condition
3300                  raise FND_API.G_EXC_UNEXPECTED_ERROR;
3301               end if;
3302 
3303            elsif l_final_segment_level = 'ORDER' then
3304               if l_current_segment_level = 'ORDER' then
3305                  l_final_segment_level := 'ORDER';
3306               elsif l_current_segment_level = 'BOTH' then
3307                  l_final_segment_level := 'ORDER_BOTH';
3308               elsif l_current_segment_level = 'LINE' then
3309                  -- Unexpected Condition
3310                  raise FND_API.G_EXC_UNEXPECTED_ERROR;
3311               end if;
3312 
3313            elsif l_final_segment_level = 'BOTH' then
3314               if l_current_segment_level = 'LINE' then
3315                  l_final_segment_level := 'LINE_BOTH';
3316               elsif l_current_segment_level = 'ORDER' then
3317                  l_final_segment_level := 'ORDER_BOTH';
3318               elsif l_current_segment_level = 'BOTH' then
3319                  l_final_segment_level := 'BOTH';
3320               end if;
3321 
3322            elsif l_final_segment_level = 'LINE_BOTH' then
3323               if l_current_segment_level in ('LINE', 'BOTH') then
3324                  l_final_segment_level := 'LINE_BOTH';
3325               elsif l_current_segment_level = 'ORDER' then
3326                  -- Unexpected Condition
3327                  raise FND_API.G_EXC_UNEXPECTED_ERROR;
3328               end if;
3329 
3330            elsif l_final_segment_level = 'ORDER_BOTH' then
3331               if l_current_segment_level in ('ORDER', 'BOTH') then
3332                  l_final_segment_level := 'ORDER_BOTH';
3333               elsif l_current_segment_level = 'LINE' then
3334                  -- Unexpected Condition
3335                  raise FND_API.G_EXC_UNEXPECTED_ERROR;
3336               end if;
3337 
3338            end if; -- l_final_segment_level = 'LINE'
3339         end if; -- l_final_segment_level is NULL
3340 
3341      END LOOP;
3342 
3343   return(l_final_segment_level);
3344 
3345   oe_debug_pub.add('End Get_Segment_Level_for_Group');
3346 EXCEPTION
3347   WHEN FND_API.G_EXC_ERROR THEN
3348     return(null);
3349 
3350   WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3351      IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
3352 	OE_MSG_PUB.Add_Exc_Msg
3353 		(G_PKG_NAME
3354 		,'Get_Segment_Level_for_Group');
3355      END IF;
3356      return(null);
3357 
3358   WHEN OTHERS THEN
3359      IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
3360 	OE_MSG_PUB.Add_Exc_Msg
3361 		(G_PKG_NAME
3362 		,'Get_Segment_Level_for_Group');
3363      END IF;
3364      return(null);
3365 
3366 END Get_Segment_Level_for_Group;
3367 
3368 END QP_Modifier_List_Util;