[Home] [Help]
PACKAGE BODY: APPS.QP_MODIFIERS_UTIL
Source
1 PACKAGE BODY QP_Modifiers_Util AS
2 /* $Header: QPXUMLLB.pls 120.11.12020000.5 2013/01/31 13:52:44 jputta ship $ */
3
4 -- Global constant holding the package name
5
6 G_PKG_NAME CONSTANT VARCHAR2(30) := 'QP_Modifiers_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_MODIFIERS_rec IN QP_Modifiers_PUB.Modifiers_Rec_Type
13 , p_old_MODIFIERS_rec IN QP_Modifiers_PUB.Modifiers_Rec_Type :=
14 QP_Modifiers_PUB.G_MISS_MODIFIERS_REC
15 , x_MODIFIERS_rec OUT NOCOPY QP_Modifiers_PUB.Modifiers_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 oe_debug_pub.add('BEGIN Clear_dependent_Attr in QPXUMLLB');
24
25 -- Load out record
26
27 x_MODIFIERS_rec := p_MODIFIERS_rec;
28
29 -- If attr_id is missing compare old and new records and for
30 -- every changed attribute clear its dependent fields.
31
32 IF p_attr_id = FND_API.G_MISS_NUM THEN
33
34 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.arithmetic_operator,p_old_MODIFIERS_rec.arithmetic_operator)
35 THEN
36 l_index := l_index + 1;
37 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_ARITHMETIC_OPERATOR;
38 END IF;
39
40 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.attribute1,p_old_MODIFIERS_rec.attribute1)
41 THEN
42 l_index := l_index + 1;
43 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_ATTRIBUTE1;
44 END IF;
45
46 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.attribute10,p_old_MODIFIERS_rec.attribute10)
47 THEN
48 l_index := l_index + 1;
49 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_ATTRIBUTE10;
50 END IF;
51
52 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.attribute11,p_old_MODIFIERS_rec.attribute11)
53 THEN
54 l_index := l_index + 1;
55 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_ATTRIBUTE11;
56 END IF;
57
58 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.attribute12,p_old_MODIFIERS_rec.attribute12)
59 THEN
60 l_index := l_index + 1;
61 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_ATTRIBUTE12;
62 END IF;
63
64 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.attribute13,p_old_MODIFIERS_rec.attribute13)
65 THEN
66 l_index := l_index + 1;
67 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_ATTRIBUTE13;
68 END IF;
69
70 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.attribute14,p_old_MODIFIERS_rec.attribute14)
71 THEN
72 l_index := l_index + 1;
73 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_ATTRIBUTE14;
74 END IF;
75
76 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.attribute15,p_old_MODIFIERS_rec.attribute15)
77 THEN
78 l_index := l_index + 1;
79 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_ATTRIBUTE15;
80 END IF;
81
82 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.attribute2,p_old_MODIFIERS_rec.attribute2)
83 THEN
84 l_index := l_index + 1;
85 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_ATTRIBUTE2;
86 END IF;
87
88 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.attribute3,p_old_MODIFIERS_rec.attribute3)
89 THEN
90 l_index := l_index + 1;
91 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_ATTRIBUTE3;
92 END IF;
93
94 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.attribute4,p_old_MODIFIERS_rec.attribute4)
95 THEN
96 l_index := l_index + 1;
97 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_ATTRIBUTE4;
98 END IF;
99
100 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.attribute5,p_old_MODIFIERS_rec.attribute5)
101 THEN
102 l_index := l_index + 1;
103 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_ATTRIBUTE5;
104 END IF;
105
106 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.attribute6,p_old_MODIFIERS_rec.attribute6)
107 THEN
108 l_index := l_index + 1;
109 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_ATTRIBUTE6;
110 END IF;
111
112 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.attribute7,p_old_MODIFIERS_rec.attribute7)
113 THEN
114 l_index := l_index + 1;
115 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_ATTRIBUTE7;
116 END IF;
117
118 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.attribute8,p_old_MODIFIERS_rec.attribute8)
119 THEN
120 l_index := l_index + 1;
121 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_ATTRIBUTE8;
122 END IF;
123
124 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.attribute9,p_old_MODIFIERS_rec.attribute9)
125 THEN
126 l_index := l_index + 1;
127 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_ATTRIBUTE9;
128 END IF;
129
130 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.automatic_flag,p_old_MODIFIERS_rec.automatic_flag)
131 THEN
132 l_index := l_index + 1;
133 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_AUTOMATIC;
134 END IF;
135
136 /* IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.base_qty,p_old_MODIFIERS_rec.base_qty)
137 THEN
138 l_index := l_index + 1;
139 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_BASE_QTY;
140 END IF;
141 */
142 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.pricing_phase_id,p_old_MODIFIERS_rec.pricing_phase_id)
143 THEN
144 l_index := l_index + 1;
145 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_PRICING_PHASE;
146 END IF;
147
148 /* IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.base_uom_code,p_old_MODIFIERS_rec.base_uom_code)
149 THEN
150 l_index := l_index + 1;
151 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_BASE_UOM;
152 END IF;
153 */
154 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.comments,p_old_MODIFIERS_rec.comments)
155 THEN
156 l_index := l_index + 1;
157 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_COMMENTS;
158 END IF;
159
160 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.context,p_old_MODIFIERS_rec.context)
161 THEN
162 l_index := l_index + 1;
163 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_CONTEXT;
164 END IF;
165
166 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.created_by,p_old_MODIFIERS_rec.created_by)
167 THEN
168 l_index := l_index + 1;
169 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_CREATED_BY;
170 END IF;
171
172 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.creation_date,p_old_MODIFIERS_rec.creation_date)
173 THEN
174 l_index := l_index + 1;
175 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_CREATION_DATE;
176 END IF;
177
178 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.effective_period_uom,p_old_MODIFIERS_rec.effective_period_uom)
179 THEN
180 l_index := l_index + 1;
181 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_EFFECTIVE_PERIOD_UOM;
182 END IF;
183
184 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.end_date_active,p_old_MODIFIERS_rec.end_date_active)
185 THEN
186 l_index := l_index + 1;
187 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_END_DATE_ACTIVE;
188 END IF;
189
190 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.estim_accrual_rate,p_old_MODIFIERS_rec.estim_accrual_rate)
191 THEN
192 l_index := l_index + 1;
193 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_ESTIM_ACCRUAL_RATE;
194 END IF;
195
196 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.generate_using_formula_id,p_old_MODIFIERS_rec.generate_using_formula_id)
197 THEN
198 l_index := l_index + 1;
199 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_GENERATE_USING_FORMULA;
200 END IF;
201
202 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.inventory_item_id,p_old_MODIFIERS_rec.inventory_item_id)
203 THEN
204 l_index := l_index + 1;
205 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_INVENTORY_ITEM;
206 END IF;
207
208 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.last_updated_by,p_old_MODIFIERS_rec.last_updated_by)
209 THEN
210 l_index := l_index + 1;
211 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_LAST_UPDATED_BY;
212 END IF;
213
214 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.last_update_date,p_old_MODIFIERS_rec.last_update_date)
215 THEN
216 l_index := l_index + 1;
217 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_LAST_UPDATE_DATE;
218 END IF;
219
220 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.last_update_login,p_old_MODIFIERS_rec.last_update_login)
221 THEN
222 l_index := l_index + 1;
223 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_LAST_UPDATE_LOGIN;
224 END IF;
225
226 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.list_header_id,p_old_MODIFIERS_rec.list_header_id)
227 THEN
228 l_index := l_index + 1;
229 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_LIST_HEADER;
230 END IF;
231
232 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.list_line_id,p_old_MODIFIERS_rec.list_line_id)
233 THEN
234 l_index := l_index + 1;
235 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_LIST_LINE;
236 END IF;
237
238 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.list_line_type_code,p_old_MODIFIERS_rec.list_line_type_code)
239 THEN
240 l_index := l_index + 1;
241 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_LIST_LINE_TYPE;
242 END IF;
243
244 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.list_price,p_old_MODIFIERS_rec.list_price)
245 THEN
246 l_index := l_index + 1;
247 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_LIST_PRICE;
248 END IF;
249
250 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.modifier_level_code,p_old_MODIFIERS_rec.modifier_level_code)
251 THEN
252 l_index := l_index + 1;
253 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_MODIFIER_LEVEL;
254 END IF;
255
256 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.number_effective_periods,p_old_MODIFIERS_rec.number_effective_periods)
257 THEN
258 l_index := l_index + 1;
259 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_NUMBER_EFFECTIVE_PERIODS;
260 END IF;
261
262 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.operand,p_old_MODIFIERS_rec.operand)
263 THEN
264 l_index := l_index + 1;
265 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_OPERAND;
266 END IF;
267
268 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.organization_id,p_old_MODIFIERS_rec.organization_id)
269 THEN
270 l_index := l_index + 1;
271 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_ORGANIZATION;
272 END IF;
273
274 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.override_flag,p_old_MODIFIERS_rec.override_flag)
275 THEN
276 l_index := l_index + 1;
277 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_OVERRIDE;
278 END IF;
279
280 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.percent_price,p_old_MODIFIERS_rec.percent_price)
281 THEN
282 l_index := l_index + 1;
283 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_PERCENT_PRICE;
284 END IF;
285
286 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.price_break_type_code,p_old_MODIFIERS_rec.price_break_type_code)
287 THEN
288 l_index := l_index + 1;
289 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_PRICE_BREAK_TYPE;
290 END IF;
291
292 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.price_by_formula_id,p_old_MODIFIERS_rec.price_by_formula_id)
293 THEN
294 l_index := l_index + 1;
295 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_PRICE_BY_FORMULA;
296 END IF;
297
298 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.primary_uom_flag,p_old_MODIFIERS_rec.primary_uom_flag)
299 THEN
300 l_index := l_index + 1;
301 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_PRIMARY_UOM;
302 END IF;
303
304 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.print_on_invoice_flag,p_old_MODIFIERS_rec.print_on_invoice_flag)
305 THEN
306 l_index := l_index + 1;
307 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_PRINT_ON_INVOICE;
308 END IF;
309
310 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.program_application_id,p_old_MODIFIERS_rec.program_application_id)
311 THEN
312 l_index := l_index + 1;
313 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_PROGRAM_APPLICATION;
314 END IF;
315
316 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.program_id,p_old_MODIFIERS_rec.program_id)
317 THEN
318 l_index := l_index + 1;
319 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_PROGRAM;
320 END IF;
321
322 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.program_update_date,p_old_MODIFIERS_rec.program_update_date)
323 THEN
324 l_index := l_index + 1;
325 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_PROGRAM_UPDATE_DATE;
326 END IF;
327
328 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.rebate_trxn_type_code,p_old_MODIFIERS_rec.rebate_trxn_type_code)
329 THEN
330 l_index := l_index + 1;
331 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_REBATE_TRANSACTION_TYPE;
332 END IF;
333
334 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.related_item_id,p_old_MODIFIERS_rec.related_item_id)
335 THEN
336 l_index := l_index + 1;
337 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_RELATED_ITEM;
338 END IF;
339
340 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.relationship_type_id,p_old_MODIFIERS_rec.relationship_type_id)
341 THEN
342 l_index := l_index + 1;
343 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_RELATIONSHIP_TYPE;
344 END IF;
345
346 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.reprice_flag,p_old_MODIFIERS_rec.reprice_flag)
347 THEN
348 l_index := l_index + 1;
349 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_REPRICE;
350 END IF;
351
352 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.request_id,p_old_MODIFIERS_rec.request_id)
353 THEN
354 l_index := l_index + 1;
355 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_REQUEST;
356 END IF;
357
358 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.revision,p_old_MODIFIERS_rec.revision)
359 THEN
360 l_index := l_index + 1;
361 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_REVISION;
362 END IF;
363
364 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.revision_date,p_old_MODIFIERS_rec.revision_date)
365 THEN
366 l_index := l_index + 1;
367 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_REVISION_DATE;
368 END IF;
369
370 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.revision_reason_code,p_old_MODIFIERS_rec.revision_reason_code)
371 THEN
372 l_index := l_index + 1;
373 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_REVISION_REASON;
374 END IF;
375
376 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.start_date_active,p_old_MODIFIERS_rec.start_date_active)
377 THEN
378 l_index := l_index + 1;
379 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_START_DATE_ACTIVE;
380 END IF;
381
382 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.substitution_attribute,p_old_MODIFIERS_rec.substitution_attribute)
383 THEN
384 l_index := l_index + 1;
385 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_SUBSTITUTION_ATTRIBUTE;
386 END IF;
387
388 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.substitution_context,p_old_MODIFIERS_rec.substitution_context)
389 THEN
390 l_index := l_index + 1;
391 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_SUBSTITUTION_CONTEXT;
392 END IF;
393
394 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.substitution_value,p_old_MODIFIERS_rec.substitution_value)
395 THEN
396 l_index := l_index + 1;
397 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_SUBSTITUTION_VALUE;
398 END IF;
399
400 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.accrual_flag,p_old_MODIFIERS_rec.accrual_flag)
401 THEN
402 l_index := l_index + 1;
403 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_ACCRUAL_FLAG;
404 END IF;
405
406 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.pricing_group_sequence,p_old_MODIFIERS_rec.pricing_group_sequence)
407 THEN
408 l_index := l_index + 1;
409 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_PRICING_GROUP_SEQUENCE;
410 END IF;
411
412 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.incompatibility_grp_code,p_old_MODIFIERS_rec.incompatibility_grp_code)
413 THEN
414 l_index := l_index + 1;
415 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_INCOMPATIBILITY_GRP_CODE;
416 END IF;
417
418 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.list_line_no,p_old_MODIFIERS_rec.list_line_no)
419 THEN
420 l_index := l_index + 1;
421 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_LIST_LINE_NO;
422 END IF;
423
424 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.product_precedence,p_old_MODIFIERS_rec.product_precedence)
425 THEN
426 l_index := l_index + 1;
427 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_PRODUCT_PRECEDENCE;
428 END IF;
429
430 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.expiration_period_start_date,p_old_MODIFIERS_rec.expiration_period_start_date)
431 THEN
432 l_index := l_index + 1;
433 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_EXPIRATION_PERIOD_START_DATE;
434 END IF;
435
436 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.number_expiration_periods,p_old_MODIFIERS_rec.number_expiration_periods)
437 THEN
438 l_index := l_index + 1;
439 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_NUMBER_EXPIRATION_PERIODS;
440 END IF;
441
442 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.expiration_period_uom,p_old_MODIFIERS_rec.expiration_period_uom)
443 THEN
444 l_index := l_index + 1;
445 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_EXPIRATION_PERIOD_UOM;
446 END IF;
447
448 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.expiration_date,p_old_MODIFIERS_rec.expiration_date)
449 THEN
450 l_index := l_index + 1;
451 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_EXPIRATION_DATE;
452 END IF;
453
454 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.estim_gl_value,p_old_MODIFIERS_rec.estim_gl_value)
455 THEN
456 l_index := l_index + 1;
457 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_ESTIM_GL_VALUE;
458 END IF;
459
460 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.benefit_price_list_line_id,p_old_MODIFIERS_rec.benefit_price_list_line_id)
461 THEN
462 l_index := l_index + 1;
463 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_BENEFIT_PRICE_LIST_LINE;
464 END IF;
465
466 /* IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.recurring_flag,p_old_MODIFIERS_rec.recurring_flag)
467 THEN
468 l_index := l_index + 1;
469 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_RECURRING_FLAG;
470 END IF;
471 */
472 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.benefit_limit,p_old_MODIFIERS_rec.benefit_limit)
473 THEN
474 l_index := l_index + 1;
475 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_BENEFIT_LIMIT;
476 END IF;
477
478 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.charge_type_code,p_old_MODIFIERS_rec.charge_type_code)
479 THEN
480 l_index := l_index + 1;
481 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_CHARGE_TYPE;
482 END IF;
483
484 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.charge_subtype_code,p_old_MODIFIERS_rec.charge_subtype_code)
485 THEN
486 l_index := l_index + 1;
487 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_CHARGE_SUBTYPE;
488 END IF;
489
490 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.benefit_qty,p_old_MODIFIERS_rec.benefit_qty)
491 THEN
492 l_index := l_index + 1;
493 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_BENEFIT_QTY;
494 END IF;
495
496 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.benefit_uom_code,p_old_MODIFIERS_rec.benefit_uom_code)
497 THEN
498 l_index := l_index + 1;
499 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_BENEFIT_UOM;
500 END IF;
501
502 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.accrual_conversion_rate,p_old_MODIFIERS_rec.accrual_conversion_rate)
503 THEN
504 l_index := l_index + 1;
505 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_ACCRUAL_CONVERSION_RATE;
506 END IF;
507
508 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.proration_type_code,p_old_MODIFIERS_rec.proration_type_code)
509 THEN
510 l_index := l_index + 1;
511 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_PRORATION_TYPE;
512 END IF;
513
514 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.include_on_returns_flag,p_old_MODIFIERS_rec.include_on_returns_flag)
515 THEN
516 l_index := l_index + 1;
517 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_INCLUDE_ON_RETURNS_FLAG;
518 END IF;
519
520 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.from_rltd_modifier_id,p_old_MODIFIERS_rec.from_rltd_modifier_id)
521 THEN
522 l_index := l_index + 1;
523 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_FROM_RLTD_MODIFIER;
524 END IF;
525
526 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.to_rltd_modifier_id,p_old_MODIFIERS_rec.to_rltd_modifier_id)
527 THEN
528 l_index := l_index + 1;
529 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_TO_RLTD_MODIFIER;
530 END IF;
531
532 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.rltd_modifier_grp_no,p_old_MODIFIERS_rec.rltd_modifier_grp_no)
533 THEN
534 l_index := l_index + 1;
535 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_RLTD_MODIFIER_GRP_NO;
536 END IF;
537
538 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.rltd_modifier_grp_type,p_old_MODIFIERS_rec.rltd_modifier_grp_type)
539 THEN
540 l_index := l_index + 1;
541 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_RLTD_MODIFIER_GRP_TYPE;
542 END IF;
543
544 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.rltd_modifier_id,p_old_MODIFIERS_rec.rltd_modifier_id)
545 THEN
546 l_index := l_index + 1;
547 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_RLTD_MODIFIER_ID;
548 END IF;
549
550 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.qualification_ind,p_old_MODIFIERS_rec.qualification_ind)
551 THEN
552 l_index := l_index + 1;
553 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_QUALIFICATION_IND;
554 END IF;
555
556 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.net_amount_flag,p_old_MODIFIERS_rec.net_amount_flag)
557 THEN
558 l_index := l_index + 1;
559 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_NET_AMOUNT;
560 END IF;
561 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.accum_attribute,p_old_MODIFIERS_rec.accum_attribute)
562 THEN
563 l_index := l_index + 1;
564 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_ACCUM_ATTRIBUTE;
565 END IF;
566
567 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.continuous_price_break_flag,p_old_MODIFIERS_rec.continuous_price_break_flag)
568 THEN
569 l_index := l_index + 1;
570 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_CONTINUOUS_PRICE_BREAK_FLAG;
571 END IF;
572 -- service project
573 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.service_duration,p_old_MODIFIERS_rec.service_duration)
574 THEN
575 l_index := l_index + 1;
576 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_SERVICE_DURATION;
577 END IF;
578 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.service_period,p_old_MODIFIERS_rec.service_period)
579 THEN
580 l_index := l_index + 1;
581 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_SERVICE_PERIOD;
582 END IF;
583 -- service project
584
585 ELSIF p_attr_id = G_ARITHMETIC_OPERATOR THEN
586 l_index := l_index + 1;
587 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_ARITHMETIC_OPERATOR;
588 ELSIF p_attr_id = G_ATTRIBUTE1 THEN
589 l_index := l_index + 1;
590 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_ATTRIBUTE1;
591 ELSIF p_attr_id = G_ATTRIBUTE10 THEN
592 l_index := l_index + 1;
593 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_ATTRIBUTE10;
594 ELSIF p_attr_id = G_ATTRIBUTE11 THEN
595 l_index := l_index + 1;
596 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_ATTRIBUTE11;
597 ELSIF p_attr_id = G_ATTRIBUTE12 THEN
598 l_index := l_index + 1;
599 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_ATTRIBUTE12;
600 ELSIF p_attr_id = G_ATTRIBUTE13 THEN
601 l_index := l_index + 1;
602 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_ATTRIBUTE13;
603 ELSIF p_attr_id = G_ATTRIBUTE14 THEN
604 l_index := l_index + 1;
605 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_ATTRIBUTE14;
606 ELSIF p_attr_id = G_ATTRIBUTE15 THEN
607 l_index := l_index + 1;
608 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_ATTRIBUTE15;
609 ELSIF p_attr_id = G_ATTRIBUTE2 THEN
610 l_index := l_index + 1;
611 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_ATTRIBUTE2;
612 ELSIF p_attr_id = G_ATTRIBUTE3 THEN
613 l_index := l_index + 1;
614 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_ATTRIBUTE3;
615 ELSIF p_attr_id = G_ATTRIBUTE4 THEN
616 l_index := l_index + 1;
617 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_ATTRIBUTE4;
618 ELSIF p_attr_id = G_ATTRIBUTE5 THEN
619 l_index := l_index + 1;
620 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_ATTRIBUTE5;
621 ELSIF p_attr_id = G_ATTRIBUTE6 THEN
622 l_index := l_index + 1;
623 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_ATTRIBUTE6;
624 ELSIF p_attr_id = G_ATTRIBUTE7 THEN
625 l_index := l_index + 1;
626 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_ATTRIBUTE7;
627 ELSIF p_attr_id = G_ATTRIBUTE8 THEN
628 l_index := l_index + 1;
629 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_ATTRIBUTE8;
630 ELSIF p_attr_id = G_ATTRIBUTE9 THEN
631 l_index := l_index + 1;
632 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_ATTRIBUTE9;
633 ELSIF p_attr_id = G_AUTOMATIC THEN
634 l_index := l_index + 1;
635 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_AUTOMATIC;
636 /* ELSIF p_attr_id = G_BASE_QTY THEN
637 l_index := l_index + 1;
638 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_BASE_QTY; */
639 ELSIF p_attr_id = G_PRICING_PHASE THEN
640 l_index := l_index + 1;
641 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_PRICING_PHASE;
642 /* ELSIF p_attr_id = G_BASE_UOM THEN
643 l_index := l_index + 1;
644 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_BASE_UOM; */
645 ELSIF p_attr_id = G_COMMENTS THEN
646 l_index := l_index + 1;
647 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_COMMENTS;
648 ELSIF p_attr_id = G_CONTEXT THEN
649 l_index := l_index + 1;
650 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_CONTEXT;
651 ELSIF p_attr_id = G_CREATED_BY THEN
652 l_index := l_index + 1;
653 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_CREATED_BY;
654 ELSIF p_attr_id = G_CREATION_DATE THEN
655 l_index := l_index + 1;
656 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_CREATION_DATE;
657 ELSIF p_attr_id = G_EFFECTIVE_PERIOD_UOM THEN
658 l_index := l_index + 1;
659 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_EFFECTIVE_PERIOD_UOM;
660 ELSIF p_attr_id = G_END_DATE_ACTIVE THEN
661 l_index := l_index + 1;
662 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_END_DATE_ACTIVE;
663 ELSIF p_attr_id = G_ESTIM_ACCRUAL_RATE THEN
664 l_index := l_index + 1;
665 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_ESTIM_ACCRUAL_RATE;
666 ELSIF p_attr_id = G_GENERATE_USING_FORMULA THEN
667 l_index := l_index + 1;
668 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_GENERATE_USING_FORMULA;
669 -- ELSIF p_attr_id = G_GL_CLASS THEN
670 -- l_index := l_index + 1;
671 -- l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_GL_CLASS;
672 ELSIF p_attr_id = G_INVENTORY_ITEM THEN
673 l_index := l_index + 1;
674 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_INVENTORY_ITEM;
675 ELSIF p_attr_id = G_LAST_UPDATED_BY THEN
676 l_index := l_index + 1;
677 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_LAST_UPDATED_BY;
678 ELSIF p_attr_id = G_LAST_UPDATE_DATE THEN
679 l_index := l_index + 1;
680 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_LAST_UPDATE_DATE;
681 ELSIF p_attr_id = G_LAST_UPDATE_LOGIN THEN
682 l_index := l_index + 1;
683 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_LAST_UPDATE_LOGIN;
684 ELSIF p_attr_id = G_LIST_HEADER THEN
685 l_index := l_index + 1;
686 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_LIST_HEADER;
687 ELSIF p_attr_id = G_LIST_LINE THEN
688 l_index := l_index + 1;
689 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_LIST_LINE;
690 ELSIF p_attr_id = G_LIST_LINE_TYPE THEN
691 l_index := l_index + 1;
692 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_LIST_LINE_TYPE;
693 ELSIF p_attr_id = G_LIST_PRICE THEN
694 l_index := l_index + 1;
695 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_LIST_PRICE;
696 -- ELSIF p_attr_id = G_LIST_PRICE_UOM THEN
697 -- l_index := l_index + 1;
698 -- l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_LIST_PRICE_UOM;
699 ELSIF p_attr_id = G_MODIFIER_LEVEL THEN
700 l_index := l_index + 1;
701 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_MODIFIER_LEVEL;
702 ELSIF p_attr_id = G_NUMBER_EFFECTIVE_PERIODS THEN
703 l_index := l_index + 1;
704 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_NUMBER_EFFECTIVE_PERIODS;
705 ELSIF p_attr_id = G_OPERAND THEN
706 l_index := l_index + 1;
707 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_OPERAND;
708 ELSIF p_attr_id = G_ORGANIZATION THEN
709 l_index := l_index + 1;
710 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_ORGANIZATION;
711 ELSIF p_attr_id = G_OVERRIDE THEN
712 l_index := l_index + 1;
713 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_OVERRIDE;
714 ELSIF p_attr_id = G_PERCENT_PRICE THEN
715 l_index := l_index + 1;
716 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_PERCENT_PRICE;
717 ELSIF p_attr_id = G_PRICE_BREAK_TYPE THEN
718 l_index := l_index + 1;
719 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_PRICE_BREAK_TYPE;
720 ELSIF p_attr_id = G_PRICE_BY_FORMULA THEN
721 l_index := l_index + 1;
722 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_PRICE_BY_FORMULA;
723 ELSIF p_attr_id = G_PRIMARY_UOM THEN
724 l_index := l_index + 1;
725 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_PRIMARY_UOM;
726 ELSIF p_attr_id = G_PRINT_ON_INVOICE THEN
727 l_index := l_index + 1;
728 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_PRINT_ON_INVOICE;
729 ELSIF p_attr_id = G_PROGRAM_APPLICATION THEN
730 l_index := l_index + 1;
731 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_PROGRAM_APPLICATION;
732 ELSIF p_attr_id = G_PROGRAM THEN
733 l_index := l_index + 1;
734 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_PROGRAM;
735 ELSIF p_attr_id = G_PROGRAM_UPDATE_DATE THEN
736 l_index := l_index + 1;
737 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_PROGRAM_UPDATE_DATE;
738 -- ELSIF p_attr_id = G_REBATE_SUBTYPE THEN
739 -- l_index := l_index + 1;
740 -- l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_REBATE_SUBTYPE;
741 ELSIF p_attr_id = G_REBATE_TRANSACTION_TYPE THEN
742 l_index := l_index + 1;
743 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_REBATE_TRANSACTION_TYPE;
744 ELSIF p_attr_id = G_RELATED_ITEM THEN
745 l_index := l_index + 1;
746 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_RELATED_ITEM;
747 ELSIF p_attr_id = G_RELATIONSHIP_TYPE THEN
748 l_index := l_index + 1;
749 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_RELATIONSHIP_TYPE;
750 ELSIF p_attr_id = G_REPRICE THEN
751 l_index := l_index + 1;
752 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_REPRICE;
753 ELSIF p_attr_id = G_REQUEST THEN
754 l_index := l_index + 1;
755 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_REQUEST;
756 ELSIF p_attr_id = G_REVISION THEN
757 l_index := l_index + 1;
758 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_REVISION;
759 ELSIF p_attr_id = G_REVISION_DATE THEN
760 l_index := l_index + 1;
761 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_REVISION_DATE;
762 ELSIF p_attr_id = G_REVISION_REASON THEN
763 l_index := l_index + 1;
764 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_REVISION_REASON;
765 ELSIF p_attr_id = G_START_DATE_ACTIVE THEN
766 l_index := l_index + 1;
767 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_START_DATE_ACTIVE;
768 ELSIF p_attr_id = G_SUBSTITUTION_ATTRIBUTE THEN
769 l_index := l_index + 1;
770 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_SUBSTITUTION_ATTRIBUTE;
771 ELSIF p_attr_id = G_SUBSTITUTION_CONTEXT THEN
772 l_index := l_index + 1;
773 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_SUBSTITUTION_CONTEXT;
774 ELSIF p_attr_id = G_SUBSTITUTION_VALUE THEN
775 l_index := l_index + 1;
776 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_SUBSTITUTION_VALUE;
777 ELSIF p_attr_id = G_ACCRUAL_FLAG THEN
778 l_index := l_index + 1;
779 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_ACCRUAL_FLAG;
780 ELSIF p_attr_id = G_PRICING_GROUP_SEQUENCE THEN
781 l_index := l_index + 1;
782 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_PRICING_GROUP_SEQUENCE;
783 ELSIF p_attr_id = G_INCOMPATIBILITY_GRP_CODE THEN
784 l_index := l_index + 1;
785 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_INCOMPATIBILITY_GRP_CODE;
786 ELSIF p_attr_id = G_LIST_LINE_NO THEN
787 l_index := l_index + 1;
788 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_LIST_LINE_NO;
789 ELSIF p_attr_id = G_PRODUCT_PRECEDENCE THEN
790 l_index := l_index + 1;
791 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_PRODUCT_PRECEDENCE;
792 ELSIF p_attr_id = G_EXPIRATION_PERIOD_START_DATE THEN
793 l_index := l_index + 1;
794 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_EXPIRATION_PERIOD_START_DATE;
795 ELSIF p_attr_id = G_NUMBER_EXPIRATION_PERIODS THEN
796 l_index := l_index + 1;
797 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_NUMBER_EXPIRATION_PERIODS;
798 ELSIF p_attr_id = G_EXPIRATION_PERIOD_UOM THEN
799 l_index := l_index + 1;
800 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_EXPIRATION_PERIOD_UOM;
801 ELSIF p_attr_id = G_EXPIRATION_DATE THEN
802 l_index := l_index + 1;
803 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_EXPIRATION_DATE;
804 ELSIF p_attr_id = G_ESTIM_GL_VALUE THEN
805 l_index := l_index + 1;
806 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_ESTIM_GL_VALUE;
807 ELSIF p_attr_id = G_BENEFIT_PRICE_LIST_LINE THEN
808 l_index := l_index + 1;
809 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_BENEFIT_PRICE_LIST_LINE;
810 /* ELSIF p_attr_id = G_RECURRING_FLAG THEN
811 l_index := l_index + 1;
812 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_RECURRING_FLAG; */
813 ELSIF p_attr_id = G_BENEFIT_LIMIT THEN
814 l_index := l_index + 1;
815 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_BENEFIT_LIMIT;
816 ELSIF p_attr_id = G_CHARGE_TYPE THEN
817 l_index := l_index + 1;
818 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_CHARGE_TYPE;
819 ELSIF p_attr_id = G_CHARGE_SUBTYPE THEN
820 l_index := l_index + 1;
821 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_CHARGE_SUBTYPE;
822 ELSIF p_attr_id = G_BENEFIT_QTY THEN
823 l_index := l_index + 1;
824 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_BENEFIT_QTY;
825 ELSIF p_attr_id = G_BENEFIT_UOM THEN
826 l_index := l_index + 1;
827 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_BENEFIT_UOM;
828 ELSIF p_attr_id = G_ACCRUAL_CONVERSION_RATE THEN
829 l_index := l_index + 1;
830 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_ACCRUAL_CONVERSION_RATE;
831 ELSIF p_attr_id = G_PRORATION_TYPE THEN
832 l_index := l_index + 1;
833 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_PRORATION_TYPE;
834 ELSIF p_attr_id = G_INCLUDE_ON_RETURNS_FLAG THEN
835 l_index := l_index + 1;
836 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_INCLUDE_ON_RETURNS_FLAG;
837 ELSIF p_attr_id = G_FROM_RLTD_MODIFIER THEN
838 l_index := l_index + 1;
839 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_FROM_RLTD_MODIFIER;
840 ELSIF p_attr_id = G_TO_RLTD_MODIFIER THEN
841 l_index := l_index + 1;
842 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_TO_RLTD_MODIFIER;
843 ELSIF p_attr_id = G_RLTD_MODIFIER_GRP_NO THEN
844 l_index := l_index + 1;
845 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_RLTD_MODIFIER_GRP_NO;
846 ELSIF p_attr_id = G_RLTD_MODIFIER_GRP_TYPE THEN
847 l_index := l_index + 1;
848 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_RLTD_MODIFIER_GRP_TYPE;
849 ELSIF p_attr_id = G_RLTD_MODIFIER_ID THEN
850 l_index := l_index + 1;
851 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_RLTD_MODIFIER_ID;
852 ELSIF p_attr_id = G_NET_AMOUNT THEN
853 l_index :=l_index + 1;
854 l_src_attr_tbl(l_index) := QP_MODIFIERS_UTIL.G_NET_AMOUNT;
855 END IF;
856
857 oe_debug_pub.add('END Clear_dependent_Attr in QPXUMLLB');
858
859 END Clear_Dependent_Attr;
860
861 -- Procedure Apply_Attribute_Changes
862
863 PROCEDURE Apply_Attribute_Changes
864 ( p_MODIFIERS_rec IN QP_Modifiers_PUB.Modifiers_Rec_Type
865 , p_old_MODIFIERS_rec IN QP_Modifiers_PUB.Modifiers_Rec_Type :=
866 QP_Modifiers_PUB.G_MISS_MODIFIERS_REC
867 , x_MODIFIERS_rec OUT NOCOPY QP_Modifiers_PUB.Modifiers_Rec_Type
868 )
869 IS
870
871 --added by svdeshmu
872
873 l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
874
875
876 -- end of additions by svdeshmu
877
878 BEGIN
879
880 oe_debug_pub.add('BEGIN Apply_Attribute_Changes in QPXUMLLB');
881
882 -- Load out record
883
884 x_MODIFIERS_rec := p_MODIFIERS_rec;
885
886 -- mkarya for bug 1874586, log the qualification indicator request before any other delayed requests
887 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.list_line_id,p_old_MODIFIERS_rec.list_line_id)
888 THEN
889 qp_delayed_requests_PVT.log_request(
890 p_entity_code => QP_GLOBALS.G_ENTITY_MODIFIERS,
891 p_entity_id => p_MODIFIERS_rec.list_line_id,
892 p_requesting_entity_code=> QP_GLOBALS.G_ENTITY_MODIFIERS,
893 p_requesting_entity_id => p_MODIFIERS_rec.list_line_id,
894 p_request_type =>QP_GLOBALS.G_UPDATE_LINE_QUAL_IND,
895 x_return_status => l_return_status);
896 END IF;
897
898 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.arithmetic_operator,p_old_MODIFIERS_rec.arithmetic_operator)
899 THEN
900 NULL;
901 END IF;
902
903 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.attribute1,p_old_MODIFIERS_rec.attribute1)
904 THEN
905 NULL;
906 END IF;
907
908 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.attribute10,p_old_MODIFIERS_rec.attribute10)
909 THEN
910 NULL;
911 END IF;
912
913 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.attribute11,p_old_MODIFIERS_rec.attribute11)
914 THEN
915 NULL;
916 END IF;
917
918 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.attribute12,p_old_MODIFIERS_rec.attribute12)
919 THEN
920 NULL;
921 END IF;
922
923 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.attribute13,p_old_MODIFIERS_rec.attribute13)
924 THEN
925 NULL;
926 END IF;
927
928 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.attribute14,p_old_MODIFIERS_rec.attribute14)
929 THEN
930 NULL;
931 END IF;
932
933 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.attribute15,p_old_MODIFIERS_rec.attribute15)
934 THEN
935 NULL;
936 END IF;
937
938 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.attribute2,p_old_MODIFIERS_rec.attribute2)
939 THEN
940 NULL;
941 END IF;
942
943 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.attribute3,p_old_MODIFIERS_rec.attribute3)
944 THEN
945 NULL;
946 END IF;
947
948 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.attribute4,p_old_MODIFIERS_rec.attribute4)
949 THEN
950 NULL;
951 END IF;
952
953 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.attribute5,p_old_MODIFIERS_rec.attribute5)
954 THEN
955 NULL;
956 END IF;
957
958 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.attribute6,p_old_MODIFIERS_rec.attribute6)
959 THEN
960 NULL;
961 END IF;
962
963 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.attribute7,p_old_MODIFIERS_rec.attribute7)
964 THEN
965 NULL;
966 END IF;
967
968 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.attribute8,p_old_MODIFIERS_rec.attribute8)
969 THEN
970 NULL;
971 END IF;
972
973 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.attribute9,p_old_MODIFIERS_rec.attribute9)
974 THEN
975 NULL;
976 END IF;
977
978 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.automatic_flag,p_old_MODIFIERS_rec.automatic_flag)
979 THEN
980 NULL;
981 END IF;
982
983 /* IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.base_qty,p_old_MODIFIERS_rec.base_qty)
984 THEN
985 NULL;
986 END IF;
987 */
988 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.pricing_phase_id,p_old_MODIFIERS_rec.pricing_phase_id)
989 THEN
990 -- NULL;
991 -- jagan's PL/SQL pattern
992 IF QP_JAVA_ENGINE_UTIL_PUB.Java_Engine_Installed = 'N' THEN
993 IF FND_PROFILE.VALUE('QP_PATTERN_SEARCH') = 'M' OR FND_PROFILE.VALUE('QP_PATTERN_SEARCH') = 'B' THEN
994 IF (p_MODIFIERS_rec.operation = OE_GLOBALS.G_OPR_UPDATE and p_MODIFIERS_rec.qualification_ind in (8,10) ) THEN
995 qp_delayed_requests_pvt.log_request(
996 p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
997 p_entity_id => p_MODIFIERS_rec.list_header_id,
998 p_request_unique_key1 => p_MODIFIERS_rec.list_line_id,
999 p_request_unique_key2 => 'UD',
1000 p_requesting_entity_code => QP_GLOBALS.G_ENTITY_ALL,
1001 p_requesting_entity_id => p_MODIFIERS_rec.list_header_id,
1002 p_request_type => QP_GLOBALS.G_MAINTAIN_PRODUCT_PATTERN,
1003 x_return_status => l_return_status);
1004 END IF;
1005 END IF;
1006 END IF;
1007 qp_delayed_requests_PVT.log_request(
1008 p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
1009 p_entity_id => p_MODIFIERS_rec.list_line_id,
1010 p_requesting_entity_code=> QP_GLOBALS.G_ENTITY_MODIFIERS,
1011 p_requesting_entity_id => p_MODIFIERS_rec.list_line_id,
1012 p_request_type =>QP_GLOBALS.G_UPDATE_PRICING_ATTR_PHASE,
1013 x_return_status => l_return_status);
1014
1015 qp_delayed_requests_PVT.log_request(
1016 p_entity_code => QP_GLOBALS.G_ENTITY_MODIFIERS,
1017 p_entity_id => p_modifiers_rec.list_line_id,
1018 p_param1 => p_modifiers_rec.list_header_id,
1019 p_requesting_entity_code=> QP_GLOBALS.G_ENTITY_MODIFIERS,
1020 p_requesting_entity_id => p_modifiers_rec.list_line_id,
1021 p_request_type =>QP_GLOBALS.G_MAINTAIN_LIST_HEADER_PHASES,
1022 x_return_status => l_return_status);
1023
1024 --hw
1025 -- log the changed lines API delayed request for phase change;
1026 if QP_PERF_PVT.enabled = 'Y' then
1027 qp_delayed_requests_pvt.log_request(
1028 p_entity_code => QP_GLOBALS.G_ENTITY_MODIFIER_LIST,
1029 p_entity_id => p_MODIFIERS_rec.list_line_id,
1030 p_requesting_entity_code => QP_GLOBALS.G_ENTITY_MODIFIERS,
1031 p_requesting_entity_id => p_MODIFIERS_rec.list_line_id,
1032 p_request_type => QP_GLOBALS.G_UPDATE_CHANGED_LINES_PH,
1033 p_param1 => p_MODIFIERS_rec.pricing_phase_id,
1034 p_param2 => p_old_MODIFIERS_rec.pricing_phase_id,
1035 x_return_status => l_return_status);
1036 end if;
1037
1038 END IF;
1039
1040 /* IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.base_uom_code,p_old_MODIFIERS_rec.base_uom_code)
1041 THEN
1042 NULL;
1043 END IF;
1044 */
1045 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.comments,p_old_MODIFIERS_rec.comments)
1046 THEN
1047 NULL;
1048 END IF;
1049
1050 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.context,p_old_MODIFIERS_rec.context)
1051 THEN
1052 NULL;
1053 END IF;
1054
1055 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.created_by,p_old_MODIFIERS_rec.created_by)
1056 THEN
1057 NULL;
1058 END IF;
1059
1060 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.creation_date,p_old_MODIFIERS_rec.creation_date)
1061 THEN
1062 NULL;
1063 END IF;
1064
1065 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.effective_period_uom,p_old_MODIFIERS_rec.effective_period_uom)
1066 THEN
1067 NULL;
1068 END IF;
1069
1070 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.end_date_active,p_old_MODIFIERS_rec.end_date_active)
1071 THEN
1072 NULL;
1073 END IF;
1074
1075 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.estim_accrual_rate,p_old_MODIFIERS_rec.estim_accrual_rate)
1076 THEN
1077 NULL;
1078 END IF;
1079
1080 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.generate_using_formula_id,p_old_MODIFIERS_rec.generate_using_formula_id)
1081 THEN
1082 NULL;
1083 END IF;
1084
1085 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.inventory_item_id,p_old_MODIFIERS_rec.inventory_item_id)
1086 THEN
1087 NULL;
1088 END IF;
1089
1090 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.last_updated_by,p_old_MODIFIERS_rec.last_updated_by)
1091 THEN
1092 NULL;
1093 END IF;
1094
1095 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.last_update_date,p_old_MODIFIERS_rec.last_update_date)
1096 THEN
1097 NULL;
1098 END IF;
1099
1100 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.last_update_login,p_old_MODIFIERS_rec.last_update_login)
1101 THEN
1102 NULL;
1103 END IF;
1104
1105 --made changes by spgopal per rchellam's request
1106 --qualification_ind has to be updated in delayed request only once, this is duplication to avoid performance problem
1107 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.list_header_id,p_old_MODIFIERS_rec.list_header_id)
1108 THEN
1109 /*
1110 qp_delayed_requests_PVT.log_request(
1111 p_entity_code => QP_GLOBALS.G_ENTITY_MODIFIER_LIST,
1112 p_entity_id => p_MODIFIERS_rec.list_header_id,
1113 p_requesting_entity_code=> QP_GLOBALS.G_ENTITY_MODIFIER_LIST,
1114 p_requesting_entity_id => p_MODIFIERS_rec.list_header_id,
1115 p_request_type =>QP_GLOBALS.G_UPDATE_LIST_QUAL_IND,
1116 x_return_status => l_return_status);
1117 */
1118 NULL;
1119 END IF;
1120
1121 /* mkarya for bug 1874586. Commenting out here and restoring the code at the begining of the procedure Apply_Attribute_Changes so that qualification_ind delayed requests are logged as first request
1122 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.list_line_id,p_old_MODIFIERS_rec.list_line_id)
1123 THEN
1124 qp_delayed_requests_PVT.log_request(
1125 p_entity_code => QP_GLOBALS.G_ENTITY_MODIFIERS,
1126 p_entity_id => p_MODIFIERS_rec.list_line_id,
1127 p_requesting_entity_code=> QP_GLOBALS.G_ENTITY_MODIFIERS,
1128 p_requesting_entity_id => p_MODIFIERS_rec.list_line_id,
1129 p_request_type =>QP_GLOBALS.G_UPDATE_LINE_QUAL_IND,
1130 x_return_status => l_return_status);
1131 END IF;
1132 */
1133
1134 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.list_line_type_code,p_old_MODIFIERS_rec.list_line_type_code)
1135 THEN
1136 --added by svdeshmu
1137
1138
1139 --hvop
1140
1141 oe_debug_pub.add('calling log request from QPXUMLLB.pls');
1142 qp_delayed_requests_PVT.log_request
1143 ( p_entity_code => QP_GLOBALS.G_ENTITY_MODIFIERS
1144 , p_entity_id => p_MODIFIERS_rec.list_line_id
1145 --, p_param1 => p_MODIFIERS_rec.list_line_type_code
1146 , p_requesting_entity_code=> QP_GLOBALS.G_ENTITY_MODIFIERS
1147 , p_requesting_entity_id => p_MODIFIERS_rec.list_line_id
1148 , p_request_type =>QP_GLOBALS.G_UPDATE_HVOP
1149 , x_return_status => l_return_status
1150 );
1151 --hvop
1152 if p_MODIFIERS_rec.list_line_type_code in ('PBH' ,'OID' ,'PRG') then
1153
1154 oe_debug_pub.add('calling log request from QPXUMLLB.pls');
1155 qp_delayed_requests_PVT.log_request
1156 ( p_entity_code => QP_GLOBALS.G_ENTITY_MODIFIERS
1157 , p_entity_id => p_MODIFIERS_rec.list_line_id
1158 , p_param1 => p_MODIFIERS_rec.list_line_type_code
1159 , p_requesting_entity_code=> QP_GLOBALS.G_ENTITY_MODIFIERS
1160 , p_requesting_entity_id => p_MODIFIERS_rec.list_line_id
1161 , p_request_type =>QP_GLOBALS.G_VALIDATE_LINES_FOR_CHILD
1162 , x_return_status => l_return_status
1163 );
1164
1165 else
1166 -- Fix For Bug No - 5251238 This is a latent issue
1167 begin
1168 IF qp_delayed_requests_PVT.Check_for_Request( p_entity_code => QP_GLOBALS.G_ENTITY_MODIFIERS
1169 , p_entity_id => p_MODIFIERS_rec.list_line_id
1170 , p_request_type => QP_GLOBALS.G_VALIDATE_LINES_FOR_CHILD
1171 ) THEN
1172 QP_delayed_requests_pvt.Delete_Request
1173 ( p_entity_code => QP_GLOBALS.G_ENTITY_MODIFIERS
1174 , p_entity_id => p_MODIFIERS_rec.list_line_id
1175 , p_request_Type => QP_GLOBALS.G_VALIDATE_LINES_FOR_CHILD
1176 , x_return_status => l_return_status
1177 );
1178 IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1179 RAISE FND_API.G_EXC_ERROR;
1180 END IF;
1181 END IF;
1182 end;
1183
1184 end if;
1185
1186
1187 if p_MODIFIERS_rec.list_line_type_code = 'PBH' then
1188
1189 oe_debug_pub.add('calling log request for overlapping breaks QPXUMLL');
1190 qp_delayed_requests_PVT.log_request
1191 ( p_entity_code => QP_GLOBALS.G_ENTITY_MODIFIERS
1192 , p_entity_id => p_MODIFIERS_rec.list_line_id
1193 , p_requesting_entity_code=> QP_GLOBALS.G_ENTITY_MODIFIERS
1194 , p_requesting_entity_id => p_MODIFIERS_rec.list_line_id
1195 , p_request_type =>QP_GLOBALS.G_OVERLAPPING_PRICE_BREAKS
1196 , x_return_status => l_return_status
1197 );
1198
1199 End If;
1200
1201
1202 --- end of additions by svdeshmu
1203
1204
1205 NULL;
1206 END IF;
1207
1208
1209 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.list_price,p_old_MODIFIERS_rec.list_price)
1210 THEN
1211 NULL;
1212 END IF;
1213 IF p_MODIFIERS_rec.list_line_type_code <> 'PMR' THEN -- for bug 15993256
1214 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.modifier_level_code,p_old_MODIFIERS_rec.modifier_level_code)
1215 THEN
1216 NULL;
1217 -- mkarya for attribute manager
1218 -- Log a delayed request to validate that if header level qualifier exist then at least
1219 -- one qualifier should exist for any existence of modifier line of modifier level
1220 -- 'LINE'/'LINEGROUP' or 'ORDER'
1221 oe_debug_pub.add('Logging a request G_CHECK_LINE_FOR_HEADER_QUAL for modifier level change');
1222 -- Bug 2419504, log this request only if attribute manager is installed
1223 IF qp_util.attrmgr_installed = 'Y' then
1224 qp_delayed_requests_PVT.log_request(
1225 p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
1226 p_entity_id => p_MODIFIERS_rec.list_header_id,
1227 p_request_unique_key1 => -1,
1228 p_requesting_entity_code=> QP_GLOBALS.G_ENTITY_ALL,
1229 p_requesting_entity_id => p_MODIFIERS_rec.list_header_id,
1230 p_request_type =>QP_GLOBALS.G_CHECK_LINE_FOR_HEADER_QUAL,
1231 x_return_status => l_return_status);
1232 END IF;
1233 END IF;
1234 END IF;
1235 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.number_effective_periods,p_old_MODIFIERS_rec.number_effective_periods)
1236 THEN
1237 NULL;
1238 END IF;
1239
1240 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.operand,p_old_MODIFIERS_rec.operand)
1241 THEN
1242 NULL;
1243 END IF;
1244
1245 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.organization_id,p_old_MODIFIERS_rec.organization_id)
1246 THEN
1247 NULL;
1248 END IF;
1249
1250 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.override_flag,p_old_MODIFIERS_rec.override_flag)
1251 THEN
1252 NULL;
1253 END IF;
1254
1255 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.percent_price,p_old_MODIFIERS_rec.percent_price)
1256 THEN
1257 NULL;
1258 END IF;
1259
1260 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.price_break_type_code,p_old_MODIFIERS_rec.price_break_type_code)
1261 THEN
1262 NULL;
1263 END IF;
1264
1265 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.price_by_formula_id,p_old_MODIFIERS_rec.price_by_formula_id)
1266 THEN
1267 NULL;
1268 END IF;
1269
1270 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.primary_uom_flag,p_old_MODIFIERS_rec.primary_uom_flag)
1271 THEN
1272 NULL;
1273 END IF;
1274
1275 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.print_on_invoice_flag,p_old_MODIFIERS_rec.print_on_invoice_flag)
1276 THEN
1277 NULL;
1278 END IF;
1279
1280 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.program_application_id,p_old_MODIFIERS_rec.program_application_id)
1281 THEN
1282 NULL;
1283 END IF;
1284
1285 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.program_id,p_old_MODIFIERS_rec.program_id)
1286 THEN
1287 NULL;
1288 END IF;
1289
1290 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.program_update_date,p_old_MODIFIERS_rec.program_update_date)
1291 THEN
1292 NULL;
1293 END IF;
1294
1295 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.rebate_trxn_type_code,p_old_MODIFIERS_rec.rebate_trxn_type_code)
1296 THEN
1297 NULL;
1298 END IF;
1299
1300 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.related_item_id,p_old_MODIFIERS_rec.related_item_id)
1301 THEN
1302 NULL;
1303 END IF;
1304
1305 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.relationship_type_id,p_old_MODIFIERS_rec.relationship_type_id)
1306 THEN
1307 NULL;
1308 END IF;
1309
1310 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.reprice_flag,p_old_MODIFIERS_rec.reprice_flag)
1311 THEN
1312 NULL;
1313 END IF;
1314
1315 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.request_id,p_old_MODIFIERS_rec.request_id)
1316 THEN
1317 NULL;
1318 END IF;
1319
1320 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.revision,p_old_MODIFIERS_rec.revision)
1321 THEN
1322 NULL;
1323 END IF;
1324
1325 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.revision_date,p_old_MODIFIERS_rec.revision_date)
1326 THEN
1327 NULL;
1328 END IF;
1329
1330 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.revision_reason_code,p_old_MODIFIERS_rec.revision_reason_code)
1331 THEN
1332 NULL;
1333 END IF;
1334
1335 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.start_date_active,p_old_MODIFIERS_rec.start_date_active)
1336 THEN
1337 NULL;
1338 END IF;
1339
1340 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.substitution_attribute,p_old_MODIFIERS_rec.substitution_attribute)
1341 THEN
1342 NULL;
1343 END IF;
1344
1345 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.substitution_context,p_old_MODIFIERS_rec.substitution_context)
1346 THEN
1347 NULL;
1348 END IF;
1349
1350 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.substitution_value,p_old_MODIFIERS_rec.substitution_value)
1351 THEN
1352 NULL;
1353 END IF;
1354
1355 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.accrual_flag,p_old_MODIFIERS_rec.accrual_flag)
1356 THEN
1357 NULL;
1358 END IF;
1359
1360 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.pricing_group_sequence,p_old_MODIFIERS_rec.pricing_group_sequence)
1361 THEN
1362 NULL;
1363 END IF;
1364
1365 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.incompatibility_grp_code,p_old_MODIFIERS_rec.incompatibility_grp_code)
1366 THEN
1367 NULL;
1368 END IF;
1369
1370 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.list_line_no,p_old_MODIFIERS_rec.list_line_no)
1371 THEN
1372 NULL;
1373 END IF;
1374
1375 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.product_precedence,p_old_MODIFIERS_rec.product_precedence)
1376 THEN
1377 -- bug 3703391 - update effective_precedence in qp_attribute_groups when no product is given but line qualifier given
1378 IF QP_JAVA_ENGINE_UTIL_PUB.Java_Engine_Installed = 'Y' THEN
1379 IF (p_MODIFIERS_rec.operation = OE_GLOBALS.G_OPR_UPDATE and p_MODIFIERS_rec.qualification_ind in (8,10) ) THEN
1380 qp_delayed_requests_pvt.log_request(
1381 p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
1382 p_entity_id => p_MODIFIERS_rec.list_header_id,
1383 p_request_unique_key1 => p_MODIFIERS_rec.list_line_id,
1384 p_request_unique_key2 => 'U',
1385 p_requesting_entity_code => QP_GLOBALS.G_ENTITY_ALL,
1386 p_requesting_entity_id => p_MODIFIERS_rec.list_header_id,
1387 p_request_type => QP_GLOBALS.G_MAINTAIN_PRODUCT_PATTERN,
1388 x_return_status => l_return_status);
1389 END IF;
1390 END IF;
1391 --pattern
1392 -- jagan's PL/SQL pattern
1393 IF QP_JAVA_ENGINE_UTIL_PUB.Java_Engine_Installed = 'N' THEN
1394 IF FND_PROFILE.VALUE('QP_PATTERN_SEARCH') = 'M' OR FND_PROFILE.VALUE('QP_PATTERN_SEARCH') = 'B' THEN
1395 IF (p_MODIFIERS_rec.operation = OE_GLOBALS.G_OPR_UPDATE and p_MODIFIERS_rec.qualification_ind in (8,10) ) THEN
1396 qp_delayed_requests_pvt.log_request(
1397 p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
1398 p_entity_id => p_MODIFIERS_rec.list_header_id,
1399 p_request_unique_key1 => p_MODIFIERS_rec.list_line_id,
1400 p_request_unique_key2 => 'U',
1401 p_requesting_entity_code => QP_GLOBALS.G_ENTITY_ALL,
1402 p_requesting_entity_id => p_MODIFIERS_rec.list_header_id,
1403 p_request_type => QP_GLOBALS.G_MAINTAIN_PRODUCT_PATTERN,
1404 x_return_status => l_return_status);
1405 END IF;
1406 END IF;
1407 END IF;
1408 NULL;
1409 END IF;
1410
1411 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.expiration_period_start_date,p_old_MODIFIERS_rec.expiration_period_start_date)
1412 THEN
1413 NULL;
1414 END IF;
1415
1416 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.number_expiration_periods,p_old_MODIFIERS_rec.number_expiration_periods)
1417 THEN
1418 NULL;
1419 END IF;
1420
1421 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.expiration_period_uom,p_old_MODIFIERS_rec.expiration_period_uom)
1422 THEN
1423 NULL;
1424 END IF;
1425
1426 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.expiration_date,p_old_MODIFIERS_rec.expiration_date)
1427 THEN
1428 NULL;
1429 END IF;
1430
1431 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.estim_gl_value,p_old_MODIFIERS_rec.estim_gl_value)
1432 THEN
1433 NULL;
1434 END IF;
1435
1436 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.benefit_price_list_line_id,p_old_MODIFIERS_rec.benefit_price_list_line_id)
1437 THEN
1438 NULL;
1439 END IF;
1440
1441 /* IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.recurring_flag,p_old_MODIFIERS_rec.recurring_flag)
1442 THEN
1443 NULL;
1444 END IF;
1445 */
1446 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.benefit_limit,p_old_MODIFIERS_rec.benefit_limit)
1447 THEN
1448 NULL;
1449 END IF;
1450
1451 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.charge_type_code,p_old_MODIFIERS_rec.charge_type_code)
1452 THEN
1453 NULL;
1454 END IF;
1455
1456 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.charge_subtype_code,p_old_MODIFIERS_rec.charge_subtype_code)
1457 THEN
1458 NULL;
1459 END IF;
1460
1461 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.benefit_qty,p_old_MODIFIERS_rec.benefit_qty)
1462 THEN
1463 NULL;
1464 END IF;
1465
1466 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.benefit_uom_code,p_old_MODIFIERS_rec.benefit_uom_code)
1467 THEN
1468 NULL;
1469 END IF;
1470
1471 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.accrual_conversion_rate,p_old_MODIFIERS_rec.accrual_conversion_rate)
1472 THEN
1473 NULL;
1474 END IF;
1475
1476 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.proration_type_code,p_old_MODIFIERS_rec.proration_type_code)
1477 THEN
1478 NULL;
1479 END IF;
1480
1481 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.include_on_returns_flag,p_old_MODIFIERS_rec.include_on_returns_flag)
1482 THEN
1483 NULL;
1484 END IF;
1485
1486 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.from_rltd_modifier_id,p_old_MODIFIERS_rec.from_rltd_modifier_id)
1487 THEN
1488 NULL;
1489 END IF;
1490
1491 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.to_rltd_modifier_id,p_old_MODIFIERS_rec.to_rltd_modifier_id)
1492 THEN
1493 NULL;
1494 END IF;
1495
1496 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.rltd_modifier_grp_no,p_old_MODIFIERS_rec.rltd_modifier_grp_no)
1497 THEN
1498 NULL;
1499 END IF;
1500
1501 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.rltd_modifier_grp_type,p_old_MODIFIERS_rec.rltd_modifier_grp_type)
1502 THEN
1503 NULL;
1504 END IF;
1505
1506 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.rltd_modifier_id,p_old_MODIFIERS_rec.rltd_modifier_id)
1507 THEN
1508 NULL;
1509 END IF;
1510
1511 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.accum_attribute,p_old_MODIFIERS_rec.accum_attribute)
1512 THEN
1513 NULL;
1514 END IF;
1515
1516 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.continuous_price_break_flag,p_old_MODIFIERS_rec.continuous_price_break_flag)
1517 THEN
1518 NULL;
1519 END IF;
1520 -- service project
1521 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.service_duration,p_old_MODIFIERS_rec.service_duration)
1522 THEN
1523 NULL;
1524 END IF;
1525 IF NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.service_period,p_old_MODIFIERS_rec.service_period)
1526 THEN
1527 NULL;
1528 END IF;
1529 -- service project
1530
1531 oe_debug_pub.add('END Apply_Attribute_Changes in QPXUMLLB');
1532
1533 END Apply_Attribute_Changes;
1534
1535 -- Function Complete_Record
1536
1537 FUNCTION Complete_Record
1538 ( p_MODIFIERS_rec IN QP_Modifiers_PUB.Modifiers_Rec_Type
1539 , p_old_MODIFIERS_rec IN QP_Modifiers_PUB.Modifiers_Rec_Type
1540 ) RETURN QP_Modifiers_PUB.Modifiers_Rec_Type
1541 IS
1542 l_MODIFIERS_rec QP_Modifiers_PUB.Modifiers_Rec_Type := p_MODIFIERS_rec;
1543 BEGIN
1544
1545 oe_debug_pub.add('BEGIN Complete_Record in QPXUMLLB');
1546
1547 IF l_MODIFIERS_rec.arithmetic_operator = FND_API.G_MISS_CHAR THEN
1548 l_MODIFIERS_rec.arithmetic_operator := p_old_MODIFIERS_rec.arithmetic_operator;
1549 END IF;
1550
1551 IF l_MODIFIERS_rec.attribute1 = FND_API.G_MISS_CHAR THEN
1552 l_MODIFIERS_rec.attribute1 := p_old_MODIFIERS_rec.attribute1;
1553 END IF;
1554
1555 IF l_MODIFIERS_rec.attribute10 = FND_API.G_MISS_CHAR THEN
1556 l_MODIFIERS_rec.attribute10 := p_old_MODIFIERS_rec.attribute10;
1557 END IF;
1558
1559 IF l_MODIFIERS_rec.attribute11 = FND_API.G_MISS_CHAR THEN
1560 l_MODIFIERS_rec.attribute11 := p_old_MODIFIERS_rec.attribute11;
1561 END IF;
1562
1563 IF l_MODIFIERS_rec.attribute12 = FND_API.G_MISS_CHAR THEN
1564 l_MODIFIERS_rec.attribute12 := p_old_MODIFIERS_rec.attribute12;
1565 END IF;
1566
1567 IF l_MODIFIERS_rec.attribute13 = FND_API.G_MISS_CHAR THEN
1568 l_MODIFIERS_rec.attribute13 := p_old_MODIFIERS_rec.attribute13;
1569 END IF;
1570
1571 IF l_MODIFIERS_rec.attribute14 = FND_API.G_MISS_CHAR THEN
1572 l_MODIFIERS_rec.attribute14 := p_old_MODIFIERS_rec.attribute14;
1573 END IF;
1574
1575 IF l_MODIFIERS_rec.attribute15 = FND_API.G_MISS_CHAR THEN
1576 l_MODIFIERS_rec.attribute15 := p_old_MODIFIERS_rec.attribute15;
1577 END IF;
1578
1579 IF l_MODIFIERS_rec.attribute2 = FND_API.G_MISS_CHAR THEN
1580 l_MODIFIERS_rec.attribute2 := p_old_MODIFIERS_rec.attribute2;
1581 END IF;
1582
1583 IF l_MODIFIERS_rec.attribute3 = FND_API.G_MISS_CHAR THEN
1584 l_MODIFIERS_rec.attribute3 := p_old_MODIFIERS_rec.attribute3;
1585 END IF;
1586
1587 IF l_MODIFIERS_rec.attribute4 = FND_API.G_MISS_CHAR THEN
1588 l_MODIFIERS_rec.attribute4 := p_old_MODIFIERS_rec.attribute4;
1589 END IF;
1590
1591 IF l_MODIFIERS_rec.attribute5 = FND_API.G_MISS_CHAR THEN
1592 l_MODIFIERS_rec.attribute5 := p_old_MODIFIERS_rec.attribute5;
1593 END IF;
1594
1595 IF l_MODIFIERS_rec.attribute6 = FND_API.G_MISS_CHAR THEN
1596 l_MODIFIERS_rec.attribute6 := p_old_MODIFIERS_rec.attribute6;
1597 END IF;
1598
1599 IF l_MODIFIERS_rec.attribute7 = FND_API.G_MISS_CHAR THEN
1600 l_MODIFIERS_rec.attribute7 := p_old_MODIFIERS_rec.attribute7;
1601 END IF;
1602
1603 IF l_MODIFIERS_rec.attribute8 = FND_API.G_MISS_CHAR THEN
1604 l_MODIFIERS_rec.attribute8 := p_old_MODIFIERS_rec.attribute8;
1605 END IF;
1606
1607 IF l_MODIFIERS_rec.attribute9 = FND_API.G_MISS_CHAR THEN
1608 l_MODIFIERS_rec.attribute9 := p_old_MODIFIERS_rec.attribute9;
1609 END IF;
1610
1611 IF l_MODIFIERS_rec.automatic_flag = FND_API.G_MISS_CHAR THEN
1612 l_MODIFIERS_rec.automatic_flag := p_old_MODIFIERS_rec.automatic_flag;
1613 END IF;
1614
1615 /* IF l_MODIFIERS_rec.base_qty = FND_API.G_MISS_NUM THEN
1616 l_MODIFIERS_rec.base_qty := p_old_MODIFIERS_rec.base_qty;
1617 END IF;
1618 */
1619 IF l_MODIFIERS_rec.pricing_phase_id = FND_API.G_MISS_NUM THEN
1620 l_MODIFIERS_rec.pricing_phase_id := p_old_MODIFIERS_rec.pricing_phase_id;
1621 END IF;
1622
1623 /* IF l_MODIFIERS_rec.base_uom_code = FND_API.G_MISS_CHAR THEN
1624 l_MODIFIERS_rec.base_uom_code := p_old_MODIFIERS_rec.base_uom_code;
1625 END IF;
1626 */
1627 IF l_MODIFIERS_rec.comments = FND_API.G_MISS_CHAR THEN
1628 l_MODIFIERS_rec.comments := p_old_MODIFIERS_rec.comments;
1629 END IF;
1630
1631 IF l_MODIFIERS_rec.context = FND_API.G_MISS_CHAR THEN
1632 l_MODIFIERS_rec.context := p_old_MODIFIERS_rec.context;
1633 END IF;
1634
1635 IF l_MODIFIERS_rec.created_by = FND_API.G_MISS_NUM THEN
1636 l_MODIFIERS_rec.created_by := p_old_MODIFIERS_rec.created_by;
1637 END IF;
1638
1639 IF l_MODIFIERS_rec.creation_date = FND_API.G_MISS_DATE THEN
1640 l_MODIFIERS_rec.creation_date := p_old_MODIFIERS_rec.creation_date;
1641 END IF;
1642
1643 IF l_MODIFIERS_rec.effective_period_uom = FND_API.G_MISS_CHAR THEN
1644 l_MODIFIERS_rec.effective_period_uom := p_old_MODIFIERS_rec.effective_period_uom;
1645 END IF;
1646
1647 IF l_MODIFIERS_rec.end_date_active = FND_API.G_MISS_DATE THEN
1648 l_MODIFIERS_rec.end_date_active := p_old_MODIFIERS_rec.end_date_active;
1649 END IF;
1650
1651 IF l_MODIFIERS_rec.estim_accrual_rate = FND_API.G_MISS_NUM THEN
1652 l_MODIFIERS_rec.estim_accrual_rate := p_old_MODIFIERS_rec.estim_accrual_rate;
1653 END IF;
1654
1655 IF l_MODIFIERS_rec.generate_using_formula_id = FND_API.G_MISS_NUM THEN
1656 l_MODIFIERS_rec.generate_using_formula_id := p_old_MODIFIERS_rec.generate_using_formula_id;
1657 END IF;
1658
1659 IF l_MODIFIERS_rec.inventory_item_id = FND_API.G_MISS_NUM THEN
1660 l_MODIFIERS_rec.inventory_item_id := p_old_MODIFIERS_rec.inventory_item_id;
1661 END IF;
1662
1663 IF l_MODIFIERS_rec.last_updated_by = FND_API.G_MISS_NUM THEN
1664 l_MODIFIERS_rec.last_updated_by := p_old_MODIFIERS_rec.last_updated_by;
1665 END IF;
1666
1667 IF l_MODIFIERS_rec.last_update_date = FND_API.G_MISS_DATE THEN
1668 l_MODIFIERS_rec.last_update_date := p_old_MODIFIERS_rec.last_update_date;
1669 END IF;
1670
1671 IF l_MODIFIERS_rec.last_update_login = FND_API.G_MISS_NUM THEN
1672 l_MODIFIERS_rec.last_update_login := p_old_MODIFIERS_rec.last_update_login;
1673 END IF;
1674
1675 IF l_MODIFIERS_rec.list_header_id = FND_API.G_MISS_NUM THEN
1676 l_MODIFIERS_rec.list_header_id := p_old_MODIFIERS_rec.list_header_id;
1677 END IF;
1678
1679 IF l_MODIFIERS_rec.list_line_id = FND_API.G_MISS_NUM THEN
1680 l_MODIFIERS_rec.list_line_id := p_old_MODIFIERS_rec.list_line_id;
1681 END IF;
1682
1683 IF l_MODIFIERS_rec.list_line_type_code = FND_API.G_MISS_CHAR THEN
1684 l_MODIFIERS_rec.list_line_type_code := p_old_MODIFIERS_rec.list_line_type_code;
1685 END IF;
1686
1687 IF l_MODIFIERS_rec.list_price = FND_API.G_MISS_NUM THEN
1688 l_MODIFIERS_rec.list_price := p_old_MODIFIERS_rec.list_price;
1689 END IF;
1690
1691 IF l_MODIFIERS_rec.modifier_level_code = FND_API.G_MISS_CHAR THEN
1692 l_MODIFIERS_rec.modifier_level_code := p_old_MODIFIERS_rec.modifier_level_code;
1693 END IF;
1694
1695 IF l_MODIFIERS_rec.number_effective_periods = FND_API.G_MISS_NUM THEN
1696 l_MODIFIERS_rec.number_effective_periods := p_old_MODIFIERS_rec.number_effective_periods;
1697 END IF;
1698
1699 IF l_MODIFIERS_rec.operand = FND_API.G_MISS_NUM THEN
1700 l_MODIFIERS_rec.operand := p_old_MODIFIERS_rec.operand;
1701 END IF;
1702
1703 IF l_MODIFIERS_rec.organization_id = FND_API.G_MISS_NUM THEN
1704 l_MODIFIERS_rec.organization_id := p_old_MODIFIERS_rec.organization_id;
1705 END IF;
1706
1707 IF l_MODIFIERS_rec.override_flag = FND_API.G_MISS_CHAR THEN
1708 l_MODIFIERS_rec.override_flag := p_old_MODIFIERS_rec.override_flag;
1709 END IF;
1710
1711 IF l_MODIFIERS_rec.percent_price = FND_API.G_MISS_NUM THEN
1712 l_MODIFIERS_rec.percent_price := p_old_MODIFIERS_rec.percent_price;
1713 END IF;
1714
1715 IF l_MODIFIERS_rec.price_break_type_code = FND_API.G_MISS_CHAR THEN
1716 l_MODIFIERS_rec.price_break_type_code := p_old_MODIFIERS_rec.price_break_type_code;
1717 END IF;
1718
1719 IF l_MODIFIERS_rec.price_by_formula_id = FND_API.G_MISS_NUM THEN
1720 l_MODIFIERS_rec.price_by_formula_id := p_old_MODIFIERS_rec.price_by_formula_id;
1721 END IF;
1722
1723 IF l_MODIFIERS_rec.primary_uom_flag = FND_API.G_MISS_CHAR THEN
1724 l_MODIFIERS_rec.primary_uom_flag := p_old_MODIFIERS_rec.primary_uom_flag;
1725 END IF;
1726
1727 IF l_MODIFIERS_rec.print_on_invoice_flag = FND_API.G_MISS_CHAR THEN
1728 l_MODIFIERS_rec.print_on_invoice_flag := p_old_MODIFIERS_rec.print_on_invoice_flag;
1729 END IF;
1730
1731 IF l_MODIFIERS_rec.program_application_id = FND_API.G_MISS_NUM THEN
1732 l_MODIFIERS_rec.program_application_id := p_old_MODIFIERS_rec.program_application_id;
1733 END IF;
1734
1735 IF l_MODIFIERS_rec.program_id = FND_API.G_MISS_NUM THEN
1736 l_MODIFIERS_rec.program_id := p_old_MODIFIERS_rec.program_id;
1737 END IF;
1738
1739 IF l_MODIFIERS_rec.program_update_date = FND_API.G_MISS_DATE THEN
1740 l_MODIFIERS_rec.program_update_date := p_old_MODIFIERS_rec.program_update_date;
1741 END IF;
1742
1743 IF l_MODIFIERS_rec.rebate_trxn_type_code = FND_API.G_MISS_CHAR THEN
1744 l_MODIFIERS_rec.rebate_trxn_type_code := p_old_MODIFIERS_rec.rebate_trxn_type_code;
1745 END IF;
1746
1747 IF l_MODIFIERS_rec.related_item_id = FND_API.G_MISS_NUM THEN
1748 l_MODIFIERS_rec.related_item_id := p_old_MODIFIERS_rec.related_item_id;
1749 END IF;
1750
1751 IF l_MODIFIERS_rec.relationship_type_id = FND_API.G_MISS_NUM THEN
1752 l_MODIFIERS_rec.relationship_type_id := p_old_MODIFIERS_rec.relationship_type_id;
1753 END IF;
1754
1755 IF l_MODIFIERS_rec.reprice_flag = FND_API.G_MISS_CHAR THEN
1756 l_MODIFIERS_rec.reprice_flag := p_old_MODIFIERS_rec.reprice_flag;
1757 END IF;
1758
1759 IF l_MODIFIERS_rec.request_id = FND_API.G_MISS_NUM THEN
1760 l_MODIFIERS_rec.request_id := p_old_MODIFIERS_rec.request_id;
1761 END IF;
1762
1763 IF l_MODIFIERS_rec.revision = FND_API.G_MISS_CHAR THEN
1764 l_MODIFIERS_rec.revision := p_old_MODIFIERS_rec.revision;
1765 END IF;
1766
1767 IF l_MODIFIERS_rec.revision_date = FND_API.G_MISS_DATE THEN
1768 l_MODIFIERS_rec.revision_date := p_old_MODIFIERS_rec.revision_date;
1769 END IF;
1770
1771 IF l_MODIFIERS_rec.revision_reason_code = FND_API.G_MISS_CHAR THEN
1772 l_MODIFIERS_rec.revision_reason_code := p_old_MODIFIERS_rec.revision_reason_code;
1773 END IF;
1774
1775 IF l_MODIFIERS_rec.start_date_active = FND_API.G_MISS_DATE THEN
1776 l_MODIFIERS_rec.start_date_active := p_old_MODIFIERS_rec.start_date_active;
1777 END IF;
1778
1779 IF l_MODIFIERS_rec.substitution_attribute = FND_API.G_MISS_CHAR THEN
1780 l_MODIFIERS_rec.substitution_attribute := p_old_MODIFIERS_rec.substitution_attribute;
1781 END IF;
1782
1783 IF l_MODIFIERS_rec.substitution_context = FND_API.G_MISS_CHAR THEN
1784 l_MODIFIERS_rec.substitution_context := p_old_MODIFIERS_rec.substitution_context;
1785 END IF;
1786
1787 IF l_MODIFIERS_rec.substitution_value = FND_API.G_MISS_CHAR THEN
1788 l_MODIFIERS_rec.substitution_value := p_old_MODIFIERS_rec.substitution_value;
1789 END IF;
1790
1791 IF l_MODIFIERS_rec.accrual_flag = FND_API.G_MISS_CHAR THEN
1792 l_MODIFIERS_rec.accrual_flag := p_old_MODIFIERS_rec.accrual_flag;
1793 END IF;
1794
1795 IF l_MODIFIERS_rec.pricing_group_sequence = FND_API.G_MISS_NUM THEN
1796 l_MODIFIERS_rec.pricing_group_sequence := p_old_MODIFIERS_rec.pricing_group_sequence;
1797 END IF;
1798
1799 IF l_MODIFIERS_rec.incompatibility_grp_code = FND_API.G_MISS_CHAR THEN
1800 l_MODIFIERS_rec.incompatibility_grp_code := p_old_MODIFIERS_rec.incompatibility_grp_code;
1801 END IF;
1802
1803 IF l_MODIFIERS_rec.list_line_no = FND_API.G_MISS_CHAR THEN
1804 l_MODIFIERS_rec.list_line_no := p_old_MODIFIERS_rec.list_line_no;
1805 END IF;
1806
1807 IF l_MODIFIERS_rec.product_precedence = FND_API.G_MISS_NUM THEN
1808 l_MODIFIERS_rec.product_precedence := p_old_MODIFIERS_rec.product_precedence;
1809 END IF;
1810
1811 IF l_MODIFIERS_rec.expiration_period_start_date = FND_API.G_MISS_DATE THEN
1812 l_MODIFIERS_rec.expiration_period_start_date := p_old_MODIFIERS_rec.expiration_period_start_date;
1813 END IF;
1814
1815 IF l_MODIFIERS_rec.number_expiration_periods = FND_API.G_MISS_NUM THEN
1816 l_MODIFIERS_rec.number_expiration_periods := p_old_MODIFIERS_rec.number_expiration_periods;
1817 END IF;
1818
1819 IF l_MODIFIERS_rec.expiration_period_uom = FND_API.G_MISS_CHAR THEN
1820 l_MODIFIERS_rec.expiration_period_uom := p_old_MODIFIERS_rec.expiration_period_uom;
1821 END IF;
1822
1823 IF l_MODIFIERS_rec.expiration_date = FND_API.G_MISS_DATE THEN
1824 l_MODIFIERS_rec.expiration_date := p_old_MODIFIERS_rec.expiration_date;
1825 END IF;
1826
1827 IF l_MODIFIERS_rec.estim_gl_value = FND_API.G_MISS_NUM THEN
1828 l_MODIFIERS_rec.estim_gl_value := p_old_MODIFIERS_rec.estim_gl_value;
1829 END IF;
1830
1831 IF l_MODIFIERS_rec.benefit_price_list_line_id = FND_API.G_MISS_NUM THEN
1832 l_MODIFIERS_rec.benefit_price_list_line_id := p_old_MODIFIERS_rec.benefit_price_list_line_id;
1833 END IF;
1834
1835 /* IF l_MODIFIERS_rec.recurring_flag = FND_API.G_MISS_CHAR THEN
1836 l_MODIFIERS_rec.recurring_flag := p_old_MODIFIERS_rec.recurring_flag;
1837 END IF;
1838 */
1839 IF l_MODIFIERS_rec.benefit_limit = FND_API.G_MISS_NUM THEN
1840 l_MODIFIERS_rec.benefit_limit := p_old_MODIFIERS_rec.benefit_limit;
1841 END IF;
1842
1843 IF l_MODIFIERS_rec.charge_type_code = FND_API.G_MISS_CHAR THEN
1844 l_MODIFIERS_rec.charge_type_code := p_old_MODIFIERS_rec.charge_type_code;
1845 END IF;
1846
1847 IF l_MODIFIERS_rec.charge_subtype_code = FND_API.G_MISS_CHAR THEN
1848 l_MODIFIERS_rec.charge_subtype_code := p_old_MODIFIERS_rec.charge_subtype_code;
1849 END IF;
1850
1851 IF l_MODIFIERS_rec.benefit_qty = FND_API.G_MISS_NUM THEN
1852 l_MODIFIERS_rec.benefit_qty := p_old_MODIFIERS_rec.benefit_qty;
1853 END IF;
1854
1855 IF l_MODIFIERS_rec.benefit_uom_code = FND_API.G_MISS_CHAR THEN
1856 l_MODIFIERS_rec.benefit_uom_code := p_old_MODIFIERS_rec.benefit_uom_code;
1857 END IF;
1858
1859 IF l_MODIFIERS_rec.accrual_conversion_rate = FND_API.G_MISS_NUM THEN
1860 l_MODIFIERS_rec.accrual_conversion_rate := p_old_MODIFIERS_rec.accrual_conversion_rate;
1861 END IF;
1862
1863 IF l_MODIFIERS_rec.proration_type_code = FND_API.G_MISS_CHAR THEN
1864 l_MODIFIERS_rec.proration_type_code := p_old_MODIFIERS_rec.proration_type_code;
1865 END IF;
1866
1867 IF l_MODIFIERS_rec.include_on_returns_flag = FND_API.G_MISS_CHAR THEN
1868 l_MODIFIERS_rec.include_on_returns_flag := p_old_MODIFIERS_rec.include_on_returns_flag;
1869 END IF;
1870
1871 IF l_MODIFIERS_rec.from_rltd_modifier_id = FND_API.G_MISS_NUM THEN
1872 l_MODIFIERS_rec.from_rltd_modifier_id := p_old_MODIFIERS_rec.from_rltd_modifier_id;
1873 END IF;
1874
1875 IF l_MODIFIERS_rec.to_rltd_modifier_id = FND_API.G_MISS_NUM THEN
1876 l_MODIFIERS_rec.to_rltd_modifier_id := p_old_MODIFIERS_rec.to_rltd_modifier_id;
1877 END IF;
1878
1879 IF l_MODIFIERS_rec.rltd_modifier_grp_no = FND_API.G_MISS_NUM THEN
1880 l_MODIFIERS_rec.rltd_modifier_grp_no := p_old_MODIFIERS_rec.rltd_modifier_grp_no;
1881 END IF;
1882
1883 IF l_MODIFIERS_rec.rltd_modifier_grp_type = FND_API.G_MISS_CHAR THEN
1884 l_MODIFIERS_rec.rltd_modifier_grp_type := p_old_MODIFIERS_rec.rltd_modifier_grp_type;
1885 END IF;
1886
1887 IF l_MODIFIERS_rec.rltd_modifier_id = FND_API.G_MISS_NUM THEN
1888 l_MODIFIERS_rec.rltd_modifier_id := p_old_MODIFIERS_rec.rltd_modifier_id;
1889 END IF;
1890
1891 IF l_MODIFIERS_rec.qualification_ind = FND_API.G_MISS_NUM THEN
1892 l_MODIFIERS_rec.qualification_ind := p_old_MODIFIERS_rec.qualification_ind;
1893 END IF;
1894
1895 IF l_MODIFIERS_rec.accum_attribute = FND_API.G_MISS_CHAR THEN
1896 l_MODIFIERS_rec.accum_attribute := p_old_MODIFIERS_rec.accum_attribute;
1897 END IF;
1898
1899 IF l_MODIFIERS_rec.net_amount_flag = FND_API.G_MISS_CHAR THEN
1900 l_MODIFIERS_rec.net_amount_flag := p_old_MODIFIERS_rec.net_amount_flag;
1901 END IF;
1902
1903 IF l_MODIFIERS_rec.continuous_price_break_flag = FND_API.G_MISS_CHAR THEN
1904 l_MODIFIERS_rec.continuous_price_break_flag := p_old_MODIFIERS_rec.continuous_price_break_flag;
1905 END IF;
1906 -- service project
1907 IF l_MODIFIERS_rec.service_duration = FND_API.G_MISS_NUM THEN
1908 l_MODIFIERS_rec.service_duration := p_old_MODIFIERS_rec.service_duration;
1909 END IF;
1910 IF l_MODIFIERS_rec.service_period = FND_API.G_MISS_CHAR THEN
1911 l_MODIFIERS_rec.service_period := p_old_MODIFIERS_rec.service_period;
1912 END IF;
1913 -- service project
1914
1915 oe_debug_pub.add('END Complete_Record in QPXUMLLB');
1916
1917 RETURN l_MODIFIERS_rec;
1918
1919 END Complete_Record;
1920
1921 -- Function Convert_Miss_To_Null
1922
1923 FUNCTION Convert_Miss_To_Null
1924 ( p_MODIFIERS_rec IN QP_Modifiers_PUB.Modifiers_Rec_Type
1925 ) RETURN QP_Modifiers_PUB.Modifiers_Rec_Type
1926 IS
1927 l_MODIFIERS_rec QP_Modifiers_PUB.Modifiers_Rec_Type := p_MODIFIERS_rec;
1928 BEGIN
1929
1930 oe_debug_pub.add('BEGIN Convert_Miss_To_Null in QPXUMLLB');
1931
1932 IF l_MODIFIERS_rec.arithmetic_operator = FND_API.G_MISS_CHAR THEN
1933 l_MODIFIERS_rec.arithmetic_operator := NULL;
1934 END IF;
1935
1936 IF l_MODIFIERS_rec.attribute1 = FND_API.G_MISS_CHAR THEN
1937 l_MODIFIERS_rec.attribute1 := NULL;
1938 END IF;
1939
1940 IF l_MODIFIERS_rec.attribute10 = FND_API.G_MISS_CHAR THEN
1941 l_MODIFIERS_rec.attribute10 := NULL;
1942 END IF;
1943
1944 IF l_MODIFIERS_rec.attribute11 = FND_API.G_MISS_CHAR THEN
1945 l_MODIFIERS_rec.attribute11 := NULL;
1946 END IF;
1947
1948 IF l_MODIFIERS_rec.attribute12 = FND_API.G_MISS_CHAR THEN
1949 l_MODIFIERS_rec.attribute12 := NULL;
1950 END IF;
1951
1952 IF l_MODIFIERS_rec.attribute13 = FND_API.G_MISS_CHAR THEN
1953 l_MODIFIERS_rec.attribute13 := NULL;
1954 END IF;
1955
1956 IF l_MODIFIERS_rec.attribute14 = FND_API.G_MISS_CHAR THEN
1957 l_MODIFIERS_rec.attribute14 := NULL;
1958 END IF;
1959
1960 IF l_MODIFIERS_rec.attribute15 = FND_API.G_MISS_CHAR THEN
1961 l_MODIFIERS_rec.attribute15 := NULL;
1962 END IF;
1963
1964 IF l_MODIFIERS_rec.attribute2 = FND_API.G_MISS_CHAR THEN
1965 l_MODIFIERS_rec.attribute2 := NULL;
1966 END IF;
1967
1968 IF l_MODIFIERS_rec.attribute3 = FND_API.G_MISS_CHAR THEN
1969 l_MODIFIERS_rec.attribute3 := NULL;
1970 END IF;
1971
1972 IF l_MODIFIERS_rec.attribute4 = FND_API.G_MISS_CHAR THEN
1973 l_MODIFIERS_rec.attribute4 := NULL;
1974 END IF;
1975
1976 IF l_MODIFIERS_rec.attribute5 = FND_API.G_MISS_CHAR THEN
1977 l_MODIFIERS_rec.attribute5 := NULL;
1978 END IF;
1979
1980 IF l_MODIFIERS_rec.attribute6 = FND_API.G_MISS_CHAR THEN
1981 l_MODIFIERS_rec.attribute6 := NULL;
1982 END IF;
1983
1984 IF l_MODIFIERS_rec.attribute7 = FND_API.G_MISS_CHAR THEN
1985 l_MODIFIERS_rec.attribute7 := NULL;
1986 END IF;
1987
1988 IF l_MODIFIERS_rec.attribute8 = FND_API.G_MISS_CHAR THEN
1989 l_MODIFIERS_rec.attribute8 := NULL;
1990 END IF;
1991
1992 IF l_MODIFIERS_rec.attribute9 = FND_API.G_MISS_CHAR THEN
1993 l_MODIFIERS_rec.attribute9 := NULL;
1994 END IF;
1995
1996 IF l_MODIFIERS_rec.automatic_flag = FND_API.G_MISS_CHAR THEN
1997 l_MODIFIERS_rec.automatic_flag := NULL;
1998 END IF;
1999
2000 /* IF l_MODIFIERS_rec.base_qty = FND_API.G_MISS_NUM THEN
2001 l_MODIFIERS_rec.base_qty := NULL;
2002 END IF;
2003 */
2004 IF l_MODIFIERS_rec.pricing_phase_id = FND_API.G_MISS_NUM THEN
2005 l_MODIFIERS_rec.pricing_phase_id := NULL;
2006 END IF;
2007
2008 /* IF l_MODIFIERS_rec.base_uom_code = FND_API.G_MISS_CHAR THEN
2009 l_MODIFIERS_rec.base_uom_code := NULL;
2010 END IF;
2011 */
2012 IF l_MODIFIERS_rec.comments = FND_API.G_MISS_CHAR THEN
2013 l_MODIFIERS_rec.comments := NULL;
2014 END IF;
2015
2016 IF l_MODIFIERS_rec.context = FND_API.G_MISS_CHAR THEN
2017 l_MODIFIERS_rec.context := NULL;
2018 END IF;
2019
2020 IF l_MODIFIERS_rec.created_by = FND_API.G_MISS_NUM THEN
2021 l_MODIFIERS_rec.created_by := NULL;
2022 END IF;
2023
2024 IF l_MODIFIERS_rec.creation_date = FND_API.G_MISS_DATE THEN
2025 l_MODIFIERS_rec.creation_date := NULL;
2026 END IF;
2027
2028 IF l_MODIFIERS_rec.effective_period_uom = FND_API.G_MISS_CHAR THEN
2029 l_MODIFIERS_rec.effective_period_uom := NULL;
2030 END IF;
2031
2032 IF l_MODIFIERS_rec.end_date_active = FND_API.G_MISS_DATE THEN
2033 l_MODIFIERS_rec.end_date_active := NULL;
2034 END IF;
2035
2036 IF l_MODIFIERS_rec.estim_accrual_rate = FND_API.G_MISS_NUM THEN
2037 l_MODIFIERS_rec.estim_accrual_rate := NULL;
2038 END IF;
2039
2040 IF l_MODIFIERS_rec.generate_using_formula_id = FND_API.G_MISS_NUM THEN
2041 l_MODIFIERS_rec.generate_using_formula_id := NULL;
2042 END IF;
2043
2044 IF l_MODIFIERS_rec.inventory_item_id = FND_API.G_MISS_NUM THEN
2045 l_MODIFIERS_rec.inventory_item_id := NULL;
2046 END IF;
2047
2048 IF l_MODIFIERS_rec.last_updated_by = FND_API.G_MISS_NUM THEN
2049 l_MODIFIERS_rec.last_updated_by := NULL;
2050 END IF;
2051
2052 IF l_MODIFIERS_rec.last_update_date = FND_API.G_MISS_DATE THEN
2053 l_MODIFIERS_rec.last_update_date := NULL;
2054 END IF;
2055
2056 IF l_MODIFIERS_rec.last_update_login = FND_API.G_MISS_NUM THEN
2057 l_MODIFIERS_rec.last_update_login := NULL;
2058 END IF;
2059
2060 IF l_MODIFIERS_rec.list_header_id = FND_API.G_MISS_NUM THEN
2061 l_MODIFIERS_rec.list_header_id := NULL;
2062 END IF;
2063
2064 IF l_MODIFIERS_rec.list_line_id = FND_API.G_MISS_NUM THEN
2065 l_MODIFIERS_rec.list_line_id := NULL;
2066 END IF;
2067
2068 IF l_MODIFIERS_rec.list_line_type_code = FND_API.G_MISS_CHAR THEN
2069 l_MODIFIERS_rec.list_line_type_code := NULL;
2070 END IF;
2071
2072 IF l_MODIFIERS_rec.list_price = FND_API.G_MISS_NUM THEN
2073 l_MODIFIERS_rec.list_price := NULL;
2074 END IF;
2075
2076 IF l_MODIFIERS_rec.modifier_level_code = FND_API.G_MISS_CHAR THEN
2077 l_MODIFIERS_rec.modifier_level_code := NULL;
2078 END IF;
2079
2080 IF l_MODIFIERS_rec.number_effective_periods = FND_API.G_MISS_NUM THEN
2081 l_MODIFIERS_rec.number_effective_periods := NULL;
2082 END IF;
2083
2084 IF l_MODIFIERS_rec.operand = FND_API.G_MISS_NUM THEN
2085 l_MODIFIERS_rec.operand := NULL;
2086 END IF;
2087
2088 IF l_MODIFIERS_rec.organization_id = FND_API.G_MISS_NUM THEN
2089 l_MODIFIERS_rec.organization_id := NULL;
2090 END IF;
2091
2092 IF l_MODIFIERS_rec.override_flag = FND_API.G_MISS_CHAR THEN
2093 l_MODIFIERS_rec.override_flag := NULL;
2094 END IF;
2095
2096 IF l_MODIFIERS_rec.percent_price = FND_API.G_MISS_NUM THEN
2097 l_MODIFIERS_rec.percent_price := NULL;
2098 END IF;
2099
2100 IF l_MODIFIERS_rec.price_break_type_code = FND_API.G_MISS_CHAR THEN
2101 l_MODIFIERS_rec.price_break_type_code := NULL;
2102 END IF;
2103
2104 IF l_MODIFIERS_rec.price_by_formula_id = FND_API.G_MISS_NUM THEN
2105 l_MODIFIERS_rec.price_by_formula_id := NULL;
2106 END IF;
2107
2108 IF l_MODIFIERS_rec.primary_uom_flag = FND_API.G_MISS_CHAR THEN
2109 l_MODIFIERS_rec.primary_uom_flag := NULL;
2110 END IF;
2111
2112 IF l_MODIFIERS_rec.print_on_invoice_flag = FND_API.G_MISS_CHAR THEN
2113 l_MODIFIERS_rec.print_on_invoice_flag := NULL;
2114 END IF;
2115
2116 IF l_MODIFIERS_rec.program_application_id = FND_API.G_MISS_NUM THEN
2117 l_MODIFIERS_rec.program_application_id := NULL;
2118 END IF;
2119
2120 IF l_MODIFIERS_rec.program_id = FND_API.G_MISS_NUM THEN
2121 l_MODIFIERS_rec.program_id := NULL;
2122 END IF;
2123
2124 IF l_MODIFIERS_rec.program_update_date = FND_API.G_MISS_DATE THEN
2125 l_MODIFIERS_rec.program_update_date := NULL;
2126 END IF;
2127
2128 IF l_MODIFIERS_rec.rebate_trxn_type_code = FND_API.G_MISS_CHAR THEN
2129 l_MODIFIERS_rec.rebate_trxn_type_code := NULL;
2130 END IF;
2131
2132 IF l_MODIFIERS_rec.related_item_id = FND_API.G_MISS_NUM THEN
2133 l_MODIFIERS_rec.related_item_id := NULL;
2134 END IF;
2135
2136 IF l_MODIFIERS_rec.relationship_type_id = FND_API.G_MISS_NUM THEN
2137 l_MODIFIERS_rec.relationship_type_id := NULL;
2138 END IF;
2139
2140 IF l_MODIFIERS_rec.reprice_flag = FND_API.G_MISS_CHAR THEN
2141 l_MODIFIERS_rec.reprice_flag := NULL;
2142 END IF;
2143
2144 IF l_MODIFIERS_rec.request_id = FND_API.G_MISS_NUM THEN
2145 l_MODIFIERS_rec.request_id := NULL;
2146 END IF;
2147
2148 IF l_MODIFIERS_rec.revision = FND_API.G_MISS_CHAR THEN
2149 l_MODIFIERS_rec.revision := NULL;
2150 END IF;
2151
2152 IF l_MODIFIERS_rec.revision_date = FND_API.G_MISS_DATE THEN
2153 l_MODIFIERS_rec.revision_date := NULL;
2154 END IF;
2155
2156 IF l_MODIFIERS_rec.revision_reason_code = FND_API.G_MISS_CHAR THEN
2157 l_MODIFIERS_rec.revision_reason_code := NULL;
2158 END IF;
2159
2160 IF l_MODIFIERS_rec.start_date_active = FND_API.G_MISS_DATE THEN
2161 l_MODIFIERS_rec.start_date_active := NULL;
2162 END IF;
2163
2164 IF l_MODIFIERS_rec.substitution_attribute = FND_API.G_MISS_CHAR THEN
2165 l_MODIFIERS_rec.substitution_attribute := NULL;
2166 END IF;
2167
2168 IF l_MODIFIERS_rec.substitution_context = FND_API.G_MISS_CHAR THEN
2169 l_MODIFIERS_rec.substitution_context := NULL;
2170 END IF;
2171
2172 IF l_MODIFIERS_rec.substitution_value = FND_API.G_MISS_CHAR THEN
2173 l_MODIFIERS_rec.substitution_value := NULL;
2174 END IF;
2175
2176 IF l_MODIFIERS_rec.accrual_flag = FND_API.G_MISS_CHAR THEN
2177 l_MODIFIERS_rec.accrual_flag := NULL;
2178 END IF;
2179
2180 IF l_MODIFIERS_rec.pricing_group_sequence = FND_API.G_MISS_NUM THEN
2181 l_MODIFIERS_rec.pricing_group_sequence := NULL;
2182 END IF;
2183
2184 IF l_MODIFIERS_rec.incompatibility_grp_code = FND_API.G_MISS_CHAR THEN
2185 l_MODIFIERS_rec.incompatibility_grp_code := NULL;
2186 END IF;
2187
2188 IF l_MODIFIERS_rec.list_line_no = FND_API.G_MISS_CHAR THEN
2189 l_MODIFIERS_rec.list_line_no := NULL;
2190 END IF;
2191
2192 IF l_MODIFIERS_rec.product_precedence = FND_API.G_MISS_NUM THEN
2193 l_MODIFIERS_rec.product_precedence := NULL;
2194 END IF;
2195
2196 IF l_MODIFIERS_rec.expiration_period_start_date = FND_API.G_MISS_DATE THEN
2197 l_MODIFIERS_rec.expiration_period_start_date := NULL;
2198 END IF;
2199
2200 IF l_MODIFIERS_rec.number_expiration_periods = FND_API.G_MISS_NUM THEN
2201 l_MODIFIERS_rec.number_expiration_periods := NULL;
2202 END IF;
2203
2204 IF l_MODIFIERS_rec.expiration_period_uom = FND_API.G_MISS_CHAR THEN
2205 l_MODIFIERS_rec.expiration_period_uom := NULL;
2206 END IF;
2207
2208 IF l_MODIFIERS_rec.expiration_date = FND_API.G_MISS_DATE THEN
2209 l_MODIFIERS_rec.expiration_date := NULL;
2210 END IF;
2211
2212 IF l_MODIFIERS_rec.estim_gl_value = FND_API.G_MISS_NUM THEN
2213 l_MODIFIERS_rec.estim_gl_value := NULL;
2214 END IF;
2215
2216 IF l_MODIFIERS_rec.benefit_price_list_line_id = FND_API.G_MISS_NUM THEN
2217 l_MODIFIERS_rec.benefit_price_list_line_id := NULL;
2218 END IF;
2219
2220 /* IF l_MODIFIERS_rec.recurring_flag = FND_API.G_MISS_CHAR THEN
2221 l_MODIFIERS_rec.recurring_flag := NULL;
2222 END IF;
2223 */
2224 IF l_MODIFIERS_rec.benefit_limit = FND_API.G_MISS_NUM THEN
2225 l_MODIFIERS_rec.benefit_limit := NULL;
2226 END IF;
2227
2228 IF l_MODIFIERS_rec.charge_type_code = FND_API.G_MISS_CHAR THEN
2229 l_MODIFIERS_rec.charge_type_code := NULL;
2230 END IF;
2231
2232 IF l_MODIFIERS_rec.charge_subtype_code = FND_API.G_MISS_CHAR THEN
2233 l_MODIFIERS_rec.charge_subtype_code := NULL;
2234 END IF;
2235
2236 IF l_MODIFIERS_rec.benefit_qty = FND_API.G_MISS_NUM THEN
2237 l_MODIFIERS_rec.benefit_qty := NULL;
2238 END IF;
2239
2240 IF l_MODIFIERS_rec.benefit_uom_code = FND_API.G_MISS_CHAR THEN
2241 l_MODIFIERS_rec.benefit_uom_code := NULL;
2242 END IF;
2243
2244 IF l_MODIFIERS_rec.accrual_conversion_rate = FND_API.G_MISS_NUM THEN
2245 l_MODIFIERS_rec.accrual_conversion_rate := NULL;
2246 END IF;
2247
2248 IF l_MODIFIERS_rec.proration_type_code = FND_API.G_MISS_CHAR THEN
2249 l_MODIFIERS_rec.proration_type_code := NULL;
2250 END IF;
2251
2252 IF l_MODIFIERS_rec.include_on_returns_flag = FND_API.G_MISS_CHAR THEN
2253 l_MODIFIERS_rec.include_on_returns_flag := NULL;
2254 END IF;
2255
2256 IF l_MODIFIERS_rec.from_rltd_modifier_id = FND_API.G_MISS_NUM THEN
2257 l_MODIFIERS_rec.from_rltd_modifier_id := NULL;
2258 END IF;
2259
2260 IF l_MODIFIERS_rec.to_rltd_modifier_id = FND_API.G_MISS_NUM THEN
2261 l_MODIFIERS_rec.to_rltd_modifier_id := NULL;
2262 END IF;
2263
2264 IF l_MODIFIERS_rec.rltd_modifier_grp_no = FND_API.G_MISS_NUM THEN
2265 l_MODIFIERS_rec.rltd_modifier_grp_no := NULL;
2266 END IF;
2267
2268 IF l_MODIFIERS_rec.rltd_modifier_grp_type = FND_API.G_MISS_CHAR THEN
2269 l_MODIFIERS_rec.rltd_modifier_grp_type := NULL;
2270 END IF;
2271
2272 IF l_MODIFIERS_rec.rltd_modifier_id = FND_API.G_MISS_NUM THEN
2273 l_MODIFIERS_rec.rltd_modifier_id := NULL;
2274 END IF;
2275
2276 IF l_MODIFIERS_rec.qualification_ind = FND_API.G_MISS_NUM THEN
2277 l_MODIFIERS_rec.qualification_ind := NULL;
2278 END IF;
2279
2280 IF l_MODIFIERS_rec.accum_attribute = FND_API.G_MISS_CHAR THEN
2281 l_MODIFIERS_rec.accum_attribute := NULL;
2282 END IF;
2283
2284 IF l_MODIFIERS_rec.continuous_price_break_flag = FND_API.G_MISS_CHAR THEN
2285 l_MODIFIERS_rec.continuous_price_break_flag := NULL;
2286 END IF;
2287 -- service project
2288 IF l_MODIFIERS_rec.service_duration = FND_API.G_MISS_NUM THEN
2289 l_MODIFIERS_rec.service_duration := NULL;
2290 END IF;
2291 IF l_MODIFIERS_rec.service_period = FND_API.G_MISS_CHAR THEN
2292 l_MODIFIERS_rec.service_period := NULL;
2293 END IF;
2294 -- service project
2295
2296 oe_debug_pub.add('END Complete_Record in QPXUMLLB');
2297 oe_debug_pub.add('END Convert_Miss_To_Null in QPXUMLLB');
2298
2299 RETURN l_MODIFIERS_rec;
2300
2301 END Convert_Miss_To_Null;
2302
2303 ---------------------------------------------------------------------------
2304
2305 --PRIVATE PROCEDURE TO UPDATE CHILD LINES OF OID, PRG AND PBH
2306
2307 ---------------------------------------------------------------------------
2308
2309 PROCEDURE UPDATE_CHILD_LINES(p_MODIFIERS_rec IN
2310 QP_MODIFIERS_PUB.Modifiers_rec_type) IS
2311
2312 l_status NUMBER;
2313 l_modifier_grp_type varchar2(30) := 'NOVAL';
2314 l_list_line_id NUMBER;
2315 l_list_line_type_code VARCHAR2(30);
2316 l_MODIFIERS_rec QP_LIST_LINES%rowtype;
2317
2318 Cursor C_child_records(l_list_line_id number) IS
2319 SELECT *
2320 FROM QP_LIST_LINES qll
2321 WHERE qll.list_line_id IN
2322 (select to_rltd_modifier_id from
2323 qp_rltd_modifiers qrm where
2324 from_rltd_modifier_id = l_list_line_id);
2325
2326 BEGIN
2327
2328 oe_debug_pub.add('begin update child lines');
2329
2330 l_list_line_id := p_Modifiers_rec.list_line_id;
2331
2332 IF p_MODIFIERS_rec.list_line_type_code = 'PBH' THEN
2333
2334 l_modifier_grp_type := 'PRICE BREAK';
2335
2336 --updating all child break lines
2337
2338 open C_child_records(l_list_line_id); LOOP
2339 fetch C_child_records into l_MODIFIERS_rec;
2340
2341 EXIT WHEN C_child_records%NOTFOUND;
2342
2343
2344 oe_debug_pub.add('update child lines'||to_char(p_MODIFIERS_rec.list_line_id));
2345
2346 --fix for bug 1407684 unique index on list_line_no
2347 update qp_list_lines set
2348 -- list_line_no = p_MODIFIERS_rec.list_line_no
2349 modifier_level_code = p_MODIFIERS_rec.modifier_level_code
2350 ,automatic_flag = p_MODIFIERS_rec.automatic_flag
2351 ,override_flag = p_MODIFIERS_rec.override_flag
2352 ,Print_on_invoice_flag = p_MODIFIERS_rec.Print_on_invoice_flag
2353 ,price_break_type_code = p_MODIFIERS_rec.price_break_type_code
2354 ,Proration_type_code = p_MODIFIERS_rec.Proration_type_code
2355 ,Incompatibility_Grp_code= p_MODIFIERS_rec.Incompatibility_Grp_code
2356 ,Pricing_phase_id = p_MODIFIERS_rec.Pricing_phase_id
2357 ,Pricing_group_sequence = p_MODIFIERS_rec.Pricing_group_sequence
2358 ,accrual_flag = p_MODIFIERS_rec.accrual_flag
2359 ,estim_accrual_rate = p_MODIFIERS_rec.estim_accrual_rate
2360 ,rebate_transaction_type_code = p_MODIFIERS_rec.rebate_trxn_type_code
2361 ,expiration_date = p_MODIFIERS_rec.expiration_date
2362 ,expiration_period_start_date = p_MODIFIERS_rec.expiration_period_start_date
2363 ,expiration_period_uom = p_MODIFIERS_rec.expiration_period_uom
2364 ,number_expiration_periods = p_MODIFIERS_rec.number_expiration_periods
2365
2366 where list_line_id = l_MODIFIERS_rec.list_line_id;
2367
2368 END LOOP;
2369
2370 close C_child_records;
2371
2372 ELSIF p_MODIFIERS_rec.list_line_type_code IN ( 'OID','PRG') THEN
2373
2374 -- l_modifier_grp_type := '('BENEFIT', 'QUALIFIER')';
2375
2376 oe_debug_pub.add('update child lines'||to_char(p_MODIFIERS_rec.list_line_id));
2377
2378
2379 --update OID child records
2380
2381 open C_child_records(l_list_line_id); LOOP
2382 fetch C_child_records into l_MODIFIERS_rec;
2383
2384 EXIT WHEN C_child_records%NOTFOUND;
2385
2386 --get or related records
2387
2388
2389 --fix for bug 1407684 unique index on list_line_no
2390 update qp_list_lines set
2391 -- list_line_no = p_MODIFIERS_rec.list_line_no
2392 modifier_level_code = p_MODIFIERS_rec.modifier_level_code
2393 ,automatic_flag = p_MODIFIERS_rec.automatic_flag
2394 ,override_flag = p_MODIFIERS_rec.override_flag
2395 ,Print_on_invoice_flag = p_MODIFIERS_rec.Print_on_invoice_flag
2396 -- ,price_break_type_code = p_MODIFIERS_rec.price_break_type_code --2749159
2397 ,Proration_type_code = p_MODIFIERS_rec.Proration_type_code
2398 ,Incompatibility_Grp_code= p_MODIFIERS_rec.Incompatibility_Grp_code
2399 ,Pricing_phase_id = p_MODIFIERS_rec.Pricing_phase_id
2400 ,Pricing_group_sequence = p_MODIFIERS_rec.Pricing_group_sequence
2401 ,accrual_flag = p_MODIFIERS_rec.accrual_flag
2402 ,estim_accrual_rate = p_MODIFIERS_rec.estim_accrual_rate
2403 ,rebate_transaction_type_code = p_MODIFIERS_rec.rebate_trxn_type_code
2404 ,expiration_date = p_MODIFIERS_rec.expiration_date
2405 ,expiration_period_start_date = p_MODIFIERS_rec.expiration_period_start_date
2406 ,expiration_period_uom = p_MODIFIERS_rec.expiration_period_uom
2407 ,number_expiration_periods = p_MODIFIERS_rec.number_expiration_periods
2408
2409 where list_line_id = l_MODIFIERS_rec.list_line_id;
2410
2411
2412
2413
2414
2415 END LOOP;
2416
2417 close C_child_records;
2418
2419
2420 ELSE
2421
2422 null;
2423
2424 END IF;
2425
2426 oe_debug_pub.add('end update child lines');
2427
2428 EXCEPTION
2429
2430 WHEN OTHERS THEN
2431
2432 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2433 THEN
2434 OE_MSG_PUB.Add_Exc_Msg
2435 ( G_PKG_NAME
2436 , 'Update_Child_Lines'
2437 );
2438 END IF;
2439
2440 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2441 oe_debug_pub.add('exp update child lines');
2442
2443 END UPDATE_CHILD_LINES;
2444
2445
2446
2447
2448
2449 ---------------------------------------------------------------------------
2450
2451 -- Procedure Update_Row
2452
2453 PROCEDURE Update_Row
2454 ( p_MODIFIERS_rec IN QP_Modifiers_PUB.Modifiers_Rec_Type
2455 )
2456 IS
2457 v_accum_context VARCHAR2(30) := NULL;
2458 v_accum_flag VARCHAR2(1) := NULL;
2459 l_pte_code VARCHAR2(30);
2460 l_sourcing_method VARCHAR2(30);
2461 l_check_active_flag VARCHAR2(1); /* Accumulation */
2462 l_active_flag VARCHAR2(1); /* Accumulation */
2463 BEGIN
2464
2465 oe_debug_pub.add('BEGIN Update_Row in QPXUMLLB');
2466 IF (p_MODIFIERS_rec.accum_attribute IS NOT NULL AND
2467 p_MODIFIERS_rec.accum_attribute <> FND_API.G_MISS_CHAR) THEN
2468 v_accum_context := 'VOLUME';
2469
2470 BEGIN
2471 l_pte_code:=nvl(fnd_profile.value('QP_PRICING_TRANSACTION_ENTITY'), 'ORDFUL');
2472
2473 SELECT nvl(user_sourcing_method,seeded_sourcing_method)
2474 INTO l_sourcing_method
2475 FROM qp_pte_segments ps, qp_segments_b s, qp_prc_contexts_b c
2476 WHERE c.prc_context_code = 'VOLUME'
2477 AND c.prc_context_type = 'PRICING_ATTRIBUTE'
2478 AND c.prc_context_id = s.prc_context_id
2479 AND s.segment_mapping_column = p_MODIFIERS_rec.accum_attribute
2480 AND s.segment_id = ps.segment_id
2481 AND ps.pte_code = l_pte_code;
2482 EXCEPTION
2483 WHEN NO_DATA_FOUND THEN
2484 NULL;
2485 END;
2486
2487 IF l_sourcing_method = 'RUNTIME SOURCED' THEN
2488 v_accum_flag := 'Y';
2489 ELSE
2490 v_accum_flag := 'N';
2491 END IF;
2492 END IF;
2493
2494 /* Accumulation Start */
2495 BEGIN
2496 SELECT ACTIVE_FLAG
2497 INTO l_active_flag
2498 FROM QP_LIST_HEADERS_B a,QP_LIST_LINES b
2499 WHERE b.list_line_id=p_MODIFIERS_rec.list_line_id
2500 AND b.LIST_HEADER_ID = a.list_header_id;
2501 EXCEPTION
2502 WHEN NO_DATA_FOUND THEN
2503 NULL;
2504 END;
2505 /* Accumulation End */
2506
2507
2508 UPDATE QP_LIST_LINES
2509 SET ARITHMETIC_OPERATOR = p_MODIFIERS_rec.arithmetic_operator
2510 , ATTRIBUTE1 = p_MODIFIERS_rec.attribute1
2511 , ATTRIBUTE10 = p_MODIFIERS_rec.attribute10
2512 , ATTRIBUTE11 = p_MODIFIERS_rec.attribute11
2513 , ATTRIBUTE12 = p_MODIFIERS_rec.attribute12
2514 , ATTRIBUTE13 = p_MODIFIERS_rec.attribute13
2515 , ATTRIBUTE14 = p_MODIFIERS_rec.attribute14
2516 , ATTRIBUTE15 = p_MODIFIERS_rec.attribute15
2517 , ATTRIBUTE2 = p_MODIFIERS_rec.attribute2
2518 , ATTRIBUTE3 = p_MODIFIERS_rec.attribute3
2519 , ATTRIBUTE4 = p_MODIFIERS_rec.attribute4
2520 , ATTRIBUTE5 = p_MODIFIERS_rec.attribute5
2521 , ATTRIBUTE6 = p_MODIFIERS_rec.attribute6
2522 , ATTRIBUTE7 = p_MODIFIERS_rec.attribute7
2523 , ATTRIBUTE8 = p_MODIFIERS_rec.attribute8
2524 , ATTRIBUTE9 = p_MODIFIERS_rec.attribute9
2525 , AUTOMATIC_FLAG = p_MODIFIERS_rec.automatic_flag
2526 -- , BASE_QTY = p_MODIFIERS_rec.base_qty
2527 , PRICING_PHASE_ID = p_MODIFIERS_rec.pricing_phase_id
2528 -- , BASE_UOM_CODE = p_MODIFIERS_rec.base_uom_code
2529 , COMMENTS = p_MODIFIERS_rec.comments
2530 , CONTEXT = p_MODIFIERS_rec.context
2531 , CREATED_BY = p_MODIFIERS_rec.created_by
2532 , CREATION_DATE = p_MODIFIERS_rec.creation_date
2533 , EFFECTIVE_PERIOD_UOM = p_MODIFIERS_rec.effective_period_uom
2534 , END_DATE_ACTIVE = p_MODIFIERS_rec.end_date_active
2535 , ESTIM_ACCRUAL_RATE = p_MODIFIERS_rec.estim_accrual_rate
2536 , GENERATE_USING_FORMULA_ID = p_MODIFIERS_rec.generate_using_formula_id
2537 , INVENTORY_ITEM_ID = p_MODIFIERS_rec.inventory_item_id
2538 , LAST_UPDATED_BY = p_MODIFIERS_rec.last_updated_by
2539 , LAST_UPDATE_DATE = p_MODIFIERS_rec.last_update_date
2540 , LAST_UPDATE_LOGIN = p_MODIFIERS_rec.last_update_login
2541 , LIST_HEADER_ID = p_MODIFIERS_rec.list_header_id
2542 , LIST_LINE_ID = p_MODIFIERS_rec.list_line_id
2543 , LIST_LINE_TYPE_CODE = p_MODIFIERS_rec.list_line_type_code
2544 , LIST_PRICE = p_MODIFIERS_rec.list_price
2545 , MODIFIER_LEVEL_CODE = p_MODIFIERS_rec.modifier_level_code
2546 , NUMBER_EFFECTIVE_PERIODS = p_MODIFIERS_rec.number_effective_periods
2547 , OPERAND = p_MODIFIERS_rec.operand
2548 , ORGANIZATION_ID = p_MODIFIERS_rec.organization_id
2549 , OVERRIDE_FLAG = p_MODIFIERS_rec.override_flag
2550 , PERCENT_PRICE = p_MODIFIERS_rec.percent_price
2551 , PRICE_BREAK_TYPE_CODE = p_MODIFIERS_rec.price_break_type_code
2552 , PRICE_BY_FORMULA_ID = p_MODIFIERS_rec.price_by_formula_id
2553 , PRIMARY_UOM_FLAG = p_MODIFIERS_rec.primary_uom_flag
2554 , PRINT_ON_INVOICE_FLAG = p_MODIFIERS_rec.print_on_invoice_flag
2555 , PROGRAM_APPLICATION_ID = p_MODIFIERS_rec.program_application_id
2556 , PROGRAM_ID = p_MODIFIERS_rec.program_id
2557 , PROGRAM_UPDATE_DATE = p_MODIFIERS_rec.program_update_date
2558 , REBATE_TRANSACTION_TYPE_CODE = p_MODIFIERS_rec.rebate_trxn_type_code
2559 , RELATED_ITEM_ID = p_MODIFIERS_rec.related_item_id
2560 , RELATIONSHIP_TYPE_ID = p_MODIFIERS_rec.relationship_type_id
2561 , REPRICE_FLAG = p_MODIFIERS_rec.reprice_flag
2562 , REQUEST_ID = p_MODIFIERS_rec.request_id
2563 , REVISION = p_MODIFIERS_rec.revision
2564 , REVISION_DATE = p_MODIFIERS_rec.revision_date
2565 , REVISION_REASON_CODE = p_MODIFIERS_rec.revision_reason_code
2566 , START_DATE_ACTIVE = p_MODIFIERS_rec.start_date_active
2567 , SUBSTITUTION_ATTRIBUTE = p_MODIFIERS_rec.substitution_attribute
2568 , SUBSTITUTION_CONTEXT = p_MODIFIERS_rec.substitution_context
2569 , SUBSTITUTION_VALUE = p_MODIFIERS_rec.substitution_value
2570 , ACCRUAL_FLAG = p_MODIFIERS_rec.accrual_flag
2571 , PRICING_GROUP_SEQUENCE = p_MODIFIERS_rec.pricing_group_sequence
2572 , INCOMPATIBILITY_GRP_CODE = p_MODIFIERS_rec.incompatibility_grp_code
2573 , LIST_LINE_NO = p_MODIFIERS_rec.list_line_no
2574 , PRODUCT_PRECEDENCE = p_MODIFIERS_rec.product_precedence
2575 , EXPIRATION_PERIOD_START_DATE = p_MODIFIERS_rec.expiration_period_start_date
2576 , NUMBER_EXPIRATION_PERIODS = p_MODIFIERS_rec.number_expiration_periods
2577 , EXPIRATION_PERIOD_UOM = p_MODIFIERS_rec.expiration_period_uom
2578 , EXPIRATION_DATE = p_MODIFIERS_rec.expiration_date
2579 , ESTIM_GL_VALUE = p_MODIFIERS_rec.estim_gl_value
2580 , BENEFIT_PRICE_LIST_LINE_ID = p_MODIFIERS_rec.benefit_price_list_line_id
2581 -- , RECURRING_FLAG = p_MODIFIERS_rec.recurring_flag
2582 , BENEFIT_LIMIT = p_MODIFIERS_rec.benefit_limit
2583 , CHARGE_TYPE_CODE = p_MODIFIERS_rec.charge_type_code
2584 , CHARGE_SUBTYPE_CODE = p_MODIFIERS_rec.charge_subtype_code
2585 , BENEFIT_QTY = p_MODIFIERS_rec.benefit_qty
2586 , BENEFIT_UOM_CODE = p_MODIFIERS_rec.benefit_uom_code
2587 , ACCRUAL_CONVERSION_RATE = p_MODIFIERS_rec.accrual_conversion_rate
2588 , PRORATION_TYPE_CODE = p_MODIFIERS_rec.proration_type_code
2589 , INCLUDE_ON_RETURNS_FLAG = p_MODIFIERS_rec.include_on_returns_flag
2590 , QUALIFICATION_IND = p_MODIFIERS_rec.qualification_ind
2591 , NET_AMOUNT_FLAG = p_MODIFIERS_rec.net_amount_flag
2592 , ACCUM_ATTRIBUTE = p_MODIFIERS_rec.accum_attribute
2593 , ACCUM_CONTEXT = v_accum_context
2594 , ACCUM_ATTR_RUN_SRC_FLAG = v_accum_flag
2595 , CONTINUOUS_PRICE_BREAK_FLAG = p_MODIFIERS_rec.continuous_price_break_flag
2596 , SERVICE_DURATION = p_MODIFIERS_rec.service_duration -- service project
2597 , SERVICE_PERIOD = p_MODIFIERS_rec.service_period -- service project
2598 WHERE LIST_LINE_ID = p_MODIFIERS_rec.list_line_id
2599 ;
2600
2601
2602 if p_Modifiers_rec.list_line_type_code in ('PBH', 'OID', 'PRG') then
2603 --update child lines
2604 oe_debug_pub.add('start update child'||p_modifiers_rec.list_line_type_code);
2605 update_child_lines(p_Modifiers_rec);
2606 oe_debug_pub.add('end update child'||p_modifiers_rec.list_line_type_code);
2607
2608 else
2609
2610 null;
2611 end if;
2612
2613 /* Accumulation Start */
2614 l_check_active_flag:=nvl(fnd_profile.value('QP_BUILD_ATTRIBUTES_MAPPING_OPTIONS'),'N');
2615 IF (l_check_active_flag='N') OR (l_check_active_flag='Y' AND l_active_flag='Y') THEN
2616 IF(v_accum_context IS NOT NULL) AND
2617 (p_MODIFIERS_rec.accum_attribute IS NOT NULL) THEN
2618
2619 UPDATE qp_pte_segments set used_in_setup='Y'
2620 WHERE nvl(used_in_setup,'N')='N'
2621 AND segment_id IN
2622 (SELECT a.segment_id FROM qp_segments_b a,qp_prc_contexts_b b
2623 WHERE a.segment_mapping_column=p_MODIFIERS_rec.accum_attribute
2624 AND a.prc_context_id=b.prc_context_id
2625 AND b.prc_context_type = 'PRICING_ATTRIBUTE'
2626 AND b.prc_context_code=v_accum_context);
2627
2628 END IF;
2629 END IF;
2630 /* Accumulation End */
2631
2632 oe_debug_pub.add('END Update_Row in QPXUMLLB');
2633
2634 EXCEPTION
2635
2636 WHEN DUP_VAL_ON_INDEX THEN
2637
2638 FND_MESSAGE.SET_NAME('QP','QP_DUPLICATE_MODIFIER_NUMBER');
2639 OE_MSG_PUB.Add;
2640 RAISE FND_API.G_EXC_ERROR;
2641
2642 WHEN OTHERS THEN
2643
2644 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2645 THEN
2646 OE_MSG_PUB.Add_Exc_Msg
2647 ( G_PKG_NAME
2648 , 'Update_Row'
2649 );
2650 END IF;
2651
2652 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2653
2654 END Update_Row;
2655
2656 -- Procedure Insert_Row
2657
2658 PROCEDURE Insert_Row
2659 ( p_MODIFIERS_rec IN QP_Modifiers_PUB.Modifiers_Rec_Type
2660 )
2661 IS
2662 l_return_status VARCHAR2(30);
2663 l_gsa_indicator VARCHAR2(1);
2664 v_accum_context VARCHAR2(30) := NULL;
2665 v_accum_flag VARCHAR2(1) := NULL;
2666 l_pte_code VARCHAR2(30);
2667 l_sourcing_method VARCHAR2(30);
2668 l_check_active_flag VARCHAR2(1); /* Accumulation */
2669 l_active_flag VARCHAR2(1); /* Accumulation */
2670 BEGIN
2671
2672 oe_debug_pub.add('BEGIN Insert_Row in QPXUMLLB'||p_MODIFIERS_rec.list_line_type_code);
2673
2674 IF (p_MODIFIERS_rec.accum_attribute IS NOT NULL AND
2675 p_MODIFIERS_rec.accum_attribute <> FND_API.G_MISS_CHAR) THEN
2676 v_accum_context := 'VOLUME';
2677
2678 BEGIN
2679 l_pte_code:=nvl(fnd_profile.value('QP_PRICING_TRANSACTION_ENTITY'), 'ORDFUL');
2680
2681 SELECT nvl(user_sourcing_method,seeded_sourcing_method)
2682 INTO l_sourcing_method
2683 FROM qp_pte_segments ps, qp_segments_b s, qp_prc_contexts_b c
2684 WHERE c.prc_context_code = 'VOLUME'
2685 AND c.prc_context_type = 'PRICING_ATTRIBUTE'
2686 AND c.prc_context_id = s.prc_context_id
2687 AND s.segment_mapping_column = p_MODIFIERS_rec.accum_attribute
2688 AND s.segment_id = ps.segment_id
2689 AND ps.pte_code = l_pte_code;
2690 EXCEPTION
2691 WHEN NO_DATA_FOUND THEN
2692 NULL;
2693 END;
2694
2695 IF l_sourcing_method = 'RUNTIME SOURCED' THEN
2696 v_accum_flag := 'Y';
2697 ELSE
2698 v_accum_flag := 'N';
2699 END IF;
2700 END IF;
2701
2702 /* Accumulation Start */
2703 BEGIN
2704 SELECT ACTIVE_FLAG
2705 INTO l_active_flag
2706 FROM QP_LIST_HEADERS_B
2707 WHERE list_header_id=p_MODIFIERS_rec.list_header_id;
2708 EXCEPTION
2709 WHEN NO_DATA_FOUND THEN
2710 NULL;
2711 END;
2712 /* Accumulation End */
2713
2714 INSERT INTO QP_LIST_LINES
2715 ( ARITHMETIC_OPERATOR
2716 , ATTRIBUTE1
2717 , ATTRIBUTE10
2718 , ATTRIBUTE11
2719 , ATTRIBUTE12
2720 , ATTRIBUTE13
2721 , ATTRIBUTE14
2722 , ATTRIBUTE15
2723 , ATTRIBUTE2
2724 , ATTRIBUTE3
2725 , ATTRIBUTE4
2726 , ATTRIBUTE5
2727 , ATTRIBUTE6
2728 , ATTRIBUTE7
2729 , ATTRIBUTE8
2730 , ATTRIBUTE9
2731 , AUTOMATIC_FLAG
2732 -- , BASE_QTY
2733 , PRICING_PHASE_ID
2734 -- , BASE_UOM_CODE
2735 , COMMENTS
2736 , CONTEXT
2737 , CREATED_BY
2738 , CREATION_DATE
2739 , EFFECTIVE_PERIOD_UOM
2740 , END_DATE_ACTIVE
2741 , ESTIM_ACCRUAL_RATE
2742 , GENERATE_USING_FORMULA_ID
2743 , INVENTORY_ITEM_ID
2744 , LAST_UPDATED_BY
2745 , LAST_UPDATE_DATE
2746 , LAST_UPDATE_LOGIN
2747 , LIST_HEADER_ID
2748 , LIST_LINE_ID
2749 , LIST_LINE_TYPE_CODE
2750 , LIST_PRICE
2751 , MODIFIER_LEVEL_CODE
2752 , NUMBER_EFFECTIVE_PERIODS
2753 , OPERAND
2754 , ORGANIZATION_ID
2755 , OVERRIDE_FLAG
2756 , PERCENT_PRICE
2757 , PRICE_BREAK_TYPE_CODE
2758 , PRICE_BY_FORMULA_ID
2759 , PRIMARY_UOM_FLAG
2760 , PRINT_ON_INVOICE_FLAG
2761 , PROGRAM_APPLICATION_ID
2762 , PROGRAM_ID
2763 , PROGRAM_UPDATE_DATE
2764 , REBATE_TRANSACTION_TYPE_CODE
2765 , RELATED_ITEM_ID
2766 , RELATIONSHIP_TYPE_ID
2767 , REPRICE_FLAG
2768 , REQUEST_ID
2769 , REVISION
2770 , REVISION_DATE
2771 , REVISION_REASON_CODE
2772 , START_DATE_ACTIVE
2773 , SUBSTITUTION_ATTRIBUTE
2774 , SUBSTITUTION_CONTEXT
2775 , SUBSTITUTION_VALUE
2776 , ACCRUAL_FLAG
2777 , PRICING_GROUP_SEQUENCE
2778 , INCOMPATIBILITY_GRP_CODE
2779 , LIST_LINE_NO
2780 , PRODUCT_PRECEDENCE
2781 , EXPIRATION_PERIOD_START_DATE
2782 , NUMBER_EXPIRATION_PERIODS
2783 , EXPIRATION_PERIOD_UOM
2784 , EXPIRATION_DATE
2785 , ESTIM_GL_VALUE
2786 , BENEFIT_PRICE_LIST_LINE_ID
2787 -- , RECURRING_FLAG
2788 , BENEFIT_LIMIT
2789 , CHARGE_TYPE_CODE
2790 , CHARGE_SUBTYPE_CODE
2791 , BENEFIT_QTY
2792 , BENEFIT_UOM_CODE
2793 , ACCRUAL_CONVERSION_RATE
2794 , PRORATION_TYPE_CODE
2795 , INCLUDE_ON_RETURNS_FLAG
2796 , QUALIFICATION_IND
2797 , NET_AMOUNT_FLAG
2798 , ACCUM_ATTRIBUTE
2799 , ACCUM_CONTEXT
2800 , ACCUM_ATTR_RUN_SRC_FLAG
2801 , CONTINUOUS_PRICE_BREAK_FLAG
2802 , SERVICE_DURATION -- service project
2803 , SERVICE_PERIOD -- service project
2804 )
2805 VALUES
2806 ( p_MODIFIERS_rec.arithmetic_operator
2807 , p_MODIFIERS_rec.attribute1
2808 , p_MODIFIERS_rec.attribute10
2809 , p_MODIFIERS_rec.attribute11
2810 , p_MODIFIERS_rec.attribute12
2811 , p_MODIFIERS_rec.attribute13
2812 , p_MODIFIERS_rec.attribute14
2813 , p_MODIFIERS_rec.attribute15
2814 , p_MODIFIERS_rec.attribute2
2815 , p_MODIFIERS_rec.attribute3
2816 , p_MODIFIERS_rec.attribute4
2817 , p_MODIFIERS_rec.attribute5
2818 , p_MODIFIERS_rec.attribute6
2819 , p_MODIFIERS_rec.attribute7
2820 , p_MODIFIERS_rec.attribute8
2821 , p_MODIFIERS_rec.attribute9
2822 , p_MODIFIERS_rec.automatic_flag
2823 -- , p_MODIFIERS_rec.base_qty
2824 , p_MODIFIERS_rec.pricing_phase_id
2825 -- , p_MODIFIERS_rec.base_uom_code
2826 , p_MODIFIERS_rec.comments
2827 , p_MODIFIERS_rec.context
2828 , p_MODIFIERS_rec.created_by
2829 , p_MODIFIERS_rec.creation_date
2830 , p_MODIFIERS_rec.effective_period_uom
2831 , p_MODIFIERS_rec.end_date_active
2832 , p_MODIFIERS_rec.estim_accrual_rate
2833 , p_MODIFIERS_rec.generate_using_formula_id
2834 , p_MODIFIERS_rec.inventory_item_id
2835 , p_MODIFIERS_rec.last_updated_by
2836 , p_MODIFIERS_rec.last_update_date
2837 , p_MODIFIERS_rec.last_update_login
2838 , p_MODIFIERS_rec.list_header_id
2839 , p_MODIFIERS_rec.list_line_id
2840 , p_MODIFIERS_rec.list_line_type_code
2841 , p_MODIFIERS_rec.list_price
2842 , p_MODIFIERS_rec.modifier_level_code
2843 , p_MODIFIERS_rec.number_effective_periods
2844 , p_MODIFIERS_rec.operand
2845 , p_MODIFIERS_rec.organization_id
2846 , p_MODIFIERS_rec.override_flag
2847 , p_MODIFIERS_rec.percent_price
2848 , p_MODIFIERS_rec.price_break_type_code
2849 , p_MODIFIERS_rec.price_by_formula_id
2850 , p_MODIFIERS_rec.primary_uom_flag
2851 , p_MODIFIERS_rec.print_on_invoice_flag
2852 , p_MODIFIERS_rec.program_application_id
2853 , p_MODIFIERS_rec.program_id
2854 , p_MODIFIERS_rec.program_update_date
2855 , p_MODIFIERS_rec.rebate_trxn_type_code
2856 , p_MODIFIERS_rec.related_item_id
2857 , p_MODIFIERS_rec.relationship_type_id
2858 , p_MODIFIERS_rec.reprice_flag
2859 , p_MODIFIERS_rec.request_id
2860 , p_MODIFIERS_rec.revision
2861 , p_MODIFIERS_rec.revision_date
2862 , p_MODIFIERS_rec.revision_reason_code
2863 , p_MODIFIERS_rec.start_date_active
2864 , p_MODIFIERS_rec.substitution_attribute
2865 , p_MODIFIERS_rec.substitution_context
2866 , p_MODIFIERS_rec.substitution_value
2867 , p_MODIFIERS_rec.accrual_flag
2868 , p_MODIFIERS_rec.pricing_group_sequence
2869 , p_MODIFIERS_rec.incompatibility_grp_code
2870 , p_MODIFIERS_rec.list_line_no
2871 , p_MODIFIERS_rec.product_precedence
2872 , p_MODIFIERS_rec.expiration_period_start_date
2873 , p_MODIFIERS_rec.number_expiration_periods
2874 , p_MODIFIERS_rec.expiration_period_uom
2875 , p_MODIFIERS_rec.expiration_date
2876 , p_MODIFIERS_rec.estim_gl_value
2877 , p_MODIFIERS_rec.benefit_price_list_line_id
2878 -- , p_MODIFIERS_rec.recurring_flag
2879 , p_MODIFIERS_rec.benefit_limit
2880 , p_MODIFIERS_rec.charge_type_code
2881 , p_MODIFIERS_rec.charge_subtype_code
2882 , p_MODIFIERS_rec.benefit_qty
2883 , p_MODIFIERS_rec.benefit_uom_code
2884 , p_MODIFIERS_rec.accrual_conversion_rate
2885 , p_MODIFIERS_rec.proration_type_code
2886 , p_MODIFIERS_rec.include_on_returns_flag
2887 , p_MODIFIERS_rec.qualification_ind
2888 , p_MODIFIERS_rec.net_amount_flag
2889 , p_MODIFIERS_rec.accum_attribute
2890 , v_accum_context
2891 , v_accum_flag
2892 , p_MODIFIERS_rec.continuous_price_break_flag
2893 , p_MODIFIERS_rec.service_duration -- service project
2894 , p_MODIFIERS_rec.service_period -- service project
2895 );
2896 /*
2897 select gsa_indicator
2898 into l_gsa_indicator
2899 from qp_list_headers_b
2900 where list_header_id = p_MODIFIERS_rec.LIST_HEADER_ID;
2901
2902 IF l_gsa_indicator = 'Y'
2903 THEN
2904
2905 QP_QP_Form_Modifier_List.Create_GSA_Qual(p_MODIFIERS_rec.LIST_HEADER_ID ,
2906 p_MODIFIERS_rec.LIST_LINE_ID ,
2907 l_return_status );
2908 END IF;
2909
2910 */
2911
2912
2913 IF p_Modifiers_rec.list_line_type_code = 'CIE' then
2914
2915 --create default coupon qualifier
2916 oe_debug_pub.add('IN Def Qualifier in QPXUMLLB');
2917
2918 QP_QP_Form_Modifier_List.Create_GSA_Qual(p_MODIFIERS_rec.LIST_HEADER_ID ,
2919 p_MODIFIERS_rec.TO_RLTD_MODIFIER_ID ,
2920 'COUPON',
2921 l_return_status );
2922 END IF;
2923
2924 oe_debug_pub.add('UMLLB l_ret_sts create_gsa_qual '||l_return_status);
2925 /*added this code to raise exception if qualifier does not get created-spgopal*/
2926 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2927 FND_MESSAGE.SET_NAME('QP','QP_PE_QUALIFIERS');
2928 OE_MSG_PUB.Add;
2929 --RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2930 RAISE NO_DATA_FOUND;
2931 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
2932 FND_MESSAGE.SET_NAME('QP','QP_PE_QUALIFIERS');
2933 OE_MSG_PUB.Add;
2934 --RAISE FND_API.G_EXC_ERROR;
2935 RAISE NO_DATA_FOUND;
2936 END IF;
2937
2938 /* Accumulation Start */
2939 l_check_active_flag:=nvl(fnd_profile.value('QP_BUILD_ATTRIBUTES_MAPPING_OPTIONS'),'N');
2940 IF (l_check_active_flag='N') OR (l_check_active_flag='Y' AND l_active_flag='Y') THEN
2941 IF(v_accum_context IS NOT NULL) AND
2942 (p_MODIFIERS_rec.accum_attribute IS NOT NULL) THEN
2943
2944 UPDATE qp_pte_segments set used_in_setup='Y'
2945 WHERE nvl(used_in_setup,'N')='N'
2946 AND segment_id IN
2947 (SELECT a.segment_id FROM qp_segments_b a,qp_prc_contexts_b b
2948 WHERE a.segment_mapping_column=p_MODIFIERS_rec.accum_attribute
2949 AND a.prc_context_id=b.prc_context_id
2950 AND b.prc_context_type = 'PRICING_ATTRIBUTE'
2951 AND b.prc_context_code=v_accum_context);
2952
2953 END IF;
2954 END IF;
2955 /* Accumulation End */
2956
2957 oe_debug_pub.add('END Insert_Row in QPXUMLLB');
2958
2959 EXCEPTION
2960
2961 WHEN DUP_VAL_ON_INDEX THEN
2962
2963 FND_MESSAGE.SET_NAME('QP','QP_DUPLICATE_MODIFIER_NUMBER');
2964 OE_MSG_PUB.Add;
2965 RAISE FND_API.G_EXC_ERROR;
2966
2967 WHEN OTHERS THEN
2968
2969 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2970 THEN
2971 OE_MSG_PUB.Add_Exc_Msg
2972 ( G_PKG_NAME
2973 , 'Insert_Row'
2974 );
2975 END IF;
2976
2977 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2978
2979 END Insert_Row;
2980
2981 -- Procedure Delete_Row
2982
2983 PROCEDURE Delete_Row
2984 ( p_list_line_id IN NUMBER
2985 )
2986 IS
2987 BEGIN
2988
2989 oe_debug_pub.add('BEGIN Delete_Row in QPXUMLLB');
2990 oe_debug_pub.add('list line id = '||to_char(p_list_line_id));
2991
2992 DELETE FROM QP_PRICING_ATTRIBUTES
2993 WHERE LIST_LINE_ID = p_list_line_id;
2994
2995 DELETE FROM QP_QUALIFIERS
2996 WHERE LIST_LINE_ID = p_list_line_id;
2997
2998 DELETE FROM QP_RLTD_MODIFIERS
2999 WHERE TO_RLTD_MODIFIER_ID = p_list_line_id;
3000
3001 DELETE FROM QP_LIST_LINES
3002 WHERE LIST_LINE_ID = p_list_line_id ;
3003
3004 oe_debug_pub.add('END Delete_Row in QPXUMLLB');
3005
3006 EXCEPTION
3007
3008 WHEN OTHERS THEN
3009
3010 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3011 THEN
3012 OE_MSG_PUB.Add_Exc_Msg
3013 ( G_PKG_NAME
3014 , 'Delete_Row'
3015 );
3016 END IF;
3017
3018 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3019
3020 END Delete_Row;
3021
3022 -- Function Query_Row
3023
3024 FUNCTION Query_Row
3025 ( p_list_line_id IN NUMBER
3026 ) RETURN QP_Modifiers_PUB.Modifiers_Rec_Type
3027 IS
3028 BEGIN
3029
3030 RETURN Query_Rows
3031 ( p_list_line_id => p_list_line_id
3032 )(1);
3033
3034 END Query_Row;
3035
3036 -- Function Query_Rows
3037
3038 --
3039
3040 FUNCTION Query_Rows
3041 ( p_list_line_id IN NUMBER :=
3042 FND_API.G_MISS_NUM
3043 , p_list_header_id IN NUMBER :=
3044 FND_API.G_MISS_NUM
3045 ) RETURN QP_Modifiers_PUB.Modifiers_Tbl_Type
3046 IS
3047 l_MODIFIERS_rec QP_Modifiers_PUB.Modifiers_Rec_Type;
3048 l_MODIFIERS_tbl QP_Modifiers_PUB.Modifiers_Tbl_Type;
3049
3050 CURSOR l_MODIFIERS_csr IS
3051 SELECT ARITHMETIC_OPERATOR
3052 , ATTRIBUTE1
3053 , ATTRIBUTE10
3054 , ATTRIBUTE11
3055 , ATTRIBUTE12
3056 , ATTRIBUTE13
3057 , ATTRIBUTE14
3058 , ATTRIBUTE15
3059 , ATTRIBUTE2
3060 , ATTRIBUTE3
3061 , ATTRIBUTE4
3062 , ATTRIBUTE5
3063 , ATTRIBUTE6
3064 , ATTRIBUTE7
3065 , ATTRIBUTE8
3066 , ATTRIBUTE9
3067 , AUTOMATIC_FLAG
3068 -- , BASE_QTY
3069 , PRICING_PHASE_ID
3070 -- , BASE_UOM_CODE
3071 , COMMENTS
3072 , CONTEXT
3073 , CREATED_BY
3074 , CREATION_DATE
3075 , EFFECTIVE_PERIOD_UOM
3076 , END_DATE_ACTIVE
3077 , ESTIM_ACCRUAL_RATE
3078 , GENERATE_USING_FORMULA_ID
3079 , INVENTORY_ITEM_ID
3080 , LAST_UPDATED_BY
3081 , LAST_UPDATE_DATE
3082 , LAST_UPDATE_LOGIN
3083 , LIST_HEADER_ID
3084 , LIST_LINE_ID
3085 , LIST_LINE_TYPE_CODE
3086 , LIST_PRICE
3087 , MODIFIER_LEVEL_CODE
3088 , NUMBER_EFFECTIVE_PERIODS
3089 , OPERAND
3090 , ORGANIZATION_ID
3091 , OVERRIDE_FLAG
3092 , PERCENT_PRICE
3093 , PRICE_BREAK_TYPE_CODE
3094 , PRICE_BY_FORMULA_ID
3095 , PRIMARY_UOM_FLAG
3096 , PRINT_ON_INVOICE_FLAG
3097 , PROGRAM_APPLICATION_ID
3098 , PROGRAM_ID
3099 , PROGRAM_UPDATE_DATE
3100 , REBATE_TRANSACTION_TYPE_CODE
3101 , RELATED_ITEM_ID
3102 , RELATIONSHIP_TYPE_ID
3103 , REPRICE_FLAG
3104 , REQUEST_ID
3105 , REVISION
3106 , REVISION_DATE
3107 , REVISION_REASON_CODE
3108 , START_DATE_ACTIVE
3109 , SUBSTITUTION_ATTRIBUTE
3110 , SUBSTITUTION_CONTEXT
3111 , SUBSTITUTION_VALUE
3112 , ACCRUAL_FLAG
3113 , PRICING_GROUP_SEQUENCE
3114 , INCOMPATIBILITY_GRP_CODE
3115 , LIST_LINE_NO
3116 , PRODUCT_PRECEDENCE
3117 , EXPIRATION_PERIOD_START_DATE
3118 , NUMBER_EXPIRATION_PERIODS
3119 , EXPIRATION_PERIOD_UOM
3120 , EXPIRATION_DATE
3121 , ESTIM_GL_VALUE
3122 , BENEFIT_PRICE_LIST_LINE_ID
3123 -- , RECURRING_FLAG
3124 , BENEFIT_LIMIT
3125 , CHARGE_TYPE_CODE
3126 , CHARGE_SUBTYPE_CODE
3127 , BENEFIT_QTY
3128 , BENEFIT_UOM_CODE
3129 , ACCRUAL_CONVERSION_RATE
3130 , PRORATION_TYPE_CODE
3131 , INCLUDE_ON_RETURNS_FLAG
3132 , QUALIFICATION_IND
3133 , NET_AMOUNT_FLAG
3134 , ACCUM_ATTRIBUTE
3135 , CONTINUOUS_PRICE_BREAK_FLAG
3136 , SERVICE_DURATION
3137 , SERVICE_PERIOD
3138 FROM QP_LIST_LINES
3139 WHERE ( LIST_LINE_ID = p_list_line_id)
3140 UNION -- Changed for the bug#2715150
3141 SELECT ARITHMETIC_OPERATOR
3142 , ATTRIBUTE1
3143 , ATTRIBUTE10
3144 , ATTRIBUTE11
3145 , ATTRIBUTE12
3146 , ATTRIBUTE13
3147 , ATTRIBUTE14
3148 , ATTRIBUTE15
3149 , ATTRIBUTE2
3150 , ATTRIBUTE3
3151 , ATTRIBUTE4
3152 , ATTRIBUTE5
3153 , ATTRIBUTE6
3154 , ATTRIBUTE7
3155 , ATTRIBUTE8
3156 , ATTRIBUTE9
3157 , AUTOMATIC_FLAG
3158 -- , BASE_QTY
3159 , PRICING_PHASE_ID
3160 -- , BASE_UOM_CODE
3161 , COMMENTS
3162 , CONTEXT
3163 , CREATED_BY
3164 , CREATION_DATE
3165 , EFFECTIVE_PERIOD_UOM
3166 , END_DATE_ACTIVE
3167 , ESTIM_ACCRUAL_RATE
3168 , GENERATE_USING_FORMULA_ID
3169 , INVENTORY_ITEM_ID
3170 , LAST_UPDATED_BY
3171 , LAST_UPDATE_DATE
3172 , LAST_UPDATE_LOGIN
3173 , LIST_HEADER_ID
3174 , LIST_LINE_ID
3175 , LIST_LINE_TYPE_CODE
3176 , LIST_PRICE
3177 , MODIFIER_LEVEL_CODE
3178 , NUMBER_EFFECTIVE_PERIODS
3179 , OPERAND
3180 , ORGANIZATION_ID
3181 , OVERRIDE_FLAG
3182 , PERCENT_PRICE
3183 , PRICE_BREAK_TYPE_CODE
3184 , PRICE_BY_FORMULA_ID
3185 , PRIMARY_UOM_FLAG
3186 , PRINT_ON_INVOICE_FLAG
3187 , PROGRAM_APPLICATION_ID
3188 , PROGRAM_ID
3189 , PROGRAM_UPDATE_DATE
3190 , REBATE_TRANSACTION_TYPE_CODE
3191 , RELATED_ITEM_ID
3192 , RELATIONSHIP_TYPE_ID
3193 , REPRICE_FLAG
3194 , REQUEST_ID
3195 , REVISION
3196 , REVISION_DATE
3197 , REVISION_REASON_CODE
3198 , START_DATE_ACTIVE
3199 , SUBSTITUTION_ATTRIBUTE
3200 , SUBSTITUTION_CONTEXT
3201 , SUBSTITUTION_VALUE
3202 , ACCRUAL_FLAG
3203 , PRICING_GROUP_SEQUENCE
3204 , INCOMPATIBILITY_GRP_CODE
3205 , LIST_LINE_NO
3206 , PRODUCT_PRECEDENCE
3207 , EXPIRATION_PERIOD_START_DATE
3208 , NUMBER_EXPIRATION_PERIODS
3209 , EXPIRATION_PERIOD_UOM
3210 , EXPIRATION_DATE
3211 , ESTIM_GL_VALUE
3212 , BENEFIT_PRICE_LIST_LINE_ID
3213 -- , RECURRING_FLAG
3214 , BENEFIT_LIMIT
3215 , CHARGE_TYPE_CODE
3216 , CHARGE_SUBTYPE_CODE
3217 , BENEFIT_QTY
3218 , BENEFIT_UOM_CODE
3219 , ACCRUAL_CONVERSION_RATE
3220 , PRORATION_TYPE_CODE
3221 , INCLUDE_ON_RETURNS_FLAG
3222 , QUALIFICATION_IND
3223 , NET_AMOUNT_FLAG
3224 , ACCUM_ATTRIBUTE
3225 , CONTINUOUS_PRICE_BREAK_FLAG
3226 , SERVICE_DURATION
3227 , SERVICE_PERIOD
3228 FROM QP_LIST_LINES
3229 WHERE ( LIST_HEADER_ID = p_list_header_id );
3230
3231
3232 BEGIN
3233
3234 oe_debug_pub.add('BEGIN Query_Rows in QPXUMLLB');
3235 oe_debug_pub.add('list line = '||to_char(p_list_line_id));
3236 oe_debug_pub.add('list hdr = '||to_char(p_list_header_id));
3237
3238 IF
3239 (p_list_line_id IS NOT NULL
3240 AND
3241 p_list_line_id <> FND_API.G_MISS_NUM)
3242 AND
3243 (p_list_header_id IS NOT NULL
3244 AND
3245 p_list_header_id <> FND_API.G_MISS_NUM)
3246 THEN
3247 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3248 THEN
3249 OE_MSG_PUB.Add_Exc_Msg
3250 ( G_PKG_NAME
3251 , 'Query Rows'
3252 , 'Keys are mutually exclusive: list_line_id = '|| p_list_line_id || ', list_header_id = '|| p_list_header_id
3253 );
3254 END IF;
3255
3256 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3257
3258 END IF;
3259
3260
3261 oe_debug_pub.add('before FOR loooop');
3262 -- Loop over fetched records
3263
3264 FOR l_implicit_rec IN l_MODIFIERS_csr LOOP
3265
3266 oe_debug_pub.add('loooop - 00');
3267 l_MODIFIERS_rec.arithmetic_operator := l_implicit_rec.ARITHMETIC_OPERATOR;
3268 l_MODIFIERS_rec.attribute1 := l_implicit_rec.ATTRIBUTE1;
3269 l_MODIFIERS_rec.attribute10 := l_implicit_rec.ATTRIBUTE10;
3270 l_MODIFIERS_rec.attribute11 := l_implicit_rec.ATTRIBUTE11;
3271 l_MODIFIERS_rec.attribute12 := l_implicit_rec.ATTRIBUTE12;
3272 l_MODIFIERS_rec.attribute13 := l_implicit_rec.ATTRIBUTE13;
3273 l_MODIFIERS_rec.attribute14 := l_implicit_rec.ATTRIBUTE14;
3274 l_MODIFIERS_rec.attribute15 := l_implicit_rec.ATTRIBUTE15;
3275 l_MODIFIERS_rec.attribute2 := l_implicit_rec.ATTRIBUTE2;
3276 l_MODIFIERS_rec.attribute3 := l_implicit_rec.ATTRIBUTE3;
3277 l_MODIFIERS_rec.attribute4 := l_implicit_rec.ATTRIBUTE4;
3278 l_MODIFIERS_rec.attribute5 := l_implicit_rec.ATTRIBUTE5;
3279 l_MODIFIERS_rec.attribute6 := l_implicit_rec.ATTRIBUTE6;
3280 l_MODIFIERS_rec.attribute7 := l_implicit_rec.ATTRIBUTE7;
3281 l_MODIFIERS_rec.attribute8 := l_implicit_rec.ATTRIBUTE8;
3282 l_MODIFIERS_rec.attribute9 := l_implicit_rec.ATTRIBUTE9;
3283 l_MODIFIERS_rec.automatic_flag := l_implicit_rec.AUTOMATIC_FLAG;
3284 -- l_MODIFIERS_rec.base_qty := l_implicit_rec.BASE_QTY;
3285 l_MODIFIERS_rec.pricing_phase_id := l_implicit_rec.PRICING_PHASE_ID;
3286 -- l_MODIFIERS_rec.base_uom_code := l_implicit_rec.BASE_UOM_CODE;
3287 l_MODIFIERS_rec.comments := l_implicit_rec.COMMENTS;
3288 l_MODIFIERS_rec.context := l_implicit_rec.CONTEXT;
3289 l_MODIFIERS_rec.created_by := l_implicit_rec.CREATED_BY;
3290 l_MODIFIERS_rec.creation_date := l_implicit_rec.CREATION_DATE;
3291 l_MODIFIERS_rec.effective_period_uom := l_implicit_rec.EFFECTIVE_PERIOD_UOM;
3292 l_MODIFIERS_rec.end_date_active := l_implicit_rec.END_DATE_ACTIVE;
3293 l_MODIFIERS_rec.estim_accrual_rate := l_implicit_rec.ESTIM_ACCRUAL_RATE;
3294 l_MODIFIERS_rec.generate_using_formula_id := l_implicit_rec.GENERATE_USING_FORMULA_ID;
3295 l_MODIFIERS_rec.inventory_item_id := l_implicit_rec.INVENTORY_ITEM_ID;
3296 l_MODIFIERS_rec.last_updated_by := l_implicit_rec.LAST_UPDATED_BY;
3297 l_MODIFIERS_rec.last_update_date := l_implicit_rec.LAST_UPDATE_DATE;
3298 l_MODIFIERS_rec.last_update_login := l_implicit_rec.LAST_UPDATE_LOGIN;
3299 l_MODIFIERS_rec.list_header_id := l_implicit_rec.LIST_HEADER_ID;
3300 l_MODIFIERS_rec.list_line_id := l_implicit_rec.LIST_LINE_ID;
3301 l_MODIFIERS_rec.list_line_type_code := l_implicit_rec.LIST_LINE_TYPE_CODE;
3302 l_MODIFIERS_rec.list_price := l_implicit_rec.LIST_PRICE;
3303 l_MODIFIERS_rec.modifier_level_code := l_implicit_rec.MODIFIER_LEVEL_CODE;
3304 l_MODIFIERS_rec.number_effective_periods := l_implicit_rec.NUMBER_EFFECTIVE_PERIODS;
3305 l_MODIFIERS_rec.operand := l_implicit_rec.OPERAND;
3306 l_MODIFIERS_rec.organization_id := l_implicit_rec.ORGANIZATION_ID;
3307 l_MODIFIERS_rec.override_flag := l_implicit_rec.OVERRIDE_FLAG;
3308 l_MODIFIERS_rec.percent_price := l_implicit_rec.PERCENT_PRICE;
3309 l_MODIFIERS_rec.price_break_type_code := l_implicit_rec.PRICE_BREAK_TYPE_CODE;
3310 l_MODIFIERS_rec.price_by_formula_id := l_implicit_rec.PRICE_BY_FORMULA_ID;
3311 l_MODIFIERS_rec.primary_uom_flag := l_implicit_rec.PRIMARY_UOM_FLAG;
3312 l_MODIFIERS_rec.print_on_invoice_flag := l_implicit_rec.PRINT_ON_INVOICE_FLAG;
3313 l_MODIFIERS_rec.program_application_id := l_implicit_rec.PROGRAM_APPLICATION_ID;
3314 l_MODIFIERS_rec.program_id := l_implicit_rec.PROGRAM_ID;
3315 l_MODIFIERS_rec.program_update_date := l_implicit_rec.PROGRAM_UPDATE_DATE;
3316 l_MODIFIERS_rec.rebate_trxn_type_code := l_implicit_rec.REBATE_TRANSACTION_TYPE_CODE;
3317 l_MODIFIERS_rec.related_item_id := l_implicit_rec.RELATED_ITEM_ID;
3318 l_MODIFIERS_rec.relationship_type_id := l_implicit_rec.RELATIONSHIP_TYPE_ID;
3319 l_MODIFIERS_rec.reprice_flag := l_implicit_rec.REPRICE_FLAG;
3320 l_MODIFIERS_rec.request_id := l_implicit_rec.REQUEST_ID;
3321 l_MODIFIERS_rec.revision := l_implicit_rec.REVISION;
3322 l_MODIFIERS_rec.revision_date := l_implicit_rec.REVISION_DATE;
3323 l_MODIFIERS_rec.revision_reason_code := l_implicit_rec.REVISION_REASON_CODE;
3324 l_MODIFIERS_rec.start_date_active := l_implicit_rec.START_DATE_ACTIVE;
3325 l_MODIFIERS_rec.substitution_attribute := l_implicit_rec.SUBSTITUTION_ATTRIBUTE;
3326 l_MODIFIERS_rec.substitution_context := l_implicit_rec.SUBSTITUTION_CONTEXT;
3327 l_MODIFIERS_rec.substitution_value := l_implicit_rec.SUBSTITUTION_VALUE;
3328 l_MODIFIERS_rec.accrual_flag := l_implicit_rec.ACCRUAL_FLAG;
3329 l_MODIFIERS_rec.pricing_group_sequence := l_implicit_rec.PRICING_GROUP_SEQUENCE;
3330 l_MODIFIERS_rec.incompatibility_grp_code := l_implicit_rec.INCOMPATIBILITY_GRP_CODE;
3331 l_MODIFIERS_rec.list_line_no := l_implicit_rec.LIST_LINE_NO;
3332 l_MODIFIERS_rec.product_precedence := l_implicit_rec.PRODUCT_PRECEDENCE;
3333 l_MODIFIERS_rec.expiration_period_start_date := l_implicit_rec.EXPIRATION_PERIOD_START_DATE;
3334 l_MODIFIERS_rec.number_expiration_periods := l_implicit_rec.NUMBER_EXPIRATION_PERIODS;
3335 l_MODIFIERS_rec.expiration_period_uom := l_implicit_rec.EXPIRATION_PERIOD_UOM;
3336 l_MODIFIERS_rec.expiration_date := l_implicit_rec.EXPIRATION_DATE;
3337 l_MODIFIERS_rec.estim_gl_value := l_implicit_rec.ESTIM_GL_VALUE;
3338 l_MODIFIERS_rec.benefit_price_list_line_id := l_implicit_rec.BENEFIT_PRICE_LIST_LINE_ID;
3339 -- l_MODIFIERS_rec.recurring_flag := l_implicit_rec.RECURRING_FLAG;
3340 l_MODIFIERS_rec.benefit_limit := l_implicit_rec.BENEFIT_LIMIT;
3341 l_MODIFIERS_rec.charge_type_code := l_implicit_rec.CHARGE_TYPE_CODE;
3342 l_MODIFIERS_rec.charge_subtype_code := l_implicit_rec.CHARGE_SUBTYPE_CODE;
3343 l_MODIFIERS_rec.benefit_qty := l_implicit_rec.BENEFIT_QTY;
3344 l_MODIFIERS_rec.benefit_uom_code := l_implicit_rec.BENEFIT_UOM_CODE;
3345 l_MODIFIERS_rec.accrual_conversion_rate := l_implicit_rec.ACCRUAL_CONVERSION_RATE;
3346 l_MODIFIERS_rec.proration_type_code := l_implicit_rec.PRORATION_TYPE_CODE;
3347 l_MODIFIERS_rec.include_on_returns_flag := l_implicit_rec.INCLUDE_ON_RETURNS_FLAG;
3348 l_MODIFIERS_rec.qualification_ind := l_implicit_rec.qualification_ind;
3349 l_MODIFIERS_rec.net_amount_flag := l_implicit_rec.net_amount_flag;
3350 l_MODIFIERS_rec.accum_attribute := l_implicit_rec.accum_attribute;
3351 l_MODIFIERS_rec.continuous_price_break_flag := l_implicit_rec.continuous_price_break_flag;
3352 l_MODIFIERS_rec.service_duration := l_implicit_rec.service_duration;
3353 l_MODIFIERS_rec.service_period := l_implicit_rec.service_period;
3354
3355 Begin
3356
3357 oe_debug_pub.add('before RLTD loooop');
3358
3359 SELECT RLTD_MODIFIER_GRP_NO
3360 , RLTD_MODIFIER_GRP_TYPE
3361 , FROM_RLTD_MODIFIER_ID
3362 , TO_RLTD_MODIFIER_ID
3363 , RLTD_MODIFIER_ID
3364 INTO l_MODIFIERS_rec.rltd_modifier_grp_no
3365 , l_MODIFIERS_rec.rltd_modifier_grp_type
3366 , l_MODIFIERS_rec.from_rltd_modifier_id
3367 , l_MODIFIERS_rec.to_rltd_modifier_id
3368 , l_MODIFIERS_rec.rltd_modifier_id
3369 FROM QP_RLTD_MODIFIERS
3370 WHERE ( TO_RLTD_MODIFIER_ID = l_implicit_rec.LIST_LINE_ID )
3371 AND EXISTS
3372 ( SELECT TO_RLTD_MODIFIER_ID
3373 FROM QP_RLTD_MODIFIERS
3374 WHERE TO_RLTD_MODIFIER_ID = l_implicit_rec.LIST_LINE_ID );
3375
3376 Exception
3377 when no_data_found then
3378 oe_debug_pub.add('no dataaaaa');
3379 null;
3380 end;
3381
3382 l_MODIFIERS_tbl(l_MODIFIERS_tbl.COUNT + 1) := l_MODIFIERS_rec;
3383
3384 END LOOP;
3385
3386
3387 -- PK sent and no rows found
3388
3389 IF
3390 (p_list_line_id IS NOT NULL
3391 AND
3392 p_list_line_id <> FND_API.G_MISS_NUM)
3393 AND
3394 (l_MODIFIERS_tbl.COUNT = 0)
3395 THEN
3396 RAISE NO_DATA_FOUND;
3397 END IF;
3398
3399
3400 oe_debug_pub.add('END Query_Rows in QPXUMLLB');
3401
3402 -- Return fetched table
3403
3404 RETURN l_MODIFIERS_tbl;
3405
3406 EXCEPTION
3407
3408 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3409
3410 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3411
3412 WHEN OTHERS THEN
3413
3414 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3415 THEN
3416 OE_MSG_PUB.Add_Exc_Msg
3417 ( G_PKG_NAME
3418 , 'Query_Rows'
3419 );
3420 END IF;
3421
3422 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3423
3424 END Query_Rows;
3425
3426 -- Procedure lock_Row
3427 --
3428
3429 PROCEDURE Lock_Row
3430 ( x_return_status OUT NOCOPY VARCHAR2
3431 , p_MODIFIERS_rec IN QP_Modifiers_PUB.Modifiers_Rec_Type
3432 , x_MODIFIERS_rec OUT NOCOPY QP_Modifiers_PUB.Modifiers_Rec_Type
3433 )
3434 IS
3435 l_MODIFIERS_rec QP_Modifiers_PUB.Modifiers_Rec_Type;
3436 BEGIN
3437
3438 oe_debug_pub.add('BEGIN Lock_Row in QPXUMLLB');
3439
3440 SELECT ARITHMETIC_OPERATOR
3441 , ATTRIBUTE1
3442 , ATTRIBUTE10
3443 , ATTRIBUTE11
3444 , ATTRIBUTE12
3445 , ATTRIBUTE13
3446 , ATTRIBUTE14
3447 , ATTRIBUTE15
3448 , ATTRIBUTE2
3449 , ATTRIBUTE3
3450 , ATTRIBUTE4
3451 , ATTRIBUTE5
3452 , ATTRIBUTE6
3453 , ATTRIBUTE7
3454 , ATTRIBUTE8
3455 , ATTRIBUTE9
3456 , AUTOMATIC_FLAG
3457 -- , BASE_QTY
3458 , PRICING_PHASE_ID
3459 -- , BASE_UOM_CODE
3460 , COMMENTS
3461 , CONTEXT
3462 , CREATED_BY
3463 , CREATION_DATE
3464 , EFFECTIVE_PERIOD_UOM
3465 , END_DATE_ACTIVE
3466 , ESTIM_ACCRUAL_RATE
3467 , GENERATE_USING_FORMULA_ID
3468 , INVENTORY_ITEM_ID
3469 , LAST_UPDATED_BY
3470 , LAST_UPDATE_DATE
3471 , LAST_UPDATE_LOGIN
3472 , LIST_HEADER_ID
3473 , LIST_LINE_ID
3474 , LIST_LINE_TYPE_CODE
3475 , LIST_PRICE
3476 , MODIFIER_LEVEL_CODE
3477 , NUMBER_EFFECTIVE_PERIODS
3478 , OPERAND
3479 , ORGANIZATION_ID
3480 , OVERRIDE_FLAG
3481 , PERCENT_PRICE
3482 , PRICE_BREAK_TYPE_CODE
3483 , PRICE_BY_FORMULA_ID
3484 , PRIMARY_UOM_FLAG
3485 , PRINT_ON_INVOICE_FLAG
3486 , PROGRAM_APPLICATION_ID
3487 , PROGRAM_ID
3488 , PROGRAM_UPDATE_DATE
3489 , REBATE_TRANSACTION_TYPE_CODE
3490 , RELATED_ITEM_ID
3491 , RELATIONSHIP_TYPE_ID
3492 , REPRICE_FLAG
3493 , REQUEST_ID
3494 , REVISION
3495 , REVISION_DATE
3496 , REVISION_REASON_CODE
3497 , START_DATE_ACTIVE
3498 , SUBSTITUTION_ATTRIBUTE
3499 , SUBSTITUTION_CONTEXT
3500 , SUBSTITUTION_VALUE
3501 , ACCRUAL_FLAG
3502 , PRICING_GROUP_SEQUENCE
3503 , INCOMPATIBILITY_GRP_CODE
3504 , LIST_LINE_NO
3505 , PRODUCT_PRECEDENCE
3506 , EXPIRATION_PERIOD_START_DATE
3507 , NUMBER_EXPIRATION_PERIODS
3508 , EXPIRATION_PERIOD_UOM
3509 , EXPIRATION_DATE
3510 , ESTIM_GL_VALUE
3511 , BENEFIT_PRICE_LIST_LINE_ID
3512 -- , RECURRING_FLAG
3513 , BENEFIT_LIMIT
3514 , CHARGE_TYPE_CODE
3515 , CHARGE_SUBTYPE_CODE
3516 , BENEFIT_QTY
3517 , BENEFIT_UOM_CODE
3518 , ACCRUAL_CONVERSION_RATE
3519 , PRORATION_TYPE_CODE
3520 , INCLUDE_ON_RETURNS_FLAG
3521 , ACCUM_ATTRIBUTE
3522 , CONTINUOUS_PRICE_BREAK_FLAG
3523 , SERVICE_DURATION
3524 , SERVICE_PERIOD
3525 INTO l_MODIFIERS_rec.arithmetic_operator
3526 , l_MODIFIERS_rec.attribute1
3527 , l_MODIFIERS_rec.attribute10
3528 , l_MODIFIERS_rec.attribute11
3529 , l_MODIFIERS_rec.attribute12
3530 , l_MODIFIERS_rec.attribute13
3531 , l_MODIFIERS_rec.attribute14
3532 , l_MODIFIERS_rec.attribute15
3533 , l_MODIFIERS_rec.attribute2
3534 , l_MODIFIERS_rec.attribute3
3535 , l_MODIFIERS_rec.attribute4
3536 , l_MODIFIERS_rec.attribute5
3537 , l_MODIFIERS_rec.attribute6
3538 , l_MODIFIERS_rec.attribute7
3539 , l_MODIFIERS_rec.attribute8
3540 , l_MODIFIERS_rec.attribute9
3541 , l_MODIFIERS_rec.automatic_flag
3542 -- , l_MODIFIERS_rec.base_qty
3543 , l_MODIFIERS_rec.pricing_phase_id
3544 -- , l_MODIFIERS_rec.base_uom_code
3545 , l_MODIFIERS_rec.comments
3546 , l_MODIFIERS_rec.context
3547 , l_MODIFIERS_rec.created_by
3548 , l_MODIFIERS_rec.creation_date
3549 , l_MODIFIERS_rec.effective_period_uom
3550 , l_MODIFIERS_rec.end_date_active
3551 , l_MODIFIERS_rec.estim_accrual_rate
3552 , l_MODIFIERS_rec.generate_using_formula_id
3553 , l_MODIFIERS_rec.inventory_item_id
3554 , l_MODIFIERS_rec.last_updated_by
3555 , l_MODIFIERS_rec.last_update_date
3556 , l_MODIFIERS_rec.last_update_login
3557 , l_MODIFIERS_rec.list_header_id
3558 , l_MODIFIERS_rec.list_line_id
3559 , l_MODIFIERS_rec.list_line_type_code
3560 , l_MODIFIERS_rec.list_price
3561 , l_MODIFIERS_rec.modifier_level_code
3562 , l_MODIFIERS_rec.number_effective_periods
3563 , l_MODIFIERS_rec.operand
3564 , l_MODIFIERS_rec.organization_id
3565 , l_MODIFIERS_rec.override_flag
3566 , l_MODIFIERS_rec.percent_price
3567 , l_MODIFIERS_rec.price_break_type_code
3568 , l_MODIFIERS_rec.price_by_formula_id
3569 , l_MODIFIERS_rec.primary_uom_flag
3570 , l_MODIFIERS_rec.print_on_invoice_flag
3571 , l_MODIFIERS_rec.program_application_id
3572 , l_MODIFIERS_rec.program_id
3573 , l_MODIFIERS_rec.program_update_date
3574 , l_MODIFIERS_rec.rebate_trxn_type_code
3575 , l_MODIFIERS_rec.related_item_id
3576 , l_MODIFIERS_rec.relationship_type_id
3577 , l_MODIFIERS_rec.reprice_flag
3578 , l_MODIFIERS_rec.request_id
3579 , l_MODIFIERS_rec.revision
3580 , l_MODIFIERS_rec.revision_date
3581 , l_MODIFIERS_rec.revision_reason_code
3582 , l_MODIFIERS_rec.start_date_active
3583 , l_MODIFIERS_rec.substitution_attribute
3584 , l_MODIFIERS_rec.substitution_context
3585 , l_MODIFIERS_rec.substitution_value
3586 , l_MODIFIERS_rec.accrual_flag
3587 , l_MODIFIERS_rec.pricing_group_sequence
3588 , l_MODIFIERS_rec.incompatibility_grp_code
3589 , l_MODIFIERS_rec.list_line_no
3590 , l_MODIFIERS_rec.product_precedence
3591 , l_MODIFIERS_rec.expiration_period_start_date
3592 , l_MODIFIERS_rec.number_expiration_periods
3593 , l_MODIFIERS_rec.expiration_period_uom
3594 , l_MODIFIERS_rec.expiration_date
3595 , l_MODIFIERS_rec.estim_gl_value
3596 , l_MODIFIERS_rec.benefit_price_list_line_id
3597 -- , l_MODIFIERS_rec.recurring_flag
3598 , l_MODIFIERS_rec.benefit_limit
3599 , l_MODIFIERS_rec.charge_type_code
3600 , l_MODIFIERS_rec.charge_subtype_code
3601 , l_MODIFIERS_rec.benefit_qty
3602 , l_MODIFIERS_rec.benefit_uom_code
3603 , l_MODIFIERS_rec.accrual_conversion_rate
3604 , l_MODIFIERS_rec.proration_type_code
3605 , l_MODIFIERS_rec.include_on_returns_flag
3606 , l_MODIFIERS_rec.accum_attribute
3607 , l_MODIFIERS_rec.continuous_price_break_flag
3608 , l_MODIFIERS_rec.service_duration
3609 , l_MODIFIERS_rec.service_period
3610 FROM QP_LIST_LINES
3611 WHERE LIST_LINE_ID = p_MODIFIERS_rec.list_line_id
3612 FOR UPDATE NOWAIT;
3613
3614 /* display debug messages only when OE_LOCK_ROW issue occurs
3615 -- smbalara Fix for Bug 6340093 - messages added for debugging oe_lock_row issue in the modifier lines block
3616 --added missing columns for oe_lock_row issue :bug 8594682
3617 oe_debug_pub.add('p_MODIFIERS_rec.arithmetic_operator :'||p_MODIFIERS_rec.arithmetic_operator||':'||'l_MODIFIERS_rec.arithmetic_operator:'||l_MODIFIERS_rec.arithmetic_operator||':');
3618 oe_debug_pub.add('p_MODIFIERS_rec.attribute1 :'||p_MODIFIERS_rec.attribute1||':'||'l_MODIFIERS_rec.attribute1:'||l_MODIFIERS_rec.attribute1||':');
3619 oe_debug_pub.add('p_MODIFIERS_rec.attribute10 :'||p_MODIFIERS_rec.attribute10||':'||'l_MODIFIERS_rec.attribute10:'||l_MODIFIERS_rec.attribute10||':');
3620 oe_debug_pub.add('p_MODIFIERS_rec.attribute11 :'||p_MODIFIERS_rec.attribute11||':'||'l_MODIFIERS_rec.attribute11:'||l_MODIFIERS_rec.attribute11||':');
3621 oe_debug_pub.add('p_MODIFIERS_rec.attribute12 :'||p_MODIFIERS_rec.attribute12||':'||'l_MODIFIERS_rec.attribute12:'||l_MODIFIERS_rec.attribute12||':');
3622 oe_debug_pub.add('p_MODIFIERS_rec.attribute13 :'||p_MODIFIERS_rec.attribute13||':'||'l_MODIFIERS_rec.attribute13:'||l_MODIFIERS_rec.attribute13||':');
3623 oe_debug_pub.add('p_MODIFIERS_rec.attribute14 :'||p_MODIFIERS_rec.attribute14||':'||'l_MODIFIERS_rec.attribute14:'||l_MODIFIERS_rec.attribute14||':');
3624 oe_debug_pub.add('p_MODIFIERS_rec.attribute15 :'||p_MODIFIERS_rec.attribute15||':'||'l_MODIFIERS_rec.attribute15:'||l_MODIFIERS_rec.attribute15||':');
3625 oe_debug_pub.add('p_MODIFIERS_rec.attribute2 :'||p_MODIFIERS_rec.attribute2||':'||'l_MODIFIERS_rec.attribute2:'||l_MODIFIERS_rec.attribute2||':');
3626 oe_debug_pub.add('p_MODIFIERS_rec.attribute3 :'||p_MODIFIERS_rec.attribute3||':'||'l_MODIFIERS_rec.attribute3:'||l_MODIFIERS_rec.attribute3||':');
3627 oe_debug_pub.add('p_MODIFIERS_rec.attribute4 :'||p_MODIFIERS_rec.attribute4||':'||'l_MODIFIERS_rec.attribute4:'||l_MODIFIERS_rec.attribute4||':');
3628 oe_debug_pub.add('p_MODIFIERS_rec.attribute5 :'||p_MODIFIERS_rec.attribute5||':'||'l_MODIFIERS_rec.attribute5:'||l_MODIFIERS_rec.attribute5||':');
3629 oe_debug_pub.add('p_MODIFIERS_rec.attribute6 :'||p_MODIFIERS_rec.attribute6||':'||'l_MODIFIERS_rec.attribute6:'||l_MODIFIERS_rec.attribute6||':');
3630 oe_debug_pub.add('p_MODIFIERS_rec.attribute7 :'||p_MODIFIERS_rec.attribute7||':'||'l_MODIFIERS_rec.attribute7:'||l_MODIFIERS_rec.attribute7||':');
3631 oe_debug_pub.add('p_MODIFIERS_rec.attribute8 :'||p_MODIFIERS_rec.attribute8||':'||'l_MODIFIERS_rec.attribute8:'||l_MODIFIERS_rec.attribute8||':');
3632 oe_debug_pub.add('p_MODIFIERS_rec.attribute9 :'||p_MODIFIERS_rec.attribute9||':'||'l_MODIFIERS_rec.attribute9:'||l_MODIFIERS_rec.attribute9||':');
3633 oe_debug_pub.add('p_MODIFIERS_rec.automatic_flag :'||p_MODIFIERS_rec.automatic_flag||':'||'l_MODIFIERS_rec.automatic_flag:'||l_MODIFIERS_rec.automatic_flag||':');
3634 oe_debug_pub.add('p_MODIFIERS_rec.pricing_phase_id :'||p_MODIFIERS_rec.pricing_phase_id||':'||'l_MODIFIERS_rec.pricing_phase_id:'||l_MODIFIERS_rec.pricing_phase_id||':');
3635 oe_debug_pub.add('p_MODIFIERS_rec.comments :'||p_MODIFIERS_rec.comments||':'||'l_MODIFIERS_rec.comments:'||l_MODIFIERS_rec.comments||':');
3636 oe_debug_pub.add('p_MODIFIERS_rec.context :'||p_MODIFIERS_rec.context||':'||'l_MODIFIERS_rec.context:'||l_MODIFIERS_rec.context||':');
3637 oe_debug_pub.add('p_MODIFIERS_rec.effective_period_uom :'||p_MODIFIERS_rec.effective_period_uom||':'||'l_MODIFIERS_rec.effective_period_uom:'||l_MODIFIERS_rec.effective_period_uom||':');
3638 oe_debug_pub.add('p_MODIFIERS_rec.end_date_active :'||p_MODIFIERS_rec.end_date_active||':'||'l_MODIFIERS_rec.end_date_active:'||l_MODIFIERS_rec.end_date_active||':');
3639 oe_debug_pub.add('p_MODIFIERS_rec.estim_accrual_rate :'||p_MODIFIERS_rec.estim_accrual_rate||':'||'l_MODIFIERS_rec.estim_accrual_rate:'||l_MODIFIERS_rec.estim_accrual_rate||':');
3640 oe_debug_pub.add('p_MODIFIERS_rec.generate_using_formula_id :'||p_MODIFIERS_rec.generate_using_formula_id||':'||'l_MODIFIERS_rec.generate_using_formula_id:'||l_MODIFIERS_rec.generate_using_formula_id||':');
3641 oe_debug_pub.add('p_MODIFIERS_rec.inventory_item_id :'||p_MODIFIERS_rec.inventory_item_id||':'||'l_MODIFIERS_rec.inventory_item_id:'||l_MODIFIERS_rec.inventory_item_id||':');
3642 oe_debug_pub.add('p_MODIFIERS_rec.list_header_id :'||p_MODIFIERS_rec.list_header_id||':'||'l_MODIFIERS_rec.list_header_id:'||l_MODIFIERS_rec.list_header_id||':');
3643 oe_debug_pub.add('p_MODIFIERS_rec.list_line_id :'||p_MODIFIERS_rec.list_line_id||':'||'l_MODIFIERS_rec.list_line_id:'||l_MODIFIERS_rec.list_line_id||':');
3644 oe_debug_pub.add('p_MODIFIERS_rec.list_line_type_code :'||p_MODIFIERS_rec.list_line_type_code||':'||'l_MODIFIERS_rec.list_line_type_code:'||l_MODIFIERS_rec.list_line_type_code||':');
3645 oe_debug_pub.add('p_MODIFIERS_rec.modifier_level_code :'||p_MODIFIERS_rec.modifier_level_code||':'||'l_MODIFIERS_rec.modifier_level_code:'||l_MODIFIERS_rec.modifier_level_code||':');
3646 oe_debug_pub.add('p_MODIFIERS_rec.number_effective_periods :'||p_MODIFIERS_rec.number_effective_periods||':'||'l_MODIFIERS_rec.number_effective_periods:'||l_MODIFIERS_rec.number_effective_periods||':');
3647 oe_debug_pub.add('p_MODIFIERS_rec.operand :'||p_MODIFIERS_rec.operand||':'||'l_MODIFIERS_rec.operand:'||l_MODIFIERS_rec.operand||':');
3648 oe_debug_pub.add('p_MODIFIERS_rec.organization_id :'||p_MODIFIERS_rec.organization_id||':'||'l_MODIFIERS_rec.organization_id:'||l_MODIFIERS_rec.organization_id||':');
3649 oe_debug_pub.add('p_MODIFIERS_rec.override_flag :'||p_MODIFIERS_rec.override_flag||':'||'l_MODIFIERS_rec.override_flag:'||l_MODIFIERS_rec.override_flag||':');
3650 oe_debug_pub.add('p_MODIFIERS_rec.percent_price :'||p_MODIFIERS_rec.percent_price||':'||'l_MODIFIERS_rec.percent_price:'||l_MODIFIERS_rec.percent_price||':');
3651 oe_debug_pub.add('p_MODIFIERS_rec.price_break_type_code :'||p_MODIFIERS_rec.price_break_type_code||':'||'l_MODIFIERS_rec.price_break_type_code:'||l_MODIFIERS_rec.price_break_type_code||':');
3652 oe_debug_pub.add('p_MODIFIERS_rec.price_by_formula_id :'||p_MODIFIERS_rec.price_by_formula_id||':'||'l_MODIFIERS_rec.price_by_formula_id:'||l_MODIFIERS_rec.price_by_formula_id||':');
3653 oe_debug_pub.add('p_MODIFIERS_rec.primary_uom_flag :'||p_MODIFIERS_rec.primary_uom_flag||':'||'l_MODIFIERS_rec.primary_uom_flag:'||l_MODIFIERS_rec.primary_uom_flag||':');
3654 oe_debug_pub.add('p_MODIFIERS_rec.print_on_invoice_flag :'||p_MODIFIERS_rec.print_on_invoice_flag||':'||'l_MODIFIERS_rec.print_on_invoice_flag:'||l_MODIFIERS_rec.print_on_invoice_flag||':');
3655 oe_debug_pub.add('p_MODIFIERS_rec.rebate_trxn_type_code :'||p_MODIFIERS_rec.rebate_trxn_type_code||':'||'l_MODIFIERS_rec.rebate_trxn_type_code:'||l_MODIFIERS_rec.rebate_trxn_type_code||':');
3656 oe_debug_pub.add('p_MODIFIERS_rec.related_item_id :'||p_MODIFIERS_rec.related_item_id||':'||'l_MODIFIERS_rec.related_item_id:'||l_MODIFIERS_rec.related_item_id||':');
3657 oe_debug_pub.add('p_MODIFIERS_rec.relationship_type_id :'||p_MODIFIERS_rec.relationship_type_id||':'||'l_MODIFIERS_rec.relationship_type_id:'||l_MODIFIERS_rec.relationship_type_id||':');
3658 oe_debug_pub.add('p_MODIFIERS_rec.reprice_flag :'||p_MODIFIERS_rec.reprice_flag||':'||'l_MODIFIERS_rec.reprice_flag:'||l_MODIFIERS_rec.reprice_flag||':');
3659 oe_debug_pub.add('p_MODIFIERS_rec.revision :'||p_MODIFIERS_rec.revision||':'||'l_MODIFIERS_rec.revision:'||l_MODIFIERS_rec.revision||':');
3660 oe_debug_pub.add('p_MODIFIERS_rec.revision_date :'||p_MODIFIERS_rec.revision_date||':'||'l_MODIFIERS_rec.revision_date:'||l_MODIFIERS_rec.revision_date||':');
3661 oe_debug_pub.add('p_MODIFIERS_rec.revision_reason_code :'||p_MODIFIERS_rec.revision_reason_code||':'||'l_MODIFIERS_rec.revision_reason_code:'||l_MODIFIERS_rec.revision_reason_code||':');
3662 oe_debug_pub.add('p_MODIFIERS_rec.substitution_attribute :'||p_MODIFIERS_rec.substitution_attribute||':'||'l_MODIFIERS_rec.substitution_attribute:'||l_MODIFIERS_rec.substitution_attribute||':');
3663 oe_debug_pub.add('p_MODIFIERS_rec.substitution_context :'||p_MODIFIERS_rec.substitution_context||':'||'l_MODIFIERS_rec.substitution_context:'||l_MODIFIERS_rec.substitution_context||':');
3664 oe_debug_pub.add('p_MODIFIERS_rec.substitution_value :'||p_MODIFIERS_rec.substitution_value||':'||'l_MODIFIERS_rec.substitution_value:'||l_MODIFIERS_rec.substitution_value||':');
3665 oe_debug_pub.add('p_MODIFIERS_rec.accrual_flag :'||p_MODIFIERS_rec.accrual_flag||':'||'l_MODIFIERS_rec.accrual_flag:'||l_MODIFIERS_rec.accrual_flag||':');
3666 oe_debug_pub.add('p_MODIFIERS_rec.pricing_group_sequence :'||p_MODIFIERS_rec.pricing_group_sequence||':'||'l_MODIFIERS_rec.pricing_group_sequence:'||l_MODIFIERS_rec.pricing_group_sequence||':');
3667 oe_debug_pub.add('p_MODIFIERS_rec.incompatibility_grp_code :'||p_MODIFIERS_rec.incompatibility_grp_code||':'||'l_MODIFIERS_rec.incompatibility_grp_code:'||l_MODIFIERS_rec.incompatibility_grp_code||':');
3668 oe_debug_pub.add('p_MODIFIERS_rec.list_line_no :'||p_MODIFIERS_rec.list_line_no||':'||'l_MODIFIERS_rec.list_line_no:'||l_MODIFIERS_rec.list_line_no||':');
3669 oe_debug_pub.add('p_MODIFIERS_rec.product_precedence :'||p_MODIFIERS_rec.product_precedence||':'||'l_MODIFIERS_rec.product_precedence:'||l_MODIFIERS_rec.product_precedence||':');
3670 oe_debug_pub.add('p_MODIFIERS_rec.expiration_period_start_date :'||p_MODIFIERS_rec.expiration_period_start_date||':'||'l_MODIFIERS_rec.expiration_period_start_date:'||l_MODIFIERS_rec.expiration_period_start_date||':');
3671 oe_debug_pub.add('p_MODIFIERS_rec.number_expiration_periods :'||p_MODIFIERS_rec.number_expiration_periods||':'||'l_MODIFIERS_rec.number_expiration_periods:'||l_MODIFIERS_rec.number_expiration_periods||':');
3672 oe_debug_pub.add('p_MODIFIERS_rec.expiration_period_uom :'||p_MODIFIERS_rec.expiration_period_uom||':'||'l_MODIFIERS_rec.expiration_period_uom:'||l_MODIFIERS_rec.expiration_period_uom||':');
3673 oe_debug_pub.add('p_MODIFIERS_rec.expiration_date :'||p_MODIFIERS_rec.expiration_date||':'||'l_MODIFIERS_rec.expiration_date:'||l_MODIFIERS_rec.expiration_date||':');
3674 oe_debug_pub.add('p_MODIFIERS_rec.estim_gl_value :'||p_MODIFIERS_rec.estim_gl_value||':'||'l_MODIFIERS_rec.estim_gl_value:'||l_MODIFIERS_rec.estim_gl_value||':');
3675 oe_debug_pub.add('p_MODIFIERS_rec.benefit_price_list_line_id :'||p_MODIFIERS_rec.benefit_price_list_line_id||':'||'l_MODIFIERS_rec.benefit_price_list_line_id:'||l_MODIFIERS_rec.benefit_price_list_line_id||':');
3676 oe_debug_pub.add('p_MODIFIERS_rec.benefit_limit :'||p_MODIFIERS_rec.benefit_limit||':'||'l_MODIFIERS_rec.benefit_limit:'||l_MODIFIERS_rec.benefit_limit||':');
3677 oe_debug_pub.add('p_MODIFIERS_rec.charge_type_code :'||p_MODIFIERS_rec.charge_type_code||':'||'l_MODIFIERS_rec.charge_type_code:'||l_MODIFIERS_rec.charge_type_code||':');
3678 oe_debug_pub.add('p_MODIFIERS_rec.charge_subtype_code :'||p_MODIFIERS_rec.charge_subtype_code||':'||'l_MODIFIERS_rec.charge_subtype_code:'||l_MODIFIERS_rec.charge_subtype_code||':');
3679 oe_debug_pub.add('p_MODIFIERS_rec.benefit_qty :'||p_MODIFIERS_rec.benefit_qty||':'||'l_MODIFIERS_rec.benefit_qty:'||l_MODIFIERS_rec.benefit_qty||':');
3680 oe_debug_pub.add('p_MODIFIERS_rec.benefit_uom_code :'||p_MODIFIERS_rec.benefit_uom_code||':'||'l_MODIFIERS_rec.benefit_uom_code:'||l_MODIFIERS_rec.benefit_uom_code||':');
3681 oe_debug_pub.add('p_MODIFIERS_rec.accrual_conversion_rate :'||p_MODIFIERS_rec.accrual_conversion_rate||':'||'l_MODIFIERS_rec.accrual_conversion_rate:'||l_MODIFIERS_rec.accrual_conversion_rate||':');
3682 oe_debug_pub.add('p_MODIFIERS_rec.proration_type_code :'||p_MODIFIERS_rec.proration_type_code||':'||'l_MODIFIERS_rec.proration_type_code:'||l_MODIFIERS_rec.proration_type_code||':');
3683 oe_debug_pub.add('p_MODIFIERS_rec.include_on_returns_flag :'||p_MODIFIERS_rec.include_on_returns_flag||':'||'l_MODIFIERS_rec.include_on_returns_flag:'||l_MODIFIERS_rec.include_on_returns_flag||':');
3684
3685 oe_debug_pub.add('p_MODIFIERS_rec.created_by :'||p_MODIFIERS_rec.created_by||':'||'l_MODIFIERS_rec.created_by:'||l_MODIFIERS_rec.created_by||':');
3686 oe_debug_pub.add('p_MODIFIERS_rec.creation_date :'||p_MODIFIERS_rec.creation_date||':'||'l_MODIFIERS_rec.creation_date:'||l_MODIFIERS_rec.creation_date||':');
3687 oe_debug_pub.add('p_MODIFIERS_rec.last_updated_by :'||p_MODIFIERS_rec.last_updated_by||':'||'l_MODIFIERS_rec.last_updated_by:'||l_MODIFIERS_rec.last_updated_by||':');
3688 oe_debug_pub.add('p_MODIFIERS_rec.last_update_date :'||p_MODIFIERS_rec.last_update_date||':'||'l_MODIFIERS_rec.last_update_date:'||l_MODIFIERS_rec.last_update_date||':');
3689 oe_debug_pub.add('p_MODIFIERS_rec.last_update_login :'||p_MODIFIERS_rec.last_update_login||':'||'l_MODIFIERS_rec.last_update_login:'||l_MODIFIERS_rec.last_update_login||':');
3690 oe_debug_pub.add('p_MODIFIERS_rec.list_price :'||p_MODIFIERS_rec.list_price||':'||'l_MODIFIERS_rec.list_price:'||l_MODIFIERS_rec.list_price||':');
3691 oe_debug_pub.add('p_MODIFIERS_rec.program_application_id :'||p_MODIFIERS_rec.program_application_id||':'||'l_MODIFIERS_rec.program_application_id:'||l_MODIFIERS_rec.program_application_id||':');
3692 oe_debug_pub.add('p_MODIFIERS_rec.program_id :'||p_MODIFIERS_rec.program_id||':'||'l_MODIFIERS_rec.program_id:'||l_MODIFIERS_rec.program_id||':');
3693 oe_debug_pub.add('p_MODIFIERS_rec.program_update_date :'||p_MODIFIERS_rec.program_update_date||':'||'l_MODIFIERS_rec.program_update_date:'||l_MODIFIERS_rec.program_update_date||':');
3694 oe_debug_pub.add('p_MODIFIERS_rec.request_id :'||p_MODIFIERS_rec.request_id||':'||'l_MODIFIERS_rec.request_id:'||l_MODIFIERS_rec.request_id||':');
3695 oe_debug_pub.add('p_MODIFIERS_rec.start_date_active :'||p_MODIFIERS_rec.start_date_active||':'||'l_MODIFIERS_rec.start_date_active:'||l_MODIFIERS_rec.start_date_active||':');
3696 oe_debug_pub.add('p_MODIFIERS_rec.accum_attribute :'||p_MODIFIERS_rec.accum_attribute||':'||'l_MODIFIERS_rec.accum_attribute:'||l_MODIFIERS_rec.accum_attribute||':');
3697 */
3698 -- Row locked. Compare IN attributes to DB attributes.
3699
3700 IF
3701 QP_GLOBALS.Equal(p_MODIFIERS_rec.arithmetic_operator,
3702 l_MODIFIERS_rec.arithmetic_operator)
3703
3704 AND QP_GLOBALS.Equal(p_MODIFIERS_rec.attribute1,
3705 l_MODIFIERS_rec.attribute1)
3706 AND QP_GLOBALS.Equal(p_MODIFIERS_rec.attribute10,
3707 l_MODIFIERS_rec.attribute10)
3708 AND QP_GLOBALS.Equal(p_MODIFIERS_rec.attribute11,
3709 l_MODIFIERS_rec.attribute11)
3710 AND QP_GLOBALS.Equal(p_MODIFIERS_rec.attribute12,
3711 l_MODIFIERS_rec.attribute12)
3712 AND QP_GLOBALS.Equal(p_MODIFIERS_rec.attribute13,
3713 l_MODIFIERS_rec.attribute13)
3714 AND QP_GLOBALS.Equal(p_MODIFIERS_rec.attribute14,
3715 l_MODIFIERS_rec.attribute14)
3716 AND QP_GLOBALS.Equal(p_MODIFIERS_rec.attribute15,
3717 l_MODIFIERS_rec.attribute15)
3718 AND QP_GLOBALS.Equal(p_MODIFIERS_rec.attribute2,
3719 l_MODIFIERS_rec.attribute2)
3720 AND QP_GLOBALS.Equal(p_MODIFIERS_rec.attribute3,
3721 l_MODIFIERS_rec.attribute3)
3722 AND QP_GLOBALS.Equal(p_MODIFIERS_rec.attribute4,
3723 l_MODIFIERS_rec.attribute4)
3724 AND QP_GLOBALS.Equal(p_MODIFIERS_rec.attribute5,
3725 l_MODIFIERS_rec.attribute5)
3726 AND QP_GLOBALS.Equal(p_MODIFIERS_rec.attribute6,
3727 l_MODIFIERS_rec.attribute6)
3728 AND QP_GLOBALS.Equal(p_MODIFIERS_rec.attribute7,
3729 l_MODIFIERS_rec.attribute7)
3730 AND QP_GLOBALS.Equal(p_MODIFIERS_rec.attribute8,
3731 l_MODIFIERS_rec.attribute8)
3732 AND QP_GLOBALS.Equal(p_MODIFIERS_rec.attribute9,
3733 l_MODIFIERS_rec.attribute9)
3734
3735 AND QP_GLOBALS.Equal(p_MODIFIERS_rec.automatic_flag,
3736 l_MODIFIERS_rec.automatic_flag)
3737 -- AND QP_GLOBALS.Equal(p_MODIFIERS_rec.base_qty,
3738 -- l_MODIFIERS_rec.base_qty)
3739 AND QP_GLOBALS.Equal(p_MODIFIERS_rec.pricing_phase_id,
3740 l_MODIFIERS_rec.pricing_phase_id)
3741
3742 -- AND QP_GLOBALS.Equal(p_MODIFIERS_rec.base_uom_code,
3743 -- l_MODIFIERS_rec.base_uom_code)
3744 AND QP_GLOBALS.Equal(NVL(p_MODIFIERS_rec.comments,l_MODIFIERS_rec.comments),
3745 l_MODIFIERS_rec.comments) --bug 7321894
3746 AND QP_GLOBALS.Equal(p_MODIFIERS_rec.context,
3747 l_MODIFIERS_rec.context)
3748 -- AND QP_GLOBALS.Equal(p_MODIFIERS_rec.created_by,
3749 -- l_MODIFIERS_rec.created_by)
3750 -- AND QP_GLOBALS.Equal(p_MODIFIERS_rec.creation_date,
3751 -- l_MODIFIERS_rec.creation_date)
3752 AND QP_GLOBALS.Equal(p_MODIFIERS_rec.effective_period_uom,
3753 l_MODIFIERS_rec.effective_period_uom)
3754 AND QP_GLOBALS.Equal(to_date(to_char(p_MODIFIERS_rec.end_date_active,'DD/MM/YYYY'),'DD/MM/YYYY'),
3755 to_date(to_char(l_MODIFIERS_rec.end_date_active,'DD/MM/YYYY'),'DD/MM/YYYY'))
3756 AND QP_GLOBALS.Equal(nvl(p_MODIFIERS_rec.estim_accrual_rate, l_MODIFIERS_rec.estim_accrual_rate),
3757 l_MODIFIERS_rec.estim_accrual_rate)
3758 AND QP_GLOBALS.Equal(p_MODIFIERS_rec.generate_using_formula_id,
3759 l_MODIFIERS_rec.generate_using_formula_id)
3760 AND QP_GLOBALS.Equal(p_MODIFIERS_rec.inventory_item_id,
3761 l_MODIFIERS_rec.inventory_item_id)
3762 -- AND QP_GLOBALS.Equal(p_MODIFIERS_rec.last_updated_by,
3763 -- l_MODIFIERS_rec.last_updated_by)
3764 -- AND QP_GLOBALS.Equal(p_MODIFIERS_rec.last_update_date,
3765 -- l_MODIFIERS_rec.last_update_date)
3766 -- AND QP_GLOBALS.Equal(p_MODIFIERS_rec.last_update_login,
3767 -- l_MODIFIERS_rec.last_update_login)
3768
3769 AND QP_GLOBALS.Equal(nvl(p_MODIFIERS_rec.list_header_id, l_MODIFIERS_rec.list_header_id),
3770 l_MODIFIERS_rec.list_header_id)
3771 AND QP_GLOBALS.Equal(p_MODIFIERS_rec.list_line_id,
3772 l_MODIFIERS_rec.list_line_id)
3773 AND QP_GLOBALS.Equal(p_MODIFIERS_rec.list_line_type_code,
3774 l_MODIFIERS_rec.list_line_type_code)
3775 -- AND QP_GLOBALS.Equal(p_MODIFIERS_rec.list_price,
3776 -- l_MODIFIERS_rec.list_price)
3777 AND QP_GLOBALS.Equal(p_MODIFIERS_rec.modifier_level_code,
3778 l_MODIFIERS_rec.modifier_level_code)
3779
3780 AND QP_GLOBALS.Equal(p_MODIFIERS_rec.number_effective_periods,
3781 l_MODIFIERS_rec.number_effective_periods)
3782
3783 AND QP_GLOBALS.Equal(p_MODIFIERS_rec.operand,
3784 l_MODIFIERS_rec.operand)
3785
3786 AND QP_GLOBALS.Equal(p_MODIFIERS_rec.organization_id,
3787 l_MODIFIERS_rec.organization_id)
3788 AND QP_GLOBALS.Equal(p_MODIFIERS_rec.override_flag,
3789 l_MODIFIERS_rec.override_flag)
3790 AND QP_GLOBALS.Equal(p_MODIFIERS_rec.percent_price,
3791 l_MODIFIERS_rec.percent_price)
3792 AND QP_GLOBALS.Equal(p_MODIFIERS_rec.price_break_type_code,
3793 l_MODIFIERS_rec.price_break_type_code)
3794 AND QP_GLOBALS.Equal(p_MODIFIERS_rec.price_by_formula_id,
3795 l_MODIFIERS_rec.price_by_formula_id)
3796 AND QP_GLOBALS.Equal(NVL(p_MODIFIERS_rec.primary_uom_flag,l_MODIFIERS_rec.primary_uom_flag),
3797 l_MODIFIERS_rec.primary_uom_flag) --bug 7321894
3798 -- AND QP_GLOBALS.Equal(p_MODIFIERS_rec.print_on_invoice_flag, --ER 11828647
3799 -- l_MODIFIERS_rec.print_on_invoice_flag)
3800 -- AND QP_GLOBALS.Equal(p_MODIFIERS_rec.program_application_id,
3801 -- l_MODIFIERS_rec.program_application_id)
3802 -- AND QP_GLOBALS.Equal(p_MODIFIERS_rec.program_id,
3803 -- l_MODIFIERS_rec.program_id)
3804 -- AND QP_GLOBALS.Equal(p_MODIFIERS_rec.program_update_date,
3805 -- l_MODIFIERS_rec.program_update_date)
3806 AND QP_GLOBALS.Equal(p_MODIFIERS_rec.rebate_trxn_type_code,
3807 l_MODIFIERS_rec.rebate_trxn_type_code)
3808 AND QP_GLOBALS.Equal(p_MODIFIERS_rec.related_item_id,
3809 l_MODIFIERS_rec.related_item_id)
3810 AND QP_GLOBALS.Equal(p_MODIFIERS_rec.relationship_type_id,
3811 l_MODIFIERS_rec.relationship_type_id)
3812 AND QP_GLOBALS.Equal(p_MODIFIERS_rec.reprice_flag,
3813 l_MODIFIERS_rec.reprice_flag)
3814 -- AND QP_GLOBALS.Equal(p_MODIFIERS_rec.request_id,
3815 -- l_MODIFIERS_rec.request_id)
3816 AND QP_GLOBALS.Equal(p_MODIFIERS_rec.revision,
3817 l_MODIFIERS_rec.revision)
3818 AND QP_GLOBALS.Equal(p_MODIFIERS_rec.revision_date,
3819 l_MODIFIERS_rec.revision_date)
3820 AND QP_GLOBALS.Equal(p_MODIFIERS_rec.revision_reason_code,
3821 l_MODIFIERS_rec.revision_reason_code)
3822 --AND QP_GLOBALS.Equal(to_date(to_char(p_MODIFIERS_rec.start_date_active,'DD/MM/YYYY'),'DD/MM/YYYY'),
3823 -- to_date(to_char(l_MODIFIERS_rec.start_date_active,'DD/MM/YYYY'),'DD/MM/YYYY'))
3824 AND QP_GLOBALS.Equal(p_MODIFIERS_rec.substitution_attribute,
3825 l_MODIFIERS_rec.substitution_attribute)
3826 AND QP_GLOBALS.Equal(p_MODIFIERS_rec.substitution_context,
3827 l_MODIFIERS_rec.substitution_context)
3828 AND QP_GLOBALS.Equal(p_MODIFIERS_rec.substitution_value,
3829 l_MODIFIERS_rec.substitution_value)
3830
3831 AND QP_GLOBALS.Equal(nvl(p_MODIFIERS_rec.accrual_flag, l_MODIFIERS_rec.accrual_flag),
3832 l_MODIFIERS_rec.accrual_flag)
3833 AND QP_GLOBALS.Equal(p_MODIFIERS_rec.pricing_group_sequence,
3834 l_MODIFIERS_rec.pricing_group_sequence)
3835 AND QP_GLOBALS.Equal(p_MODIFIERS_rec.incompatibility_grp_code,
3836 l_MODIFIERS_rec.incompatibility_grp_code)
3837 AND QP_GLOBALS.Equal(p_MODIFIERS_rec.list_line_no,
3838 l_MODIFIERS_rec.list_line_no)
3839 AND QP_GLOBALS.Equal(nvl(p_MODIFIERS_rec.product_precedence, l_MODIFIERS_rec.product_precedence),
3840 l_MODIFIERS_rec.product_precedence)
3841 AND QP_GLOBALS.Equal(p_MODIFIERS_rec.expiration_period_start_date,
3842 l_MODIFIERS_rec.expiration_period_start_date)
3843 AND QP_GLOBALS.Equal(p_MODIFIERS_rec.number_expiration_periods,
3844 l_MODIFIERS_rec.number_expiration_periods)
3845 AND QP_GLOBALS.Equal(p_MODIFIERS_rec.expiration_period_uom,
3846 l_MODIFIERS_rec.expiration_period_uom)
3847 AND QP_GLOBALS.Equal(p_MODIFIERS_rec.expiration_date,
3848 l_MODIFIERS_rec.expiration_date)
3849 AND QP_GLOBALS.Equal(p_MODIFIERS_rec.estim_gl_value,
3850 l_MODIFIERS_rec.estim_gl_value)
3851 AND QP_GLOBALS.Equal(p_MODIFIERS_rec.benefit_price_list_line_id,
3852 l_MODIFIERS_rec.benefit_price_list_line_id)
3853 -- AND QP_GLOBALS.Equal(p_MODIFIERS_rec.recurring_flag,
3854 -- l_MODIFIERS_rec.recurring_flag)
3855 AND QP_GLOBALS.Equal(p_MODIFIERS_rec.benefit_limit,
3856 l_MODIFIERS_rec.benefit_limit)
3857 AND QP_GLOBALS.Equal(p_MODIFIERS_rec.charge_type_code,
3858 l_MODIFIERS_rec.charge_type_code)
3859 AND QP_GLOBALS.Equal(p_MODIFIERS_rec.charge_subtype_code,
3860 l_MODIFIERS_rec.charge_subtype_code)
3861 AND QP_GLOBALS.Equal(p_MODIFIERS_rec.benefit_qty,
3862 l_MODIFIERS_rec.benefit_qty)
3863 AND QP_GLOBALS.Equal(p_MODIFIERS_rec.benefit_uom_code,
3864 l_MODIFIERS_rec.benefit_uom_code)
3865 AND QP_GLOBALS.Equal(p_MODIFIERS_rec.accrual_conversion_rate,
3866 l_MODIFIERS_rec.accrual_conversion_rate)
3867 AND QP_GLOBALS.Equal(p_MODIFIERS_rec.proration_type_code,
3868 l_MODIFIERS_rec.proration_type_code)
3869 AND QP_GLOBALS.Equal(nvl(p_MODIFIERS_rec.include_on_returns_flag, l_MODIFIERS_rec.include_on_returns_flag),
3870 l_MODIFIERS_rec.include_on_returns_flag)
3871
3872 THEN
3873
3874 -- Row has not changed. Set out parameter.
3875
3876 x_MODIFIERS_rec := l_MODIFIERS_rec;
3877
3878 -- Set return status
3879
3880 x_return_status := FND_API.G_RET_STS_SUCCESS;
3881 x_MODIFIERS_rec.return_status := FND_API.G_RET_STS_SUCCESS;
3882
3883 ELSE
3884
3885 -- smbalara Fix for Bug 6340093 - messages added for debugging oe_lock_row issue in the modifier lines block
3886 --added missing columns for oe_lock_row issue :bug 8594682
3887 oe_debug_pub.add('p_MODIFIERS_rec.arithmetic_operator :'||p_MODIFIERS_rec.arithmetic_operator||':'||'l_MODIFIERS_rec.arithmetic_operator:'||l_MODIFIERS_rec.arithmetic_operator||':');
3888 oe_debug_pub.add('p_MODIFIERS_rec.attribute1 :'||p_MODIFIERS_rec.attribute1||':'||'l_MODIFIERS_rec.attribute1:'||l_MODIFIERS_rec.attribute1||':');
3889 oe_debug_pub.add('p_MODIFIERS_rec.attribute10 :'||p_MODIFIERS_rec.attribute10||':'||'l_MODIFIERS_rec.attribute10:'||l_MODIFIERS_rec.attribute10||':');
3890 oe_debug_pub.add('p_MODIFIERS_rec.attribute11 :'||p_MODIFIERS_rec.attribute11||':'||'l_MODIFIERS_rec.attribute11:'||l_MODIFIERS_rec.attribute11||':');
3891 oe_debug_pub.add('p_MODIFIERS_rec.attribute12 :'||p_MODIFIERS_rec.attribute12||':'||'l_MODIFIERS_rec.attribute12:'||l_MODIFIERS_rec.attribute12||':');
3892 oe_debug_pub.add('p_MODIFIERS_rec.attribute13 :'||p_MODIFIERS_rec.attribute13||':'||'l_MODIFIERS_rec.attribute13:'||l_MODIFIERS_rec.attribute13||':');
3893 oe_debug_pub.add('p_MODIFIERS_rec.attribute14 :'||p_MODIFIERS_rec.attribute14||':'||'l_MODIFIERS_rec.attribute14:'||l_MODIFIERS_rec.attribute14||':');
3894 oe_debug_pub.add('p_MODIFIERS_rec.attribute15 :'||p_MODIFIERS_rec.attribute15||':'||'l_MODIFIERS_rec.attribute15:'||l_MODIFIERS_rec.attribute15||':');
3895 oe_debug_pub.add('p_MODIFIERS_rec.attribute2 :'||p_MODIFIERS_rec.attribute2||':'||'l_MODIFIERS_rec.attribute2:'||l_MODIFIERS_rec.attribute2||':');
3896 oe_debug_pub.add('p_MODIFIERS_rec.attribute3 :'||p_MODIFIERS_rec.attribute3||':'||'l_MODIFIERS_rec.attribute3:'||l_MODIFIERS_rec.attribute3||':');
3897 oe_debug_pub.add('p_MODIFIERS_rec.attribute4 :'||p_MODIFIERS_rec.attribute4||':'||'l_MODIFIERS_rec.attribute4:'||l_MODIFIERS_rec.attribute4||':');
3898 oe_debug_pub.add('p_MODIFIERS_rec.attribute5 :'||p_MODIFIERS_rec.attribute5||':'||'l_MODIFIERS_rec.attribute5:'||l_MODIFIERS_rec.attribute5||':');
3899 oe_debug_pub.add('p_MODIFIERS_rec.attribute6 :'||p_MODIFIERS_rec.attribute6||':'||'l_MODIFIERS_rec.attribute6:'||l_MODIFIERS_rec.attribute6||':');
3900 oe_debug_pub.add('p_MODIFIERS_rec.attribute7 :'||p_MODIFIERS_rec.attribute7||':'||'l_MODIFIERS_rec.attribute7:'||l_MODIFIERS_rec.attribute7||':');
3901 oe_debug_pub.add('p_MODIFIERS_rec.attribute8 :'||p_MODIFIERS_rec.attribute8||':'||'l_MODIFIERS_rec.attribute8:'||l_MODIFIERS_rec.attribute8||':');
3902 oe_debug_pub.add('p_MODIFIERS_rec.attribute9 :'||p_MODIFIERS_rec.attribute9||':'||'l_MODIFIERS_rec.attribute9:'||l_MODIFIERS_rec.attribute9||':');
3903 oe_debug_pub.add('p_MODIFIERS_rec.automatic_flag :'||p_MODIFIERS_rec.automatic_flag||':'||'l_MODIFIERS_rec.automatic_flag:'||l_MODIFIERS_rec.automatic_flag||':');
3904 oe_debug_pub.add('p_MODIFIERS_rec.pricing_phase_id :'||p_MODIFIERS_rec.pricing_phase_id||':'||'l_MODIFIERS_rec.pricing_phase_id:'||l_MODIFIERS_rec.pricing_phase_id||':');
3905 oe_debug_pub.add('p_MODIFIERS_rec.comments :'||p_MODIFIERS_rec.comments||':'||'l_MODIFIERS_rec.comments:'||l_MODIFIERS_rec.comments||':');
3906 oe_debug_pub.add('p_MODIFIERS_rec.context :'||p_MODIFIERS_rec.context||':'||'l_MODIFIERS_rec.context:'||l_MODIFIERS_rec.context||':');
3907 oe_debug_pub.add('p_MODIFIERS_rec.effective_period_uom :'||p_MODIFIERS_rec.effective_period_uom||':'||'l_MODIFIERS_rec.effective_period_uom:'||l_MODIFIERS_rec.effective_period_uom||':');
3908 oe_debug_pub.add('p_MODIFIERS_rec.end_date_active :'||p_MODIFIERS_rec.end_date_active||':'||'l_MODIFIERS_rec.end_date_active:'||l_MODIFIERS_rec.end_date_active||':');
3909 oe_debug_pub.add('p_MODIFIERS_rec.estim_accrual_rate :'||p_MODIFIERS_rec.estim_accrual_rate||':'||'l_MODIFIERS_rec.estim_accrual_rate:'||l_MODIFIERS_rec.estim_accrual_rate||':');
3910 oe_debug_pub.add('p_MODIFIERS_rec.generate_using_formula_id :'||p_MODIFIERS_rec.generate_using_formula_id||':'||'l_MODIFIERS_rec.generate_using_formula_id:'||l_MODIFIERS_rec.generate_using_formula_id||':');
3911 oe_debug_pub.add('p_MODIFIERS_rec.inventory_item_id :'||p_MODIFIERS_rec.inventory_item_id||':'||'l_MODIFIERS_rec.inventory_item_id:'||l_MODIFIERS_rec.inventory_item_id||':');
3912 oe_debug_pub.add('p_MODIFIERS_rec.list_header_id :'||p_MODIFIERS_rec.list_header_id||':'||'l_MODIFIERS_rec.list_header_id:'||l_MODIFIERS_rec.list_header_id||':');
3913 oe_debug_pub.add('p_MODIFIERS_rec.list_line_id :'||p_MODIFIERS_rec.list_line_id||':'||'l_MODIFIERS_rec.list_line_id:'||l_MODIFIERS_rec.list_line_id||':');
3914 oe_debug_pub.add('p_MODIFIERS_rec.list_line_type_code :'||p_MODIFIERS_rec.list_line_type_code||':'||'l_MODIFIERS_rec.list_line_type_code:'||l_MODIFIERS_rec.list_line_type_code||':');
3915 oe_debug_pub.add('p_MODIFIERS_rec.modifier_level_code :'||p_MODIFIERS_rec.modifier_level_code||':'||'l_MODIFIERS_rec.modifier_level_code:'||l_MODIFIERS_rec.modifier_level_code||':');
3916 oe_debug_pub.add('p_MODIFIERS_rec.number_effective_periods :'||p_MODIFIERS_rec.number_effective_periods||':'||'l_MODIFIERS_rec.number_effective_periods:'||l_MODIFIERS_rec.number_effective_periods||':');
3917 oe_debug_pub.add('p_MODIFIERS_rec.operand :'||p_MODIFIERS_rec.operand||':'||'l_MODIFIERS_rec.operand:'||l_MODIFIERS_rec.operand||':');
3918 oe_debug_pub.add('p_MODIFIERS_rec.organization_id :'||p_MODIFIERS_rec.organization_id||':'||'l_MODIFIERS_rec.organization_id:'||l_MODIFIERS_rec.organization_id||':');
3919 oe_debug_pub.add('p_MODIFIERS_rec.override_flag :'||p_MODIFIERS_rec.override_flag||':'||'l_MODIFIERS_rec.override_flag:'||l_MODIFIERS_rec.override_flag||':');
3920 oe_debug_pub.add('p_MODIFIERS_rec.percent_price :'||p_MODIFIERS_rec.percent_price||':'||'l_MODIFIERS_rec.percent_price:'||l_MODIFIERS_rec.percent_price||':');
3921 oe_debug_pub.add('p_MODIFIERS_rec.price_break_type_code :'||p_MODIFIERS_rec.price_break_type_code||':'||'l_MODIFIERS_rec.price_break_type_code:'||l_MODIFIERS_rec.price_break_type_code||':');
3922 oe_debug_pub.add('p_MODIFIERS_rec.price_by_formula_id :'||p_MODIFIERS_rec.price_by_formula_id||':'||'l_MODIFIERS_rec.price_by_formula_id:'||l_MODIFIERS_rec.price_by_formula_id||':');
3923 oe_debug_pub.add('p_MODIFIERS_rec.primary_uom_flag :'||p_MODIFIERS_rec.primary_uom_flag||':'||'l_MODIFIERS_rec.primary_uom_flag:'||l_MODIFIERS_rec.primary_uom_flag||':');
3924 oe_debug_pub.add('p_MODIFIERS_rec.print_on_invoice_flag :'||p_MODIFIERS_rec.print_on_invoice_flag||':'||'l_MODIFIERS_rec.print_on_invoice_flag:'||l_MODIFIERS_rec.print_on_invoice_flag||':');
3925 oe_debug_pub.add('p_MODIFIERS_rec.rebate_trxn_type_code :'||p_MODIFIERS_rec.rebate_trxn_type_code||':'||'l_MODIFIERS_rec.rebate_trxn_type_code:'||l_MODIFIERS_rec.rebate_trxn_type_code||':');
3926 oe_debug_pub.add('p_MODIFIERS_rec.related_item_id :'||p_MODIFIERS_rec.related_item_id||':'||'l_MODIFIERS_rec.related_item_id:'||l_MODIFIERS_rec.related_item_id||':');
3927 oe_debug_pub.add('p_MODIFIERS_rec.relationship_type_id :'||p_MODIFIERS_rec.relationship_type_id||':'||'l_MODIFIERS_rec.relationship_type_id:'||l_MODIFIERS_rec.relationship_type_id||':');
3928 oe_debug_pub.add('p_MODIFIERS_rec.reprice_flag :'||p_MODIFIERS_rec.reprice_flag||':'||'l_MODIFIERS_rec.reprice_flag:'||l_MODIFIERS_rec.reprice_flag||':');
3929 oe_debug_pub.add('p_MODIFIERS_rec.revision :'||p_MODIFIERS_rec.revision||':'||'l_MODIFIERS_rec.revision:'||l_MODIFIERS_rec.revision||':');
3930 oe_debug_pub.add('p_MODIFIERS_rec.revision_date :'||p_MODIFIERS_rec.revision_date||':'||'l_MODIFIERS_rec.revision_date:'||l_MODIFIERS_rec.revision_date||':');
3931 oe_debug_pub.add('p_MODIFIERS_rec.revision_reason_code :'||p_MODIFIERS_rec.revision_reason_code||':'||'l_MODIFIERS_rec.revision_reason_code:'||l_MODIFIERS_rec.revision_reason_code||':');
3932 oe_debug_pub.add('p_MODIFIERS_rec.substitution_attribute :'||p_MODIFIERS_rec.substitution_attribute||':'||'l_MODIFIERS_rec.substitution_attribute:'||l_MODIFIERS_rec.substitution_attribute||':');
3933 oe_debug_pub.add('p_MODIFIERS_rec.substitution_context :'||p_MODIFIERS_rec.substitution_context||':'||'l_MODIFIERS_rec.substitution_context:'||l_MODIFIERS_rec.substitution_context||':');
3934 oe_debug_pub.add('p_MODIFIERS_rec.substitution_value :'||p_MODIFIERS_rec.substitution_value||':'||'l_MODIFIERS_rec.substitution_value:'||l_MODIFIERS_rec.substitution_value||':');
3935 oe_debug_pub.add('p_MODIFIERS_rec.accrual_flag :'||p_MODIFIERS_rec.accrual_flag||':'||'l_MODIFIERS_rec.accrual_flag:'||l_MODIFIERS_rec.accrual_flag||':');
3936 oe_debug_pub.add('p_MODIFIERS_rec.pricing_group_sequence :'||p_MODIFIERS_rec.pricing_group_sequence||':'||'l_MODIFIERS_rec.pricing_group_sequence:'||l_MODIFIERS_rec.pricing_group_sequence||':');
3937 oe_debug_pub.add('p_MODIFIERS_rec.incompatibility_grp_code :'||p_MODIFIERS_rec.incompatibility_grp_code||':'||'l_MODIFIERS_rec.incompatibility_grp_code:'||l_MODIFIERS_rec.incompatibility_grp_code||':');
3938 oe_debug_pub.add('p_MODIFIERS_rec.list_line_no :'||p_MODIFIERS_rec.list_line_no||':'||'l_MODIFIERS_rec.list_line_no:'||l_MODIFIERS_rec.list_line_no||':');
3939 oe_debug_pub.add('p_MODIFIERS_rec.product_precedence :'||p_MODIFIERS_rec.product_precedence||':'||'l_MODIFIERS_rec.product_precedence:'||l_MODIFIERS_rec.product_precedence||':');
3940 oe_debug_pub.add('p_MODIFIERS_rec.expiration_period_start_date :'||p_MODIFIERS_rec.expiration_period_start_date||':'||'l_MODIFIERS_rec.expiration_period_start_date:'||l_MODIFIERS_rec.expiration_period_start_date||':');
3941 oe_debug_pub.add('p_MODIFIERS_rec.number_expiration_periods :'||p_MODIFIERS_rec.number_expiration_periods||':'||'l_MODIFIERS_rec.number_expiration_periods:'||l_MODIFIERS_rec.number_expiration_periods||':');
3942 oe_debug_pub.add('p_MODIFIERS_rec.expiration_period_uom :'||p_MODIFIERS_rec.expiration_period_uom||':'||'l_MODIFIERS_rec.expiration_period_uom:'||l_MODIFIERS_rec.expiration_period_uom||':');
3943 oe_debug_pub.add('p_MODIFIERS_rec.expiration_date :'||p_MODIFIERS_rec.expiration_date||':'||'l_MODIFIERS_rec.expiration_date:'||l_MODIFIERS_rec.expiration_date||':');
3944 oe_debug_pub.add('p_MODIFIERS_rec.estim_gl_value :'||p_MODIFIERS_rec.estim_gl_value||':'||'l_MODIFIERS_rec.estim_gl_value:'||l_MODIFIERS_rec.estim_gl_value||':');
3945 oe_debug_pub.add('p_MODIFIERS_rec.benefit_price_list_line_id :'||p_MODIFIERS_rec.benefit_price_list_line_id||':'||'l_MODIFIERS_rec.benefit_price_list_line_id:'||l_MODIFIERS_rec.benefit_price_list_line_id||':');
3946 oe_debug_pub.add('p_MODIFIERS_rec.benefit_limit :'||p_MODIFIERS_rec.benefit_limit||':'||'l_MODIFIERS_rec.benefit_limit:'||l_MODIFIERS_rec.benefit_limit||':');
3947 oe_debug_pub.add('p_MODIFIERS_rec.charge_type_code :'||p_MODIFIERS_rec.charge_type_code||':'||'l_MODIFIERS_rec.charge_type_code:'||l_MODIFIERS_rec.charge_type_code||':');
3948 oe_debug_pub.add('p_MODIFIERS_rec.charge_subtype_code :'||p_MODIFIERS_rec.charge_subtype_code||':'||'l_MODIFIERS_rec.charge_subtype_code:'||l_MODIFIERS_rec.charge_subtype_code||':');
3949 oe_debug_pub.add('p_MODIFIERS_rec.benefit_qty :'||p_MODIFIERS_rec.benefit_qty||':'||'l_MODIFIERS_rec.benefit_qty:'||l_MODIFIERS_rec.benefit_qty||':');
3950 oe_debug_pub.add('p_MODIFIERS_rec.benefit_uom_code :'||p_MODIFIERS_rec.benefit_uom_code||':'||'l_MODIFIERS_rec.benefit_uom_code:'||l_MODIFIERS_rec.benefit_uom_code||':');
3951 oe_debug_pub.add('p_MODIFIERS_rec.accrual_conversion_rate :'||p_MODIFIERS_rec.accrual_conversion_rate||':'||'l_MODIFIERS_rec.accrual_conversion_rate:'||l_MODIFIERS_rec.accrual_conversion_rate||':');
3952 oe_debug_pub.add('p_MODIFIERS_rec.proration_type_code :'||p_MODIFIERS_rec.proration_type_code||':'||'l_MODIFIERS_rec.proration_type_code:'||l_MODIFIERS_rec.proration_type_code||':');
3953 oe_debug_pub.add('p_MODIFIERS_rec.include_on_returns_flag :'||p_MODIFIERS_rec.include_on_returns_flag||':'||'l_MODIFIERS_rec.include_on_returns_flag:'||l_MODIFIERS_rec.include_on_returns_flag||':');
3954
3955 oe_debug_pub.add('p_MODIFIERS_rec.created_by :'||p_MODIFIERS_rec.created_by||':'||'l_MODIFIERS_rec.created_by:'||l_MODIFIERS_rec.created_by||':');
3956 oe_debug_pub.add('p_MODIFIERS_rec.creation_date :'||p_MODIFIERS_rec.creation_date||':'||'l_MODIFIERS_rec.creation_date:'||l_MODIFIERS_rec.creation_date||':');
3957 oe_debug_pub.add('p_MODIFIERS_rec.last_updated_by :'||p_MODIFIERS_rec.last_updated_by||':'||'l_MODIFIERS_rec.last_updated_by:'||l_MODIFIERS_rec.last_updated_by||':');
3958 oe_debug_pub.add('p_MODIFIERS_rec.last_update_date :'||p_MODIFIERS_rec.last_update_date||':'||'l_MODIFIERS_rec.last_update_date:'||l_MODIFIERS_rec.last_update_date||':');
3959 oe_debug_pub.add('p_MODIFIERS_rec.last_update_login :'||p_MODIFIERS_rec.last_update_login||':'||'l_MODIFIERS_rec.last_update_login:'||l_MODIFIERS_rec.last_update_login||':');
3960 oe_debug_pub.add('p_MODIFIERS_rec.list_price :'||p_MODIFIERS_rec.list_price||':'||'l_MODIFIERS_rec.list_price:'||l_MODIFIERS_rec.list_price||':');
3961 oe_debug_pub.add('p_MODIFIERS_rec.program_application_id :'||p_MODIFIERS_rec.program_application_id||':'||'l_MODIFIERS_rec.program_application_id:'||l_MODIFIERS_rec.program_application_id||':');
3962 oe_debug_pub.add('p_MODIFIERS_rec.program_id :'||p_MODIFIERS_rec.program_id||':'||'l_MODIFIERS_rec.program_id:'||l_MODIFIERS_rec.program_id||':');
3963 oe_debug_pub.add('p_MODIFIERS_rec.program_update_date :'||p_MODIFIERS_rec.program_update_date||':'||'l_MODIFIERS_rec.program_update_date:'||l_MODIFIERS_rec.program_update_date||':');
3964 oe_debug_pub.add('p_MODIFIERS_rec.request_id :'||p_MODIFIERS_rec.request_id||':'||'l_MODIFIERS_rec.request_id:'||l_MODIFIERS_rec.request_id||':');
3965 oe_debug_pub.add('p_MODIFIERS_rec.start_date_active :'||p_MODIFIERS_rec.start_date_active||':'||'l_MODIFIERS_rec.start_date_active:'||l_MODIFIERS_rec.start_date_active||':');
3966 oe_debug_pub.add('p_MODIFIERS_rec.accum_attribute :'||p_MODIFIERS_rec.accum_attribute||':'||'l_MODIFIERS_rec.accum_attribute:'||l_MODIFIERS_rec.accum_attribute||':');
3967
3968 -- Row has changed by another user.
3969
3970 x_return_status := FND_API.G_RET_STS_ERROR;
3971 x_MODIFIERS_rec.return_status := FND_API.G_RET_STS_ERROR;
3972
3973 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
3974 THEN
3975
3976 FND_MESSAGE.SET_NAME('QP','OE_LOCK_ROW_CHANGED');
3977 OE_MSG_PUB.Add;
3978
3979 END IF;
3980
3981 END IF;
3982
3983 oe_debug_pub.add('END Lock_Row in QPXUMLLB');
3984
3985 EXCEPTION
3986
3987 WHEN NO_DATA_FOUND THEN
3988
3989 x_return_status := FND_API.G_RET_STS_ERROR;
3990 x_MODIFIERS_rec.return_status := FND_API.G_RET_STS_ERROR;
3991
3992 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
3993 THEN
3994
3995 FND_MESSAGE.SET_NAME('QP','OE_LOCK_ROW_DELETED');
3996 OE_MSG_PUB.Add;
3997
3998 END IF;
3999 WHEN APP_EXCEPTIONS.RECORD_LOCK_EXCEPTION THEN
4000
4001 x_return_status := FND_API.G_RET_STS_ERROR;
4002 x_MODIFIERS_rec.return_status := FND_API.G_RET_STS_ERROR;
4003
4004 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
4005 THEN
4006
4007 FND_MESSAGE.SET_NAME('QP','OE_LOCK_ROW_ALREADY_LOCKED');
4008 OE_MSG_PUB.Add;
4009
4010 END IF;
4011 WHEN OTHERS THEN
4012
4013 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4014 x_MODIFIERS_rec.return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4015
4016 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
4017 THEN
4018 OE_MSG_PUB.Add_Exc_Msg
4019 ( G_PKG_NAME
4020 , 'Lock_Row'
4021 );
4022 END IF;
4023
4024 END Lock_Row;
4025
4026 -- Function Get_Values
4027
4028 FUNCTION Get_Values
4029 ( p_MODIFIERS_rec IN QP_Modifiers_PUB.Modifiers_Rec_Type
4030 , p_old_MODIFIERS_rec IN QP_Modifiers_PUB.Modifiers_Rec_Type :=
4031 QP_Modifiers_PUB.G_MISS_MODIFIERS_REC
4032 ) RETURN QP_Modifiers_PUB.Modifiers_Val_Rec_Type
4033 IS
4034 l_MODIFIERS_val_rec QP_Modifiers_PUB.Modifiers_Val_Rec_Type;
4035 BEGIN
4036
4037 oe_debug_pub.add('BEGIN Get_Values in QPXUMLLB');
4038
4039 IF p_MODIFIERS_rec.automatic_flag IS NOT NULL AND
4040 p_MODIFIERS_rec.automatic_flag <> FND_API.G_MISS_CHAR AND
4041 NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.automatic_flag,
4042 p_old_MODIFIERS_rec.automatic_flag)
4043 THEN
4044 l_MODIFIERS_val_rec.automatic := QP_Id_To_Value.Automatic
4045 ( p_automatic_flag => p_MODIFIERS_rec.automatic_flag
4046 );
4047 END IF;
4048
4049 /* IF p_MODIFIERS_rec.base_uom_code IS NOT NULL AND
4050 p_MODIFIERS_rec.base_uom_code <> FND_API.G_MISS_CHAR AND
4051 NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.base_uom_code,
4052 p_old_MODIFIERS_rec.base_uom_code)
4053 THEN
4054 l_MODIFIERS_val_rec.base_uom := QP_Id_To_Value.Base_Uom
4055 ( p_base_uom_code => p_MODIFIERS_rec.base_uom_code
4056 );
4057 END IF;
4058 */
4059 IF p_MODIFIERS_rec.generate_using_formula_id IS NOT NULL AND
4060 p_MODIFIERS_rec.generate_using_formula_id <> FND_API.G_MISS_NUM AND
4061 NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.generate_using_formula_id,
4062 p_old_MODIFIERS_rec.generate_using_formula_id)
4063 THEN
4064 l_MODIFIERS_val_rec.generate_using_formula := QP_Id_To_Value.Generate_Using_Formula
4065 ( p_generate_using_formula_id => p_MODIFIERS_rec.generate_using_formula_id
4066 );
4067 END IF;
4068
4069 IF p_MODIFIERS_rec.inventory_item_id IS NOT NULL AND
4070 p_MODIFIERS_rec.inventory_item_id <> FND_API.G_MISS_NUM AND
4071 NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.inventory_item_id,
4072 p_old_MODIFIERS_rec.inventory_item_id)
4073 THEN
4074 l_MODIFIERS_val_rec.inventory_item := QP_Id_To_Value.Inventory_Item
4075 ( p_inventory_item_id => p_MODIFIERS_rec.inventory_item_id
4076 );
4077 END IF;
4078
4079 IF p_MODIFIERS_rec.list_header_id IS NOT NULL AND
4080 p_MODIFIERS_rec.list_header_id <> FND_API.G_MISS_NUM AND
4081 NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.list_header_id,
4082 p_old_MODIFIERS_rec.list_header_id)
4083 THEN
4084 l_MODIFIERS_val_rec.list_header := QP_Id_To_Value.List_Header
4085 ( p_list_header_id => p_MODIFIERS_rec.list_header_id
4086 );
4087 END IF;
4088
4089 IF p_MODIFIERS_rec.list_line_id IS NOT NULL AND
4090 p_MODIFIERS_rec.list_line_id <> FND_API.G_MISS_NUM AND
4091 NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.list_line_id,
4092 p_old_MODIFIERS_rec.list_line_id)
4093 THEN
4094 l_MODIFIERS_val_rec.list_line := QP_Id_To_Value.List_Line
4095 ( p_list_line_id => p_MODIFIERS_rec.list_line_id
4096 );
4097 END IF;
4098
4099 IF p_MODIFIERS_rec.list_line_type_code IS NOT NULL AND
4100 p_MODIFIERS_rec.list_line_type_code <> FND_API.G_MISS_CHAR AND
4101 NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.list_line_type_code,
4102 p_old_MODIFIERS_rec.list_line_type_code)
4103 THEN
4104 l_MODIFIERS_val_rec.list_line_type := QP_Id_To_Value.List_Line_Type
4105 ( p_list_line_type_code => p_MODIFIERS_rec.list_line_type_code
4106 );
4107 END IF;
4108
4109 IF p_MODIFIERS_rec.modifier_level_code IS NOT NULL AND
4110 p_MODIFIERS_rec.modifier_level_code <> FND_API.G_MISS_CHAR AND
4111 NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.modifier_level_code,
4112 p_old_MODIFIERS_rec.modifier_level_code)
4113 THEN
4114 l_MODIFIERS_val_rec.modifier_level := QP_Id_To_Value.Modifier_Level
4115 ( p_modifier_level_code => p_MODIFIERS_rec.modifier_level_code
4116 );
4117 END IF;
4118
4119 IF p_MODIFIERS_rec.organization_id IS NOT NULL AND
4120 p_MODIFIERS_rec.organization_id <> FND_API.G_MISS_NUM AND
4121 NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.organization_id,
4122 p_old_MODIFIERS_rec.organization_id)
4123 THEN
4124 l_MODIFIERS_val_rec.organization := QP_Id_To_Value.Organization
4125 ( p_organization_id => p_MODIFIERS_rec.organization_id
4126 );
4127 END IF;
4128
4129 IF p_MODIFIERS_rec.override_flag IS NOT NULL AND
4130 p_MODIFIERS_rec.override_flag <> FND_API.G_MISS_CHAR AND
4131 NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.override_flag,
4132 p_old_MODIFIERS_rec.override_flag)
4133 THEN
4134 l_MODIFIERS_val_rec.override := QP_Id_To_Value.Override
4135 ( p_override_flag => p_MODIFIERS_rec.override_flag
4136 );
4137 END IF;
4138
4139 IF p_MODIFIERS_rec.price_break_type_code IS NOT NULL AND
4140 p_MODIFIERS_rec.price_break_type_code <> FND_API.G_MISS_CHAR AND
4141 NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.price_break_type_code,
4142 p_old_MODIFIERS_rec.price_break_type_code)
4143 THEN
4144 l_MODIFIERS_val_rec.price_break_type := QP_Id_To_Value.Price_Break_Type
4145 ( p_price_break_type_code => p_MODIFIERS_rec.price_break_type_code
4146 );
4147 END IF;
4148
4149 IF p_MODIFIERS_rec.price_by_formula_id IS NOT NULL AND
4150 p_MODIFIERS_rec.price_by_formula_id <> FND_API.G_MISS_NUM AND
4151 NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.price_by_formula_id,
4152 p_old_MODIFIERS_rec.price_by_formula_id)
4153 THEN
4154 l_MODIFIERS_val_rec.price_by_formula := QP_Id_To_Value.Price_By_Formula
4155 ( p_price_by_formula_id => p_MODIFIERS_rec.price_by_formula_id
4156 );
4157 END IF;
4158
4159 IF p_MODIFIERS_rec.primary_uom_flag IS NOT NULL AND
4160 p_MODIFIERS_rec.primary_uom_flag <> FND_API.G_MISS_CHAR AND
4161 NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.primary_uom_flag,
4162 p_old_MODIFIERS_rec.primary_uom_flag)
4163 THEN
4164 l_MODIFIERS_val_rec.primary_uom := QP_Id_To_Value.Primary_Uom
4165 ( p_primary_uom_flag => p_MODIFIERS_rec.primary_uom_flag
4166 );
4167 END IF;
4168
4169 IF p_MODIFIERS_rec.print_on_invoice_flag IS NOT NULL AND
4170 p_MODIFIERS_rec.print_on_invoice_flag <> FND_API.G_MISS_CHAR AND
4171 NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.print_on_invoice_flag,
4172 p_old_MODIFIERS_rec.print_on_invoice_flag)
4173 THEN
4174 l_MODIFIERS_val_rec.print_on_invoice := QP_Id_To_Value.Print_On_Invoice
4175 ( p_print_on_invoice_flag => p_MODIFIERS_rec.print_on_invoice_flag
4176 );
4177 END IF;
4178
4179 IF p_MODIFIERS_rec.rebate_trxn_type_code IS NOT NULL AND
4180 p_MODIFIERS_rec.rebate_trxn_type_code <> FND_API.G_MISS_CHAR AND
4181 NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.rebate_trxn_type_code,
4182 p_old_MODIFIERS_rec.rebate_trxn_type_code)
4183 THEN
4184 l_MODIFIERS_val_rec.rebate_transaction_type := QP_Id_To_Value.Rebate_Transaction_Type
4185 ( p_rebate_trxn_type_code => p_MODIFIERS_rec.rebate_trxn_type_code
4186 );
4187 END IF;
4188
4189 IF p_MODIFIERS_rec.related_item_id IS NOT NULL AND
4190 p_MODIFIERS_rec.related_item_id <> FND_API.G_MISS_NUM AND
4191 NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.related_item_id,
4192 p_old_MODIFIERS_rec.related_item_id)
4193 THEN
4194 l_MODIFIERS_val_rec.related_item := QP_Id_To_Value.Related_Item
4195 ( p_related_item_id => p_MODIFIERS_rec.related_item_id
4196 );
4197 END IF;
4198
4199 IF p_MODIFIERS_rec.relationship_type_id IS NOT NULL AND
4200 p_MODIFIERS_rec.relationship_type_id <> FND_API.G_MISS_NUM AND
4201 NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.relationship_type_id,
4202 p_old_MODIFIERS_rec.relationship_type_id)
4203 THEN
4204 l_MODIFIERS_val_rec.relationship_type := QP_Id_To_Value.Relationship_Type
4205 ( p_relationship_type_id => p_MODIFIERS_rec.relationship_type_id
4206 );
4207 END IF;
4208
4209 IF p_MODIFIERS_rec.reprice_flag IS NOT NULL AND
4210 p_MODIFIERS_rec.reprice_flag <> FND_API.G_MISS_CHAR AND
4211 NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.reprice_flag,
4212 p_old_MODIFIERS_rec.reprice_flag)
4213 THEN
4214 l_MODIFIERS_val_rec.reprice := QP_Id_To_Value.Reprice
4215 ( p_reprice_flag => p_MODIFIERS_rec.reprice_flag
4216 );
4217 END IF;
4218
4219 IF p_MODIFIERS_rec.revision_reason_code IS NOT NULL AND
4220 p_MODIFIERS_rec.revision_reason_code <> FND_API.G_MISS_CHAR AND
4221 NOT QP_GLOBALS.Equal(p_MODIFIERS_rec.revision_reason_code,
4222 p_old_MODIFIERS_rec.revision_reason_code)
4223 THEN
4224 l_MODIFIERS_val_rec.revision_reason := QP_Id_To_Value.Revision_Reason
4225 ( p_revision_reason_code => p_MODIFIERS_rec.revision_reason_code
4226 );
4227 END IF;
4228
4229 oe_debug_pub.add('END Get_Values in QPXUMLLB');
4230
4231 RETURN l_MODIFIERS_val_rec;
4232
4233 END Get_Values;
4234
4235 -- Function Get_Ids
4236
4237 FUNCTION Get_Ids
4238 ( p_MODIFIERS_rec IN QP_Modifiers_PUB.Modifiers_Rec_Type
4239 , p_MODIFIERS_val_rec IN QP_Modifiers_PUB.Modifiers_Val_Rec_Type
4240 ) RETURN QP_Modifiers_PUB.Modifiers_Rec_Type
4241 IS
4242 l_MODIFIERS_rec QP_Modifiers_PUB.Modifiers_Rec_Type;
4243 BEGIN
4244
4245 oe_debug_pub.add('BEGIN Get_Ids in QPXUMLLB');
4246
4247 -- initialize return_status.
4248
4249 l_MODIFIERS_rec.return_status := FND_API.G_RET_STS_SUCCESS;
4250
4251 -- initialize l_MODIFIERS_rec.
4252
4253 l_MODIFIERS_rec := p_MODIFIERS_rec;
4254
4255 IF p_MODIFIERS_val_rec.automatic <> FND_API.G_MISS_CHAR
4256 THEN
4257
4258 IF p_MODIFIERS_rec.automatic_flag <> FND_API.G_MISS_CHAR THEN
4259
4260 l_MODIFIERS_rec.automatic_flag := p_MODIFIERS_rec.automatic_flag;
4261
4262 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
4263 THEN
4264
4265 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
4266 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','automatic');
4267 OE_MSG_PUB.Add;
4268
4269 END IF;
4270
4271 ELSE
4272
4273 l_MODIFIERS_rec.automatic_flag := QP_Value_To_Id.automatic
4274 ( p_automatic => p_MODIFIERS_val_rec.automatic
4275 );
4276
4277 IF l_MODIFIERS_rec.automatic_flag = FND_API.G_MISS_CHAR THEN
4278 l_MODIFIERS_rec.return_status := FND_API.G_RET_STS_ERROR;
4279 END IF;
4280
4281 END IF;
4282
4283 END IF;
4284
4285 /* IF p_MODIFIERS_val_rec.base_uom <> FND_API.G_MISS_CHAR
4286 THEN
4287
4288 IF p_MODIFIERS_rec.base_uom_code <> FND_API.G_MISS_CHAR THEN
4289
4290 l_MODIFIERS_rec.base_uom_code := p_MODIFIERS_rec.base_uom_code;
4291
4292 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
4293 THEN
4294
4295 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
4296 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','base_uom');
4297 OE_MSG_PUB.Add;
4298
4299 END IF;
4300
4301 ELSE
4302
4303 l_MODIFIERS_rec.base_uom_code := QP_Value_To_Id.base_uom
4304 ( p_base_uom => p_MODIFIERS_val_rec.base_uom
4305 );
4306
4307 IF l_MODIFIERS_rec.base_uom_code = FND_API.G_MISS_CHAR THEN
4308 l_MODIFIERS_rec.return_status := FND_API.G_RET_STS_ERROR;
4309 END IF;
4310
4311 END IF;
4312
4313 END IF;
4314 */
4315 IF p_MODIFIERS_val_rec.generate_using_formula <> FND_API.G_MISS_CHAR
4316 THEN
4317
4318 IF p_MODIFIERS_rec.generate_using_formula_id <> FND_API.G_MISS_NUM THEN
4319
4320 l_MODIFIERS_rec.generate_using_formula_id := p_MODIFIERS_rec.generate_using_formula_id;
4321
4322 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
4323 THEN
4324
4325 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
4326 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','generate_using_formula');
4327 OE_MSG_PUB.Add;
4328
4329 END IF;
4330
4331 ELSE
4332
4333 l_MODIFIERS_rec.generate_using_formula_id := QP_Value_To_Id.generate_using_formula
4334 ( p_generate_using_formula => p_MODIFIERS_val_rec.generate_using_formula
4335 );
4336
4337 IF l_MODIFIERS_rec.generate_using_formula_id = FND_API.G_MISS_NUM THEN
4338 l_MODIFIERS_rec.return_status := FND_API.G_RET_STS_ERROR;
4339 END IF;
4340
4341 END IF;
4342
4343 END IF;
4344
4345 IF p_MODIFIERS_val_rec.inventory_item <> FND_API.G_MISS_CHAR
4346 THEN
4347
4348 IF p_MODIFIERS_rec.inventory_item_id <> FND_API.G_MISS_NUM THEN
4349
4350 l_MODIFIERS_rec.inventory_item_id := p_MODIFIERS_rec.inventory_item_id;
4351
4352 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
4353 THEN
4354
4355 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
4356 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','inventory_item');
4357 OE_MSG_PUB.Add;
4358
4359 END IF;
4360
4361 ELSE
4362
4363 l_MODIFIERS_rec.inventory_item_id := QP_Value_To_Id.inventory_item
4364 ( p_inventory_item => p_MODIFIERS_val_rec.inventory_item
4365 );
4366
4367 IF l_MODIFIERS_rec.inventory_item_id = FND_API.G_MISS_NUM THEN
4368 l_MODIFIERS_rec.return_status := FND_API.G_RET_STS_ERROR;
4369 END IF;
4370
4371 END IF;
4372
4373 END IF;
4374
4375 IF p_MODIFIERS_val_rec.list_header <> FND_API.G_MISS_CHAR
4376 THEN
4377
4378 IF p_MODIFIERS_rec.list_header_id <> FND_API.G_MISS_NUM THEN
4379
4380 l_MODIFIERS_rec.list_header_id := p_MODIFIERS_rec.list_header_id;
4381
4382 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
4383 THEN
4384
4385 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
4386 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','list_header');
4387 OE_MSG_PUB.Add;
4388
4389 END IF;
4390
4391 ELSE
4392
4393 l_MODIFIERS_rec.list_header_id := QP_Value_To_Id.list_header
4394 ( p_list_header => p_MODIFIERS_val_rec.list_header
4395 );
4396
4397 IF l_MODIFIERS_rec.list_header_id = FND_API.G_MISS_NUM THEN
4398 l_MODIFIERS_rec.return_status := FND_API.G_RET_STS_ERROR;
4399 END IF;
4400
4401 END IF;
4402
4403 END IF;
4404
4405 IF p_MODIFIERS_val_rec.list_line <> FND_API.G_MISS_CHAR
4406 THEN
4407
4408 IF p_MODIFIERS_rec.list_line_id <> FND_API.G_MISS_NUM THEN
4409
4410 l_MODIFIERS_rec.list_line_id := p_MODIFIERS_rec.list_line_id;
4411
4412 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
4413 THEN
4414
4415 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
4416 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','list_line');
4417 OE_MSG_PUB.Add;
4418
4419 END IF;
4420
4421 ELSE
4422
4423 l_MODIFIERS_rec.list_line_id := QP_Value_To_Id.list_line
4424 ( p_list_line => p_MODIFIERS_val_rec.list_line
4425 );
4426
4427 IF l_MODIFIERS_rec.list_line_id = FND_API.G_MISS_NUM THEN
4428 l_MODIFIERS_rec.return_status := FND_API.G_RET_STS_ERROR;
4429 END IF;
4430
4431 END IF;
4432
4433 END IF;
4434
4435 IF p_MODIFIERS_val_rec.list_line_type <> FND_API.G_MISS_CHAR
4436 THEN
4437
4438 IF p_MODIFIERS_rec.list_line_type_code <> FND_API.G_MISS_CHAR THEN
4439
4440 l_MODIFIERS_rec.list_line_type_code := p_MODIFIERS_rec.list_line_type_code;
4441
4442 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
4443 THEN
4444
4445 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
4446 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','list_line_type');
4447 OE_MSG_PUB.Add;
4448
4449 END IF;
4450
4451 ELSE
4452
4453 l_MODIFIERS_rec.list_line_type_code := QP_Value_To_Id.list_line_type
4454 ( p_list_line_type => p_MODIFIERS_val_rec.list_line_type
4455 );
4456
4457 IF l_MODIFIERS_rec.list_line_type_code = FND_API.G_MISS_CHAR THEN
4458 l_MODIFIERS_rec.return_status := FND_API.G_RET_STS_ERROR;
4459 END IF;
4460
4461 END IF;
4462
4463 END IF;
4464
4465 IF p_MODIFIERS_val_rec.modifier_level <> FND_API.G_MISS_CHAR
4466 THEN
4467
4468 IF p_MODIFIERS_rec.modifier_level_code <> FND_API.G_MISS_CHAR THEN
4469
4470 l_MODIFIERS_rec.modifier_level_code := p_MODIFIERS_rec.modifier_level_code;
4471
4472 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
4473 THEN
4474
4475 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
4476 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','modifier_level');
4477 OE_MSG_PUB.Add;
4478
4479 END IF;
4480
4481 ELSE
4482
4483 l_MODIFIERS_rec.modifier_level_code := QP_Value_To_Id.modifier_level
4484 ( p_modifier_level => p_MODIFIERS_val_rec.modifier_level
4485 );
4486
4487 IF l_MODIFIERS_rec.modifier_level_code = FND_API.G_MISS_CHAR THEN
4488 l_MODIFIERS_rec.return_status := FND_API.G_RET_STS_ERROR;
4489 END IF;
4490
4491 END IF;
4492
4493 END IF;
4494
4495 IF p_MODIFIERS_val_rec.organization <> FND_API.G_MISS_CHAR
4496 THEN
4497
4498 IF p_MODIFIERS_rec.organization_id <> FND_API.G_MISS_NUM THEN
4499
4500 l_MODIFIERS_rec.organization_id := p_MODIFIERS_rec.organization_id;
4501
4502 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
4503 THEN
4504
4505 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
4506 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','organization');
4507 OE_MSG_PUB.Add;
4508
4509 END IF;
4510
4511 ELSE
4512
4513 l_MODIFIERS_rec.organization_id := QP_Value_To_Id.organization
4514 ( p_organization => p_MODIFIERS_val_rec.organization
4515 );
4516
4517 IF l_MODIFIERS_rec.organization_id = FND_API.G_MISS_NUM THEN
4518 l_MODIFIERS_rec.return_status := FND_API.G_RET_STS_ERROR;
4519 END IF;
4520
4521 END IF;
4522
4523 END IF;
4524
4525 IF p_MODIFIERS_val_rec.override <> FND_API.G_MISS_CHAR
4526 THEN
4527
4528 IF p_MODIFIERS_rec.override_flag <> FND_API.G_MISS_CHAR THEN
4529
4530 l_MODIFIERS_rec.override_flag := p_MODIFIERS_rec.override_flag;
4531
4532 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
4533 THEN
4534
4535 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
4536 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','override');
4537 OE_MSG_PUB.Add;
4538
4539 END IF;
4540
4541 ELSE
4542
4543 l_MODIFIERS_rec.override_flag := QP_Value_To_Id.override
4544 ( p_override => p_MODIFIERS_val_rec.override
4545 );
4546
4547 IF l_MODIFIERS_rec.override_flag = FND_API.G_MISS_CHAR THEN
4548 l_MODIFIERS_rec.return_status := FND_API.G_RET_STS_ERROR;
4549 END IF;
4550
4551 END IF;
4552
4553 END IF;
4554
4555 IF p_MODIFIERS_val_rec.price_break_type <> FND_API.G_MISS_CHAR
4556 THEN
4557
4558 IF p_MODIFIERS_rec.price_break_type_code <> FND_API.G_MISS_CHAR THEN
4559
4560 l_MODIFIERS_rec.price_break_type_code := p_MODIFIERS_rec.price_break_type_code;
4561
4562 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
4563 THEN
4564
4565 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
4566 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','price_break_type');
4567 OE_MSG_PUB.Add;
4568
4569 END IF;
4570
4571 ELSE
4572
4573 l_MODIFIERS_rec.price_break_type_code := QP_Value_To_Id.price_break_type
4574 ( p_price_break_type => p_MODIFIERS_val_rec.price_break_type
4575 );
4576
4577 IF l_MODIFIERS_rec.price_break_type_code = FND_API.G_MISS_CHAR THEN
4578 l_MODIFIERS_rec.return_status := FND_API.G_RET_STS_ERROR;
4579 END IF;
4580
4581 END IF;
4582
4583 END IF;
4584
4585 IF p_MODIFIERS_val_rec.price_by_formula <> FND_API.G_MISS_CHAR
4586 THEN
4587
4588 IF p_MODIFIERS_rec.price_by_formula_id <> FND_API.G_MISS_NUM THEN
4589
4590 l_MODIFIERS_rec.price_by_formula_id := p_MODIFIERS_rec.price_by_formula_id;
4591
4592 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
4593 THEN
4594
4595 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
4596 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','price_by_formula');
4597 OE_MSG_PUB.Add;
4598
4599 END IF;
4600
4601 ELSE
4602
4603 l_MODIFIERS_rec.price_by_formula_id := QP_Value_To_Id.price_by_formula
4604 ( p_price_by_formula => p_MODIFIERS_val_rec.price_by_formula
4605 );
4606
4607 IF l_MODIFIERS_rec.price_by_formula_id = FND_API.G_MISS_NUM THEN
4608 l_MODIFIERS_rec.return_status := FND_API.G_RET_STS_ERROR;
4609 END IF;
4610
4611 END IF;
4612
4613 END IF;
4614
4615 IF p_MODIFIERS_val_rec.primary_uom <> FND_API.G_MISS_CHAR
4616 THEN
4617
4618 IF p_MODIFIERS_rec.primary_uom_flag <> FND_API.G_MISS_CHAR THEN
4619
4620 l_MODIFIERS_rec.primary_uom_flag := p_MODIFIERS_rec.primary_uom_flag;
4621
4622 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
4623 THEN
4624
4625 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
4626 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','primary_uom');
4627 OE_MSG_PUB.Add;
4628
4629 END IF;
4630
4631 ELSE
4632
4633 l_MODIFIERS_rec.primary_uom_flag := QP_Value_To_Id.primary_uom
4634 ( p_primary_uom => p_MODIFIERS_val_rec.primary_uom
4635 );
4636
4637 IF l_MODIFIERS_rec.primary_uom_flag = FND_API.G_MISS_CHAR THEN
4638 l_MODIFIERS_rec.return_status := FND_API.G_RET_STS_ERROR;
4639 END IF;
4640
4641 END IF;
4642
4643 END IF;
4644
4645 --ER 11828647
4646 /*IF p_MODIFIERS_val_rec.print_on_invoice <> FND_API.G_MISS_CHAR
4647 THEN
4648
4649 IF p_MODIFIERS_rec.print_on_invoice_flag <> FND_API.G_MISS_CHAR THEN
4650
4651 l_MODIFIERS_rec.print_on_invoice_flag := p_MODIFIERS_rec.print_on_invoice_flag;
4652
4653 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
4654 THEN
4655
4656 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
4657 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','print_on_invoice');
4658 OE_MSG_PUB.Add;
4659
4660 END IF;
4661
4662 ELSE
4663
4664 l_MODIFIERS_rec.print_on_invoice_flag := QP_Value_To_Id.print_on_invoice
4665 ( p_print_on_invoice => p_MODIFIERS_val_rec.print_on_invoice
4666 );
4667
4668 IF l_MODIFIERS_rec.print_on_invoice_flag = FND_API.G_MISS_CHAR THEN
4669 l_MODIFIERS_rec.return_status := FND_API.G_RET_STS_ERROR;
4670 END IF;
4671
4672 END IF;
4673
4674 END IF;*/
4675
4676 IF p_MODIFIERS_val_rec.rebate_transaction_type <> FND_API.G_MISS_CHAR
4677 THEN
4678
4679 IF p_MODIFIERS_rec.rebate_trxn_type_code <> FND_API.G_MISS_CHAR THEN
4680
4681 l_MODIFIERS_rec.rebate_trxn_type_code := p_MODIFIERS_rec.rebate_trxn_type_code;
4682
4683 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
4684 THEN
4685
4686 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
4687 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','rebate_transaction_type');
4688 OE_MSG_PUB.Add;
4689
4690 END IF;
4691
4692 ELSE
4693
4694 l_MODIFIERS_rec.rebate_trxn_type_code := QP_Value_To_Id.rebate_transaction_type
4695 ( p_rebate_transaction_type => p_MODIFIERS_val_rec.rebate_transaction_type
4696 );
4697
4698 IF l_MODIFIERS_rec.rebate_trxn_type_code = FND_API.G_MISS_CHAR THEN
4699 l_MODIFIERS_rec.return_status := FND_API.G_RET_STS_ERROR;
4700 END IF;
4701
4702 END IF;
4703
4704 END IF;
4705
4706 IF p_MODIFIERS_val_rec.related_item <> FND_API.G_MISS_CHAR
4707 THEN
4708
4709 IF p_MODIFIERS_rec.related_item_id <> FND_API.G_MISS_NUM THEN
4710
4711 l_MODIFIERS_rec.related_item_id := p_MODIFIERS_rec.related_item_id;
4712
4713 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
4714 THEN
4715
4716 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
4717 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','related_item');
4718 OE_MSG_PUB.Add;
4719
4720 END IF;
4721
4722 ELSE
4723
4724 l_MODIFIERS_rec.related_item_id := QP_Value_To_Id.related_item
4725 ( p_related_item => p_MODIFIERS_val_rec.related_item
4726 );
4727
4728 IF l_MODIFIERS_rec.related_item_id = FND_API.G_MISS_NUM THEN
4729 l_MODIFIERS_rec.return_status := FND_API.G_RET_STS_ERROR;
4730 END IF;
4731
4732 END IF;
4733
4734 END IF;
4735
4736 IF p_MODIFIERS_val_rec.relationship_type <> FND_API.G_MISS_CHAR
4737 THEN
4738
4739 IF p_MODIFIERS_rec.relationship_type_id <> FND_API.G_MISS_NUM THEN
4740
4741 l_MODIFIERS_rec.relationship_type_id := p_MODIFIERS_rec.relationship_type_id;
4742
4743 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
4744 THEN
4745
4746 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
4747 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','relationship_type');
4748 OE_MSG_PUB.Add;
4749
4750 END IF;
4751
4752 ELSE
4753
4754 l_MODIFIERS_rec.relationship_type_id := QP_Value_To_Id.relationship_type
4755 ( p_relationship_type => p_MODIFIERS_val_rec.relationship_type
4756 );
4757
4758 IF l_MODIFIERS_rec.relationship_type_id = FND_API.G_MISS_NUM THEN
4759 l_MODIFIERS_rec.return_status := FND_API.G_RET_STS_ERROR;
4760 END IF;
4761
4762 END IF;
4763
4764 END IF;
4765
4766 IF p_MODIFIERS_val_rec.reprice <> FND_API.G_MISS_CHAR
4767 THEN
4768
4769 IF p_MODIFIERS_rec.reprice_flag <> FND_API.G_MISS_CHAR THEN
4770
4771 l_MODIFIERS_rec.reprice_flag := p_MODIFIERS_rec.reprice_flag;
4772
4773 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
4774 THEN
4775
4776 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
4777 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','reprice');
4778 OE_MSG_PUB.Add;
4779
4780 END IF;
4781
4782 ELSE
4783
4784 l_MODIFIERS_rec.reprice_flag := QP_Value_To_Id.reprice
4785 ( p_reprice => p_MODIFIERS_val_rec.reprice
4786 );
4787
4788 IF l_MODIFIERS_rec.reprice_flag = FND_API.G_MISS_CHAR THEN
4789 l_MODIFIERS_rec.return_status := FND_API.G_RET_STS_ERROR;
4790 END IF;
4791
4792 END IF;
4793
4794 END IF;
4795
4796 IF p_MODIFIERS_val_rec.revision_reason <> FND_API.G_MISS_CHAR
4797 THEN
4798
4799 IF p_MODIFIERS_rec.revision_reason_code <> FND_API.G_MISS_CHAR THEN
4800
4801 l_MODIFIERS_rec.revision_reason_code := p_MODIFIERS_rec.revision_reason_code;
4802
4803 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
4804 THEN
4805
4806 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
4807 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','revision_reason');
4808 OE_MSG_PUB.Add;
4809
4810 END IF;
4811
4812 ELSE
4813
4814 l_MODIFIERS_rec.revision_reason_code := QP_Value_To_Id.revision_reason
4815 ( p_revision_reason => p_MODIFIERS_val_rec.revision_reason
4816 );
4817
4818 IF l_MODIFIERS_rec.revision_reason_code = FND_API.G_MISS_CHAR THEN
4819 l_MODIFIERS_rec.return_status := FND_API.G_RET_STS_ERROR;
4820 END IF;
4821
4822 END IF;
4823
4824 END IF;
4825
4826
4827 oe_debug_pub.add('END Get_Ids in QPXUMLLB');
4828
4829 RETURN l_MODIFIERS_rec;
4830
4831 END Get_Ids;
4832
4833
4834 Procedure Pre_Write_Process
4835 ( p_MODIFIERS_rec IN QP_Modifiers_PUB.MODIFIERS_rec_Type
4836 , p_old_MODIFIERS_rec IN QP_Modifiers_PUB.MODIFIERS_rec_Type
4837 := QP_Modifiers_PUB.G_MISS_MODIFIERS_rec
4838 , x_MODIFIERS_rec OUT NOCOPY QP_Modifiers_PUB.MODIFIERS_rec_Type
4839 ) IS
4840 l_Modifiers_rec QP_MODIFIERS_PUB.MODIFIERS_rec_Type := p_MODIFIERS_rec;
4841 l_return_status varchar2(30);
4842 l_parent_line_type QP_LIST_LINES.LIST_LINE_TYPE_CODE%TYPE := 'NONE';
4843 l_count NUMBER ;
4844 l_active_flag VARCHAR2(1) ;
4845 l_call_from NUMBER;
4846
4847 /*
4848 l_product_attribute varchar2(30) := null;
4849 l_product_attr_value varchar2(240) := null;
4850 l_pricing_phase_id number;
4851 */
4852 BEGIN
4853
4854 oe_debug_pub.Add('Entering QP_MODIFIERS_Util.pre_write_process', 1);
4855
4856 x_MODIFIERS_rec := l_MODIFIERS_rec;
4857
4858 -- jagan's PL/SQL pattern
4859 IF QP_JAVA_ENGINE_UTIL_PUB.Java_Engine_Installed = 'N' THEN
4860 IF FND_PROFILE.VALUE('QP_PATTERN_SEARCH') = 'M' OR FND_PROFILE.VALUE('QP_PATTERN_SEARCH') = 'B' THEN
4861 IF (p_MODIFIERS_rec.operation = OE_GLOBALS.G_OPR_CREATE) THEN
4862 qp_delayed_requests_pvt.log_request(
4863 p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
4864 p_entity_id => p_MODIFIERS_rec.list_header_id,
4865 p_request_unique_key1 => p_MODIFIERS_rec.list_line_id,
4866 p_request_unique_key2 => 'I',
4867 p_requesting_entity_code => QP_GLOBALS.G_ENTITY_ALL,
4868 p_requesting_entity_id => p_MODIFIERS_rec.list_header_id,
4869 p_request_type => QP_GLOBALS.G_MAINTAIN_PRODUCT_PATTERN,
4870 x_return_status => l_return_status);
4871
4872 END IF;
4873 END IF; --PL/SQL pattern search
4874 END IF; --- Java Engine Installed
4875
4876 IF ( p_MODIFIERS_rec.operation IN
4877 (OE_GLOBALS.G_OPR_CREATE, OE_GLOBALS.G_OPR_UPDATE)) THEN
4878
4879 oe_debug_pub.add('request to update QP_PRICING_PHASES '||l_parent_line_type, 1);
4880
4881 IF p_MODIFIERS_rec.list_line_type_code IN ('RLTD','OID','CIE','TSN','IUE','PRG','FREIGHT_CHARGE')
4882 OR p_MODIFIERS_rec.modifier_level_code = 'LINEGROUP' THEN
4883
4884 oe_debug_pub.add('Logging a request to update QP_PRICING_PHASES ', 1);
4885 --------------------------------- fix for bug 3756625
4886 l_call_from :=1;
4887 if((p_MODIFIERS_rec.operation) IN(OE_GLOBALS.G_OPR_CREATE)) or
4888 ((p_MODIFIERS_rec.operation) IN(OE_GLOBALS.G_OPR_UPDATE) and
4889 (p_old_MODIFIERS_rec.pricing_phase_id <> p_MODIFIERS_rec.pricing_phase_id))
4890 then
4891 qp_delayed_requests_PVT.log_request(
4892 p_entity_code => QP_GLOBALS.G_ENTITY_MODIFIER_LIST,
4893 p_entity_id => p_MODIFIERS_rec.list_header_id,
4894 p_param1 => p_MODIFIERS_rec.pricing_phase_id,
4895 p_param4 => l_call_from,
4896 p_requesting_entity_code => QP_GLOBALS.G_ENTITY_MODIFIERS,
4897 p_requesting_entity_id => p_MODIFIERS_rec.list_line_id,
4898 p_request_type => QP_GLOBALS.G_UPDATE_PRICING_PHASE,
4899 x_return_status => l_return_status);
4900
4901 if ((p_MODIFIERS_rec.operation) NOT IN(OE_GLOBALS.G_OPR_CREATE)) then
4902 qp_delayed_requests_PVT.log_request(
4903 p_entity_code => QP_GLOBALS.G_ENTITY_MODIFIER_LIST,
4904 p_entity_id => p_MODIFIERS_rec.list_header_id,
4905 p_param1 => p_old_MODIFIERS_rec.pricing_phase_id,
4906 p_param4 => l_call_from,
4907 p_requesting_entity_code => QP_GLOBALS.G_ENTITY_MODIFIERS,
4908 p_requesting_entity_id => p_MODIFIERS_rec.list_line_id,
4909 p_request_type => QP_GLOBALS.G_UPDATE_PRICING_PHASE,
4910 x_return_status => l_return_status);
4911 end if;
4912 end if;
4913
4914 END IF;
4915 if (p_MODIFIERS_rec.operation) IN(OE_GLOBALS.G_OPR_UPDATE)
4916 then
4917 l_call_from :=2;
4918 if (p_old_MODIFIERS_rec.pricing_phase_id <> p_MODIFIERS_rec.pricing_phase_id)
4919 then
4920 Log_Update_Phases_DL(p_MODIFIERS_rec => p_MODIFIERS_rec,
4921 x_return_status => l_return_status);
4922 qp_delayed_requests_PVT.log_request(
4923 p_entity_code => QP_GLOBALS.G_ENTITY_MODIFIER_LIST,
4924 p_entity_id => p_MODIFIERS_rec.list_header_id,
4925 p_param1 => p_old_MODIFIERS_rec.pricing_phase_id,
4926 p_param4 => l_call_from,
4927 p_requesting_entity_code => QP_GLOBALS.G_ENTITY_MODIFIERS,
4928 p_requesting_entity_id => p_MODIFIERS_rec.list_line_id,
4929 p_request_type => QP_GLOBALS.G_UPDATE_PRICING_PHASE,
4930 x_return_status => l_return_status);
4931 end if;
4932 if p_MODIFIERS_rec.automatic_flag <> p_old_MODIFIERS_rec.automatic_flag then
4933 select active_flag into l_active_flag from qp_list_headers_b
4934 where list_header_id =p_MODIFIERS_rec.list_header_id;
4935 if l_active_flag ='Y' then
4936 begin
4937 select count(*) into l_count from qp_list_lines qll
4938 where automatic_flag = p_old_MODIFIERS_rec.automatic_flag and
4939 pricing_phase_id = p_MODIFIERS_rec.pricing_phase_id;
4940 exception
4941 when no_data_found then
4942 l_count :=0;
4943 end;
4944 if l_count >0 then
4945 qp_delayed_requests_PVT.log_request(
4946 p_entity_code => QP_GLOBALS.G_ENTITY_MODIFIER_LIST,
4947 p_entity_id => p_MODIFIERS_rec.list_header_id,
4948 p_param1 => p_MODIFIERS_rec.pricing_phase_id,
4949 p_param2 => p_MODIFIERS_rec.automatic_flag,
4950 p_param3 => l_count,
4951 p_param4 => l_call_from,
4952 p_requesting_entity_code => QP_GLOBALS.G_ENTITY_MODIFIERS,
4953 p_requesting_entity_id => p_MODIFIERS_rec.list_line_id,
4954 p_request_type => QP_GLOBALS.G_UPDATE_PRICING_PHASE,
4955 x_return_status => l_return_status);
4956 end if;
4957 end if;
4958 end if;
4959 end if;
4960 END IF;
4961
4962 -- Essilor Fix bug 2789138
4963 IF p_MODIFIERS_rec.list_line_type_code <> 'PMR' AND
4964 p_MODIFIERS_rec.operation = OE_GLOBALS.G_OPR_CREATE then
4965
4966 oe_debug_pub.add('request to update G_UPDATE_MANUAL_MODIFIER_FLAG '||l_parent_line_type, 1);
4967 oe_debug_pub.add('Logging a request to update G_UPDATE_MANUAL_MODIFIER_FLAG ', 1);
4968
4969 qp_delayed_requests_PVT.log_request(
4970 p_entity_code => QP_GLOBALS.G_ENTITY_MODIFIERS,
4971 p_entity_id => p_MODIFIERS_rec.list_line_id,
4972 p_param1 => p_MODIFIERS_rec.pricing_phase_id,
4973 p_param2 => p_MODIFIERS_rec.automatic_flag,
4974 p_requesting_entity_code => QP_GLOBALS.G_ENTITY_MODIFIERS,
4975 p_requesting_entity_id => p_MODIFIERS_rec.list_line_id,
4976 p_request_type => QP_GLOBALS.G_UPDATE_MANUAL_MODIFIER_FLAG,
4977 x_return_status => l_return_status);
4978 END IF;
4979
4980 EXCEPTION
4981 WHEN FND_API.G_EXC_ERROR THEN
4982 RAISE;
4983 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4984 RAISE;
4985 WHEN OTHERS THEN
4986 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_UNEXP_ERROR)
4987 THEN
4988 oe_msg_pub.Add_Exc_Msg
4989 ( G_PKG_NAME
4990 , 'Pre_Write_Process'
4991 );
4992 END IF;
4993 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4994 END Pre_Write_Process;
4995
4996 ------------------------------fix for bug 3756625
4997 Procedure Log_Update_Phases_DL(p_MODIFIERS_rec IN QP_Modifiers_PUB.MODIFIERS_rec_Type,
4998 x_return_status OUT NOCOPY VARCHAR2)
4999 IS
5000 l_active_flag varchar2(1);
5001 l_manual_modifier_flag varchar2(1);
5002 l_return_status varchar2(30);
5003 l_call_from NUMBER :=2;
5004 BEGIN
5005
5006 select active_flag into l_active_flag from qp_list_headers
5007 where list_header_id = p_MODIFIERS_rec.list_header_id;
5008 if (l_active_flag = 'Y') then
5009 select manual_modifier_flag into l_manual_modifier_flag
5010 from qp_pricing_phases
5011 where pricing_phase_id = p_MODIFIERS_rec.pricing_phase_id;
5012
5013 if l_manual_modifier_flag is null then
5014 qp_delayed_requests_PVT.log_request(
5015 p_entity_code => QP_GLOBALS.G_ENTITY_MODIFIER_LIST,
5016 p_entity_id => p_MODIFIERS_rec.list_header_id,
5017 p_param1 => p_MODIFIERS_rec.pricing_phase_id,
5018 p_param2 => p_MODIFIERS_rec.automatic_flag,
5019 p_param4 => l_call_from,
5020 p_requesting_entity_code => QP_GLOBALS.G_ENTITY_MODIFIERS,
5021 p_requesting_entity_id => p_MODIFIERS_rec.list_line_id,
5022 p_request_type => QP_GLOBALS.G_UPDATE_PRICING_PHASE,
5023 x_return_status => l_return_status);
5024
5025 elsif l_manual_modifier_flag = 'A' then
5026 if( p_MODIFIERS_rec.automatic_flag = 'Y') then
5027 null;
5028 else
5029 qp_delayed_requests_PVT.log_request(
5030 p_entity_code => QP_GLOBALS.G_ENTITY_MODIFIER_LIST,
5031 p_entity_id => p_MODIFIERS_rec.list_header_id,
5032 p_param1 => p_MODIFIERS_rec.pricing_phase_id,
5033 p_param2 => p_MODIFIERS_rec.automatic_flag,
5034 p_param4 => l_call_from,
5035 p_requesting_entity_code => QP_GLOBALS.G_ENTITY_MODIFIERS,
5036 p_requesting_entity_id => p_MODIFIERS_rec.list_line_id,
5037 p_request_type => QP_GLOBALS.G_UPDATE_PRICING_PHASE,
5038 x_return_status => l_return_status);
5039 end if;
5040 elsif l_manual_modifier_flag ='M' then
5041 if (p_MODIFIERS_rec.automatic_flag = 'N') then
5042 null;
5043 else
5044 qp_delayed_requests_PVT.log_request(
5045 p_entity_code => QP_GLOBALS.G_ENTITY_MODIFIER_LIST,
5046 p_entity_id => p_MODIFIERS_rec.list_header_id,
5047 p_param1 => p_MODIFIERS_rec.pricing_phase_id,
5048 p_param2 => p_MODIFIERS_rec.automatic_flag,
5049 p_param4 => l_call_from,
5050 p_requesting_entity_code => QP_GLOBALS.G_ENTITY_MODIFIERS,
5051 p_requesting_entity_id => p_MODIFIERS_rec.list_line_id,
5052 p_request_type => QP_GLOBALS.G_UPDATE_PRICING_PHASE,
5053 x_return_status => l_return_status);
5054 end if;
5055 else
5056 null;
5057 end if;
5058 end if;
5059 END Log_Update_Phases_DL;
5060 END QP_Modifiers_Util;