[Home] [Help]
PACKAGE BODY: APPS.QP_MODIFIER_LIST_UTIL
Source
1 PACKAGE BODY QP_Modifier_List_Util AS
2 /* $Header: QPXUMLHB.pls 120.4 2006/04/19 11:14:30 rnayani noship $ */
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 END IF;
658
659 IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.comments,p_old_MODIFIER_LIST_rec.comments)
660 THEN
661 NULL;
662 END IF;
663
664 IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.context,p_old_MODIFIER_LIST_rec.context)
665 THEN
666 NULL;
667 END IF;
668
669 IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.created_by,p_old_MODIFIER_LIST_rec.created_by)
670 THEN
671 NULL;
672 END IF;
673
674 IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.creation_date,p_old_MODIFIER_LIST_rec.creation_date)
675 THEN
676 NULL;
677 END IF;
678
679 IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.currency_code,p_old_MODIFIER_LIST_rec.currency_code)
680 THEN
681 -- NULL;
682 IF QP_JAVA_ENGINE_UTIL_PUB.Java_Engine_Installed = 'Y' THEN
683 IF(p_MODIFIER_LIST_rec.operation = OE_GLOBALS.G_OPR_UPDATE) THEN
684 qp_delayed_requests_pvt.log_request(
685 p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
686 p_entity_id => p_MODIFIER_LIST_rec.list_header_id,
687 p_request_unique_key1 => NULL,
688 p_request_unique_key2 => 'UD',
689 p_requesting_entity_code => QP_GLOBALS.G_ENTITY_ALL,
690 p_requesting_entity_id => p_MODIFIER_LIST_rec.list_header_id,
691 p_request_type => QP_GLOBALS.G_MAINTAIN_HEADER_PATTERN,
692 x_return_status => x_MODIFIER_LIST_rec.return_status);
693 END IF;
694 END IF;
695 -- Pattern
696 END IF;
697
698 IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.discount_lines_flag,p_old_MODIFIER_LIST_rec.discount_lines_flag)
699 THEN
700 NULL;
701 END IF;
702
703 IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.end_date_active,p_old_MODIFIER_LIST_rec.end_date_active)
704 THEN
705 NULL;
706 END IF;
707
708 IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.freight_terms_code,p_old_MODIFIER_LIST_rec.freight_terms_code)
709 THEN
710 NULL;
711 END IF;
712
713 IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.gsa_indicator,p_old_MODIFIER_LIST_rec.gsa_indicator)
714 THEN
715 NULL;
716 END IF;
717
718 IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.last_updated_by,p_old_MODIFIER_LIST_rec.last_updated_by)
719 THEN
720 NULL;
721 END IF;
722
723 IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.last_update_date,p_old_MODIFIER_LIST_rec.last_update_date)
724 THEN
725 NULL;
726 END IF;
727
728 IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.last_update_login,p_old_MODIFIER_LIST_rec.last_update_login)
729 THEN
730 NULL;
731 END IF;
732
733 IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.list_header_id,p_old_MODIFIER_LIST_rec.list_header_id)
734 THEN
735 NULL;
736 END IF;
737
738 IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.list_type_code,p_old_MODIFIER_LIST_rec.list_type_code)
739 THEN
740 NULL;
741 IF QP_JAVA_ENGINE_UTIL_PUB.Java_Engine_Installed = 'Y' THEN
742 IF (p_MODIFIER_LIST_rec.operation = OE_GLOBALS.G_OPR_UPDATE) THEN
743 qp_delayed_requests_pvt.log_request(
744 p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
745 p_entity_id => p_MODIFIER_LIST_rec.list_header_id,
746 p_request_unique_key1 => NULL,
747 p_request_unique_key2 => 'UD',
748 p_requesting_entity_code => QP_GLOBALS.G_ENTITY_ALL,
749 p_requesting_entity_id => p_MODIFIER_LIST_rec.list_header_id,
750 p_request_type => QP_GLOBALS.G_MAINTAIN_HEADER_PATTERN,
751 x_return_status => x_MODIFIER_LIST_rec.return_status);
752 END IF;
753 END IF;
754 -- Pattern
755 END IF;
756
757 IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.program_application_id,p_old_MODIFIER_LIST_rec.program_application_id)
758 THEN
759 NULL;
760 END IF;
761
762 IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.program_id,p_old_MODIFIER_LIST_rec.program_id)
763 THEN
764 NULL;
765 END IF;
766
767 IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.program_update_date,p_old_MODIFIER_LIST_rec.program_update_date)
768 THEN
769 NULL;
770 END IF;
771
772 IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.prorate_flag,p_old_MODIFIER_LIST_rec.prorate_flag)
773 THEN
774 NULL;
775 END IF;
776
777 IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.request_id,p_old_MODIFIER_LIST_rec.request_id)
778 THEN
779 NULL;
780 END IF;
781
782 IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.rounding_factor,p_old_MODIFIER_LIST_rec.rounding_factor)
783 THEN
784 NULL;
785 END IF;
786
787 IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.ship_method_code,p_old_MODIFIER_LIST_rec.ship_method_code)
788 THEN
789 NULL;
790 END IF;
791
792 IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.start_date_active,p_old_MODIFIER_LIST_rec.start_date_active)
793 THEN
794 NULL;
795 END IF;
796
797 IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.terms_id,p_old_MODIFIER_LIST_rec.terms_id)
798 THEN
799 NULL;
800 END IF;
801
802 IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.source_system_code,p_old_MODIFIER_LIST_rec.source_system_code)
803 THEN
804 NULL;
805 IF QP_JAVA_ENGINE_UTIL_PUB.Java_Engine_Installed = 'Y' THEN
806 IF (p_MODIFIER_LIST_rec.operation = OE_GLOBALS.G_OPR_UPDATE) THEN
807 qp_delayed_requests_pvt.log_request(
808 p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
809 p_entity_id => p_MODIFIER_LIST_rec.list_header_id,
810 p_request_unique_key1 => NULL,
811 p_request_unique_key2 => 'UD',
812 p_requesting_entity_code => QP_GLOBALS.G_ENTITY_ALL,
813 p_requesting_entity_id => p_MODIFIER_LIST_rec.list_header_id,
814 p_request_type => QP_GLOBALS.G_MAINTAIN_HEADER_PATTERN,
815 x_return_status => x_MODIFIER_LIST_rec.return_status);
816 END IF;
817 END IF;
818 -- Pattern
819 END IF;
820
821 IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.pte_code,p_old_MODIFIER_LIST_rec.pte_code)
822 THEN
823 NULL;
824 END IF;
825
826 IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.active_flag,p_old_MODIFIER_LIST_rec.active_flag)
827 THEN
828 NULL;
829
830 --hw
831 -- log delayed request for changed lines for active flag change
832 if QP_PERF_PVT.enabled = 'Y' then
833 qp_delayed_requests_pvt.log_request(
834 p_entity_code => QP_GLOBALS.G_ENTITY_MODIFIER_LIST,
835 p_entity_id => p_MODIFIER_LIST_rec.list_header_id,
836 p_requesting_entity_code => QP_GLOBALS.G_ENTITY_MODIFIERS,
837 p_requesting_entity_id => p_MODIFIER_LIST_rec.list_header_id,
838 p_request_type => QP_GLOBALS.G_UPDATE_CHANGED_LINES_ACT,
839 p_param1 => p_MODIFIER_LIST_rec.active_flag,
840 x_return_status => x_MODIFIER_LIST_rec.return_status);
841 end if;
842
843 --hvop
844 qp_delayed_requests_pvt.log_request(
845 p_entity_code => QP_GLOBALS.G_ENTITY_MODIFIER_LIST,
846 p_entity_id => p_MODIFIER_LIST_rec.list_header_id,
847 p_requesting_entity_code => QP_GLOBALS.G_ENTITY_MODIFIERS,
848 p_requesting_entity_id => p_MODIFIER_LIST_rec.list_header_id,
849 p_request_type => QP_GLOBALS.G_UPDATE_HVOP,
850 x_return_status => x_MODIFIER_LIST_rec.return_status);
851 --hvop
852 IF QP_JAVA_ENGINE_UTIL_PUB.Java_Engine_Installed = 'Y' THEN
853 IF (p_MODIFIER_LIST_rec.operation = OE_GLOBALS.G_OPR_UPDATE) THEN
854 qp_delayed_requests_pvt.log_request(
855 p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
856 p_entity_id => p_MODIFIER_LIST_rec.list_header_id,
857 p_request_unique_key1 => NULL,
858 p_request_unique_key2 => 'UD',
859 p_requesting_entity_code => QP_GLOBALS.G_ENTITY_ALL,
860 p_requesting_entity_id => p_MODIFIER_LIST_rec.list_header_id,
861 p_request_type => QP_GLOBALS.G_MAINTAIN_HEADER_PATTERN,
862 x_return_status => x_MODIFIER_LIST_rec.return_status);
863 END IF;
864 END IF; --Java Engine Installed
865 -- Pattern
866 --to populate rltd_Exists,oid_exists,prg_exists and qp_basic_modifiers_setup
867 --performance profile
868 IF p_MODIFIER_LIST_rec.operation = QP_GLOBALS.G_OPR_UPDATE THEN
869
870 BEGIN
871 select 'Y' into l_modifiers_exist
872 from qp_list_lines
873 where list_header_id = p_MODIFIER_LIST_rec.list_header_id
874 and rownum = 1;
875 EXCEPTION
876 When OTHERS THEN
877 l_modifiers_exist := 'N';
878 END;
879
880 IF l_modifiers_exist = 'Y' THEN
881
882 ------------------fix for bug 3756625
883 FOR I in l_pricing_phase_cur(p_MODIFIER_LIST_rec.list_header_id)
884 LOOP
885
886 qp_delayed_requests_PVT.log_request(
887 p_entity_code => QP_GLOBALS.G_ENTITY_MODIFIER_LIST,
888 p_entity_id => p_MODIFIER_LIST_rec.list_header_id,
889 p_param1 => I.pricing_phase_id,
890 p_requesting_entity_code=> QP_GLOBALS.G_ENTITY_MODIFIER_LIST,
891 p_requesting_entity_id => p_MODIFIER_LIST_rec.list_header_id,
892 p_request_type =>QP_GLOBALS.G_UPDATE_PRICING_PHASE,
893 x_return_status => x_MODIFIER_LIST_rec.return_status);
894 END LOOP;
895
896 qp_delayed_requests_pvt.log_request(
897 p_entity_code => QP_GLOBALS.G_ENTITY_MODIFIER_LIST,
898 p_entity_id => p_MODIFIER_LIST_rec.list_header_id,
899 p_requesting_entity_code => QP_GLOBALS.G_ENTITY_MODIFIERS,
900 p_requesting_entity_id => p_MODIFIER_LIST_rec.list_header_id,
901 p_request_type => QP_GLOBALS.G_UPDATE_HVOP,
902 x_return_status => x_MODIFIER_LIST_rec.return_status);
903 END IF;
904 END IF;
905
906 IF p_MODIFIER_LIST_rec.operation = QP_GLOBALS.G_OPR_UPDATE THEN
907
908 Update QP_QUALIFIERS
909 set active_flag = p_MODIFIER_LIST_rec.active_flag
910 where list_header_id = p_MODIFIER_LIST_rec.list_header_id;
911
912 IF p_MODIFIER_LIST_rec.active_flag = 'Y'
913 THEN
914 update qp_pte_segments set used_in_setup='Y'
915 where nvl(used_in_setup,'N')='N'
916 and segment_id in
917 (select a.segment_id
918 from qp_segments_b a,qp_prc_contexts_b b,qp_qualifiers c
919 where c.list_header_id = p_MODIFIER_LIST_rec.list_header_id
920 and a.segment_mapping_column = c .qualifier_attribute
921 and a.prc_context_id = b.prc_context_id
922 and b.prc_context_type = 'QUALIFIER'
923 and b.prc_context_code = c.qualifier_context);
924
925 update qp_pte_segments d set used_in_setup='Y'
926 where nvl(used_in_setup,'N')='N'
927 and exists
928 (select 'x'
929 from qp_segments_b a,qp_prc_contexts_b b,qp_pricing_attributes c
930 where c.list_header_id = p_MODIFIER_LIST_rec.list_header_id
931 and a.segment_mapping_column = c.pricing_attribute
932 and a.segment_id = d.segment_id
933 and a.prc_context_id = b.prc_context_id
934 and b.prc_context_type = 'PRICING_ATTRIBUTE'
935 and b.prc_context_code = c.pricing_attribute_context);
936
937 update qp_pte_segments d set used_in_setup='Y'
938 where nvl(used_in_setup,'N')='N'
939 and exists
940 (select 'x'
941 from qp_segments_b a,qp_prc_contexts_b b,qp_pricing_attributes c
942 where c.list_header_id = p_MODIFIER_LIST_rec.list_header_id
943 and a.segment_mapping_column = c.product_attribute
944 and a.segment_id = d.segment_id
945 and a.prc_context_id = b.prc_context_id
946 and b.prc_context_type = 'PRODUCT'
947 and b.prc_context_code = c.product_attribute_context);
948
949 update qp_pte_segments set used_in_setup='Y'
950 where nvl(used_in_setup,'N')='N'
951 and segment_id in
952 (select a.segment_id
953 from qp_segments_b a,qp_prc_contexts_b b,qp_limits c
954 where c.list_header_id = p_MODIFIER_LIST_rec.list_header_id
955 and a.segment_mapping_column = c.multival_attribute1
956 and a.prc_context_id = b.prc_context_id
957 and b.prc_context_type = c.multival_attr1_type
958 and b.prc_context_code = c.multival_attr1_context);
959
960 update qp_pte_segments set used_in_setup='Y'
961 where nvl(used_in_setup,'N')='N'
962 and segment_id in
963 (select a.segment_id
964 from qp_segments_b a,qp_prc_contexts_b b,qp_limits c
965 where c.list_header_id = p_MODIFIER_LIST_rec.list_header_id
966 and a.segment_mapping_column = c.multival_attribute2
967 and a.prc_context_id = b.prc_context_id
968 and b.prc_context_type = c.multival_attr2_type
969 and b.prc_context_code = c.multival_attr2_context);
970
971
972 update qp_pte_segments set used_in_setup='Y'
973 where nvl(used_in_setup,'N')='N'
974 and segment_id in
975 (select a.segment_id
976 from qp_segments_b a,qp_prc_contexts_b b,qp_limit_attributes c,qp_limits d
977 where c.limit_id = d.limit_id
978 and d.list_header_id = p_MODIFIER_LIST_rec.list_header_id
979 and a.segment_mapping_column = c.limit_attribute
980 and a.prc_context_id = b.prc_context_id
981 and b.prc_context_type = c.limit_attribute_type
982 and b.prc_context_code = c.limit_attribute_context);
983
984 END IF;
985
986 END IF;
987 END IF;
988
989 IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.parent_list_header_id,p_old_MODIFIER_LIST_rec.parent_list_header_id)
990 THEN
991 NULL;
992 END IF;
993
994 IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.start_date_active_first,p_old_MODIFIER_LIST_rec.start_date_active_first)
995 THEN
996 NULL;
997 END IF;
998
999 IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.end_date_active_first,p_old_MODIFIER_LIST_rec.end_date_active_first)
1000 THEN
1001 NULL;
1002 END IF;
1003
1004 IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.active_date_first_type,p_old_MODIFIER_LIST_rec.active_date_first_type)
1005 THEN
1006 NULL;
1007 END IF;
1008
1009 IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.start_date_active_second,p_old_MODIFIER_LIST_rec.start_date_active_second)
1010 THEN
1011 NULL;
1012 END IF;
1013
1014 IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.global_flag,p_old_MODIFIER_LIST_rec.global_flag)
1015 THEN
1016 NULL;
1017 END IF;
1018
1019
1020 IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.end_date_active_second,p_old_MODIFIER_LIST_rec.end_date_active_second)
1021 THEN
1022 NULL;
1023 END IF;
1024
1025 IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.active_date_second_type,p_old_MODIFIER_LIST_rec.active_date_second_type)
1026 THEN
1027 NULL;
1028 END IF;
1029
1030 IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.ask_for_flag,p_old_MODIFIER_LIST_rec.ask_for_flag)
1031 THEN
1032 NULL;
1033 IF QP_JAVA_ENGINE_UTIL_PUB.Java_Engine_Installed = 'Y' THEN
1034 IF(p_MODIFIER_LIST_rec.operation = OE_GLOBALS.G_OPR_UPDATE) THEN
1035 qp_delayed_requests_pvt.log_request(
1036 p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
1037 p_entity_id => p_MODIFIER_LIST_rec.list_header_id,
1038 p_request_unique_key1 => NULL,
1039 p_request_unique_key2 => 'UD',
1040 p_requesting_entity_code => QP_GLOBALS.G_ENTITY_ALL,
1041 p_requesting_entity_id => p_MODIFIER_LIST_rec.list_header_id,
1042 p_request_type => QP_GLOBALS.G_MAINTAIN_HEADER_PATTERN,
1043 x_return_status => x_MODIFIER_LIST_rec.return_status);
1044 END IF;
1045 END IF;
1046 -- Pattern
1047 END IF;
1048
1049 IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.name,p_old_MODIFIER_LIST_rec.name)
1050 THEN
1051 NULL;
1052 END IF;
1053
1054 IF NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.description,p_old_MODIFIER_LIST_rec.description)
1055 THEN
1056 NULL;
1057 END IF;
1058
1059 -- Blanket Pricing
1060 IF NOT QP_GLOBALS.Equal (p_MODIFIER_LIST_rec.list_source_code, p_old_MODIFIER_LIST_rec.list_source_code)
1061 THEN
1062 NULL;
1063 END IF;
1064
1065 IF NOT QP_GLOBALS.Equal (p_MODIFIER_LIST_rec.orig_system_header_ref, p_old_MODIFIER_LIST_rec.orig_system_header_ref)
1066 THEN
1067 NULL;
1068 END IF;
1069
1070 IF NOT QP_GLOBALS.Equal (p_MODIFIER_LIST_rec.shareable_flag, p_old_MODIFIER_LIST_rec.shareable_flag)
1071 THEN
1072 NULL;
1073 END IF;
1074
1075 --added for MOAC
1076 IF NOT QP_GLOBALS.Equal (p_MODIFIER_LIST_rec.org_id, p_old_MODIFIER_LIST_rec.org_id)
1077 THEN
1078 NULL;
1079 END IF;
1080
1081 oe_debug_pub.add('END apply_attribute_changes in QPXUMLHB');
1082 END Apply_Attribute_Changes;
1083
1084
1085 -- Function Complete_Record
1086
1087 FUNCTION Complete_Record
1088 ( p_MODIFIER_LIST_rec IN QP_Modifiers_PUB.Modifier_List_Rec_Type
1089 , p_old_MODIFIER_LIST_rec IN QP_Modifiers_PUB.Modifier_List_Rec_Type
1090 ) RETURN QP_Modifiers_PUB.Modifier_List_Rec_Type
1091 IS
1092 l_MODIFIER_LIST_rec QP_Modifiers_PUB.Modifier_List_Rec_Type := p_MODIFIER_LIST_rec;
1093 BEGIN
1094
1095 oe_debug_pub.add('BEGIN complete_record in QPXUMLHB');
1096
1097 IF l_MODIFIER_LIST_rec.attribute1 = FND_API.G_MISS_CHAR THEN
1098 l_MODIFIER_LIST_rec.attribute1 := p_old_MODIFIER_LIST_rec.attribute1;
1099 END IF;
1100
1101 IF l_MODIFIER_LIST_rec.attribute10 = FND_API.G_MISS_CHAR THEN
1102 l_MODIFIER_LIST_rec.attribute10 := p_old_MODIFIER_LIST_rec.attribute10;
1103 END IF;
1104
1105 IF l_MODIFIER_LIST_rec.attribute11 = FND_API.G_MISS_CHAR THEN
1106 l_MODIFIER_LIST_rec.attribute11 := p_old_MODIFIER_LIST_rec.attribute11;
1107 END IF;
1108
1109 IF l_MODIFIER_LIST_rec.attribute12 = FND_API.G_MISS_CHAR THEN
1110 l_MODIFIER_LIST_rec.attribute12 := p_old_MODIFIER_LIST_rec.attribute12;
1111 END IF;
1112
1113 IF l_MODIFIER_LIST_rec.attribute13 = FND_API.G_MISS_CHAR THEN
1114 l_MODIFIER_LIST_rec.attribute13 := p_old_MODIFIER_LIST_rec.attribute13;
1115 END IF;
1116
1117 IF l_MODIFIER_LIST_rec.attribute14 = FND_API.G_MISS_CHAR THEN
1118 l_MODIFIER_LIST_rec.attribute14 := p_old_MODIFIER_LIST_rec.attribute14;
1119 END IF;
1120
1121 IF l_MODIFIER_LIST_rec.attribute15 = FND_API.G_MISS_CHAR THEN
1122 l_MODIFIER_LIST_rec.attribute15 := p_old_MODIFIER_LIST_rec.attribute15;
1123 END IF;
1124
1125 IF l_MODIFIER_LIST_rec.attribute2 = FND_API.G_MISS_CHAR THEN
1126 l_MODIFIER_LIST_rec.attribute2 := p_old_MODIFIER_LIST_rec.attribute2;
1127 END IF;
1128
1129 IF l_MODIFIER_LIST_rec.attribute3 = FND_API.G_MISS_CHAR THEN
1130 l_MODIFIER_LIST_rec.attribute3 := p_old_MODIFIER_LIST_rec.attribute3;
1131 END IF;
1132
1133 IF l_MODIFIER_LIST_rec.attribute4 = FND_API.G_MISS_CHAR THEN
1134 l_MODIFIER_LIST_rec.attribute4 := p_old_MODIFIER_LIST_rec.attribute4;
1135 END IF;
1136
1137 IF l_MODIFIER_LIST_rec.attribute5 = FND_API.G_MISS_CHAR THEN
1138 l_MODIFIER_LIST_rec.attribute5 := p_old_MODIFIER_LIST_rec.attribute5;
1139 END IF;
1140
1141 IF l_MODIFIER_LIST_rec.attribute6 = FND_API.G_MISS_CHAR THEN
1142 l_MODIFIER_LIST_rec.attribute6 := p_old_MODIFIER_LIST_rec.attribute6;
1143 END IF;
1144
1145 IF l_MODIFIER_LIST_rec.attribute7 = FND_API.G_MISS_CHAR THEN
1146 l_MODIFIER_LIST_rec.attribute7 := p_old_MODIFIER_LIST_rec.attribute7;
1147 END IF;
1148
1149 IF l_MODIFIER_LIST_rec.attribute8 = FND_API.G_MISS_CHAR THEN
1150 l_MODIFIER_LIST_rec.attribute8 := p_old_MODIFIER_LIST_rec.attribute8;
1151 END IF;
1152
1153 IF l_MODIFIER_LIST_rec.attribute9 = FND_API.G_MISS_CHAR THEN
1154 l_MODIFIER_LIST_rec.attribute9 := p_old_MODIFIER_LIST_rec.attribute9;
1155 END IF;
1156
1157 IF l_MODIFIER_LIST_rec.automatic_flag = FND_API.G_MISS_CHAR THEN
1158 l_MODIFIER_LIST_rec.automatic_flag := p_old_MODIFIER_LIST_rec.automatic_flag;
1159 END IF;
1160
1161 IF l_MODIFIER_LIST_rec.comments = FND_API.G_MISS_CHAR THEN
1162 l_MODIFIER_LIST_rec.comments := p_old_MODIFIER_LIST_rec.comments;
1163 END IF;
1164
1165 IF l_MODIFIER_LIST_rec.context = FND_API.G_MISS_CHAR THEN
1166 l_MODIFIER_LIST_rec.context := p_old_MODIFIER_LIST_rec.context;
1167 END IF;
1168
1169 IF l_MODIFIER_LIST_rec.created_by = FND_API.G_MISS_NUM THEN
1170 l_MODIFIER_LIST_rec.created_by := p_old_MODIFIER_LIST_rec.created_by;
1171 END IF;
1172
1173 IF l_MODIFIER_LIST_rec.creation_date = FND_API.G_MISS_DATE THEN
1174 l_MODIFIER_LIST_rec.creation_date := p_old_MODIFIER_LIST_rec.creation_date;
1175 END IF;
1176
1177 IF l_MODIFIER_LIST_rec.currency_code = FND_API.G_MISS_CHAR THEN
1178 l_MODIFIER_LIST_rec.currency_code := p_old_MODIFIER_LIST_rec.currency_code;
1179 END IF;
1180
1181 IF l_MODIFIER_LIST_rec.discount_lines_flag = FND_API.G_MISS_CHAR THEN
1182 l_MODIFIER_LIST_rec.discount_lines_flag := p_old_MODIFIER_LIST_rec.discount_lines_flag;
1183 END IF;
1184
1185 IF l_MODIFIER_LIST_rec.end_date_active = FND_API.G_MISS_DATE THEN
1186 l_MODIFIER_LIST_rec.end_date_active := p_old_MODIFIER_LIST_rec.end_date_active;
1187 END IF;
1188
1189 IF l_MODIFIER_LIST_rec.freight_terms_code = FND_API.G_MISS_CHAR THEN
1190 l_MODIFIER_LIST_rec.freight_terms_code := p_old_MODIFIER_LIST_rec.freight_terms_code;
1191 END IF;
1192
1193 IF l_MODIFIER_LIST_rec.gsa_indicator = FND_API.G_MISS_CHAR THEN
1194 l_MODIFIER_LIST_rec.gsa_indicator := p_old_MODIFIER_LIST_rec.gsa_indicator;
1195 END IF;
1196
1197 IF l_MODIFIER_LIST_rec.last_updated_by = FND_API.G_MISS_NUM THEN
1198 l_MODIFIER_LIST_rec.last_updated_by := p_old_MODIFIER_LIST_rec.last_updated_by;
1199 END IF;
1200
1201 IF l_MODIFIER_LIST_rec.last_update_date = FND_API.G_MISS_DATE THEN
1202 l_MODIFIER_LIST_rec.last_update_date := p_old_MODIFIER_LIST_rec.last_update_date;
1203 END IF;
1204
1205 IF l_MODIFIER_LIST_rec.last_update_login = FND_API.G_MISS_NUM THEN
1206 l_MODIFIER_LIST_rec.last_update_login := p_old_MODIFIER_LIST_rec.last_update_login;
1207 END IF;
1208
1209 IF l_MODIFIER_LIST_rec.list_header_id = FND_API.G_MISS_NUM THEN
1210 l_MODIFIER_LIST_rec.list_header_id := p_old_MODIFIER_LIST_rec.list_header_id;
1211 END IF;
1212
1213 IF l_MODIFIER_LIST_rec.list_type_code = FND_API.G_MISS_CHAR THEN
1214 l_MODIFIER_LIST_rec.list_type_code := p_old_MODIFIER_LIST_rec.list_type_code;
1215 END IF;
1216
1217 IF l_MODIFIER_LIST_rec.program_application_id = FND_API.G_MISS_NUM THEN
1218 l_MODIFIER_LIST_rec.program_application_id := p_old_MODIFIER_LIST_rec.program_application_id;
1219 END IF;
1220
1221 IF l_MODIFIER_LIST_rec.program_id = FND_API.G_MISS_NUM THEN
1222 l_MODIFIER_LIST_rec.program_id := p_old_MODIFIER_LIST_rec.program_id;
1223 END IF;
1224
1225 IF l_MODIFIER_LIST_rec.program_update_date = FND_API.G_MISS_DATE THEN
1226 l_MODIFIER_LIST_rec.program_update_date := p_old_MODIFIER_LIST_rec.program_update_date;
1227 END IF;
1228
1229 IF l_MODIFIER_LIST_rec.prorate_flag = FND_API.G_MISS_CHAR THEN
1230 l_MODIFIER_LIST_rec.prorate_flag := p_old_MODIFIER_LIST_rec.prorate_flag;
1231 END IF;
1232
1233 IF l_MODIFIER_LIST_rec.request_id = FND_API.G_MISS_NUM THEN
1234 l_MODIFIER_LIST_rec.request_id := p_old_MODIFIER_LIST_rec.request_id;
1235 END IF;
1236
1237 IF l_MODIFIER_LIST_rec.rounding_factor = FND_API.G_MISS_NUM THEN
1238 l_MODIFIER_LIST_rec.rounding_factor := p_old_MODIFIER_LIST_rec.rounding_factor;
1239 END IF;
1240
1241 IF l_MODIFIER_LIST_rec.ship_method_code = FND_API.G_MISS_CHAR THEN
1242 l_MODIFIER_LIST_rec.ship_method_code := p_old_MODIFIER_LIST_rec.ship_method_code;
1243 END IF;
1244
1245 IF l_MODIFIER_LIST_rec.start_date_active = FND_API.G_MISS_DATE THEN
1246 l_MODIFIER_LIST_rec.start_date_active := p_old_MODIFIER_LIST_rec.start_date_active;
1247 END IF;
1248
1249 IF l_MODIFIER_LIST_rec.terms_id = FND_API.G_MISS_NUM THEN
1250 l_MODIFIER_LIST_rec.terms_id := p_old_MODIFIER_LIST_rec.terms_id;
1251 END IF;
1252
1253 IF l_MODIFIER_LIST_rec.source_system_code = FND_API.G_MISS_CHAR THEN
1254 l_MODIFIER_LIST_rec.source_system_code := p_old_MODIFIER_LIST_rec.source_system_code;
1255 END IF;
1256
1257 IF l_MODIFIER_LIST_rec.pte_code = FND_API.G_MISS_CHAR THEN
1258 l_MODIFIER_LIST_rec.pte_code := p_old_MODIFIER_LIST_rec.pte_code;
1259 END IF;
1260
1261 IF l_MODIFIER_LIST_rec.active_flag = FND_API.G_MISS_CHAR THEN
1262 l_MODIFIER_LIST_rec.active_flag := p_old_MODIFIER_LIST_rec.active_flag;
1263 END IF;
1264
1265 IF l_MODIFIER_LIST_rec.parent_list_header_id = FND_API.G_MISS_NUM THEN
1266 l_MODIFIER_LIST_rec.parent_list_header_id := p_old_MODIFIER_LIST_rec.parent_list_header_id;
1267 END IF;
1268
1269 IF l_MODIFIER_LIST_rec.start_date_active_first = FND_API.G_MISS_DATE THEN
1270 l_MODIFIER_LIST_rec.start_date_active_first := p_old_MODIFIER_LIST_rec.start_date_active_first;
1271 END IF;
1272
1273 IF l_MODIFIER_LIST_rec.end_date_active_first = FND_API.G_MISS_DATE THEN
1274 l_MODIFIER_LIST_rec.end_date_active_first := p_old_MODIFIER_LIST_rec.end_date_active_first;
1275 END IF;
1276
1277 IF l_MODIFIER_LIST_rec.active_date_first_type = FND_API.G_MISS_CHAR THEN
1278 l_MODIFIER_LIST_rec.active_date_first_type := p_old_MODIFIER_LIST_rec.active_date_first_type;
1279 END IF;
1280
1281 IF l_MODIFIER_LIST_rec.start_date_active_second = FND_API.G_MISS_DATE THEN
1282 l_MODIFIER_LIST_rec.start_date_active_second := p_old_MODIFIER_LIST_rec.start_date_active_second;
1283 END IF;
1284
1285 IF l_MODIFIER_LIST_rec.global_flag = FND_API.G_MISS_CHAR THEN
1286 l_MODIFIER_LIST_rec.global_flag := p_old_MODIFIER_LIST_rec.global_flag;
1287 END IF;
1288
1289
1290 IF l_MODIFIER_LIST_rec.end_date_active_second = FND_API.G_MISS_DATE THEN
1291 l_MODIFIER_LIST_rec.end_date_active_second := p_old_MODIFIER_LIST_rec.end_date_active_second;
1292 END IF;
1293
1294 IF l_MODIFIER_LIST_rec.active_date_second_type = FND_API.G_MISS_CHAR THEN
1295 l_MODIFIER_LIST_rec.active_date_second_type := p_old_MODIFIER_LIST_rec.active_date_second_type;
1296 END IF;
1297
1298 IF l_MODIFIER_LIST_rec.ask_for_flag = FND_API.G_MISS_CHAR THEN
1299 l_MODIFIER_LIST_rec.ask_for_flag := p_old_MODIFIER_LIST_rec.ask_for_flag;
1300 END IF;
1301
1302 IF l_MODIFIER_LIST_rec.name = FND_API.G_MISS_CHAR THEN
1303 l_MODIFIER_LIST_rec.name := p_old_MODIFIER_LIST_rec.name;
1304 END IF;
1305
1306 IF l_MODIFIER_LIST_rec.version_no = FND_API.G_MISS_CHAR THEN
1307 l_MODIFIER_LIST_rec.version_no := p_old_MODIFIER_LIST_rec.version_no;
1308 END IF;
1309
1310 IF l_MODIFIER_LIST_rec.description = FND_API.G_MISS_CHAR THEN
1311 l_MODIFIER_LIST_rec.description := p_old_MODIFIER_LIST_rec.description;
1312 END IF;
1313
1314 -- Blanket Agreement Pricing bug#3871577
1315 IF l_MODIFIER_LIST_rec.list_source_code = FND_API.G_MISS_CHAR THEN
1316 l_MODIFIER_LIST_rec.list_source_code := p_old_MODIFIER_LIST_rec.list_source_code;
1317 END IF;
1318
1319 IF l_MODIFIER_LIST_rec.orig_system_header_ref = FND_API.G_MISS_CHAR THEN
1320 l_MODIFIER_LIST_rec.orig_system_header_ref := p_old_MODIFIER_LIST_rec.orig_system_header_ref;
1321 END IF;
1322
1323 IF l_MODIFIER_LIST_rec.shareable_flag = FND_API.G_MISS_CHAR THEN
1324 l_MODIFIER_LIST_rec.shareable_flag := p_old_MODIFIER_LIST_rec.shareable_flag;
1325 END IF;
1326
1327 --added for MOAC
1328 IF l_MODIFIER_LIST_rec.org_id = FND_API.G_MISS_NUM THEN
1329 l_MODIFIER_LIST_rec.org_id := p_old_MODIFIER_LIST_rec.org_id;
1330 END IF;
1331
1332 oe_debug_pub.add('version QPXUMLHB'||l_MODIFIER_LIST_rec.version_no);
1333 oe_debug_pub.add('END complete_record in QPXUMLHB');
1334 RETURN l_MODIFIER_LIST_rec;
1335
1336 END Complete_Record;
1337
1338 -- Function Convert_Miss_To_Null
1339
1340 FUNCTION Convert_Miss_To_Null
1341 ( p_MODIFIER_LIST_rec IN QP_Modifiers_PUB.Modifier_List_Rec_Type
1342 ) RETURN QP_Modifiers_PUB.Modifier_List_Rec_Type
1343 IS
1344 l_MODIFIER_LIST_rec QP_Modifiers_PUB.Modifier_List_Rec_Type := p_MODIFIER_LIST_rec;
1345 BEGIN
1346
1347 oe_debug_pub.add('BEGIN convert_miss_to_null in QPXUMLHB');
1348
1349 IF l_MODIFIER_LIST_rec.attribute1 = FND_API.G_MISS_CHAR THEN
1350 l_MODIFIER_LIST_rec.attribute1 := NULL;
1351 END IF;
1352
1353 IF l_MODIFIER_LIST_rec.attribute10 = FND_API.G_MISS_CHAR THEN
1354 l_MODIFIER_LIST_rec.attribute10 := NULL;
1355 END IF;
1356
1357 IF l_MODIFIER_LIST_rec.attribute11 = FND_API.G_MISS_CHAR THEN
1358 l_MODIFIER_LIST_rec.attribute11 := NULL;
1359 END IF;
1360
1361 IF l_MODIFIER_LIST_rec.attribute12 = FND_API.G_MISS_CHAR THEN
1362 l_MODIFIER_LIST_rec.attribute12 := NULL;
1363 END IF;
1364
1365 IF l_MODIFIER_LIST_rec.attribute13 = FND_API.G_MISS_CHAR THEN
1366 l_MODIFIER_LIST_rec.attribute13 := NULL;
1367 END IF;
1368
1369 IF l_MODIFIER_LIST_rec.attribute14 = FND_API.G_MISS_CHAR THEN
1370 l_MODIFIER_LIST_rec.attribute14 := NULL;
1371 END IF;
1372
1373 IF l_MODIFIER_LIST_rec.attribute15 = FND_API.G_MISS_CHAR THEN
1374 l_MODIFIER_LIST_rec.attribute15 := NULL;
1375 END IF;
1376
1377 IF l_MODIFIER_LIST_rec.attribute2 = FND_API.G_MISS_CHAR THEN
1378 l_MODIFIER_LIST_rec.attribute2 := NULL;
1379 END IF;
1380
1381 IF l_MODIFIER_LIST_rec.attribute3 = FND_API.G_MISS_CHAR THEN
1382 l_MODIFIER_LIST_rec.attribute3 := NULL;
1383 END IF;
1384
1385 IF l_MODIFIER_LIST_rec.attribute4 = FND_API.G_MISS_CHAR THEN
1386 l_MODIFIER_LIST_rec.attribute4 := NULL;
1387 END IF;
1388
1389 IF l_MODIFIER_LIST_rec.attribute5 = FND_API.G_MISS_CHAR THEN
1390 l_MODIFIER_LIST_rec.attribute5 := NULL;
1391 END IF;
1392
1393 IF l_MODIFIER_LIST_rec.attribute6 = FND_API.G_MISS_CHAR THEN
1394 l_MODIFIER_LIST_rec.attribute6 := NULL;
1395 END IF;
1396
1397 IF l_MODIFIER_LIST_rec.attribute7 = FND_API.G_MISS_CHAR THEN
1398 l_MODIFIER_LIST_rec.attribute7 := NULL;
1399 END IF;
1400
1401 IF l_MODIFIER_LIST_rec.attribute8 = FND_API.G_MISS_CHAR THEN
1402 l_MODIFIER_LIST_rec.attribute8 := NULL;
1403 END IF;
1404
1405 IF l_MODIFIER_LIST_rec.attribute9 = FND_API.G_MISS_CHAR THEN
1406 l_MODIFIER_LIST_rec.attribute9 := NULL;
1407 END IF;
1408
1409 IF l_MODIFIER_LIST_rec.automatic_flag = FND_API.G_MISS_CHAR THEN
1410 l_MODIFIER_LIST_rec.automatic_flag := NULL;
1411 END IF;
1412
1413 IF l_MODIFIER_LIST_rec.comments = FND_API.G_MISS_CHAR THEN
1414 l_MODIFIER_LIST_rec.comments := NULL;
1415 END IF;
1416
1417 IF l_MODIFIER_LIST_rec.context = FND_API.G_MISS_CHAR THEN
1418 l_MODIFIER_LIST_rec.context := NULL;
1419 END IF;
1420
1421 IF l_MODIFIER_LIST_rec.created_by = FND_API.G_MISS_NUM THEN
1422 l_MODIFIER_LIST_rec.created_by := NULL;
1423 END IF;
1424
1425 IF l_MODIFIER_LIST_rec.creation_date = FND_API.G_MISS_DATE THEN
1426 l_MODIFIER_LIST_rec.creation_date := NULL;
1427 END IF;
1428
1429 IF l_MODIFIER_LIST_rec.currency_code = FND_API.G_MISS_CHAR THEN
1430 l_MODIFIER_LIST_rec.currency_code := NULL;
1431 END IF;
1432
1433 IF l_MODIFIER_LIST_rec.discount_lines_flag = FND_API.G_MISS_CHAR THEN
1434 l_MODIFIER_LIST_rec.discount_lines_flag := NULL;
1435 END IF;
1436
1437 IF l_MODIFIER_LIST_rec.end_date_active = FND_API.G_MISS_DATE THEN
1438 l_MODIFIER_LIST_rec.end_date_active := NULL;
1439 END IF;
1440
1441 IF l_MODIFIER_LIST_rec.freight_terms_code = FND_API.G_MISS_CHAR THEN
1442 l_MODIFIER_LIST_rec.freight_terms_code := NULL;
1443 END IF;
1444
1445 IF l_MODIFIER_LIST_rec.gsa_indicator = FND_API.G_MISS_CHAR THEN
1446 l_MODIFIER_LIST_rec.gsa_indicator := NULL;
1447 END IF;
1448
1449 IF l_MODIFIER_LIST_rec.last_updated_by = FND_API.G_MISS_NUM THEN
1450 l_MODIFIER_LIST_rec.last_updated_by := NULL;
1451 END IF;
1452
1453 IF l_MODIFIER_LIST_rec.last_update_date = FND_API.G_MISS_DATE THEN
1454 l_MODIFIER_LIST_rec.last_update_date := NULL;
1455 END IF;
1456
1457 IF l_MODIFIER_LIST_rec.last_update_login = FND_API.G_MISS_NUM THEN
1458 l_MODIFIER_LIST_rec.last_update_login := NULL;
1459 END IF;
1460
1461 IF l_MODIFIER_LIST_rec.list_header_id = FND_API.G_MISS_NUM THEN
1462 l_MODIFIER_LIST_rec.list_header_id := NULL;
1463 END IF;
1464
1465 IF l_MODIFIER_LIST_rec.list_type_code = FND_API.G_MISS_CHAR THEN
1466 l_MODIFIER_LIST_rec.list_type_code := NULL;
1467 END IF;
1468
1469 IF l_MODIFIER_LIST_rec.program_application_id = FND_API.G_MISS_NUM THEN
1470 l_MODIFIER_LIST_rec.program_application_id := NULL;
1471 END IF;
1472
1473 IF l_MODIFIER_LIST_rec.program_id = FND_API.G_MISS_NUM THEN
1474 l_MODIFIER_LIST_rec.program_id := NULL;
1475 END IF;
1476
1477 IF l_MODIFIER_LIST_rec.program_update_date = FND_API.G_MISS_DATE THEN
1478 l_MODIFIER_LIST_rec.program_update_date := NULL;
1479 END IF;
1480
1481 IF l_MODIFIER_LIST_rec.prorate_flag = FND_API.G_MISS_CHAR THEN
1482 l_MODIFIER_LIST_rec.prorate_flag := NULL;
1483 END IF;
1484
1485 IF l_MODIFIER_LIST_rec.request_id = FND_API.G_MISS_NUM THEN
1486 l_MODIFIER_LIST_rec.request_id := NULL;
1487 END IF;
1488
1489 IF l_MODIFIER_LIST_rec.rounding_factor = FND_API.G_MISS_NUM THEN
1490 l_MODIFIER_LIST_rec.rounding_factor := NULL;
1491 END IF;
1492
1493 IF l_MODIFIER_LIST_rec.ship_method_code = FND_API.G_MISS_CHAR THEN
1494 l_MODIFIER_LIST_rec.ship_method_code := NULL;
1495 END IF;
1496
1497 IF l_MODIFIER_LIST_rec.start_date_active = FND_API.G_MISS_DATE THEN
1498 l_MODIFIER_LIST_rec.start_date_active := NULL;
1499 END IF;
1500
1501 IF l_MODIFIER_LIST_rec.terms_id = FND_API.G_MISS_NUM THEN
1502 l_MODIFIER_LIST_rec.terms_id := NULL;
1503 END IF;
1504
1505 IF l_MODIFIER_LIST_rec.source_system_code = FND_API.G_MISS_CHAR THEN
1506 l_MODIFIER_LIST_rec.source_system_code := NULL;
1507 END IF;
1508
1509 IF l_MODIFIER_LIST_rec.pte_code = FND_API.G_MISS_CHAR THEN
1510 l_MODIFIER_LIST_rec.pte_code := NULL;
1511 END IF;
1512
1513 IF l_MODIFIER_LIST_rec.active_flag = FND_API.G_MISS_CHAR THEN
1514 l_MODIFIER_LIST_rec.active_flag := NULL;
1515 END IF;
1516
1517 IF l_MODIFIER_LIST_rec.parent_list_header_id = FND_API.G_MISS_NUM THEN
1518 l_MODIFIER_LIST_rec.parent_list_header_id := NULL;
1519 END IF;
1520
1521 IF l_MODIFIER_LIST_rec.start_date_active_first = FND_API.G_MISS_DATE THEN
1522 l_MODIFIER_LIST_rec.start_date_active_first := NULL;
1523 END IF;
1524
1525 IF l_MODIFIER_LIST_rec.end_date_active_first = FND_API.G_MISS_DATE THEN
1526 l_MODIFIER_LIST_rec.end_date_active_first := NULL;
1527 END IF;
1528
1529 IF l_MODIFIER_LIST_rec.active_date_first_type = FND_API.G_MISS_CHAR THEN
1530 l_MODIFIER_LIST_rec.active_date_first_type := NULL;
1531 END IF;
1532
1533 IF l_MODIFIER_LIST_rec.start_date_active_second = FND_API.G_MISS_DATE THEN
1534 l_MODIFIER_LIST_rec.start_date_active_second := NULL;
1535 END IF;
1536
1537 IF l_MODIFIER_LIST_rec.global_flag = FND_API.G_MISS_CHAR THEN
1538 l_MODIFIER_LIST_rec.global_flag := NULL;
1539 END IF;
1540
1541
1542 IF l_MODIFIER_LIST_rec.end_date_active_second = FND_API.G_MISS_DATE THEN
1543 l_MODIFIER_LIST_rec.end_date_active_second := NULL;
1544 END IF;
1545
1546 IF l_MODIFIER_LIST_rec.active_date_second_type = FND_API.G_MISS_CHAR THEN
1547 l_MODIFIER_LIST_rec.active_date_second_type := NULL;
1548 END IF;
1549
1550 IF l_MODIFIER_LIST_rec.ask_for_flag = FND_API.G_MISS_CHAR THEN
1551 l_MODIFIER_LIST_rec.ask_for_flag := NULL;
1552 END IF;
1553
1554 IF l_MODIFIER_LIST_rec.name = FND_API.G_MISS_CHAR THEN
1555 l_MODIFIER_LIST_rec.name := NULL;
1556 END IF;
1557
1558 IF l_MODIFIER_LIST_rec.description = FND_API.G_MISS_CHAR THEN
1559 l_MODIFIER_LIST_rec.description := NULL;
1560 END IF;
1561
1562 oe_debug_pub.add('END convert_miss_to_null in QPXUMLHB');
1563
1564 RETURN l_MODIFIER_LIST_rec;
1565
1566 END Convert_Miss_To_Null;
1567
1568 -- Procedure Update_Row
1569
1570 PROCEDURE Update_Row
1571 ( p_MODIFIER_LIST_rec IN QP_Modifiers_PUB.Modifier_List_Rec_Type
1572 )
1573 IS
1574 l_active_date_first_type VARCHAR2(30);
1575 l_start_date_active_first DATE;
1576 l_end_date_active_first DATE;
1577 l_active_date_second_type VARCHAR2(30);
1578 l_start_date_active_second DATE;
1579 l_end_date_active_second DATE;
1580 BEGIN
1581
1582 oe_debug_pub.add('BEGIN update_row in QPXUMLHB');
1583
1584 -- MKARYA - Correct the first and second active dates value, for bug 1744890
1585 l_active_date_first_type := p_MODIFIER_LIST_rec.active_date_first_type;
1586 l_start_date_active_first := p_MODIFIER_LIST_rec.start_date_active_first;
1587 l_end_date_active_first := p_MODIFIER_LIST_rec.end_date_active_first;
1588 l_active_date_second_type := p_MODIFIER_LIST_rec.active_date_second_type;
1589 l_start_date_active_second := p_MODIFIER_LIST_rec.start_date_active_second;
1590 l_end_date_active_second := p_MODIFIER_LIST_rec.end_date_active_second;
1591
1592 IF (l_active_date_first_type = 'SHIP'
1593 OR l_active_date_second_type = 'ORD') THEN
1594 QP_UTIL.CORRECT_ACTIVE_DATES(l_active_date_first_type
1595 ,l_start_date_active_first
1596 ,l_end_date_active_first
1597 ,l_active_date_second_type
1598 ,l_start_date_active_second
1599 ,l_end_date_active_second
1600 );
1601 END IF;
1602
1603 if QP_security.check_function( p_function_name => QP_Security.G_FUNCTION_UPDATE,
1604 p_instance_type => QP_Security.G_MODIFIER_OBJECT,
1605 p_instance_pk1 => p_MODIFIER_LIST_rec.list_header_id) <> 'F' then
1606
1607 --for moac changes QP_LIST_HEADERS_B to all_b to enable updates to ML with orig_org_id
1608 --that do not belong to the responsibility when the user has update privilges
1609 UPDATE QP_LIST_HEADERS_ALL_B
1610 SET ATTRIBUTE1 = p_MODIFIER_LIST_rec.attribute1
1611 , ATTRIBUTE10 = p_MODIFIER_LIST_rec.attribute10
1612 , ATTRIBUTE11 = p_MODIFIER_LIST_rec.attribute11
1613 , ATTRIBUTE12 = p_MODIFIER_LIST_rec.attribute12
1614 , ATTRIBUTE13 = p_MODIFIER_LIST_rec.attribute13
1615 , ATTRIBUTE14 = p_MODIFIER_LIST_rec.attribute14
1616 , ATTRIBUTE15 = p_MODIFIER_LIST_rec.attribute15
1617 , ATTRIBUTE2 = p_MODIFIER_LIST_rec.attribute2
1618 , ATTRIBUTE3 = p_MODIFIER_LIST_rec.attribute3
1619 , ATTRIBUTE4 = p_MODIFIER_LIST_rec.attribute4
1620 , ATTRIBUTE5 = p_MODIFIER_LIST_rec.attribute5
1621 , ATTRIBUTE6 = p_MODIFIER_LIST_rec.attribute6
1622 , ATTRIBUTE7 = p_MODIFIER_LIST_rec.attribute7
1623 , ATTRIBUTE8 = p_MODIFIER_LIST_rec.attribute8
1624 , ATTRIBUTE9 = p_MODIFIER_LIST_rec.attribute9
1625 , AUTOMATIC_FLAG = p_MODIFIER_LIST_rec.automatic_flag
1626 , COMMENTS = p_MODIFIER_LIST_rec.comments
1627 , CONTEXT = p_MODIFIER_LIST_rec.context
1628 , CREATED_BY = p_MODIFIER_LIST_rec.created_by
1629 , CREATION_DATE = p_MODIFIER_LIST_rec.creation_date
1630 , CURRENCY_CODE = p_MODIFIER_LIST_rec.currency_code
1631 , DISCOUNT_LINES_FLAG = p_MODIFIER_LIST_rec.discount_lines_flag
1632 , END_DATE_ACTIVE = TRUNC(p_MODIFIER_LIST_rec.end_date_active)
1633 , FREIGHT_TERMS_CODE = p_MODIFIER_LIST_rec.freight_terms_code
1634 , GSA_INDICATOR = p_MODIFIER_LIST_rec.gsa_indicator
1635 , LAST_UPDATED_BY = p_MODIFIER_LIST_rec.last_updated_by
1636 , LAST_UPDATE_DATE = p_MODIFIER_LIST_rec.last_update_date
1637 , LAST_UPDATE_LOGIN = p_MODIFIER_LIST_rec.last_update_login
1638 , LIST_HEADER_ID = p_MODIFIER_LIST_rec.list_header_id
1639 , LIST_TYPE_CODE = p_MODIFIER_LIST_rec.list_type_code
1640 , PROGRAM_APPLICATION_ID = p_MODIFIER_LIST_rec.program_application_id
1641 , PROGRAM_ID = p_MODIFIER_LIST_rec.program_id
1642 , PROGRAM_UPDATE_DATE = p_MODIFIER_LIST_rec.program_update_date
1643 , PRORATE_FLAG = p_MODIFIER_LIST_rec.prorate_flag
1644 , REQUEST_ID = p_MODIFIER_LIST_rec.request_id
1645 , ROUNDING_FACTOR = p_MODIFIER_LIST_rec.rounding_factor
1646 , SHIP_METHOD_CODE = p_MODIFIER_LIST_rec.ship_method_code
1647 , START_DATE_ACTIVE = TRUNC(p_MODIFIER_LIST_rec.start_date_active)
1648 , TERMS_ID = p_MODIFIER_LIST_rec.terms_id
1649 , SOURCE_SYSTEM_CODE = p_MODIFIER_LIST_rec.source_system_code
1650 , PTE_CODE = p_MODIFIER_LIST_rec.pte_code
1651 , ACTIVE_FLAG = p_MODIFIER_LIST_rec.active_flag
1652 , PARENT_LIST_HEADER_ID = p_MODIFIER_LIST_rec.parent_list_header_id
1653 , START_DATE_ACTIVE_FIRST = TRUNC(l_start_date_active_first)
1654 , END_DATE_ACTIVE_FIRST = TRUNC(l_end_date_active_first)
1655 , ACTIVE_DATE_FIRST_TYPE = l_active_date_first_type
1656 , START_DATE_ACTIVE_SECOND = TRUNC(l_start_date_active_second)
1657 , GLOBAL_FLAG = p_MODIFIER_LIST_rec.global_flag
1658 , END_DATE_ACTIVE_SECOND = TRUNC(l_end_date_active_second)
1659 , ACTIVE_DATE_SECOND_TYPE = l_active_date_second_type
1660 , ASK_FOR_FLAG = p_MODIFIER_LIST_rec.ask_for_flag
1661 , LIST_SOURCE_CODE = p_MODIFIER_LIST_rec.list_source_code
1662 , ORIG_SYSTEM_HEADER_REF = p_MODIFIER_LIST_rec.orig_system_header_ref
1663 , SHAREABLE_FLAG = p_MODIFIER_LIST_rec.shareable_flag
1664 , ORIG_ORG_ID = p_MODIFIER_LIST_rec.org_id
1665 WHERE LIST_HEADER_ID = p_MODIFIER_LIST_rec.list_header_id
1666 ;
1667
1668 Begin
1669
1670 update QP_LIST_HEADERS_TL set
1671 NAME = p_MODIFIER_LIST_rec.NAME
1672 , DESCRIPTION = p_MODIFIER_LIST_rec.DESCRIPTION
1673 , VERSION_NO = p_MODIFIER_LIST_rec.VERSION_NO
1674 , LAST_UPDATE_DATE = p_MODIFIER_LIST_rec.LAST_UPDATE_DATE
1675 , LAST_UPDATED_BY = p_MODIFIER_LIST_rec.LAST_UPDATED_BY
1676 , LAST_UPDATE_LOGIN = p_MODIFIER_LIST_rec.LAST_UPDATE_LOGIN
1677 , SOURCE_LANG = userenv('LANG')
1678 where LIST_HEADER_ID = p_MODIFIER_LIST_rec.LIST_HEADER_ID
1679 and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
1680
1681 Exception
1682 WHEN DUP_VAL_ON_INDEX THEN
1683
1684 FND_MESSAGE.SET_NAME('QP','QP_DUPLICATE_MODIFIER');
1685 OE_MSG_PUB.Add;
1686 RAISE FND_API.G_EXC_ERROR;
1687
1688 WHEN OTHERS THEN
1689
1690 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1691 THEN
1692 OE_MSG_PUB.Add_Exc_Msg
1693 ( G_PKG_NAME
1694 , 'Update_Row'
1695 );
1696 END IF;
1697
1698 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1699
1700 End;
1701 end if;
1702
1703 EXCEPTION
1704
1705 WHEN FND_API.G_EXC_ERROR THEN
1706 RAISE;
1707
1708 WHEN OTHERS THEN
1709
1710 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1711 THEN
1712 OE_MSG_PUB.Add_Exc_Msg
1713 ( G_PKG_NAME
1714 , 'Update_Row'
1715 );
1716 END IF;
1717
1718 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1719
1720 END Update_Row;
1721
1722 -- Procedure Insert_Row
1723
1724 PROCEDURE Insert_Row
1725 ( p_MODIFIER_LIST_rec IN QP_Modifiers_PUB.Modifier_List_Rec_Type
1726 )
1727 IS
1728 l_return_status VARCHAR2(30);
1729 l_active_date_first_type VARCHAR2(30);
1730 l_start_date_active_first DATE;
1731 l_end_date_active_first DATE;
1732 l_active_date_second_type VARCHAR2(30);
1733 l_start_date_active_second DATE;
1734 l_end_date_active_second DATE;
1735 x_result VARCHAR2(1);
1736
1737 BEGIN
1738
1739 Begin
1740
1741 insert into QP_LIST_HEADERS_TL
1742 ( LIST_HEADER_ID
1743 , NAME
1744 , DESCRIPTION
1745 , VERSION_NO
1746 , CREATION_DATE
1747 , CREATED_BY
1748 , LAST_UPDATE_DATE
1749 , LAST_UPDATED_BY
1750 , LAST_UPDATE_LOGIN
1751 , LANGUAGE
1752 , SOURCE_LANG
1753 ) select
1754 p_MODIFIER_LIST_rec.LIST_HEADER_ID
1755 , p_MODIFIER_LIST_rec.NAME
1756 , p_MODIFIER_LIST_rec.DESCRIPTION
1757 , p_MODIFIER_LIST_rec.VERSION_NO
1758 , p_MODIFIER_LIST_rec.CREATION_DATE
1759 , p_MODIFIER_LIST_rec.CREATED_BY
1760 , p_MODIFIER_LIST_rec.LAST_UPDATE_DATE
1761 , p_MODIFIER_LIST_rec.LAST_UPDATED_BY
1762 , p_MODIFIER_LIST_rec.LAST_UPDATE_LOGIN
1763 , L.LANGUAGE_CODE
1764 , userenv('LANG')
1765 from FND_LANGUAGES L
1766 where L.INSTALLED_FLAG in ('I','B')
1767 and not exists
1768 (select NULL from QP_LIST_HEADERS_TL T
1769 where T.LIST_HEADER_ID = p_MODIFIER_LIST_rec.LIST_HEADER_ID
1770 and T.LANGUAGE = L.LANGUAGE_CODE);
1771
1772 Exception
1773 WHEN DUP_VAL_ON_INDEX THEN
1774
1775 FND_MESSAGE.SET_NAME('QP','QP_DUPLICATE_MODIFIER');
1776 OE_MSG_PUB.Add;
1777 RAISE FND_API.G_EXC_ERROR;
1778
1779 WHEN OTHERS THEN
1780
1781 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1782 THEN
1783 OE_MSG_PUB.Add_Exc_Msg
1784 ( G_PKG_NAME
1785 , 'Insert_Row'
1786 );
1787 END IF;
1788
1789 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1790
1791 End;
1792
1793 oe_debug_pub.add('BEGIN insert_row in QPXUMLHB');
1794
1795 -- MKARYA - Correct the first and second active dates value, for bug 1744890
1796 l_active_date_first_type := p_MODIFIER_LIST_rec.active_date_first_type;
1797 l_start_date_active_first := p_MODIFIER_LIST_rec.start_date_active_first;
1798 l_end_date_active_first := p_MODIFIER_LIST_rec.end_date_active_first;
1799 l_active_date_second_type := p_MODIFIER_LIST_rec.active_date_second_type;
1800 l_start_date_active_second := p_MODIFIER_LIST_rec.start_date_active_second;
1801 l_end_date_active_second := p_MODIFIER_LIST_rec.end_date_active_second;
1802
1803 IF (l_active_date_first_type = 'SHIP'
1804 OR l_active_date_second_type = 'ORD') THEN
1805 QP_UTIL.CORRECT_ACTIVE_DATES(l_active_date_first_type
1806 ,l_start_date_active_first
1807 ,l_end_date_active_first
1808 ,l_active_date_second_type
1809 ,l_start_date_active_second
1810 ,l_end_date_active_second
1811 );
1812 END IF;
1813
1814 INSERT INTO QP_LIST_HEADERS_B
1815 ( ATTRIBUTE1
1816 , ATTRIBUTE10
1817 , ATTRIBUTE11
1818 , ATTRIBUTE12
1819 , ATTRIBUTE13
1820 , ATTRIBUTE14
1821 , ATTRIBUTE15
1822 , ATTRIBUTE2
1823 , ATTRIBUTE3
1824 , ATTRIBUTE4
1825 , ATTRIBUTE5
1826 , ATTRIBUTE6
1827 , ATTRIBUTE7
1828 , ATTRIBUTE8
1829 , ATTRIBUTE9
1830 , AUTOMATIC_FLAG
1831 , COMMENTS
1832 , CONTEXT
1833 , CREATED_BY
1834 , CREATION_DATE
1835 , CURRENCY_CODE
1836 , DISCOUNT_LINES_FLAG
1837 , END_DATE_ACTIVE
1838 , FREIGHT_TERMS_CODE
1839 , GSA_INDICATOR
1840 , LAST_UPDATED_BY
1841 , LAST_UPDATE_DATE
1842 , LAST_UPDATE_LOGIN
1843 , LIST_HEADER_ID
1844 , LIST_TYPE_CODE
1845 , PROGRAM_APPLICATION_ID
1846 , PROGRAM_ID
1847 , PROGRAM_UPDATE_DATE
1848 , PRORATE_FLAG
1849 , REQUEST_ID
1850 , ROUNDING_FACTOR
1851 , SHIP_METHOD_CODE
1852 , START_DATE_ACTIVE
1853 , TERMS_ID
1854 , SOURCE_SYSTEM_CODE
1855 , PTE_CODE
1856 , ACTIVE_FLAG
1857 , PARENT_LIST_HEADER_ID
1858 , START_DATE_ACTIVE_FIRST
1859 , END_DATE_ACTIVE_FIRST
1860 , ACTIVE_DATE_FIRST_TYPE
1861 , START_DATE_ACTIVE_SECOND
1862 , GLOBAL_FLAG
1863 , END_DATE_ACTIVE_SECOND
1864 , ACTIVE_DATE_SECOND_TYPE
1865 , ASK_FOR_FLAG
1866 , orig_org_id
1867 , LIST_SOURCE_CODE
1868 , ORIG_SYSTEM_HEADER_REF
1869 , SHAREABLE_FLAG
1870 )
1871 VALUES
1872 ( p_MODIFIER_LIST_rec.attribute1
1873 , p_MODIFIER_LIST_rec.attribute10
1874 , p_MODIFIER_LIST_rec.attribute11
1875 , p_MODIFIER_LIST_rec.attribute12
1876 , p_MODIFIER_LIST_rec.attribute13
1877 , p_MODIFIER_LIST_rec.attribute14
1878 , p_MODIFIER_LIST_rec.attribute15
1879 , p_MODIFIER_LIST_rec.attribute2
1880 , p_MODIFIER_LIST_rec.attribute3
1881 , p_MODIFIER_LIST_rec.attribute4
1882 , p_MODIFIER_LIST_rec.attribute5
1883 , p_MODIFIER_LIST_rec.attribute6
1884 , p_MODIFIER_LIST_rec.attribute7
1885 , p_MODIFIER_LIST_rec.attribute8
1886 , p_MODIFIER_LIST_rec.attribute9
1887 , p_MODIFIER_LIST_rec.automatic_flag
1888 , p_MODIFIER_LIST_rec.comments
1889 , p_MODIFIER_LIST_rec.context
1890 , p_MODIFIER_LIST_rec.created_by
1891 , p_MODIFIER_LIST_rec.creation_date
1892 , p_MODIFIER_LIST_rec.currency_code
1893 , p_MODIFIER_LIST_rec.discount_lines_flag
1894 , TRUNC(p_MODIFIER_LIST_rec.end_date_active)
1895 , p_MODIFIER_LIST_rec.freight_terms_code
1896 , p_MODIFIER_LIST_rec.gsa_indicator
1897 , p_MODIFIER_LIST_rec.last_updated_by
1898 , p_MODIFIER_LIST_rec.last_update_date
1899 , p_MODIFIER_LIST_rec.last_update_login
1900 , p_MODIFIER_LIST_rec.list_header_id
1901 , p_MODIFIER_LIST_rec.list_type_code
1902 , p_MODIFIER_LIST_rec.program_application_id
1903 , p_MODIFIER_LIST_rec.program_id
1904 , p_MODIFIER_LIST_rec.program_update_date
1905 , p_MODIFIER_LIST_rec.prorate_flag
1906 , p_MODIFIER_LIST_rec.request_id
1907 , p_MODIFIER_LIST_rec.rounding_factor
1908 , p_MODIFIER_LIST_rec.ship_method_code
1909 , TRUNC(p_MODIFIER_LIST_rec.start_date_active)
1910 , p_MODIFIER_LIST_rec.terms_id
1911 , p_MODIFIER_LIST_rec.source_system_code
1912 , p_MODIFIER_LIST_rec.pte_code
1913 , p_MODIFIER_LIST_rec.active_flag
1914 , p_MODIFIER_LIST_rec.parent_list_header_id
1915 , TRUNC(l_start_date_active_first)
1916 , TRUNC(l_end_date_active_first)
1917 , l_active_date_first_type
1918 , TRUNC(l_start_date_active_second)
1919 , p_MODIFIER_LIST_rec.global_flag
1920 , TRUNC(l_end_date_active_second)
1921 , l_active_date_second_type
1922 , p_MODIFIER_LIST_rec.ask_for_flag
1923 --added for MOAC
1924 , p_MODIFIER_LIST_rec.org_id
1925 , p_MODIFIER_LIST_rec.list_source_code
1926 , p_MODIFIER_LIST_rec.orig_system_header_ref
1927 , p_MODIFIER_LIST_rec.shareable_flag
1928 );
1929
1930 QP_Security.create_default_grants( p_instance_type => QP_Security.G_MODIFIER_OBJECT,
1931 p_instance_pk1 => p_MODIFIER_LIST_rec.list_header_id,
1932 x_return_status => x_result);
1933
1934 oe_debug_pub.add('insert QPXUMLHB'||p_MODIFIER_LIST_rec.VERSION_NO||to_char(p_modifier_list_rec.list_header_id));
1935
1936
1937 IF p_MODIFIER_LIST_rec.gsa_indicator = 'Y'
1938 THEN
1939
1940 QP_QP_Form_Modifier_List.Create_GSA_Qual(p_MODIFIER_LIST_rec.LIST_HEADER_ID ,
1941 FND_API.G_MISS_NUM,
1942 --NULL, for bug2420752
1943 'GSA',
1944 l_return_status );
1945 END IF;
1946
1947 oe_debug_pub.add('l_ret_sts'||l_return_status);
1948 /*added this code to raise exception if qualifier does not get created-spgopal*/
1949
1950 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1951 oe_debug_pub.add('l_ret_sts if'||l_return_status);
1952 FND_MESSAGE.SET_NAME('QP','QP_PE_QUALIFIERS');
1953 OE_MSG_PUB.Add;
1954
1955 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1956 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1957 oe_debug_pub.add('l_ret_sts else '||l_return_status);
1958 FND_MESSAGE.SET_NAME('QP','QP_PE_QUALIFIERS');
1959 OE_MSG_PUB.Add;
1960 RAISE FND_API.G_EXC_ERROR;
1961 END IF;
1962
1963
1964
1965 oe_debug_pub.add('insert after QPXUMLHB'||p_MODIFIER_LIST_rec.VERSION_NO||to_char(p_modifier_list_rec.list_header_id));
1966 oe_debug_pub.add('END insert_row in QPXUMLHB');
1967 EXCEPTION
1968
1969 WHEN FND_API.G_EXC_ERROR THEN
1970
1971
1972 --x_return_status := FND_API.G_RET_STS_ERROR;
1973
1974 /*
1975 -- Get message count and data
1976
1977 OE_MSG_PUB.Count_And_Get
1978 ( p_count => x_msg_count
1979 , p_data => x_msg_data
1980 );
1981 */
1982 /* Commented for Bug 2101393
1983 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1984 THEN
1985 OE_MSG_PUB.Add_Exc_Msg
1986 ( G_PKG_NAME
1987 , 'Insert_Row'
1988 );
1989 END IF;
1990
1991 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1992 */
1993 RAISE; -- Bug 2101393
1994
1995 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1996
1997
1998 --x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1999
2000 /*
2001 -- Get message count and data
2002
2003 OE_MSG_PUB.Count_And_Get
2004 ( p_count => x_msg_count
2005 , p_data => x_msg_data
2006 );
2007 */
2008
2009 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2010 THEN
2011 OE_MSG_PUB.Add_Exc_Msg
2012 ( G_PKG_NAME
2013 , 'Insert_Row'
2014 );
2015 END IF;
2016
2017 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2018
2019
2020 WHEN OTHERS THEN
2021
2022 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2023 THEN
2024 OE_MSG_PUB.Add_Exc_Msg
2025 ( G_PKG_NAME
2026 , 'Insert_Row'
2027 );
2028 END IF;
2029
2030 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2031
2032 END Insert_Row;
2033
2034 -- Procedure Delete_Row
2035
2036 PROCEDURE Delete_Row
2037 ( p_list_header_id IN NUMBER
2038 )
2039 IS
2040 CURSOR C1(a_list_header_id NUMBER)
2041 IS
2042 SELECT list_line_id
2043 FROM qp_list_lines
2044 WHERE list_header_id = a_list_header_id;
2045
2046 BEGIN
2047
2048 oe_debug_pub.add('BEGIN delete_row in QPXUMLHB');
2049
2050 FOR list_lines in C1(p_list_header_id)
2051 LOOP
2052
2053 DELETE FROM QP_PRICING_ATTRIBUTES
2054 WHERE LIST_LINE_ID = list_lines.list_line_id;
2055
2056 DELETE FROM QP_RLTD_MODIFIERS
2057 WHERE FROM_RLTD_MODIFIER_ID = list_lines.list_line_id;
2058
2059 END LOOP;
2060
2061 DELETE FROM QP_LIST_LINES
2062 WHERE LIST_HEADER_ID = p_list_header_id;
2063
2064 DELETE FROM QP_QUALIFIERS
2065 WHERE LIST_HEADER_ID = p_list_header_id;
2066
2067 DELETE FROM QP_LIST_HEADERS_TL
2068 WHERE LIST_HEADER_ID = p_list_header_id;
2069
2070 DELETE FROM QP_LIST_HEADERS_B
2071 WHERE LIST_HEADER_ID = p_list_header_id ;
2072
2073 oe_debug_pub.add('END delete_row in QPXUMLHB');
2074 EXCEPTION
2075
2076 WHEN OTHERS THEN
2077
2078 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2079 THEN
2080 OE_MSG_PUB.Add_Exc_Msg
2081 ( G_PKG_NAME
2082 , 'Delete_Row'
2083 );
2084 END IF;
2085
2086 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2087
2088 END Delete_Row;
2089
2090 -- Function Query_Row
2091
2092 FUNCTION Query_Row
2093 ( p_list_header_id IN NUMBER
2094 ) RETURN QP_Modifiers_PUB.Modifier_List_Rec_Type
2095 IS
2096 l_MODIFIER_LIST_rec QP_Modifiers_PUB.Modifier_List_Rec_Type;
2097 BEGIN
2098
2099 oe_debug_pub.add('BEGIN query_row in QPXUMLHB');
2100
2101 SELECT ATTRIBUTE1
2102 , ATTRIBUTE10
2103 , ATTRIBUTE11
2104 , ATTRIBUTE12
2105 , ATTRIBUTE13
2106 , ATTRIBUTE14
2107 , ATTRIBUTE15
2108 , ATTRIBUTE2
2109 , ATTRIBUTE3
2110 , ATTRIBUTE4
2111 , ATTRIBUTE5
2112 , ATTRIBUTE6
2113 , ATTRIBUTE7
2114 , ATTRIBUTE8
2115 , ATTRIBUTE9
2116 , AUTOMATIC_FLAG
2117 , COMMENTS
2118 , CONTEXT
2119 , CREATED_BY
2120 , CREATION_DATE
2121 , CURRENCY_CODE
2122 , DISCOUNT_LINES_FLAG
2123 , END_DATE_ACTIVE
2124 , FREIGHT_TERMS_CODE
2125 , GSA_INDICATOR
2126 , LAST_UPDATED_BY
2127 , LAST_UPDATE_DATE
2128 , LAST_UPDATE_LOGIN
2129 , LIST_HEADER_ID
2130 , LIST_TYPE_CODE
2131 , PROGRAM_APPLICATION_ID
2132 , PROGRAM_ID
2133 , PROGRAM_UPDATE_DATE
2134 , PRORATE_FLAG
2135 , REQUEST_ID
2136 , ROUNDING_FACTOR
2137 , SHIP_METHOD_CODE
2138 , START_DATE_ACTIVE
2139 , TERMS_ID
2140 , SOURCE_SYSTEM_CODE
2141 , PTE_CODE
2142 , ACTIVE_FLAG
2143 , PARENT_LIST_HEADER_ID
2144 , START_DATE_ACTIVE_FIRST
2145 , END_DATE_ACTIVE_FIRST
2146 , ACTIVE_DATE_FIRST_TYPE
2147 , START_DATE_ACTIVE_SECOND
2148 , GLOBAL_FLAG
2149 , END_DATE_ACTIVE_SECOND
2150 , ACTIVE_DATE_SECOND_TYPE
2151 , ASK_FOR_FLAG
2152 , LIST_SOURCE_CODE
2153 , ORIG_SYSTEM_HEADER_REF
2154 , SHAREABLE_FLAG
2155 --added for MOAC
2156 , orig_org_id
2157 INTO l_MODIFIER_LIST_rec.attribute1
2158 , l_MODIFIER_LIST_rec.attribute10
2159 , l_MODIFIER_LIST_rec.attribute11
2160 , l_MODIFIER_LIST_rec.attribute12
2161 , l_MODIFIER_LIST_rec.attribute13
2162 , l_MODIFIER_LIST_rec.attribute14
2163 , l_MODIFIER_LIST_rec.attribute15
2164 , l_MODIFIER_LIST_rec.attribute2
2165 , l_MODIFIER_LIST_rec.attribute3
2166 , l_MODIFIER_LIST_rec.attribute4
2167 , l_MODIFIER_LIST_rec.attribute5
2168 , l_MODIFIER_LIST_rec.attribute6
2169 , l_MODIFIER_LIST_rec.attribute7
2170 , l_MODIFIER_LIST_rec.attribute8
2171 , l_MODIFIER_LIST_rec.attribute9
2172 , l_MODIFIER_LIST_rec.automatic_flag
2173 , l_MODIFIER_LIST_rec.comments
2174 , l_MODIFIER_LIST_rec.context
2175 , l_MODIFIER_LIST_rec.created_by
2176 , l_MODIFIER_LIST_rec.creation_date
2177 , l_MODIFIER_LIST_rec.currency_code
2178 , l_MODIFIER_LIST_rec.discount_lines_flag
2179 , l_MODIFIER_LIST_rec.end_date_active
2180 , l_MODIFIER_LIST_rec.freight_terms_code
2181 , l_MODIFIER_LIST_rec.gsa_indicator
2182 , l_MODIFIER_LIST_rec.last_updated_by
2183 , l_MODIFIER_LIST_rec.last_update_date
2184 , l_MODIFIER_LIST_rec.last_update_login
2185 , l_MODIFIER_LIST_rec.list_header_id
2186 , l_MODIFIER_LIST_rec.list_type_code
2187 , l_MODIFIER_LIST_rec.program_application_id
2188 , l_MODIFIER_LIST_rec.program_id
2189 , l_MODIFIER_LIST_rec.program_update_date
2190 , l_MODIFIER_LIST_rec.prorate_flag
2191 , l_MODIFIER_LIST_rec.request_id
2192 , l_MODIFIER_LIST_rec.rounding_factor
2193 , l_MODIFIER_LIST_rec.ship_method_code
2194 , l_MODIFIER_LIST_rec.start_date_active
2195 , l_MODIFIER_LIST_rec.terms_id
2196 , l_MODIFIER_LIST_rec.source_system_code
2197 , l_MODIFIER_LIST_rec.pte_code
2198 , l_MODIFIER_LIST_rec.active_flag
2199 , l_MODIFIER_LIST_rec.parent_list_header_id
2200 , l_MODIFIER_LIST_rec.start_date_active_first
2201 , l_MODIFIER_LIST_rec.end_date_active_first
2202 , l_MODIFIER_LIST_rec.active_date_first_type
2203 , l_MODIFIER_LIST_rec.start_date_active_second
2204 , l_MODIFIER_LIST_rec.global_flag
2205 , l_MODIFIER_LIST_rec.end_date_active_second
2206 , l_MODIFIER_LIST_rec.active_date_second_type
2207 , l_MODIFIER_LIST_rec.ask_for_flag
2208 , l_MODIFIER_LIST_rec.list_source_code
2209 , l_MODIFIER_LIST_rec.orig_system_header_ref
2210 , l_MODIFIER_LIST_rec.shareable_flag
2211 --added for MOAC
2212 , l_MODIFIER_LIST_rec.org_id
2213 FROM QP_LIST_HEADERS_B
2214 WHERE LIST_HEADER_ID = p_list_header_id
2215 ;
2216
2217 SELECT NAME
2218 , DESCRIPTION
2219 , VERSION_NO
2220 INTO l_MODIFIER_LIST_rec.name
2221 , l_MODIFIER_LIST_rec.description
2222 , l_MODIFIER_LIST_rec.version_no
2223 FROM qp_list_headers_tl
2224 WHERE LIST_HEADER_ID = p_list_header_id
2225 AND LANGUAGE = userenv('LANG');
2226
2227 oe_debug_pub.add('version_no QPXUMLHB'||l_MODIFIER_LIST_rec.version_no);
2228 oe_debug_pub.add('END query_row in QPXUMLHB');
2229 RETURN l_MODIFIER_LIST_rec;
2230
2231 EXCEPTION
2232
2233 WHEN NO_DATA_FOUND THEN
2234 null;
2235
2236 WHEN OTHERS THEN
2237
2238 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2239 THEN
2240 OE_MSG_PUB.Add_Exc_Msg
2241 ( G_PKG_NAME
2242 , 'Query_Row'
2243 );
2244 END IF;
2245
2246 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2247
2248 END Query_Row;
2249
2250 -- Procedure lock_Row
2251 --
2252
2253 PROCEDURE Lock_Row
2254 ( x_return_status OUT NOCOPY VARCHAR2
2255 , p_MODIFIER_LIST_rec IN QP_Modifiers_PUB.Modifier_List_Rec_Type
2256 , x_MODIFIER_LIST_rec OUT NOCOPY QP_Modifiers_PUB.Modifier_List_Rec_Type
2257 )
2258 IS
2259 l_MODIFIER_LIST_rec QP_Modifiers_PUB.Modifier_List_Rec_Type;
2260 BEGIN
2261
2262 oe_debug_pub.add('BEGIN lock_row in QPXUMLHB');
2263
2264 SELECT ATTRIBUTE1
2265 , ATTRIBUTE10
2266 , ATTRIBUTE11
2267 , ATTRIBUTE12
2268 , ATTRIBUTE13
2269 , ATTRIBUTE14
2270 , ATTRIBUTE15
2271 , ATTRIBUTE2
2272 , ATTRIBUTE3
2273 , ATTRIBUTE4
2274 , ATTRIBUTE5
2275 , ATTRIBUTE6
2276 , ATTRIBUTE7
2277 , ATTRIBUTE8
2278 , ATTRIBUTE9
2279 , AUTOMATIC_FLAG
2280 , COMMENTS
2281 , CONTEXT
2282 , CREATED_BY
2283 , trunc(CREATION_DATE)
2284 , CURRENCY_CODE
2285 , DISCOUNT_LINES_FLAG
2286 , trunc(END_DATE_ACTIVE)
2287 , FREIGHT_TERMS_CODE
2288 , GSA_INDICATOR
2289 , LAST_UPDATED_BY
2290 , trunc(LAST_UPDATE_DATE)
2291 , LAST_UPDATE_LOGIN
2292 , LIST_HEADER_ID
2293 , LIST_TYPE_CODE
2294 , PROGRAM_APPLICATION_ID
2295 , PROGRAM_ID
2296 , trunc(PROGRAM_UPDATE_DATE)
2297 , PRORATE_FLAG
2298 , REQUEST_ID
2299 , ROUNDING_FACTOR
2300 , SHIP_METHOD_CODE
2301 , trunc(START_DATE_ACTIVE)
2302 , TERMS_ID
2303 , SOURCE_SYSTEM_CODE
2304 , PTE_CODE
2305 , ACTIVE_FLAG
2306 , PARENT_LIST_HEADER_ID
2307 , trunc(START_DATE_ACTIVE_FIRST)
2308 , trunc(END_DATE_ACTIVE_FIRST)
2309 , (ACTIVE_DATE_FIRST_TYPE)
2310 , trunc(START_DATE_ACTIVE_SECOND)
2311 , GLOBAL_FLAG
2312 , trunc(END_DATE_ACTIVE_SECOND)
2313 , (ACTIVE_DATE_SECOND_TYPE)
2314 , ASK_FOR_FLAG
2315 , LIST_SOURCE_CODE
2316 , ORIG_SYSTEM_HEADER_REF
2317 , SHAREABLE_FLAG
2318 , ORIG_ORG_ID
2319 INTO l_MODIFIER_LIST_rec.attribute1
2320 , l_MODIFIER_LIST_rec.attribute10
2321 , l_MODIFIER_LIST_rec.attribute11
2322 , l_MODIFIER_LIST_rec.attribute12
2323 , l_MODIFIER_LIST_rec.attribute13
2324 , l_MODIFIER_LIST_rec.attribute14
2325 , l_MODIFIER_LIST_rec.attribute15
2326 , l_MODIFIER_LIST_rec.attribute2
2327 , l_MODIFIER_LIST_rec.attribute3
2328 , l_MODIFIER_LIST_rec.attribute4
2329 , l_MODIFIER_LIST_rec.attribute5
2330 , l_MODIFIER_LIST_rec.attribute6
2331 , l_MODIFIER_LIST_rec.attribute7
2332 , l_MODIFIER_LIST_rec.attribute8
2333 , l_MODIFIER_LIST_rec.attribute9
2334 , l_MODIFIER_LIST_rec.automatic_flag
2335 , l_MODIFIER_LIST_rec.comments
2336 , l_MODIFIER_LIST_rec.context
2337 , l_MODIFIER_LIST_rec.created_by
2338 , l_MODIFIER_LIST_rec.creation_date
2339 , l_MODIFIER_LIST_rec.currency_code
2340 , l_MODIFIER_LIST_rec.discount_lines_flag
2341 , l_MODIFIER_LIST_rec.end_date_active
2342 , l_MODIFIER_LIST_rec.freight_terms_code
2343 , l_MODIFIER_LIST_rec.gsa_indicator
2344 , l_MODIFIER_LIST_rec.last_updated_by
2345 , l_MODIFIER_LIST_rec.last_update_date
2346 , l_MODIFIER_LIST_rec.last_update_login
2347 , l_MODIFIER_LIST_rec.list_header_id
2348 , l_MODIFIER_LIST_rec.list_type_code
2349 , l_MODIFIER_LIST_rec.program_application_id
2350 , l_MODIFIER_LIST_rec.program_id
2351 , l_MODIFIER_LIST_rec.program_update_date
2352 , l_MODIFIER_LIST_rec.prorate_flag
2353 , l_MODIFIER_LIST_rec.request_id
2354 , l_MODIFIER_LIST_rec.rounding_factor
2355 , l_MODIFIER_LIST_rec.ship_method_code
2356 , l_MODIFIER_LIST_rec.start_date_active
2357 , l_MODIFIER_LIST_rec.terms_id
2358 , l_MODIFIER_LIST_rec.source_system_code
2359 , l_MODIFIER_LIST_rec.pte_code
2360 , l_MODIFIER_LIST_rec.active_flag
2361 , l_MODIFIER_LIST_rec.parent_list_header_id
2362 , l_MODIFIER_LIST_rec.start_date_active_first
2363 , l_MODIFIER_LIST_rec.end_date_active_first
2364 , l_MODIFIER_LIST_rec.active_date_first_type
2365 , l_MODIFIER_LIST_rec.start_date_active_second
2366 , l_MODIFIER_LIST_rec.global_flag
2367 , l_MODIFIER_LIST_rec.end_date_active_second
2368 , l_MODIFIER_LIST_rec.active_date_second_type
2369 , l_MODIFIER_LIST_rec.ask_for_flag
2370 , l_MODIFIER_LIST_rec.list_source_code
2371 , l_MODIFIER_LIST_rec.orig_system_header_ref
2372 , l_MODIFIER_LIST_rec.shareable_flag
2373 --added for MOAC
2374 , l_MODIFIER_LIST_rec.org_id
2375 --for moac changes QP_LIST_HEADERS_B to all_b to enable locks/updates to ML with orig_org_id
2376 --that do not belong to the responsibility when the user has update privilges
2377 FROM QP_LIST_HEADERS_ALL_B
2378 WHERE LIST_HEADER_ID = p_MODIFIER_LIST_rec.list_header_id
2379 FOR UPDATE NOWAIT;
2380
2381 SELECT NAME
2382 , DESCRIPTION
2383 , VERSION_NO
2384 INTO l_MODIFIER_LIST_rec.name
2385 , l_MODIFIER_LIST_rec.description
2386 , l_MODIFIER_LIST_rec.version_no
2387 FROM qp_list_headers_tl
2388 WHERE LIST_HEADER_ID = p_MODIFIER_LIST_rec.list_header_id
2389 AND LANGUAGE = userenv('LANG');
2390
2391 -- Row locked. Compare IN attributes to DB attributes.
2392
2393 IF QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.attribute1,
2394 l_MODIFIER_LIST_rec.attribute1)
2395 AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.attribute10,
2396 l_MODIFIER_LIST_rec.attribute10)
2397 AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.attribute11,
2398 l_MODIFIER_LIST_rec.attribute11)
2399 AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.attribute12,
2400 l_MODIFIER_LIST_rec.attribute12)
2401 AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.attribute13,
2402 l_MODIFIER_LIST_rec.attribute13)
2403 AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.attribute14,
2404 l_MODIFIER_LIST_rec.attribute14)
2405 AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.attribute15,
2406 l_MODIFIER_LIST_rec.attribute15)
2407 AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.attribute2,
2408 l_MODIFIER_LIST_rec.attribute2)
2409 AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.attribute3,
2410 l_MODIFIER_LIST_rec.attribute3)
2411 AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.attribute4,
2412 l_MODIFIER_LIST_rec.attribute4)
2413 AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.attribute5,
2414 l_MODIFIER_LIST_rec.attribute5)
2415 AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.attribute6,
2416 l_MODIFIER_LIST_rec.attribute6)
2417 AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.attribute7,
2418 l_MODIFIER_LIST_rec.attribute7)
2419 AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.attribute8,
2420 l_MODIFIER_LIST_rec.attribute8)
2421 AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.attribute9,
2422 l_MODIFIER_LIST_rec.attribute9)
2423 AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.automatic_flag,
2424 l_MODIFIER_LIST_rec.automatic_flag)
2425 AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.comments,
2426 l_MODIFIER_LIST_rec.comments)
2427 AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.context,
2428 l_MODIFIER_LIST_rec.context)
2429 AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.created_by,
2430 l_MODIFIER_LIST_rec.created_by)
2431 -- AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.creation_date,
2432 -- l_MODIFIER_LIST_rec.creation_date)
2433 AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.currency_code,
2434 l_MODIFIER_LIST_rec.currency_code)
2435 AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.discount_lines_flag,
2436 l_MODIFIER_LIST_rec.discount_lines_flag)
2437 AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.end_date_active,
2438 l_MODIFIER_LIST_rec.end_date_active)
2439 AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.freight_terms_code,
2440 l_MODIFIER_LIST_rec.freight_terms_code)
2441 AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.gsa_indicator,
2442 l_MODIFIER_LIST_rec.gsa_indicator)
2443 AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.last_updated_by,
2444 l_MODIFIER_LIST_rec.last_updated_by)
2445 -- AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.last_update_date,
2446 -- l_MODIFIER_LIST_rec.last_update_date)
2447 AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.last_update_login,
2448 l_MODIFIER_LIST_rec.last_update_login)
2449 AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.list_header_id,
2450 l_MODIFIER_LIST_rec.list_header_id)
2451 AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.list_type_code,
2452 l_MODIFIER_LIST_rec.list_type_code)
2453 --AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.program_application_id,
2454 -- l_MODIFIER_LIST_rec.program_application_id)
2455 --AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.program_id,
2456 -- l_MODIFIER_LIST_rec.program_id)
2457 --AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.program_update_date,
2458 -- l_MODIFIER_LIST_rec.program_update_date)
2459 AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.prorate_flag,
2460 l_MODIFIER_LIST_rec.prorate_flag)
2461 --AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.request_id,
2462 -- l_MODIFIER_LIST_rec.request_id)
2463 AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.rounding_factor,
2464 l_MODIFIER_LIST_rec.rounding_factor)
2465 AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.ship_method_code,
2466 l_MODIFIER_LIST_rec.ship_method_code)
2467 AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.start_date_active,
2468 l_MODIFIER_LIST_rec.start_date_active)
2469 AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.terms_id,
2470 l_MODIFIER_LIST_rec.terms_id)
2471 AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.source_system_code,
2472 l_MODIFIER_LIST_rec.source_system_code)
2473 AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.pte_code,
2474 l_MODIFIER_LIST_rec.pte_code)
2475 AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.active_flag,
2476 l_MODIFIER_LIST_rec.active_flag)
2477 AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.parent_list_header_id,
2478 l_MODIFIER_LIST_rec.parent_list_header_id)
2479 AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.start_date_active_first,
2480 l_MODIFIER_LIST_rec.start_date_active_first)
2481 AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.end_date_active_first,
2482 l_MODIFIER_LIST_rec.end_date_active_first)
2483 AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.active_date_first_type,
2484 l_MODIFIER_LIST_rec.active_date_first_type)
2485 AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.start_date_active_second,
2486 l_MODIFIER_LIST_rec.start_date_active_second)
2487 AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.global_flag,
2488 l_MODIFIER_LIST_rec.global_flag)
2489 AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.end_date_active_second,
2490 l_MODIFIER_LIST_rec.end_date_active_second)
2491 AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.active_date_second_type,
2492 l_MODIFIER_LIST_rec.active_date_second_type)
2493 AND QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.ask_for_flag,
2494 l_MODIFIER_LIST_rec.ask_for_flag)
2495 AND QP_GLOBALS.Equal (p_MODIFIER_LIST_rec.list_source_code,
2496 l_MODIFIER_LIST_rec.list_source_code)
2497 AND QP_GLOBALS.Equal (p_MODIFIER_LIST_rec.orig_system_header_ref,
2498 l_MODIFIER_LIST_rec.orig_system_header_ref)
2499 AND QP_GLOBALS.Equal (p_MODIFIER_LIST_rec.shareable_flag,
2500 l_MODIFIER_LIST_rec.shareable_flag)
2501 THEN
2502
2503 -- Row has not changed. Set out parameter.
2504
2505 x_MODIFIER_LIST_rec := l_MODIFIER_LIST_rec;
2506
2507 -- Set return status
2508
2509 x_return_status := FND_API.G_RET_STS_SUCCESS;
2510 x_MODIFIER_LIST_rec.return_status := FND_API.G_RET_STS_SUCCESS;
2511
2512 ELSE
2513
2514 -- Row has changed by another user.
2515
2516 x_return_status := FND_API.G_RET_STS_ERROR;
2517 x_MODIFIER_LIST_rec.return_status := FND_API.G_RET_STS_ERROR;
2518
2519 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
2520 THEN
2521
2522 FND_MESSAGE.SET_NAME('QP','OE_LOCK_ROW_CHANGED');
2523 OE_MSG_PUB.Add;
2524
2525 END IF;
2526
2527 END IF;
2528
2529 oe_debug_pub.add('END lock_row in QPXUMLHB');
2530 EXCEPTION
2531
2532 WHEN NO_DATA_FOUND THEN
2533
2534 x_return_status := FND_API.G_RET_STS_ERROR;
2535 x_MODIFIER_LIST_rec.return_status := FND_API.G_RET_STS_ERROR;
2536
2537 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
2538 THEN
2539
2540 FND_MESSAGE.SET_NAME('QP','OE_LOCK_ROW_DELETED');
2541 OE_MSG_PUB.Add;
2542
2543 END IF;
2544 WHEN APP_EXCEPTIONS.RECORD_LOCK_EXCEPTION THEN
2545
2546 x_return_status := FND_API.G_RET_STS_ERROR;
2547 x_MODIFIER_LIST_rec.return_status := FND_API.G_RET_STS_ERROR;
2548
2549 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
2550 THEN
2551
2552 FND_MESSAGE.SET_NAME('QP','OE_LOCK_ROW_ALREADY_LOCKED');
2553 OE_MSG_PUB.Add;
2554
2555 END IF;
2556 WHEN OTHERS THEN
2557
2558 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2559 x_MODIFIER_LIST_rec.return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2560
2561 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2562 THEN
2563 OE_MSG_PUB.Add_Exc_Msg
2564 ( G_PKG_NAME
2565 , 'Lock_Row'
2566 );
2567 END IF;
2568
2569 END Lock_Row;
2570
2571 -- Function Get_Values
2572
2573 FUNCTION Get_Values
2574 ( p_MODIFIER_LIST_rec IN QP_Modifiers_PUB.Modifier_List_Rec_Type
2575 , p_old_MODIFIER_LIST_rec IN QP_Modifiers_PUB.Modifier_List_Rec_Type :=
2576 QP_Modifiers_PUB.G_MISS_MODIFIER_LIST_REC
2577 ) RETURN QP_Modifiers_PUB.Modifier_List_Val_Rec_Type
2578 IS
2579 l_MODIFIER_LIST_val_rec QP_Modifiers_PUB.Modifier_List_Val_Rec_Type;
2580 BEGIN
2581
2582 oe_debug_pub.add('BEGIN get_values in QPXUMLHB');
2583 IF p_MODIFIER_LIST_rec.automatic_flag IS NOT NULL AND
2584 p_MODIFIER_LIST_rec.automatic_flag <> FND_API.G_MISS_CHAR AND
2585 NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.automatic_flag,
2586 p_old_MODIFIER_LIST_rec.automatic_flag)
2587 THEN
2588 l_MODIFIER_LIST_val_rec.automatic := QP_Id_To_Value.Automatic
2589 ( p_automatic_flag => p_MODIFIER_LIST_rec.automatic_flag
2590 );
2591 END IF;
2592
2593 IF p_MODIFIER_LIST_rec.currency_code IS NOT NULL AND
2594 p_MODIFIER_LIST_rec.currency_code <> FND_API.G_MISS_CHAR AND
2595 NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.currency_code,
2596 p_old_MODIFIER_LIST_rec.currency_code)
2597 THEN
2598 l_MODIFIER_LIST_val_rec.currency := QP_Id_To_Value.Currency
2599 ( p_currency_code => p_MODIFIER_LIST_rec.currency_code
2600 );
2601 END IF;
2602
2603 IF p_MODIFIER_LIST_rec.discount_lines_flag IS NOT NULL AND
2604 p_MODIFIER_LIST_rec.discount_lines_flag <> FND_API.G_MISS_CHAR AND
2605 NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.discount_lines_flag,
2606 p_old_MODIFIER_LIST_rec.discount_lines_flag)
2607 THEN
2608 l_MODIFIER_LIST_val_rec.discount_lines := QP_Id_To_Value.Discount_Lines
2609 ( p_discount_lines_flag => p_MODIFIER_LIST_rec.discount_lines_flag
2610 );
2611 END IF;
2612
2613 IF p_MODIFIER_LIST_rec.freight_terms_code IS NOT NULL AND
2614 p_MODIFIER_LIST_rec.freight_terms_code <> FND_API.G_MISS_CHAR AND
2615 NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.freight_terms_code,
2616 p_old_MODIFIER_LIST_rec.freight_terms_code)
2617 THEN
2618 l_MODIFIER_LIST_val_rec.freight_terms := QP_Id_To_Value.Freight_Terms
2619 ( p_freight_terms_code => p_MODIFIER_LIST_rec.freight_terms_code
2620 );
2621 END IF;
2622
2623 IF p_MODIFIER_LIST_rec.list_header_id IS NOT NULL AND
2624 p_MODIFIER_LIST_rec.list_header_id <> FND_API.G_MISS_NUM AND
2625 NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.list_header_id,
2626 p_old_MODIFIER_LIST_rec.list_header_id)
2627 THEN
2628 l_MODIFIER_LIST_val_rec.list_header := QP_Id_To_Value.List_Header
2629 ( p_list_header_id => p_MODIFIER_LIST_rec.list_header_id
2630 );
2631 END IF;
2632
2633 IF p_MODIFIER_LIST_rec.list_type_code IS NOT NULL AND
2634 p_MODIFIER_LIST_rec.list_type_code <> FND_API.G_MISS_CHAR AND
2635 NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.list_type_code,
2636 p_old_MODIFIER_LIST_rec.list_type_code)
2637 THEN
2638 l_MODIFIER_LIST_val_rec.list_type := QP_Id_To_Value.List_Type
2639 ( p_list_type_code => p_MODIFIER_LIST_rec.list_type_code
2640 );
2641 END IF;
2642
2643 IF p_MODIFIER_LIST_rec.prorate_flag IS NOT NULL AND
2644 p_MODIFIER_LIST_rec.prorate_flag <> FND_API.G_MISS_CHAR AND
2645 NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.prorate_flag,
2646 p_old_MODIFIER_LIST_rec.prorate_flag)
2647 THEN
2648 l_MODIFIER_LIST_val_rec.prorate := QP_Id_To_Value.Prorate
2649 ( p_prorate_flag => p_MODIFIER_LIST_rec.prorate_flag
2650 );
2651 END IF;
2652
2653 IF p_MODIFIER_LIST_rec.ship_method_code IS NOT NULL AND
2654 p_MODIFIER_LIST_rec.ship_method_code <> FND_API.G_MISS_CHAR AND
2655 NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.ship_method_code,
2656 p_old_MODIFIER_LIST_rec.ship_method_code)
2657 THEN
2658 l_MODIFIER_LIST_val_rec.ship_method := QP_Id_To_Value.Ship_Method
2659 ( p_ship_method_code => p_MODIFIER_LIST_rec.ship_method_code
2660 );
2661 END IF;
2662
2663 IF p_MODIFIER_LIST_rec.terms_id IS NOT NULL AND
2664 p_MODIFIER_LIST_rec.terms_id <> FND_API.G_MISS_NUM AND
2665 NOT QP_GLOBALS.Equal(p_MODIFIER_LIST_rec.terms_id,
2666 p_old_MODIFIER_LIST_rec.terms_id)
2667 THEN
2668 l_MODIFIER_LIST_val_rec.terms := QP_Id_To_Value.Terms
2669 ( p_terms_id => p_MODIFIER_LIST_rec.terms_id
2670 );
2671 END IF;
2672
2673 RETURN l_MODIFIER_LIST_val_rec;
2674
2675 oe_debug_pub.add('END get_values in QPXUMLHB');
2676 END Get_Values;
2677
2678 -- Function Get_Ids
2679
2680 FUNCTION Get_Ids
2681 ( p_MODIFIER_LIST_rec IN QP_Modifiers_PUB.Modifier_List_Rec_Type
2682 , p_MODIFIER_LIST_val_rec IN QP_Modifiers_PUB.Modifier_List_Val_Rec_Type
2683 ) RETURN QP_Modifiers_PUB.Modifier_List_Rec_Type
2684 IS
2685 l_MODIFIER_LIST_rec QP_Modifiers_PUB.Modifier_List_Rec_Type;
2686 BEGIN
2687
2688 oe_debug_pub.add('BEGIN get_ids in QPXUMLHB');
2689 -- initialize return_status.
2690
2691 l_MODIFIER_LIST_rec.return_status := FND_API.G_RET_STS_SUCCESS;
2692
2693 -- initialize l_MODIFIER_LIST_rec.
2694
2695 l_MODIFIER_LIST_rec := p_MODIFIER_LIST_rec;
2696
2697 IF p_MODIFIER_LIST_val_rec.automatic <> FND_API.G_MISS_CHAR
2698 THEN
2699
2700 IF p_MODIFIER_LIST_rec.automatic_flag <> FND_API.G_MISS_CHAR THEN
2701
2702 l_MODIFIER_LIST_rec.automatic_flag := p_MODIFIER_LIST_rec.automatic_flag;
2703
2704 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
2705 THEN
2706
2707 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
2708 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','automatic');
2709 OE_MSG_PUB.Add;
2710
2711 END IF;
2712
2713 ELSE
2714
2715 l_MODIFIER_LIST_rec.automatic_flag := QP_Value_To_Id.automatic
2716 ( p_automatic => p_MODIFIER_LIST_val_rec.automatic
2717 );
2718
2719 IF l_MODIFIER_LIST_rec.automatic_flag = FND_API.G_MISS_CHAR THEN
2720 l_MODIFIER_LIST_rec.return_status := FND_API.G_RET_STS_ERROR;
2721 END IF;
2722
2723 END IF;
2724
2725 END IF;
2726
2727 IF p_MODIFIER_LIST_val_rec.currency <> FND_API.G_MISS_CHAR
2728 THEN
2729
2730 IF p_MODIFIER_LIST_rec.currency_code <> FND_API.G_MISS_CHAR THEN
2731
2732 l_MODIFIER_LIST_rec.currency_code := p_MODIFIER_LIST_rec.currency_code;
2733
2734 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
2735 THEN
2736
2737 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
2738 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','currency');
2739 OE_MSG_PUB.Add;
2740
2741 END IF;
2742
2743 ELSE
2744
2745 l_MODIFIER_LIST_rec.currency_code := QP_Value_To_Id.currency
2746 ( p_currency => p_MODIFIER_LIST_val_rec.currency
2747 );
2748
2749 IF l_MODIFIER_LIST_rec.currency_code = FND_API.G_MISS_CHAR THEN
2750 l_MODIFIER_LIST_rec.return_status := FND_API.G_RET_STS_ERROR;
2751 END IF;
2752
2753 END IF;
2754
2755 END IF;
2756
2757 IF p_MODIFIER_LIST_val_rec.discount_lines <> FND_API.G_MISS_CHAR
2758 THEN
2759
2760 IF p_MODIFIER_LIST_rec.discount_lines_flag <> FND_API.G_MISS_CHAR THEN
2761
2762 l_MODIFIER_LIST_rec.discount_lines_flag := p_MODIFIER_LIST_rec.discount_lines_flag;
2763
2764 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
2765 THEN
2766
2767 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
2768 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','discount_lines');
2769 OE_MSG_PUB.Add;
2770
2771 END IF;
2772
2773 ELSE
2774
2775 l_MODIFIER_LIST_rec.discount_lines_flag := QP_Value_To_Id.discount_lines
2776 ( p_discount_lines => p_MODIFIER_LIST_val_rec.discount_lines
2777 );
2778
2779 IF l_MODIFIER_LIST_rec.discount_lines_flag = FND_API.G_MISS_CHAR THEN
2780 l_MODIFIER_LIST_rec.return_status := FND_API.G_RET_STS_ERROR;
2781 END IF;
2782
2783 END IF;
2784
2785 END IF;
2786
2787 IF p_MODIFIER_LIST_val_rec.freight_terms <> FND_API.G_MISS_CHAR
2788 THEN
2789
2790 IF p_MODIFIER_LIST_rec.freight_terms_code <> FND_API.G_MISS_CHAR THEN
2791
2792 l_MODIFIER_LIST_rec.freight_terms_code := p_MODIFIER_LIST_rec.freight_terms_code;
2793
2794 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
2795 THEN
2796
2797 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
2798 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','freight_terms');
2799 OE_MSG_PUB.Add;
2800
2801 END IF;
2802
2803 ELSE
2804
2805 l_MODIFIER_LIST_rec.freight_terms_code := QP_Value_To_Id.freight_terms
2806 ( p_freight_terms => p_MODIFIER_LIST_val_rec.freight_terms
2807 );
2808
2809 IF l_MODIFIER_LIST_rec.freight_terms_code = FND_API.G_MISS_CHAR THEN
2810 l_MODIFIER_LIST_rec.return_status := FND_API.G_RET_STS_ERROR;
2811 END IF;
2812
2813 END IF;
2814
2815 END IF;
2816
2817 IF p_MODIFIER_LIST_val_rec.list_header <> FND_API.G_MISS_CHAR
2818 THEN
2819
2820 IF p_MODIFIER_LIST_rec.list_header_id <> FND_API.G_MISS_NUM THEN
2821
2822 l_MODIFIER_LIST_rec.list_header_id := p_MODIFIER_LIST_rec.list_header_id;
2823
2824 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
2825 THEN
2826
2827 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
2828 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','list_header');
2829 OE_MSG_PUB.Add;
2830
2831 END IF;
2832
2833 ELSE
2834
2835 l_MODIFIER_LIST_rec.list_header_id := QP_Value_To_Id.list_header
2836 ( p_list_header => p_MODIFIER_LIST_val_rec.list_header
2837 );
2838
2839 IF l_MODIFIER_LIST_rec.list_header_id = FND_API.G_MISS_NUM THEN
2840 l_MODIFIER_LIST_rec.return_status := FND_API.G_RET_STS_ERROR;
2841 END IF;
2842
2843 END IF;
2844
2845 END IF;
2846
2847 IF p_MODIFIER_LIST_val_rec.list_type <> FND_API.G_MISS_CHAR
2848 THEN
2849
2850 IF p_MODIFIER_LIST_rec.list_type_code <> FND_API.G_MISS_CHAR THEN
2851
2852 l_MODIFIER_LIST_rec.list_type_code := p_MODIFIER_LIST_rec.list_type_code;
2853
2854 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
2855 THEN
2856
2857 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
2858 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','list_type');
2859 OE_MSG_PUB.Add;
2860
2861 END IF;
2862
2863 ELSE
2864
2865 l_MODIFIER_LIST_rec.list_type_code := QP_Value_To_Id.list_type
2866 ( p_list_type => p_MODIFIER_LIST_val_rec.list_type
2867 );
2868
2869 IF l_MODIFIER_LIST_rec.list_type_code = FND_API.G_MISS_CHAR THEN
2870 l_MODIFIER_LIST_rec.return_status := FND_API.G_RET_STS_ERROR;
2871 END IF;
2872
2873 END IF;
2874
2875 END IF;
2876
2877 IF p_MODIFIER_LIST_val_rec.prorate <> FND_API.G_MISS_CHAR
2878 THEN
2879
2880 IF p_MODIFIER_LIST_rec.prorate_flag <> FND_API.G_MISS_CHAR THEN
2881
2882 l_MODIFIER_LIST_rec.prorate_flag := p_MODIFIER_LIST_rec.prorate_flag;
2883
2884 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
2885 THEN
2886
2887 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
2888 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','prorate');
2889 OE_MSG_PUB.Add;
2890
2891 END IF;
2892
2893 ELSE
2894
2895 l_MODIFIER_LIST_rec.prorate_flag := QP_Value_To_Id.prorate
2896 ( p_prorate => p_MODIFIER_LIST_val_rec.prorate
2897 );
2898
2899 IF l_MODIFIER_LIST_rec.prorate_flag = FND_API.G_MISS_CHAR THEN
2900 l_MODIFIER_LIST_rec.return_status := FND_API.G_RET_STS_ERROR;
2901 END IF;
2902
2903 END IF;
2904
2905 END IF;
2906
2907 IF p_MODIFIER_LIST_val_rec.ship_method <> FND_API.G_MISS_CHAR
2908 THEN
2909
2910 IF p_MODIFIER_LIST_rec.ship_method_code <> FND_API.G_MISS_CHAR THEN
2911
2912 l_MODIFIER_LIST_rec.ship_method_code := p_MODIFIER_LIST_rec.ship_method_code;
2913
2914 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
2915 THEN
2916
2917 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
2918 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','ship_method');
2919 OE_MSG_PUB.Add;
2920
2921 END IF;
2922
2923 ELSE
2924
2925 l_MODIFIER_LIST_rec.ship_method_code := QP_Value_To_Id.ship_method
2926 ( p_ship_method => p_MODIFIER_LIST_val_rec.ship_method
2927 );
2928
2929 IF l_MODIFIER_LIST_rec.ship_method_code = FND_API.G_MISS_CHAR THEN
2930 l_MODIFIER_LIST_rec.return_status := FND_API.G_RET_STS_ERROR;
2931 END IF;
2932
2933 END IF;
2934
2935 END IF;
2936
2937 IF p_MODIFIER_LIST_val_rec.terms <> FND_API.G_MISS_CHAR
2938 THEN
2939
2940 IF p_MODIFIER_LIST_rec.terms_id <> FND_API.G_MISS_NUM THEN
2941
2942 l_MODIFIER_LIST_rec.terms_id := p_MODIFIER_LIST_rec.terms_id;
2943
2944 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
2945 THEN
2946
2947 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
2948 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','terms');
2949 OE_MSG_PUB.Add;
2950
2951 END IF;
2952
2953 ELSE
2954
2955 l_MODIFIER_LIST_rec.terms_id := QP_Value_To_Id.terms
2956 ( p_terms => p_MODIFIER_LIST_val_rec.terms
2957 );
2958
2959 IF l_MODIFIER_LIST_rec.terms_id = FND_API.G_MISS_NUM THEN
2960 l_MODIFIER_LIST_rec.return_status := FND_API.G_RET_STS_ERROR;
2961 END IF;
2962
2963 END IF;
2964
2965 END IF;
2966
2967
2968 oe_debug_pub.add('END get_ids in QPXUMLHB');
2969 RETURN l_MODIFIER_LIST_rec;
2970
2971 END Get_Ids;
2972
2973 Function Get_Segment_Level_for_Group
2974 (p_list_header_id IN NUMBER
2975 ,p_list_line_id IN NUMBER
2976 ,p_qualifier_grouping_no IN NUMBER
2977 ) return varchar2
2978 is
2979 cursor c_qualifiers is
2980 select qualifier_context, qualifier_attribute
2981 from qp_qualifiers
2982 where list_header_id = p_list_header_id
2983 and ((qualifier_grouping_no = p_qualifier_grouping_no) OR (qualifier_grouping_no = -1))
2984 and list_line_id = p_list_line_id;
2985
2986 l_current_segment_level VARCHAR2(30) := NULL;
2987
2988 l_final_segment_level VARCHAR2(30) := NULL;
2989
2990
2991 BEGIN
2992 oe_debug_pub.add('Begin Get_Segment_Level_for_Group');
2993 oe_debug_pub.add('p_list_header_id = ' || p_list_header_id);
2994 oe_debug_pub.add('p_list_line_id = ' || p_list_line_id);
2995 oe_debug_pub.add('p_qualifier_grouping_no = ' || p_qualifier_grouping_no);
2996 FOR l_rec in c_qualifiers
2997 LOOP
2998 l_current_segment_level := qp_util.get_segment_level(p_list_header_id
2999 ,l_rec.qualifier_context
3000 ,l_rec.qualifier_attribute
3001 );
3002 if l_final_segment_level is NULL then
3003 l_final_segment_level := l_current_segment_level;
3004 else
3005 if l_final_segment_level = 'LINE' then
3006 if l_current_segment_level = 'LINE' then
3007 l_final_segment_level := 'LINE';
3008 elsif l_current_segment_level = 'BOTH' then
3009 l_final_segment_level := 'LINE_BOTH';
3010 elsif l_current_segment_level = 'ORDER' then
3011 -- Unexpected Condition
3012 raise FND_API.G_EXC_UNEXPECTED_ERROR;
3013 end if;
3014
3015 elsif l_final_segment_level = 'ORDER' then
3016 if l_current_segment_level = 'ORDER' then
3017 l_final_segment_level := 'ORDER';
3018 elsif l_current_segment_level = 'BOTH' then
3019 l_final_segment_level := 'ORDER_BOTH';
3020 elsif l_current_segment_level = 'LINE' then
3021 -- Unexpected Condition
3022 raise FND_API.G_EXC_UNEXPECTED_ERROR;
3023 end if;
3024
3025 elsif l_final_segment_level = 'BOTH' then
3026 if l_current_segment_level = 'LINE' then
3027 l_final_segment_level := 'LINE_BOTH';
3028 elsif l_current_segment_level = 'ORDER' then
3029 l_final_segment_level := 'ORDER_BOTH';
3030 elsif l_current_segment_level = 'BOTH' then
3031 l_final_segment_level := 'BOTH';
3032 end if;
3033
3034 elsif l_final_segment_level = 'LINE_BOTH' then
3035 if l_current_segment_level in ('LINE', 'BOTH') then
3036 l_final_segment_level := 'LINE_BOTH';
3037 elsif l_current_segment_level = 'ORDER' then
3038 -- Unexpected Condition
3039 raise FND_API.G_EXC_UNEXPECTED_ERROR;
3040 end if;
3041
3042 elsif l_final_segment_level = 'ORDER_BOTH' then
3043 if l_current_segment_level in ('ORDER', 'BOTH') then
3044 l_final_segment_level := 'ORDER_BOTH';
3045 elsif l_current_segment_level = 'LINE' then
3046 -- Unexpected Condition
3047 raise FND_API.G_EXC_UNEXPECTED_ERROR;
3048 end if;
3049
3050 end if; -- l_final_segment_level = 'LINE'
3051 end if; -- l_final_segment_level is NULL
3052
3053 END LOOP;
3054
3055 return(l_final_segment_level);
3056
3057 oe_debug_pub.add('End Get_Segment_Level_for_Group');
3058 EXCEPTION
3059 WHEN FND_API.G_EXC_ERROR THEN
3060 return(null);
3061
3062 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3063 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
3064 OE_MSG_PUB.Add_Exc_Msg
3065 (G_PKG_NAME
3066 ,'Get_Segment_Level_for_Group');
3067 END IF;
3068 return(null);
3069
3070 WHEN OTHERS THEN
3071 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
3072 OE_MSG_PUB.Add_Exc_Msg
3073 (G_PKG_NAME
3074 ,'Get_Segment_Level_for_Group');
3075 END IF;
3076 return(null);
3077
3078 END Get_Segment_Level_for_Group;
3079
3080 END QP_Modifier_List_Util;