[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;