[Home] [Help]
PACKAGE BODY: APPS.QP_PRICE_LIST_LINE_UTIL
Source
1 PACKAGE BODY QP_Price_List_Line_Util AS
2 /* $Header: QPXUPLLB.pls 120.10.12010000.6 2009/12/15 05:35:59 hmohamme ship $ */
3
4 -- Global constant holding the package name
5
6 G_PKG_NAME CONSTANT VARCHAR2(30) := 'QP_Price_List_Line_Util';
7 --introduced the constant for performance problem
8 G_ORGANIZATION_ID CONSTANT VARCHAR2(30) := TO_CHAR(QP_UTIL.Get_Item_Validation_Org);
9
10 -- Procedure Clear_Dependent_Attr
11
12 PROCEDURE Clear_Dependent_Attr
13 ( p_attr_id IN NUMBER := FND_API.G_MISS_NUM
14 , p_PRICE_LIST_LINE_rec IN QP_Price_List_PUB.Price_List_Line_Rec_Type
15 , p_old_PRICE_LIST_LINE_rec IN QP_Price_List_PUB.Price_List_Line_Rec_Type :=
16 QP_Price_List_PUB.G_MISS_PRICE_LIST_LINE_REC
17 , x_PRICE_LIST_LINE_rec OUT NOCOPY /* file.sql.39 change */ QP_Price_List_PUB.Price_List_Line_Rec_Type
18 )
19 IS
20 l_index NUMBER := 0;
21 l_src_attr_tbl QP_GLOBALS.NUMBER_Tbl_Type;
22 l_dep_attr_tbl QP_GLOBALS.NUMBER_Tbl_Type;
23 BEGIN
24
25 -- Load out record
26
27 x_PRICE_LIST_LINE_rec := p_PRICE_LIST_LINE_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_PRICE_LIST_LINE_rec.accrual_qty,p_old_PRICE_LIST_LINE_rec.accrual_qty)
35 THEN
36 l_index := l_index + 1;
37 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_ACCRUAL_QTY;
38 END IF;
39
40 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.accrual_uom_code,p_old_PRICE_LIST_LINE_rec.accrual_uom_code)
41 THEN
42 l_index := l_index + 1;
43 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_ACCRUAL_UOM;
44 END IF;
45
46 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.arithmetic_operator,p_old_PRICE_LIST_LINE_rec.arithmetic_operator)
47 THEN
48 l_index := l_index + 1;
49 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_ARITHMETIC_OPERATOR;
50 END IF;
51
52 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.attribute1,p_old_PRICE_LIST_LINE_rec.attribute1)
53 THEN
54 l_index := l_index + 1;
55 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_ATTRIBUTE1;
56 END IF;
57
58 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.attribute10,p_old_PRICE_LIST_LINE_rec.attribute10)
59 THEN
60 l_index := l_index + 1;
61 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_ATTRIBUTE10;
62 END IF;
63
64 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.attribute11,p_old_PRICE_LIST_LINE_rec.attribute11)
65 THEN
66 l_index := l_index + 1;
67 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_ATTRIBUTE11;
68 END IF;
69
70 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.attribute12,p_old_PRICE_LIST_LINE_rec.attribute12)
71 THEN
72 l_index := l_index + 1;
73 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_ATTRIBUTE12;
74 END IF;
75
76 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.attribute13,p_old_PRICE_LIST_LINE_rec.attribute13)
77 THEN
78 l_index := l_index + 1;
79 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_ATTRIBUTE13;
80 END IF;
81
82 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.attribute14,p_old_PRICE_LIST_LINE_rec.attribute14)
83 THEN
84 l_index := l_index + 1;
85 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_ATTRIBUTE14;
86 END IF;
87
88 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.attribute15,p_old_PRICE_LIST_LINE_rec.attribute15)
89 THEN
90 l_index := l_index + 1;
91 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_ATTRIBUTE15;
92 END IF;
93
94 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.attribute2,p_old_PRICE_LIST_LINE_rec.attribute2)
95 THEN
96 l_index := l_index + 1;
97 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_ATTRIBUTE2;
98 END IF;
99
100 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.attribute3,p_old_PRICE_LIST_LINE_rec.attribute3)
101 THEN
102 l_index := l_index + 1;
103 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_ATTRIBUTE3;
104 END IF;
105
106 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.attribute4,p_old_PRICE_LIST_LINE_rec.attribute4)
107 THEN
108 l_index := l_index + 1;
109 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_ATTRIBUTE4;
110 END IF;
111
112 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.attribute5,p_old_PRICE_LIST_LINE_rec.attribute5)
113 THEN
114 l_index := l_index + 1;
115 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_ATTRIBUTE5;
116 END IF;
117
118 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.attribute6,p_old_PRICE_LIST_LINE_rec.attribute6)
119 THEN
120 l_index := l_index + 1;
121 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_ATTRIBUTE6;
122 END IF;
123
124 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.attribute7,p_old_PRICE_LIST_LINE_rec.attribute7)
125 THEN
126 l_index := l_index + 1;
127 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_ATTRIBUTE7;
128 END IF;
129
130 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.attribute8,p_old_PRICE_LIST_LINE_rec.attribute8)
131 THEN
132 l_index := l_index + 1;
133 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_ATTRIBUTE8;
134 END IF;
135
136 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.attribute9,p_old_PRICE_LIST_LINE_rec.attribute9)
137 THEN
138 l_index := l_index + 1;
139 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_ATTRIBUTE9;
140 END IF;
141
142 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.automatic_flag,p_old_PRICE_LIST_LINE_rec.automatic_flag)
143 THEN
144 l_index := l_index + 1;
145 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_AUTOMATIC;
146 END IF;
147
148 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.base_qty,p_old_PRICE_LIST_LINE_rec.base_qty)
149 THEN
150 l_index := l_index + 1;
151 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_BASE_QTY;
152 END IF;
153
154 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.base_uom_code,p_old_PRICE_LIST_LINE_rec.base_uom_code)
155 THEN
156 l_index := l_index + 1;
157 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_BASE_UOM;
158 END IF;
159
160 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.comments,p_old_PRICE_LIST_LINE_rec.comments)
161 THEN
162 l_index := l_index + 1;
163 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_COMMENTS;
164 END IF;
165
166 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.context,p_old_PRICE_LIST_LINE_rec.context)
167 THEN
168 l_index := l_index + 1;
169 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_CONTEXT;
170 END IF;
171
172 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.created_by,p_old_PRICE_LIST_LINE_rec.created_by)
173 THEN
174 l_index := l_index + 1;
175 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_CREATED_BY;
176 END IF;
177
178 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.creation_date,p_old_PRICE_LIST_LINE_rec.creation_date)
179 THEN
180 l_index := l_index + 1;
181 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_CREATION_DATE;
182 END IF;
183
184 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.effective_period_uom,p_old_PRICE_LIST_LINE_rec.effective_period_uom)
185 THEN
186 l_index := l_index + 1;
187 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_EFFECTIVE_PERIOD_UOM;
188 END IF;
189
190 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.end_date_active,p_old_PRICE_LIST_LINE_rec.end_date_active)
191 THEN
192 l_index := l_index + 1;
193 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_END_DATE_ACTIVE;
194 END IF;
195
196 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.estim_accrual_rate,p_old_PRICE_LIST_LINE_rec.estim_accrual_rate)
197 THEN
198 l_index := l_index + 1;
199 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_ESTIM_ACCRUAL_RATE;
200 END IF;
201
202 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.generate_using_formula_id,p_old_PRICE_LIST_LINE_rec.generate_using_formula_id)
203 THEN
204 l_index := l_index + 1;
205 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_GENERATE_USING_FORMULA;
206 END IF;
207
208 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.inventory_item_id,p_old_PRICE_LIST_LINE_rec.inventory_item_id)
209 THEN
210 l_index := l_index + 1;
211 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_INVENTORY_ITEM;
212 END IF;
213
214 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.last_updated_by,p_old_PRICE_LIST_LINE_rec.last_updated_by)
215 THEN
216 l_index := l_index + 1;
217 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_LAST_UPDATED_BY;
218 END IF;
219
220 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.last_update_date,p_old_PRICE_LIST_LINE_rec.last_update_date)
221 THEN
222 l_index := l_index + 1;
223 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_LAST_UPDATE_DATE;
224 END IF;
225
226 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.last_update_login,p_old_PRICE_LIST_LINE_rec.last_update_login)
227 THEN
228 l_index := l_index + 1;
229 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_LAST_UPDATE_LOGIN;
230 END IF;
231
232 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.list_header_id,p_old_PRICE_LIST_LINE_rec.list_header_id)
233 THEN
234 l_index := l_index + 1;
235 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_LIST_HEADER;
236 END IF;
237
238 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.list_line_id,p_old_PRICE_LIST_LINE_rec.list_line_id)
239 THEN
240 l_index := l_index + 1;
241 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_LIST_LINE;
242 END IF;
243
244 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.list_line_type_code,p_old_PRICE_LIST_LINE_rec.list_line_type_code)
245 THEN
246 l_index := l_index + 1;
247 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_LIST_LINE_TYPE;
248 END IF;
249
250 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.list_price,p_old_PRICE_LIST_LINE_rec.list_price)
251 THEN
252 l_index := l_index + 1;
253 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_LIST_PRICE;
254 END IF;
255
256 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.from_rltd_modifier_id,p_old_PRICE_LIST_LINE_rec.from_rltd_modifier_id)
257 THEN
258 l_index := l_index + 1;
259 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_FROM_RLTD_MODIFIER;
260 END IF;
261
262 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.rltd_modifier_group_no,p_old_PRICE_LIST_LINE_rec.rltd_modifier_group_no)
263 THEN
264 l_index := l_index + 1;
265 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_RLTD_MODIFIER_GROUP_NO;
266 END IF;
267
268 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.product_precedence,p_old_PRICE_LIST_LINE_rec.product_precedence)
269 THEN
270 l_index := l_index + 1;
271 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_PRODUCT_PRECEDENCE;
272 END IF;
273
274
275 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.modifier_level_code,p_old_PRICE_LIST_LINE_rec.modifier_level_code)
276 THEN
277 l_index := l_index + 1;
278 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_MODIFIER_LEVEL;
279 END IF;
280
281 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.number_effective_periods,p_old_PRICE_LIST_LINE_rec.number_effective_periods)
282 THEN
283 l_index := l_index + 1;
284 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_NUMBER_EFFECTIVE_PERIODS;
285 END IF;
286
287 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.operand,p_old_PRICE_LIST_LINE_rec.operand)
288 THEN
289 l_index := l_index + 1;
290 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_OPERAND;
291 END IF;
292
293 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.organization_id,p_old_PRICE_LIST_LINE_rec.organization_id)
294 THEN
295 l_index := l_index + 1;
296 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_ORGANIZATION;
297 END IF;
298
299 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.override_flag,p_old_PRICE_LIST_LINE_rec.override_flag)
300 THEN
301 l_index := l_index + 1;
302 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_OVERRIDE;
303 END IF;
304
305 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.percent_price,p_old_PRICE_LIST_LINE_rec.percent_price)
306 THEN
307 l_index := l_index + 1;
308 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_PERCENT_PRICE;
309 END IF;
310
311 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.price_break_type_code,p_old_PRICE_LIST_LINE_rec.price_break_type_code)
312 THEN
313 l_index := l_index + 1;
314 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_PRICE_BREAK_TYPE;
315 END IF;
316
317 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.price_by_formula_id,p_old_PRICE_LIST_LINE_rec.price_by_formula_id)
318 THEN
319 l_index := l_index + 1;
320 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_PRICE_BY_FORMULA;
321 END IF;
322
323 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.primary_uom_flag,p_old_PRICE_LIST_LINE_rec.primary_uom_flag)
324 THEN
325 l_index := l_index + 1;
326 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_PRIMARY_UOM;
327 END IF;
328
329 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.print_on_invoice_flag,p_old_PRICE_LIST_LINE_rec.print_on_invoice_flag)
330 THEN
331 l_index := l_index + 1;
332 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_PRINT_ON_INVOICE;
333 END IF;
334
335 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.program_application_id,p_old_PRICE_LIST_LINE_rec.program_application_id)
336 THEN
337 l_index := l_index + 1;
338 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_PROGRAM_APPLICATION;
339 END IF;
340
341 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.program_id,p_old_PRICE_LIST_LINE_rec.program_id)
342 THEN
343 l_index := l_index + 1;
344 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_PROGRAM;
345 END IF;
346
347 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.program_update_date,p_old_PRICE_LIST_LINE_rec.program_update_date)
348 THEN
349 l_index := l_index + 1;
350 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_PROGRAM_UPDATE_DATE;
351 END IF;
352
353 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.rebate_trxn_type_code,p_old_PRICE_LIST_LINE_rec.rebate_trxn_type_code)
354 THEN
355 l_index := l_index + 1;
356 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_REBATE_TRANSACTION_TYPE;
357 END IF;
358
359 -- block pricing
360 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.recurring_value, p_old_PRICE_LIST_LINE_rec.recurring_value)
361 THEN
362 l_index := l_index+1;
363 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_RECURRING_VALUE;
364 END IF;
365
366 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.related_item_id,p_old_PRICE_LIST_LINE_rec.related_item_id)
367 THEN
368 l_index := l_index + 1;
369 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_RELATED_ITEM;
370 END IF;
371
372 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.relationship_type_id,p_old_PRICE_LIST_LINE_rec.relationship_type_id)
373 THEN
374 l_index := l_index + 1;
375 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_RELATIONSHIP_TYPE;
376 END IF;
377
378 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.reprice_flag,p_old_PRICE_LIST_LINE_rec.reprice_flag)
379 THEN
380 l_index := l_index + 1;
381 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_REPRICE;
382 END IF;
383
384 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.request_id,p_old_PRICE_LIST_LINE_rec.request_id)
385 THEN
386 l_index := l_index + 1;
387 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_REQUEST;
388 END IF;
389
390 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.revision,p_old_PRICE_LIST_LINE_rec.revision)
391 THEN
392 l_index := l_index + 1;
393 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_REVISION;
394 END IF;
395
396 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.revision_date,p_old_PRICE_LIST_LINE_rec.revision_date)
397 THEN
398 l_index := l_index + 1;
399 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_REVISION_DATE;
400 END IF;
401
402 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.revision_reason_code,p_old_PRICE_LIST_LINE_rec.revision_reason_code)
403 THEN
404 l_index := l_index + 1;
405 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_REVISION_REASON;
406 END IF;
407
408 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.start_date_active,p_old_PRICE_LIST_LINE_rec.start_date_active)
409 THEN
410 l_index := l_index + 1;
411 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_START_DATE_ACTIVE;
412 END IF;
413
414 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.substitution_attribute,p_old_PRICE_LIST_LINE_rec.substitution_attribute)
415 THEN
416 l_index := l_index + 1;
417 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_SUBSTITUTION_ATTRIBUTE;
418 END IF;
419
420 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.substitution_context,p_old_PRICE_LIST_LINE_rec.substitution_context)
421 THEN
422 l_index := l_index + 1;
423 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_SUBSTITUTION_CONTEXT;
424 END IF;
425
426 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.substitution_value,p_old_PRICE_LIST_LINE_rec.substitution_value)
427 THEN
428 l_index := l_index + 1;
429 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_SUBSTITUTION_VALUE;
430 END IF;
431
432 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.customer_item_id, p_old_PRICE_LIST_LINE_rec.customer_item_id)
433 THEN
434 l_index := l_index + 1;
435 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_CUSTOMER_ITEM_ID;
436 END IF;
437
438 ELSIF p_attr_id = G_ACCRUAL_QTY THEN
439 l_index := l_index + 1;
440 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_ACCRUAL_QTY;
441 ELSIF p_attr_id = G_ACCRUAL_UOM THEN
442 l_index := l_index + 1;
443 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_ACCRUAL_UOM;
444 ELSIF p_attr_id = G_ARITHMETIC_OPERATOR THEN
445 l_index := l_index + 1;
446 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_ARITHMETIC_OPERATOR;
447 ELSIF p_attr_id = G_ATTRIBUTE1 THEN
448 l_index := l_index + 1;
449 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_ATTRIBUTE1;
450 ELSIF p_attr_id = G_ATTRIBUTE10 THEN
451 l_index := l_index + 1;
452 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_ATTRIBUTE10;
453 ELSIF p_attr_id = G_ATTRIBUTE11 THEN
454 l_index := l_index + 1;
455 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_ATTRIBUTE11;
456 ELSIF p_attr_id = G_ATTRIBUTE12 THEN
457 l_index := l_index + 1;
458 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_ATTRIBUTE12;
459 ELSIF p_attr_id = G_ATTRIBUTE13 THEN
460 l_index := l_index + 1;
461 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_ATTRIBUTE13;
462 ELSIF p_attr_id = G_ATTRIBUTE14 THEN
463 l_index := l_index + 1;
464 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_ATTRIBUTE14;
465 ELSIF p_attr_id = G_ATTRIBUTE15 THEN
466 l_index := l_index + 1;
467 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_ATTRIBUTE15;
468 ELSIF p_attr_id = G_ATTRIBUTE2 THEN
469 l_index := l_index + 1;
470 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_ATTRIBUTE2;
471 ELSIF p_attr_id = G_ATTRIBUTE3 THEN
472 l_index := l_index + 1;
473 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_ATTRIBUTE3;
474 ELSIF p_attr_id = G_ATTRIBUTE4 THEN
475 l_index := l_index + 1;
476 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_ATTRIBUTE4;
477 ELSIF p_attr_id = G_ATTRIBUTE5 THEN
478 l_index := l_index + 1;
479 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_ATTRIBUTE5;
480 ELSIF p_attr_id = G_ATTRIBUTE6 THEN
481 l_index := l_index + 1;
482 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_ATTRIBUTE6;
483 ELSIF p_attr_id = G_ATTRIBUTE7 THEN
484 l_index := l_index + 1;
485 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_ATTRIBUTE7;
486 ELSIF p_attr_id = G_ATTRIBUTE8 THEN
487 l_index := l_index + 1;
488 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_ATTRIBUTE8;
489 ELSIF p_attr_id = G_ATTRIBUTE9 THEN
490 l_index := l_index + 1;
491 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_ATTRIBUTE9;
492 ELSIF p_attr_id = G_AUTOMATIC THEN
493 l_index := l_index + 1;
494 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_AUTOMATIC;
495 ELSIF p_attr_id = G_BASE_QTY THEN
496 l_index := l_index + 1;
497 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_BASE_QTY;
498 ELSIF p_attr_id = G_BASE_UOM THEN
499 l_index := l_index + 1;
500 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_BASE_UOM;
501 ELSIF p_attr_id = G_COMMENTS THEN
502 l_index := l_index + 1;
503 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_COMMENTS;
504 ELSIF p_attr_id = G_CONTEXT THEN
505 l_index := l_index + 1;
506 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_CONTEXT;
507 ELSIF p_attr_id = G_CREATED_BY THEN
508 l_index := l_index + 1;
509 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_CREATED_BY;
510 ELSIF p_attr_id = G_CREATION_DATE THEN
511 l_index := l_index + 1;
512 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_CREATION_DATE;
513 ELSIF p_attr_id = G_EFFECTIVE_PERIOD_UOM THEN
514 l_index := l_index + 1;
515 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_EFFECTIVE_PERIOD_UOM;
516 ELSIF p_attr_id = G_END_DATE_ACTIVE THEN
517 l_index := l_index + 1;
518 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_END_DATE_ACTIVE;
519 ELSIF p_attr_id = G_ESTIM_ACCRUAL_RATE THEN
520 l_index := l_index + 1;
521 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_ESTIM_ACCRUAL_RATE;
522 ELSIF p_attr_id = G_GENERATE_USING_FORMULA THEN
523 l_index := l_index + 1;
524 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_GENERATE_USING_FORMULA;
525 ELSIF p_attr_id = G_INVENTORY_ITEM THEN
526 l_index := l_index + 1;
527 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_INVENTORY_ITEM;
528 ELSIF p_attr_id = G_LAST_UPDATED_BY THEN
529 l_index := l_index + 1;
530 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_LAST_UPDATED_BY;
531 ELSIF p_attr_id = G_LAST_UPDATE_DATE THEN
532 l_index := l_index + 1;
533 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_LAST_UPDATE_DATE;
534 ELSIF p_attr_id = G_LAST_UPDATE_LOGIN THEN
535 l_index := l_index + 1;
536 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_LAST_UPDATE_LOGIN;
537 ELSIF p_attr_id = G_LIST_HEADER THEN
538 l_index := l_index + 1;
539 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_LIST_HEADER;
540 ELSIF p_attr_id = G_LIST_LINE THEN
541 l_index := l_index + 1;
542 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_LIST_LINE;
543 ELSIF p_attr_id = G_LIST_LINE_TYPE THEN
544 l_index := l_index + 1;
545 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_LIST_LINE_TYPE;
546 ELSIF p_attr_id = G_LIST_PRICE THEN
547 l_index := l_index + 1;
548 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_LIST_PRICE;
549 ELSIF p_attr_id = G_FROM_RLTD_MODIFIER THEN
550 l_index := l_index + 1;
551 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_FROM_RLTD_MODIFIER;
552 ELSIF p_attr_id = G_RLTD_MODIFIER_GROUP_NO THEN
553 l_index := l_index + 1;
554 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_RLTD_MODIFIER_GROUP_NO;
555 ELSIF p_attr_id = G_PRODUCT_PRECEDENCE THEN
556 l_index := l_index + 1;
557 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_PRODUCT_PRECEDENCE;
558 ELSIF p_attr_id = G_MODIFIER_LEVEL THEN
559 l_index := l_index + 1;
560 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_MODIFIER_LEVEL;
561 ELSIF p_attr_id = G_NUMBER_EFFECTIVE_PERIODS THEN
562 l_index := l_index + 1;
563 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_NUMBER_EFFECTIVE_PERIODS;
564 ELSIF p_attr_id = G_OPERAND THEN
565 l_index := l_index + 1;
566 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_OPERAND;
567 ELSIF p_attr_id = G_ORGANIZATION THEN
568 l_index := l_index + 1;
569 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_ORGANIZATION;
570 ELSIF p_attr_id = G_OVERRIDE THEN
571 l_index := l_index + 1;
572 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_OVERRIDE;
573 ELSIF p_attr_id = G_PERCENT_PRICE THEN
574 l_index := l_index + 1;
575 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_PERCENT_PRICE;
576 ELSIF p_attr_id = G_PRICE_BREAK_TYPE THEN
577 l_index := l_index + 1;
578 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_PRICE_BREAK_TYPE;
579 ELSIF p_attr_id = G_PRICE_BY_FORMULA THEN
580 l_index := l_index + 1;
581 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_PRICE_BY_FORMULA;
582 ELSIF p_attr_id = G_PRIMARY_UOM THEN
583 l_index := l_index + 1;
584 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_PRIMARY_UOM;
585 ELSIF p_attr_id = G_PRINT_ON_INVOICE THEN
586 l_index := l_index + 1;
587 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_PRINT_ON_INVOICE;
588 ELSIF p_attr_id = G_PROGRAM_APPLICATION THEN
589 l_index := l_index + 1;
590 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_PROGRAM_APPLICATION;
591 ELSIF p_attr_id = G_PROGRAM THEN
592 l_index := l_index + 1;
593 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_PROGRAM;
594 ELSIF p_attr_id = G_PROGRAM_UPDATE_DATE THEN
595 l_index := l_index + 1;
596 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_PROGRAM_UPDATE_DATE;
597 ELSIF p_attr_id = G_REBATE_TRANSACTION_TYPE THEN
598 l_index := l_index + 1;
599 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_REBATE_TRANSACTION_TYPE;
600 -- block pricing
601 ELSIF p_attr_id = G_RECURRING_VALUE THEN
602 l_index := l_index + 1;
603 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_RECURRING_VALUE;
604 ELSIF p_attr_id = G_RELATED_ITEM THEN
605 l_index := l_index + 1;
606 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_RELATED_ITEM;
607 ELSIF p_attr_id = G_RELATIONSHIP_TYPE THEN
608 l_index := l_index + 1;
609 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_RELATIONSHIP_TYPE;
610 ELSIF p_attr_id = G_REPRICE THEN
611 l_index := l_index + 1;
612 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_REPRICE;
613 ELSIF p_attr_id = G_REQUEST THEN
614 l_index := l_index + 1;
615 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_REQUEST;
616 ELSIF p_attr_id = G_REVISION THEN
617 l_index := l_index + 1;
618 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_REVISION;
619 ELSIF p_attr_id = G_REVISION_DATE THEN
620 l_index := l_index + 1;
621 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_REVISION_DATE;
622 ELSIF p_attr_id = G_REVISION_REASON THEN
623 l_index := l_index + 1;
624 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_REVISION_REASON;
625 ELSIF p_attr_id = G_START_DATE_ACTIVE THEN
626 l_index := l_index + 1;
627 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_START_DATE_ACTIVE;
628 ELSIF p_attr_id = G_SUBSTITUTION_ATTRIBUTE THEN
629 l_index := l_index + 1;
630 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_SUBSTITUTION_ATTRIBUTE;
631 ELSIF p_attr_id = G_SUBSTITUTION_CONTEXT THEN
632 l_index := l_index + 1;
633 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_SUBSTITUTION_CONTEXT;
634 ELSIF p_attr_id = G_SUBSTITUTION_VALUE THEN
635 l_index := l_index + 1;
636 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_SUBSTITUTION_VALUE;
637 ELSIF p_attr_id = G_CUSTOMER_ITEM_ID THEN
638 l_index := l_index + 1;
639 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_CUSTOMER_ITEM_ID;
640 ELSIF p_attr_id = G_BREAK_UOM_CODE THEN
641 l_index := l_index + 1;
642 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_BREAK_UOM_CODE;
643 ELSIF p_attr_id = G_BREAK_UOM_CONTEXT THEN
644 l_index := l_index + 1;
645 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_BREAK_UOM_CONTEXT;
646 ELSIF p_attr_id = G_BREAK_UOM_ATTRIBUTE THEN
647 l_index := l_index + 1;
648 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_BREAK_UOM_ATTRIBUTE;
649 ELSIF p_attr_id = G_CONTINUOUS_PRICE_BREAK_FLAG THEN
650 l_index := l_index + 1;
651 l_src_attr_tbl(l_index) := QP_PRICE_LIST_LINE_UTIL.G_CONTINUOUS_PRICE_BREAK_FLAG;
652 END IF;
653
654 END Clear_Dependent_Attr;
655
656 -- Procedure Apply_Attribute_Changes
657
658 PROCEDURE Apply_Attribute_Changes
659 ( p_PRICE_LIST_LINE_rec IN QP_Price_List_PUB.Price_List_Line_Rec_Type
660 , p_old_PRICE_LIST_LINE_rec IN QP_Price_List_PUB.Price_List_Line_Rec_Type :=
661 QP_Price_List_PUB.G_MISS_PRICE_LIST_LINE_REC
662 , x_PRICE_LIST_LINE_rec OUT NOCOPY /* file.sql.39 change */ QP_Price_List_PUB.Price_List_Line_Rec_Type
663 )
664 IS
665 l_return_status varchar2(30);
666 BEGIN
667
668 -- Load out record
669
670 x_PRICE_LIST_LINE_rec := p_PRICE_LIST_LINE_rec;
671
672 -- Set reprice_flag to 'Y' every time a price list line is added/modified
673 x_PRICE_LIST_LINE_rec.reprice_flag := 'Y';
674
675 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.accrual_qty,p_old_PRICE_LIST_LINE_rec.accrual_qty)
676 THEN
677 NULL;
678 END IF;
679
680 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.accrual_uom_code,p_old_PRICE_LIST_LINE_rec.accrual_uom_code)
681 THEN
682 NULL;
683 END IF;
684
685 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.arithmetic_operator,p_old_PRICE_LIST_LINE_rec.arithmetic_operator)
686 THEN
687 NULL;
688 END IF;
689
690
691 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.attribute1,p_old_PRICE_LIST_LINE_rec.attribute1)
692 THEN
693 NULL;
694 END IF;
695
696 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.attribute10,p_old_PRICE_LIST_LINE_rec.attribute10)
697 THEN
698 NULL;
699 END IF;
700
701 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.attribute11,p_old_PRICE_LIST_LINE_rec.attribute11)
702 THEN
703 NULL;
704 END IF;
705
706 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.attribute12,p_old_PRICE_LIST_LINE_rec.attribute12)
707 THEN
708 NULL;
709 END IF;
710
711 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.attribute13,p_old_PRICE_LIST_LINE_rec.attribute13)
712 THEN
713 NULL;
714 END IF;
715
716 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.attribute14,p_old_PRICE_LIST_LINE_rec.attribute14)
717 THEN
718 NULL;
719 END IF;
720
721 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.attribute15,p_old_PRICE_LIST_LINE_rec.attribute15)
722 THEN
723 NULL;
724 END IF;
725
726 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.attribute2,p_old_PRICE_LIST_LINE_rec.attribute2)
727 THEN
728 NULL;
729 END IF;
730
731 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.attribute3,p_old_PRICE_LIST_LINE_rec.attribute3)
732 THEN
733 NULL;
734 END IF;
735
736 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.attribute4,p_old_PRICE_LIST_LINE_rec.attribute4)
737 THEN
738 NULL;
739 END IF;
740
741 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.attribute5,p_old_PRICE_LIST_LINE_rec.attribute5)
742 THEN
743 NULL;
744 END IF;
745
746 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.attribute6,p_old_PRICE_LIST_LINE_rec.attribute6)
747 THEN
748 NULL;
749 END IF;
750
751 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.attribute7,p_old_PRICE_LIST_LINE_rec.attribute7)
752 THEN
753 NULL;
754 END IF;
755
756 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.attribute8,p_old_PRICE_LIST_LINE_rec.attribute8)
757 THEN
758 NULL;
759 END IF;
760
761 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.attribute9,p_old_PRICE_LIST_LINE_rec.attribute9)
762 THEN
763 NULL;
764 END IF;
765
766 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.automatic_flag,p_old_PRICE_LIST_LINE_rec.automatic_flag)
767 THEN
768 NULL;
769 END IF;
770
771 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.base_qty,p_old_PRICE_LIST_LINE_rec.base_qty)
772 THEN
773 NULL;
774 END IF;
775
776 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.base_uom_code,p_old_PRICE_LIST_LINE_rec.base_uom_code)
777 THEN
778 NULL;
779 END IF;
780
781 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.comments,p_old_PRICE_LIST_LINE_rec.comments)
782 THEN
783 NULL;
784 END IF;
785
786 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.context,p_old_PRICE_LIST_LINE_rec.context)
787 THEN
788 NULL;
789 END IF;
790
791 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.created_by,p_old_PRICE_LIST_LINE_rec.created_by)
792 THEN
793 NULL;
794 END IF;
795
796 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.creation_date,p_old_PRICE_LIST_LINE_rec.creation_date)
797 THEN
798 NULL;
799 END IF;
800
801 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.effective_period_uom,p_old_PRICE_LIST_LINE_rec.effective_period_uom)
802 THEN
803 NULL;
804 END IF;
805
806 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.end_date_active,p_old_PRICE_LIST_LINE_rec.end_date_active)
807 THEN
808 NULL;
809 END IF;
810
811 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.estim_accrual_rate,p_old_PRICE_LIST_LINE_rec.estim_accrual_rate)
812 THEN
813 NULL;
814 END IF;
815
816 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.generate_using_formula_id,p_old_PRICE_LIST_LINE_rec.generate_using_formula_id)
817 THEN
818 NULL;
819 END IF;
820
821 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.inventory_item_id,p_old_PRICE_LIST_LINE_rec.inventory_item_id)
822 THEN
823 NULL;
824 END IF;
825
826 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.last_updated_by,p_old_PRICE_LIST_LINE_rec.last_updated_by)
827 THEN
828 NULL;
829 END IF;
830
831 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.last_update_date,p_old_PRICE_LIST_LINE_rec.last_update_date)
832 THEN
833 NULL;
834 END IF;
835
836 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.last_update_login,p_old_PRICE_LIST_LINE_rec.last_update_login)
837 THEN
838 NULL;
839 END IF;
840
841 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.list_header_id,p_old_PRICE_LIST_LINE_rec.list_header_id)
842 THEN
843 NULL;
844 END IF;
845
846 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.list_line_id,p_old_PRICE_LIST_LINE_rec.list_line_id)
847 THEN
848
849 /* Commented out delayed request by dhgupta for bug 2018275. This delayed request is now being called from
850 procedure insert_row */
851 null;
852 /*
853 qp_delayed_requests_PVT.log_request(
854 p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
855 p_entity_id => p_PRICE_LIST_LINE_rec.list_line_id,
856 p_requesting_entity_code=> QP_GLOBALS.G_ENTITY_ALL,
857 p_requesting_entity_id => p_PRICE_LIST_LINE_rec.list_line_id,
858 p_request_type =>QP_GLOBALS.G_UPDATE_LINE_QUAL_IND,
859 x_return_status => l_return_status);
860 */
861 END IF;
862
863 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.list_line_type_code,p_old_PRICE_LIST_LINE_rec.list_line_type_code)
864 THEN
865 NULL;
866 END IF;
867
868 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.list_price,p_old_PRICE_LIST_LINE_rec.list_price)
869 THEN
870 NULL;
871 END IF;
872
873 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.from_rltd_modifier_id,p_old_PRICE_LIST_LINE_rec.from_rltd_modifier_id)
874 THEN
875 NULL;
876 END IF;
877
878 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.rltd_modifier_group_no,p_old_PRICE_LIST_LINE_rec.rltd_modifier_group_no)
879 THEN
880 NULL;
881 END IF;
882
883 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.product_precedence,p_old_PRICE_LIST_LINE_rec.product_precedence)
884 THEN
885 NULL;
886 END IF;
887
888
889 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.modifier_level_code,p_old_PRICE_LIST_LINE_rec.modifier_level_code)
890 THEN
891 NULL;
892 END IF;
893
894 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.number_effective_periods,p_old_PRICE_LIST_LINE_rec.number_effective_periods)
895 THEN
896 NULL;
897 END IF;
898
899 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.operand,p_old_PRICE_LIST_LINE_rec.operand)
900 THEN
901 NULL;
902 END IF;
903
904 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.organization_id,p_old_PRICE_LIST_LINE_rec.organization_id)
905 THEN
906 NULL;
907 END IF;
908
909 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.override_flag,p_old_PRICE_LIST_LINE_rec.override_flag)
910 THEN
911 NULL;
912 END IF;
913
914 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.percent_price,p_old_PRICE_LIST_LINE_rec.percent_price)
915 THEN
916 NULL;
917 END IF;
918
919 --IF not p_PRICE_LIST_LINE_rec.list_line_type_code = 'PHB'
920 --then null;
921 --else
922
923 --fnd_message.debug('gm before new code');
924 oe_debug_pub.add('gm before new code');
925
926 IF NOT (QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.price_break_type_code,p_old_PRICE_LIST_LINE_rec.price_break_type_code)
927 and QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.arithmetic_operator,p_old_PRICE_LIST_LINE_rec.arithmetic_operator))
928 and (p_PRICE_LIST_LINE_rec.list_line_type_code = 'PBH')
929 THEN
930 qp_delayed_requests_PVT.log_request(
931 p_entity_code => QP_GLOBALS.G_ENTITY_PRICE_LIST_LINE,
932 p_entity_id => p_PRICE_LIST_LINE_rec.list_line_id,
933 p_requesting_entity_code=> QP_GLOBALS.G_ENTITY_Price_List_Line,
934 p_requesting_entity_id => p_PRICE_LIST_LINE_rec.list_line_id,
935 p_request_type =>QP_GLOBALS.G_UPDATE_CHILD_BREAKS,
936 x_return_status => l_return_status);
937 END IF;
938 -- END IF;
939 oe_debug_pub.add('gm after new code');
940
941
942 --fnd_message.debug('gm after new code');
943
944
945 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.price_by_formula_id,p_old_PRICE_LIST_LINE_rec.price_by_formula_id)
946 THEN
947 NULL;
948 END IF;
949
950 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.primary_uom_flag,p_old_PRICE_LIST_LINE_rec.primary_uom_flag)
951 THEN
952 NULL;
953 END IF;
954
955 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.print_on_invoice_flag,p_old_PRICE_LIST_LINE_rec.print_on_invoice_flag)
956 THEN
957 NULL;
958 END IF;
959
960 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.program_application_id,p_old_PRICE_LIST_LINE_rec.program_application_id)
961 THEN
962 NULL;
963 END IF;
964
965 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.program_id,p_old_PRICE_LIST_LINE_rec.program_id)
966 THEN
967 NULL;
968 END IF;
969
970 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.program_update_date,p_old_PRICE_LIST_LINE_rec.program_update_date)
971 THEN
972 NULL;
973 END IF;
974
975 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.rebate_trxn_type_code,p_old_PRICE_LIST_LINE_rec.rebate_trxn_type_code)
976 THEN
977 NULL;
978 END IF;
979
980 -- block pricing
981 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.recurring_value, p_old_PRICE_LIST_LINE_rec.recurring_value)
982 THEN
983 NULL;
984 END IF;
985
986 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.related_item_id,p_old_PRICE_LIST_LINE_rec.related_item_id)
987 THEN
988 NULL;
989 END IF;
990
991 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.relationship_type_id,p_old_PRICE_LIST_LINE_rec.relationship_type_id)
992 THEN
993 NULL;
994 END IF;
995
996 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.reprice_flag,p_old_PRICE_LIST_LINE_rec.reprice_flag)
997 THEN
998 NULL;
999 END IF;
1000
1001 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.request_id,p_old_PRICE_LIST_LINE_rec.request_id)
1002 THEN
1003 NULL;
1004 END IF;
1005
1006 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.revision,p_old_PRICE_LIST_LINE_rec.revision)
1007 THEN
1008 NULL;
1009 END IF;
1010
1011 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.revision_date,p_old_PRICE_LIST_LINE_rec.revision_date)
1012 THEN
1013 NULL;
1014 END IF;
1015
1016 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.revision_reason_code,p_old_PRICE_LIST_LINE_rec.revision_reason_code)
1017 THEN
1018 NULL;
1019 END IF;
1020
1021 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.start_date_active,p_old_PRICE_LIST_LINE_rec.start_date_active)
1022 THEN
1023 NULL;
1024 END IF;
1025
1026 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.substitution_attribute,p_old_PRICE_LIST_LINE_rec.substitution_attribute)
1027 THEN
1028 NULL;
1029 END IF;
1030
1031 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.substitution_context,p_old_PRICE_LIST_LINE_rec.substitution_context)
1032 THEN
1033 NULL;
1034 END IF;
1035
1036 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.substitution_value,p_old_PRICE_LIST_LINE_rec.substitution_value)
1037 THEN
1038 NULL;
1039 END IF;
1040
1041 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.customer_item_id, p_old_PRICE_LIST_LINE_rec.customer_item_id)
1042 THEN
1043 NULL;
1044 END IF;
1045
1046 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.break_uom_code,p_old_PRICE_LIST_LINE_rec.break_uom_code)
1047 THEN
1048 NULL;
1049 END IF;
1050
1051 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.break_uom_context,p_old_PRICE_LIST_LINE_rec.break_uom_context)
1052 THEN
1053 NULL;
1054 END IF;
1055
1056 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.break_uom_attribute,p_old_PRICE_LIST_LINE_rec.break_uom_attribute)
1057 THEN
1058 NULL;
1059 END IF;
1060
1061 IF NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.continuous_price_break_flag,p_old_PRICE_LIST_LINE_rec.continuous_price_break_flag)
1062 THEN
1063 NULL;
1064 END IF;
1065
1066 END Apply_Attribute_Changes;
1067
1068 -- Function Complete_Record
1069
1070 FUNCTION Complete_Record
1071 ( p_PRICE_LIST_LINE_rec IN QP_Price_List_PUB.Price_List_Line_Rec_Type
1072 , p_old_PRICE_LIST_LINE_rec IN QP_Price_List_PUB.Price_List_Line_Rec_Type
1073 ) RETURN QP_Price_List_PUB.Price_List_Line_Rec_Type
1074 IS
1075 l_PRICE_LIST_LINE_rec QP_Price_List_PUB.Price_List_Line_Rec_Type := p_PRICE_LIST_LINE_rec;
1076 BEGIN
1077
1078 IF l_PRICE_LIST_LINE_rec.accrual_qty = FND_API.G_MISS_NUM THEN
1079 l_PRICE_LIST_LINE_rec.accrual_qty := p_old_PRICE_LIST_LINE_rec.accrual_qty;
1080 END IF;
1081
1082
1083 IF l_PRICE_LIST_LINE_rec.accrual_uom_code = FND_API.G_MISS_CHAR THEN
1084 l_PRICE_LIST_LINE_rec.accrual_uom_code := p_old_PRICE_LIST_LINE_rec.accrual_uom_code;
1085 END IF;
1086
1087 IF l_PRICE_LIST_LINE_rec.arithmetic_operator = FND_API.G_MISS_CHAR THEN
1088 l_PRICE_LIST_LINE_rec.arithmetic_operator := p_old_PRICE_LIST_LINE_rec.arithmetic_operator;
1089 END IF;
1090
1091 IF l_PRICE_LIST_LINE_rec.attribute1 = FND_API.G_MISS_CHAR THEN
1092 l_PRICE_LIST_LINE_rec.attribute1 := p_old_PRICE_LIST_LINE_rec.attribute1;
1093 END IF;
1094
1095 IF l_PRICE_LIST_LINE_rec.attribute10 = FND_API.G_MISS_CHAR THEN
1096 l_PRICE_LIST_LINE_rec.attribute10 := p_old_PRICE_LIST_LINE_rec.attribute10;
1097 END IF;
1098
1099 IF l_PRICE_LIST_LINE_rec.attribute11 = FND_API.G_MISS_CHAR THEN
1100 l_PRICE_LIST_LINE_rec.attribute11 := p_old_PRICE_LIST_LINE_rec.attribute11;
1101 END IF;
1102
1103 IF l_PRICE_LIST_LINE_rec.attribute12 = FND_API.G_MISS_CHAR THEN
1104 l_PRICE_LIST_LINE_rec.attribute12 := p_old_PRICE_LIST_LINE_rec.attribute12;
1105 END IF;
1106
1107 IF l_PRICE_LIST_LINE_rec.attribute13 = FND_API.G_MISS_CHAR THEN
1108 l_PRICE_LIST_LINE_rec.attribute13 := p_old_PRICE_LIST_LINE_rec.attribute13;
1109 END IF;
1110
1111 IF l_PRICE_LIST_LINE_rec.attribute14 = FND_API.G_MISS_CHAR THEN
1112 l_PRICE_LIST_LINE_rec.attribute14 := p_old_PRICE_LIST_LINE_rec.attribute14;
1113 END IF;
1114
1115 IF l_PRICE_LIST_LINE_rec.attribute15 = FND_API.G_MISS_CHAR THEN
1116 l_PRICE_LIST_LINE_rec.attribute15 := p_old_PRICE_LIST_LINE_rec.attribute15;
1117 END IF;
1118
1119 IF l_PRICE_LIST_LINE_rec.attribute2 = FND_API.G_MISS_CHAR THEN
1120 l_PRICE_LIST_LINE_rec.attribute2 := p_old_PRICE_LIST_LINE_rec.attribute2;
1121 END IF;
1122
1123 IF l_PRICE_LIST_LINE_rec.attribute3 = FND_API.G_MISS_CHAR THEN
1124 l_PRICE_LIST_LINE_rec.attribute3 := p_old_PRICE_LIST_LINE_rec.attribute3;
1125 END IF;
1126
1127 IF l_PRICE_LIST_LINE_rec.attribute4 = FND_API.G_MISS_CHAR THEN
1128 l_PRICE_LIST_LINE_rec.attribute4 := p_old_PRICE_LIST_LINE_rec.attribute4;
1129 END IF;
1130
1131 IF l_PRICE_LIST_LINE_rec.attribute5 = FND_API.G_MISS_CHAR THEN
1132 l_PRICE_LIST_LINE_rec.attribute5 := p_old_PRICE_LIST_LINE_rec.attribute5;
1133 END IF;
1134
1135 IF l_PRICE_LIST_LINE_rec.attribute6 = FND_API.G_MISS_CHAR THEN
1136 l_PRICE_LIST_LINE_rec.attribute6 := p_old_PRICE_LIST_LINE_rec.attribute6;
1137 END IF;
1138
1139 IF l_PRICE_LIST_LINE_rec.attribute7 = FND_API.G_MISS_CHAR THEN
1140 l_PRICE_LIST_LINE_rec.attribute7 := p_old_PRICE_LIST_LINE_rec.attribute7;
1141 END IF;
1142
1143 IF l_PRICE_LIST_LINE_rec.attribute8 = FND_API.G_MISS_CHAR THEN
1144 l_PRICE_LIST_LINE_rec.attribute8 := p_old_PRICE_LIST_LINE_rec.attribute8;
1145 END IF;
1146
1147 IF l_PRICE_LIST_LINE_rec.attribute9 = FND_API.G_MISS_CHAR THEN
1148 l_PRICE_LIST_LINE_rec.attribute9 := p_old_PRICE_LIST_LINE_rec.attribute9;
1149 END IF;
1150
1151 IF l_PRICE_LIST_LINE_rec.automatic_flag = FND_API.G_MISS_CHAR THEN
1152 l_PRICE_LIST_LINE_rec.automatic_flag := p_old_PRICE_LIST_LINE_rec.automatic_flag;
1153 END IF;
1154
1155 IF l_PRICE_LIST_LINE_rec.base_qty = FND_API.G_MISS_NUM THEN
1156 l_PRICE_LIST_LINE_rec.base_qty := p_old_PRICE_LIST_LINE_rec.base_qty;
1157 END IF;
1158
1159 IF l_PRICE_LIST_LINE_rec.base_uom_code = FND_API.G_MISS_CHAR THEN
1160 l_PRICE_LIST_LINE_rec.base_uom_code := p_old_PRICE_LIST_LINE_rec.base_uom_code;
1161 END IF;
1162
1163 IF l_PRICE_LIST_LINE_rec.comments = FND_API.G_MISS_CHAR THEN
1164 l_PRICE_LIST_LINE_rec.comments := p_old_PRICE_LIST_LINE_rec.comments;
1165 END IF;
1166
1167 IF l_PRICE_LIST_LINE_rec.context = FND_API.G_MISS_CHAR THEN
1168 l_PRICE_LIST_LINE_rec.context := p_old_PRICE_LIST_LINE_rec.context;
1169 END IF;
1170
1171 IF l_PRICE_LIST_LINE_rec.created_by = FND_API.G_MISS_NUM THEN
1172 l_PRICE_LIST_LINE_rec.created_by := p_old_PRICE_LIST_LINE_rec.created_by;
1173 END IF;
1174
1175 IF l_PRICE_LIST_LINE_rec.creation_date = FND_API.G_MISS_DATE THEN
1176 l_PRICE_LIST_LINE_rec.creation_date := p_old_PRICE_LIST_LINE_rec.creation_date;
1177 END IF;
1178
1179 IF l_PRICE_LIST_LINE_rec.effective_period_uom = FND_API.G_MISS_CHAR THEN
1180 l_PRICE_LIST_LINE_rec.effective_period_uom := p_old_PRICE_LIST_LINE_rec.effective_period_uom;
1181 END IF;
1182
1183 IF l_PRICE_LIST_LINE_rec.end_date_active = FND_API.G_MISS_DATE THEN
1184 l_PRICE_LIST_LINE_rec.end_date_active := p_old_PRICE_LIST_LINE_rec.end_date_active;
1185 END IF;
1186
1187 IF l_PRICE_LIST_LINE_rec.estim_accrual_rate = FND_API.G_MISS_NUM THEN
1188 l_PRICE_LIST_LINE_rec.estim_accrual_rate := p_old_PRICE_LIST_LINE_rec.estim_accrual_rate;
1189 END IF;
1190
1191 IF l_PRICE_LIST_LINE_rec.generate_using_formula_id = FND_API.G_MISS_NUM THEN
1192 l_PRICE_LIST_LINE_rec.generate_using_formula_id := p_old_PRICE_LIST_LINE_rec.generate_using_formula_id;
1193 END IF;
1194
1195
1196 IF l_PRICE_LIST_LINE_rec.inventory_item_id = FND_API.G_MISS_NUM THEN
1197 l_PRICE_LIST_LINE_rec.inventory_item_id := p_old_PRICE_LIST_LINE_rec.inventory_item_id;
1198 END IF;
1199
1200 IF l_PRICE_LIST_LINE_rec.last_updated_by = FND_API.G_MISS_NUM THEN
1201 l_PRICE_LIST_LINE_rec.last_updated_by := p_old_PRICE_LIST_LINE_rec.last_updated_by;
1202 END IF;
1203
1204 IF l_PRICE_LIST_LINE_rec.last_update_date = FND_API.G_MISS_DATE THEN
1205 l_PRICE_LIST_LINE_rec.last_update_date := p_old_PRICE_LIST_LINE_rec.last_update_date;
1206 END IF;
1207
1208 IF l_PRICE_LIST_LINE_rec.last_update_login = FND_API.G_MISS_NUM THEN
1209 l_PRICE_LIST_LINE_rec.last_update_login := p_old_PRICE_LIST_LINE_rec.last_update_login;
1210 END IF;
1211
1212 IF l_PRICE_LIST_LINE_rec.list_header_id = FND_API.G_MISS_NUM THEN
1213 l_PRICE_LIST_LINE_rec.list_header_id := p_old_PRICE_LIST_LINE_rec.list_header_id;
1214 END IF;
1215
1216 IF l_PRICE_LIST_LINE_rec.list_line_id = FND_API.G_MISS_NUM THEN
1217 l_PRICE_LIST_LINE_rec.list_line_id := p_old_PRICE_LIST_LINE_rec.list_line_id;
1218 END IF;
1219
1220 IF l_PRICE_LIST_LINE_rec.list_line_no = FND_API.G_MISS_CHAR THEN -- bug 4751658, 4199398
1221 l_PRICE_LIST_LINE_rec.list_line_no := p_old_PRICE_LIST_LINE_rec.list_line_no;
1222 END IF;
1223
1224 IF l_PRICE_LIST_LINE_rec.list_line_type_code = FND_API.G_MISS_CHAR THEN
1225 l_PRICE_LIST_LINE_rec.list_line_type_code := p_old_PRICE_LIST_LINE_rec.list_line_type_code;
1226 END IF;
1227
1228 IF l_PRICE_LIST_LINE_rec.list_price = FND_API.G_MISS_NUM THEN
1229 l_PRICE_LIST_LINE_rec.list_price := p_old_PRICE_LIST_LINE_rec.list_price;
1230 END IF;
1231
1232 IF l_PRICE_LIST_LINE_rec.from_rltd_modifier_id = FND_API.G_MISS_NUM THEN
1233 l_PRICE_LIST_LINE_rec.from_rltd_modifier_id := p_old_PRICE_LIST_LINE_rec.from_rltd_modifier_id;
1234 END IF;
1235
1236 IF l_PRICE_LIST_LINE_rec.rltd_modifier_group_no = FND_API.G_MISS_NUM THEN
1237 l_PRICE_LIST_LINE_rec.rltd_modifier_group_no := p_old_PRICE_LIST_LINE_rec.rltd_modifier_group_no;
1238 END IF;
1239
1240 IF l_PRICE_LIST_LINE_rec.product_precedence = FND_API.G_MISS_NUM THEN
1241 l_PRICE_LIST_LINE_rec.product_precedence := p_old_PRICE_LIST_LINE_rec.product_precedence;
1242 END IF;
1243
1244 IF l_PRICE_LIST_LINE_rec.modifier_level_code = FND_API.G_MISS_CHAR THEN
1245 l_PRICE_LIST_LINE_rec.modifier_level_code := p_old_PRICE_LIST_LINE_rec.modifier_level_code;
1246 END IF;
1247
1248 IF l_PRICE_LIST_LINE_rec.number_effective_periods = FND_API.G_MISS_NUM THEN
1249 l_PRICE_LIST_LINE_rec.number_effective_periods := p_old_PRICE_LIST_LINE_rec.number_effective_periods;
1250 END IF;
1251
1252 IF l_PRICE_LIST_LINE_rec.operand = FND_API.G_MISS_NUM THEN
1253 l_PRICE_LIST_LINE_rec.operand := p_old_PRICE_LIST_LINE_rec.operand;
1254 END IF;
1255
1256 IF l_PRICE_LIST_LINE_rec.organization_id = FND_API.G_MISS_NUM THEN
1257 l_PRICE_LIST_LINE_rec.organization_id := p_old_PRICE_LIST_LINE_rec.organization_id;
1258 END IF;
1259
1260 IF l_PRICE_LIST_LINE_rec.override_flag = FND_API.G_MISS_CHAR THEN
1261 l_PRICE_LIST_LINE_rec.override_flag := p_old_PRICE_LIST_LINE_rec.override_flag;
1262 END IF;
1263
1264 IF l_PRICE_LIST_LINE_rec.percent_price = FND_API.G_MISS_NUM THEN
1265 l_PRICE_LIST_LINE_rec.percent_price := p_old_PRICE_LIST_LINE_rec.percent_price;
1266 END IF;
1267
1268 IF l_PRICE_LIST_LINE_rec.price_break_type_code = FND_API.G_MISS_CHAR THEN
1269 l_PRICE_LIST_LINE_rec.price_break_type_code := p_old_PRICE_LIST_LINE_rec.price_break_type_code;
1270 END IF;
1271
1272 IF l_PRICE_LIST_LINE_rec.price_by_formula_id = FND_API.G_MISS_NUM THEN
1273 l_PRICE_LIST_LINE_rec.price_by_formula_id := p_old_PRICE_LIST_LINE_rec.price_by_formula_id;
1274 END IF;
1275
1276 IF l_PRICE_LIST_LINE_rec.primary_uom_flag = FND_API.G_MISS_CHAR THEN
1277 l_PRICE_LIST_LINE_rec.primary_uom_flag := p_old_PRICE_LIST_LINE_rec.primary_uom_flag;
1278 END IF;
1279
1280 IF l_PRICE_LIST_LINE_rec.print_on_invoice_flag = FND_API.G_MISS_CHAR THEN
1281 l_PRICE_LIST_LINE_rec.print_on_invoice_flag := p_old_PRICE_LIST_LINE_rec.print_on_invoice_flag;
1282 END IF;
1283
1284 IF l_PRICE_LIST_LINE_rec.program_application_id = FND_API.G_MISS_NUM THEN
1285 l_PRICE_LIST_LINE_rec.program_application_id := p_old_PRICE_LIST_LINE_rec.program_application_id;
1286 END IF;
1287
1288 IF l_PRICE_LIST_LINE_rec.program_id = FND_API.G_MISS_NUM THEN
1289 l_PRICE_LIST_LINE_rec.program_id := p_old_PRICE_LIST_LINE_rec.program_id;
1290 END IF;
1291
1292 IF l_PRICE_LIST_LINE_rec.program_update_date = FND_API.G_MISS_DATE THEN
1293 l_PRICE_LIST_LINE_rec.program_update_date := p_old_PRICE_LIST_LINE_rec.program_update_date;
1294 END IF;
1295
1296 IF l_PRICE_LIST_LINE_rec.rebate_trxn_type_code = FND_API.G_MISS_CHAR THEN
1297 l_PRICE_LIST_LINE_rec.rebate_trxn_type_code := p_old_PRICE_LIST_LINE_rec.rebate_trxn_type_code;
1298 END IF;
1299
1300 -- block pricing
1301 IF l_PRICE_LIST_LINE_rec.recurring_value = FND_API.G_MISS_NUM THEN
1302 l_PRICE_LIST_LINE_rec.recurring_value := p_old_PRICE_LIST_LINE_rec.recurring_value;
1303 END IF;
1304
1305 IF l_PRICE_LIST_LINE_rec.related_item_id = FND_API.G_MISS_NUM THEN
1306 l_PRICE_LIST_LINE_rec.related_item_id := p_old_PRICE_LIST_LINE_rec.related_item_id;
1307 END IF;
1308
1309 IF l_PRICE_LIST_LINE_rec.relationship_type_id = FND_API.G_MISS_NUM THEN
1310 l_PRICE_LIST_LINE_rec.relationship_type_id := p_old_PRICE_LIST_LINE_rec.relationship_type_id;
1311 END IF;
1312
1313 IF l_PRICE_LIST_LINE_rec.reprice_flag = FND_API.G_MISS_CHAR THEN
1314 l_PRICE_LIST_LINE_rec.reprice_flag := p_old_PRICE_LIST_LINE_rec.reprice_flag;
1315 END IF;
1316
1317 IF l_PRICE_LIST_LINE_rec.request_id = FND_API.G_MISS_NUM THEN
1318 l_PRICE_LIST_LINE_rec.request_id := p_old_PRICE_LIST_LINE_rec.request_id;
1319 END IF;
1320
1321 IF l_PRICE_LIST_LINE_rec.revision = FND_API.G_MISS_CHAR THEN
1322 l_PRICE_LIST_LINE_rec.revision := p_old_PRICE_LIST_LINE_rec.revision;
1323 END IF;
1324
1325 IF l_PRICE_LIST_LINE_rec.revision_date = FND_API.G_MISS_DATE THEN
1326 l_PRICE_LIST_LINE_rec.revision_date := p_old_PRICE_LIST_LINE_rec.revision_date;
1327 END IF;
1328
1329 IF l_PRICE_LIST_LINE_rec.revision_reason_code = FND_API.G_MISS_CHAR THEN
1330 l_PRICE_LIST_LINE_rec.revision_reason_code := p_old_PRICE_LIST_LINE_rec.revision_reason_code;
1331 END IF;
1332
1333 IF l_PRICE_LIST_LINE_rec.start_date_active = FND_API.G_MISS_DATE THEN
1334 l_PRICE_LIST_LINE_rec.start_date_active := p_old_PRICE_LIST_LINE_rec.start_date_active;
1335 END IF;
1336
1337 IF l_PRICE_LIST_LINE_rec.substitution_attribute = FND_API.G_MISS_CHAR THEN
1338 l_PRICE_LIST_LINE_rec.substitution_attribute := p_old_PRICE_LIST_LINE_rec.substitution_attribute;
1339 END IF;
1340
1341 IF l_PRICE_LIST_LINE_rec.substitution_context = FND_API.G_MISS_CHAR THEN
1342 l_PRICE_LIST_LINE_rec.substitution_context := p_old_PRICE_LIST_LINE_rec.substitution_context;
1343 END IF;
1344
1345 IF l_PRICE_LIST_LINE_rec.substitution_value = FND_API.G_MISS_CHAR THEN
1346 l_PRICE_LIST_LINE_rec.substitution_value := p_old_PRICE_LIST_LINE_rec.substitution_value;
1347 END IF;
1348
1349 IF l_PRICE_LIST_LINE_rec.qualification_ind = FND_API.G_MISS_NUM THEN
1350 l_PRICE_LIST_LINE_rec.qualification_ind := p_old_PRICE_LIST_LINE_rec.qualification_ind;
1351 END IF;
1352
1353 IF l_PRICE_LIST_LINE_rec.break_uom_code = FND_API.G_MISS_CHAR THEN
1354 l_PRICE_LIST_LINE_rec.break_uom_code := p_old_PRICE_LIST_LINE_rec.break_uom_code;
1355 END IF;
1356
1357 IF l_PRICE_LIST_LINE_rec.break_uom_context = FND_API.G_MISS_CHAR THEN
1358 l_PRICE_LIST_LINE_rec.break_uom_context := p_old_PRICE_LIST_LINE_rec.break_uom_context;
1359 END IF;
1360
1361 IF l_PRICE_LIST_LINE_rec.break_uom_attribute = FND_API.G_MISS_CHAR THEN
1362 l_PRICE_LIST_LINE_rec.break_uom_attribute := p_old_PRICE_LIST_LINE_rec.break_uom_attribute;
1363 END IF;
1364
1365 IF l_PRICE_LIST_LINE_rec.continuous_price_break_flag = FND_API.G_MISS_CHAR THEN
1366 l_PRICE_LIST_LINE_rec.continuous_price_break_flag := p_old_PRICE_LIST_LINE_rec.continuous_price_break_flag;
1367 END IF;
1368
1369 --bug 9114132
1370 IF l_PRICE_LIST_LINE_rec.customer_item_id = FND_API.G_MISS_NUM THEN
1371 l_PRICE_LIST_LINE_rec.customer_item_id := p_old_PRICE_LIST_LINE_rec.customer_item_id;
1372 END IF;
1373
1374 RETURN l_PRICE_LIST_LINE_rec;
1375
1376 END Complete_Record;
1377
1378 -- Function Convert_Miss_To_Null
1379
1380 FUNCTION Convert_Miss_To_Null
1381 ( p_PRICE_LIST_LINE_rec IN QP_Price_List_PUB.Price_List_Line_Rec_Type
1382 ) RETURN QP_Price_List_PUB.Price_List_Line_Rec_Type
1383 IS
1384 l_PRICE_LIST_LINE_rec QP_Price_List_PUB.Price_List_Line_Rec_Type := p_PRICE_LIST_LINE_rec;
1385 BEGIN
1386
1387 IF l_PRICE_LIST_LINE_rec.accrual_qty = FND_API.G_MISS_NUM THEN
1388 l_PRICE_LIST_LINE_rec.accrual_qty := NULL;
1389 END IF;
1390
1391 IF l_PRICE_LIST_LINE_rec.accrual_uom_code = FND_API.G_MISS_CHAR THEN
1392 l_PRICE_LIST_LINE_rec.accrual_uom_code := NULL;
1393 END IF;
1394
1395 IF l_PRICE_LIST_LINE_rec.arithmetic_operator = FND_API.G_MISS_CHAR THEN
1396 l_PRICE_LIST_LINE_rec.arithmetic_operator := NULL;
1397 END IF;
1398
1399 IF l_PRICE_LIST_LINE_rec.attribute1 = FND_API.G_MISS_CHAR THEN
1400 l_PRICE_LIST_LINE_rec.attribute1 := NULL;
1401 END IF;
1402
1403 IF l_PRICE_LIST_LINE_rec.attribute10 = FND_API.G_MISS_CHAR THEN
1404 l_PRICE_LIST_LINE_rec.attribute10 := NULL;
1405 END IF;
1406
1407 IF l_PRICE_LIST_LINE_rec.attribute11 = FND_API.G_MISS_CHAR THEN
1408 l_PRICE_LIST_LINE_rec.attribute11 := NULL;
1409 END IF;
1410
1411 IF l_PRICE_LIST_LINE_rec.attribute12 = FND_API.G_MISS_CHAR THEN
1412 l_PRICE_LIST_LINE_rec.attribute12 := NULL;
1413 END IF;
1414
1415 IF l_PRICE_LIST_LINE_rec.attribute13 = FND_API.G_MISS_CHAR THEN
1416 l_PRICE_LIST_LINE_rec.attribute13 := NULL;
1417 END IF;
1418
1419 IF l_PRICE_LIST_LINE_rec.attribute14 = FND_API.G_MISS_CHAR THEN
1420 l_PRICE_LIST_LINE_rec.attribute14 := NULL;
1421 END IF;
1422
1423 IF l_PRICE_LIST_LINE_rec.attribute15 = FND_API.G_MISS_CHAR THEN
1424 l_PRICE_LIST_LINE_rec.attribute15 := NULL;
1425 END IF;
1426
1427 IF l_PRICE_LIST_LINE_rec.attribute2 = FND_API.G_MISS_CHAR THEN
1428 l_PRICE_LIST_LINE_rec.attribute2 := NULL;
1429 END IF;
1430
1431 IF l_PRICE_LIST_LINE_rec.attribute3 = FND_API.G_MISS_CHAR THEN
1432 l_PRICE_LIST_LINE_rec.attribute3 := NULL;
1433 END IF;
1434
1435 IF l_PRICE_LIST_LINE_rec.attribute4 = FND_API.G_MISS_CHAR THEN
1436 l_PRICE_LIST_LINE_rec.attribute4 := NULL;
1437 END IF;
1438
1439 IF l_PRICE_LIST_LINE_rec.attribute5 = FND_API.G_MISS_CHAR THEN
1440 l_PRICE_LIST_LINE_rec.attribute5 := NULL;
1441 END IF;
1442
1443 IF l_PRICE_LIST_LINE_rec.attribute6 = FND_API.G_MISS_CHAR THEN
1444 l_PRICE_LIST_LINE_rec.attribute6 := NULL;
1445 END IF;
1446
1447 IF l_PRICE_LIST_LINE_rec.attribute7 = FND_API.G_MISS_CHAR THEN
1448 l_PRICE_LIST_LINE_rec.attribute7 := NULL;
1449 END IF;
1450
1451 IF l_PRICE_LIST_LINE_rec.attribute8 = FND_API.G_MISS_CHAR THEN
1452 l_PRICE_LIST_LINE_rec.attribute8 := NULL;
1453 END IF;
1454
1455 IF l_PRICE_LIST_LINE_rec.attribute9 = FND_API.G_MISS_CHAR THEN
1456 l_PRICE_LIST_LINE_rec.attribute9 := NULL;
1457 END IF;
1458
1459 IF l_PRICE_LIST_LINE_rec.automatic_flag = FND_API.G_MISS_CHAR THEN
1460 l_PRICE_LIST_LINE_rec.automatic_flag := NULL;
1461 END IF;
1462
1463 IF l_PRICE_LIST_LINE_rec.base_qty = FND_API.G_MISS_NUM THEN
1464 l_PRICE_LIST_LINE_rec.base_qty := NULL;
1465 END IF;
1466
1467 IF l_PRICE_LIST_LINE_rec.base_uom_code = FND_API.G_MISS_CHAR THEN
1468 l_PRICE_LIST_LINE_rec.base_uom_code := NULL;
1469 END IF;
1470
1471 IF l_PRICE_LIST_LINE_rec.comments = FND_API.G_MISS_CHAR THEN
1472 l_PRICE_LIST_LINE_rec.comments := NULL;
1473 END IF;
1474
1475 IF l_PRICE_LIST_LINE_rec.context = FND_API.G_MISS_CHAR THEN
1476 l_PRICE_LIST_LINE_rec.context := NULL;
1477 END IF;
1478
1479 IF l_PRICE_LIST_LINE_rec.created_by = FND_API.G_MISS_NUM THEN
1480 l_PRICE_LIST_LINE_rec.created_by := NULL;
1481 END IF;
1482
1483 IF l_PRICE_LIST_LINE_rec.creation_date = FND_API.G_MISS_DATE THEN
1484 l_PRICE_LIST_LINE_rec.creation_date := NULL;
1485 END IF;
1486
1487 IF l_PRICE_LIST_LINE_rec.effective_period_uom = FND_API.G_MISS_CHAR THEN
1488 l_PRICE_LIST_LINE_rec.effective_period_uom := NULL;
1489 END IF;
1490
1491 IF l_PRICE_LIST_LINE_rec.end_date_active = FND_API.G_MISS_DATE THEN
1492 l_PRICE_LIST_LINE_rec.end_date_active := NULL;
1493 END IF;
1494
1495 IF l_PRICE_LIST_LINE_rec.estim_accrual_rate = FND_API.G_MISS_NUM THEN
1496 l_PRICE_LIST_LINE_rec.estim_accrual_rate := NULL;
1497 END IF;
1498
1499 IF l_PRICE_LIST_LINE_rec.generate_using_formula_id = FND_API.G_MISS_NUM THEN
1500 l_PRICE_LIST_LINE_rec.generate_using_formula_id := NULL;
1501 END IF;
1502
1503 IF l_PRICE_LIST_LINE_rec.inventory_item_id = FND_API.G_MISS_NUM THEN
1504 l_PRICE_LIST_LINE_rec.inventory_item_id := NULL;
1505 END IF;
1506
1507 IF l_PRICE_LIST_LINE_rec.last_updated_by = FND_API.G_MISS_NUM THEN
1508 l_PRICE_LIST_LINE_rec.last_updated_by := NULL;
1509 END IF;
1510
1511 IF l_PRICE_LIST_LINE_rec.last_update_date = FND_API.G_MISS_DATE THEN
1512 l_PRICE_LIST_LINE_rec.last_update_date := NULL;
1513 END IF;
1514
1515 IF l_PRICE_LIST_LINE_rec.last_update_login = FND_API.G_MISS_NUM THEN
1516 l_PRICE_LIST_LINE_rec.last_update_login := NULL;
1517 END IF;
1518
1519 IF l_PRICE_LIST_LINE_rec.list_header_id = FND_API.G_MISS_NUM THEN
1520 l_PRICE_LIST_LINE_rec.list_header_id := NULL;
1521 END IF;
1522
1523 IF l_PRICE_LIST_LINE_rec.list_line_id = FND_API.G_MISS_NUM THEN
1524 l_PRICE_LIST_LINE_rec.list_line_id := NULL;
1525 END IF;
1526
1527 IF l_PRICE_LIST_LINE_rec.list_line_no = FND_API.G_MISS_CHAR THEN -- bug 4751658, 4199398
1528 l_PRICE_LIST_LINE_rec.list_line_no := NULL;
1529 END IF;
1530
1531 IF l_PRICE_LIST_LINE_rec.list_line_type_code = FND_API.G_MISS_CHAR THEN
1532 l_PRICE_LIST_LINE_rec.list_line_type_code := NULL;
1533 END IF;
1534
1535 IF l_PRICE_LIST_LINE_rec.list_price = FND_API.G_MISS_NUM THEN
1536 l_PRICE_LIST_LINE_rec.list_price := NULL;
1537 END IF;
1538
1539 IF l_PRICE_LIST_LINE_rec.from_rltd_modifier_id = FND_API.G_MISS_NUM THEN
1540 l_PRICE_LIST_LINE_rec.from_rltd_modifier_id := NULL;
1541 END IF;
1542
1543 IF l_PRICE_LIST_LINE_rec.rltd_modifier_group_no = FND_API.G_MISS_NUM THEN
1544 l_PRICE_LIST_LINE_rec.rltd_modifier_group_no := NULL;
1545 END IF;
1546
1547 IF l_PRICE_LIST_LINE_rec.product_precedence = FND_API.G_MISS_NUM THEN
1548 l_PRICE_LIST_LINE_rec.product_precedence := NULL;
1549 END IF;
1550
1551 IF l_PRICE_LIST_LINE_rec.modifier_level_code = FND_API.G_MISS_CHAR THEN
1552 l_PRICE_LIST_LINE_rec.modifier_level_code := NULL;
1553 END IF;
1554
1555 IF l_PRICE_LIST_LINE_rec.number_effective_periods = FND_API.G_MISS_NUM THEN
1556 l_PRICE_LIST_LINE_rec.number_effective_periods := NULL;
1557 END IF;
1558
1559 IF l_PRICE_LIST_LINE_rec.operand = FND_API.G_MISS_NUM THEN
1560 l_PRICE_LIST_LINE_rec.operand := NULL;
1561 END IF;
1562
1563 IF l_PRICE_LIST_LINE_rec.organization_id = FND_API.G_MISS_NUM THEN
1564 l_PRICE_LIST_LINE_rec.organization_id := NULL;
1565 END IF;
1566
1567 IF l_PRICE_LIST_LINE_rec.override_flag = FND_API.G_MISS_CHAR THEN
1568 l_PRICE_LIST_LINE_rec.override_flag := NULL;
1569 END IF;
1570
1571 IF l_PRICE_LIST_LINE_rec.percent_price = FND_API.G_MISS_NUM THEN
1572 l_PRICE_LIST_LINE_rec.percent_price := NULL;
1573 END IF;
1574
1575 IF l_PRICE_LIST_LINE_rec.price_break_type_code = FND_API.G_MISS_CHAR THEN
1576 l_PRICE_LIST_LINE_rec.price_break_type_code := NULL;
1577 END IF;
1578
1579 IF l_PRICE_LIST_LINE_rec.price_by_formula_id = FND_API.G_MISS_NUM THEN
1580 l_PRICE_LIST_LINE_rec.price_by_formula_id := NULL;
1581 END IF;
1582
1583 IF l_PRICE_LIST_LINE_rec.primary_uom_flag = FND_API.G_MISS_CHAR THEN
1584 l_PRICE_LIST_LINE_rec.primary_uom_flag := NULL;
1585 END IF;
1586
1587 IF l_PRICE_LIST_LINE_rec.print_on_invoice_flag = FND_API.G_MISS_CHAR THEN
1588 l_PRICE_LIST_LINE_rec.print_on_invoice_flag := NULL;
1589 END IF;
1590
1591 IF l_PRICE_LIST_LINE_rec.program_application_id = FND_API.G_MISS_NUM THEN
1592 l_PRICE_LIST_LINE_rec.program_application_id := NULL;
1593 END IF;
1594
1595 IF l_PRICE_LIST_LINE_rec.program_id = FND_API.G_MISS_NUM THEN
1596 l_PRICE_LIST_LINE_rec.program_id := NULL;
1597 END IF;
1598
1599 IF l_PRICE_LIST_LINE_rec.program_update_date = FND_API.G_MISS_DATE THEN
1600 l_PRICE_LIST_LINE_rec.program_update_date := NULL;
1601 END IF;
1602
1603 IF l_PRICE_LIST_LINE_rec.rebate_trxn_type_code = FND_API.G_MISS_CHAR THEN
1604 l_PRICE_LIST_LINE_rec.rebate_trxn_type_code := NULL;
1605 END IF;
1606
1607 -- block pricing
1608 IF l_PRICE_LIST_LINE_rec.recurring_value = FND_API.G_MISS_NUM THEN
1609 l_PRICE_LIST_LINE_rec.recurring_value := NULL;
1610 END IF;
1611
1612 IF l_PRICE_LIST_LINE_rec.related_item_id = FND_API.G_MISS_NUM THEN
1613 l_PRICE_LIST_LINE_rec.related_item_id := NULL;
1614 END IF;
1615
1616 IF l_PRICE_LIST_LINE_rec.relationship_type_id = FND_API.G_MISS_NUM THEN
1617 l_PRICE_LIST_LINE_rec.relationship_type_id := NULL;
1618 END IF;
1619
1620 IF l_PRICE_LIST_LINE_rec.reprice_flag = FND_API.G_MISS_CHAR THEN
1621 l_PRICE_LIST_LINE_rec.reprice_flag := NULL;
1622 END IF;
1623
1624 IF l_PRICE_LIST_LINE_rec.request_id = FND_API.G_MISS_NUM THEN
1625 l_PRICE_LIST_LINE_rec.request_id := NULL;
1626 END IF;
1627
1628 IF l_PRICE_LIST_LINE_rec.revision = FND_API.G_MISS_CHAR THEN
1629 l_PRICE_LIST_LINE_rec.revision := NULL;
1630 END IF;
1631
1632 IF l_PRICE_LIST_LINE_rec.revision_date = FND_API.G_MISS_DATE THEN
1633 l_PRICE_LIST_LINE_rec.revision_date := NULL;
1634 END IF;
1635
1636 IF l_PRICE_LIST_LINE_rec.revision_reason_code = FND_API.G_MISS_CHAR THEN
1637 l_PRICE_LIST_LINE_rec.revision_reason_code := NULL;
1638 END IF;
1639
1640 IF l_PRICE_LIST_LINE_rec.start_date_active = FND_API.G_MISS_DATE THEN
1641 l_PRICE_LIST_LINE_rec.start_date_active := NULL;
1642 END IF;
1643
1644 IF l_PRICE_LIST_LINE_rec.substitution_attribute = FND_API.G_MISS_CHAR THEN
1645 l_PRICE_LIST_LINE_rec.substitution_attribute := NULL;
1646 END IF;
1647
1648 IF l_PRICE_LIST_LINE_rec.substitution_context = FND_API.G_MISS_CHAR THEN
1649 l_PRICE_LIST_LINE_rec.substitution_context := NULL;
1650 END IF;
1651
1652 IF l_PRICE_LIST_LINE_rec.substitution_value = FND_API.G_MISS_CHAR THEN
1653 l_PRICE_LIST_LINE_rec.substitution_value := NULL;
1654 END IF;
1655
1656 IF l_PRICE_LIST_LINE_rec.qualification_ind = FND_API.G_MISS_NUM THEN
1657 l_PRICE_LIST_LINE_rec.qualification_ind := NULL;
1658 END IF;
1659
1660 IF l_PRICE_LIST_LINE_rec.break_uom_code = FND_API.G_MISS_CHAR THEN
1661 l_PRICE_LIST_LINE_rec.break_uom_code := NULL;
1662 END IF;
1663
1664 IF l_PRICE_LIST_LINE_rec.break_uom_context = FND_API.G_MISS_CHAR THEN
1665 l_PRICE_LIST_LINE_rec.break_uom_context := NULL;
1666 END IF;
1667
1668 IF l_PRICE_LIST_LINE_rec.break_uom_attribute = FND_API.G_MISS_CHAR THEN
1669 l_PRICE_LIST_LINE_rec.break_uom_attribute := NULL;
1670 END IF;
1671
1672 IF l_PRICE_LIST_LINE_rec.continuous_price_break_flag = FND_API.G_MISS_CHAR THEN
1673 l_PRICE_LIST_LINE_rec.continuous_price_break_flag := NULL;
1674 END IF;
1675
1676 RETURN l_PRICE_LIST_LINE_rec;
1677
1678 END Convert_Miss_To_Null;
1679
1680 -- Procedure Update_Row
1681
1682 -- Added for Enhancement 1732601
1683
1684 FUNCTION Round_List_Price(p_price_list_header_id IN NUMBER)
1685 RETURN NUMBER
1686 IS
1687 l_rounding_factor NUMBER;
1688
1689 BEGIN
1690 BEGIN
1691 select rounding_factor
1692 into l_rounding_factor
1693 from qp_list_headers_b
1694 where list_header_id =p_price_list_header_id;
1695 EXCEPTION
1696 WHEN OTHERS THEN
1697 l_rounding_factor := -2;
1698 END;
1699 Return l_rounding_factor;
1700 END Round_List_Price;
1701
1702 PROCEDURE Update_Row
1703 ( p_PRICE_LIST_LINE_rec IN QP_Price_List_PUB.Price_List_Line_Rec_Type
1704 )
1705 IS
1706 l_operand NUMBER;
1707 l_check_active_flag VARCHAR2(1); /* Proration */
1708 l_active_flag VARCHAR2(1); /* Proration */
1709 BEGIN
1710 /* Added for Enhancement 1732601 */
1711 IF fnd_profile.value('QP_PRICE_ROUNDING') IS NOT NULL THEN
1712 l_operand := round(p_PRICE_LIST_LINE_rec.operand,-1*Round_List_Price(p_PRICE_LIST_LINE_rec.list_header_id));
1713 ELSE
1714 l_operand := p_PRICE_LIST_LINE_rec.operand;
1715 END IF;
1716
1717 /* Proration Start */
1718 BEGIN
1719 SELECT ACTIVE_FLAG
1720 INTO l_active_flag
1721 FROM QP_LIST_HEADERS_B
1722 WHERE list_header_id=p_PRICE_LIST_LINE_rec.list_header_id;
1723 EXCEPTION
1724 WHEN OTHERS THEN
1725 NULL;
1726 END;
1727 /* Proration End */
1728
1729 UPDATE QP_LIST_LINES
1730 SET ACCRUAL_QTY = p_PRICE_LIST_LINE_rec.accrual_qty
1731 , ACCRUAL_UOM_CODE = p_PRICE_LIST_LINE_rec.accrual_uom_code
1732 , ARITHMETIC_OPERATOR = p_PRICE_LIST_LINE_rec.arithmetic_operator
1733 , ATTRIBUTE1 = p_PRICE_LIST_LINE_rec.attribute1
1734 , ATTRIBUTE10 = p_PRICE_LIST_LINE_rec.attribute10
1735 , ATTRIBUTE11 = p_PRICE_LIST_LINE_rec.attribute11
1736 , ATTRIBUTE12 = p_PRICE_LIST_LINE_rec.attribute12
1737 , ATTRIBUTE13 = p_PRICE_LIST_LINE_rec.attribute13
1738 , ATTRIBUTE14 = p_PRICE_LIST_LINE_rec.attribute14
1739 , ATTRIBUTE15 = p_PRICE_LIST_LINE_rec.attribute15
1740 , ATTRIBUTE2 = p_PRICE_LIST_LINE_rec.attribute2
1741 , ATTRIBUTE3 = p_PRICE_LIST_LINE_rec.attribute3
1742 , ATTRIBUTE4 = p_PRICE_LIST_LINE_rec.attribute4
1743 , ATTRIBUTE5 = p_PRICE_LIST_LINE_rec.attribute5
1744 , ATTRIBUTE6 = p_PRICE_LIST_LINE_rec.attribute6
1745 , ATTRIBUTE7 = p_PRICE_LIST_LINE_rec.attribute7
1746 , ATTRIBUTE8 = p_PRICE_LIST_LINE_rec.attribute8
1747 , ATTRIBUTE9 = p_PRICE_LIST_LINE_rec.attribute9
1748 , AUTOMATIC_FLAG = p_PRICE_LIST_LINE_rec.automatic_flag
1749 , BASE_QTY = p_PRICE_LIST_LINE_rec.base_qty
1750 , BASE_UOM_CODE = p_PRICE_LIST_LINE_rec.base_uom_code
1751 , COMMENTS = p_PRICE_LIST_LINE_rec.comments
1752 , CONTEXT = p_PRICE_LIST_LINE_rec.context
1753 , CREATED_BY = p_PRICE_LIST_LINE_rec.created_by
1754 , CREATION_DATE = p_PRICE_LIST_LINE_rec.creation_date
1755 , EFFECTIVE_PERIOD_UOM = p_PRICE_LIST_LINE_rec.effective_period_uom
1756 , END_DATE_ACTIVE = trunc(p_PRICE_LIST_LINE_rec.end_date_active)
1757 , ESTIM_ACCRUAL_RATE = p_PRICE_LIST_LINE_rec.estim_accrual_rate
1758 , GENERATE_USING_FORMULA_ID = p_PRICE_LIST_LINE_rec.generate_using_formula_id
1759 , INVENTORY_ITEM_ID = p_PRICE_LIST_LINE_rec.inventory_item_id
1760 , LAST_UPDATED_BY = p_PRICE_LIST_LINE_rec.last_updated_by
1761 , LAST_UPDATE_DATE = p_PRICE_LIST_LINE_rec.last_update_date
1762 , LAST_UPDATE_LOGIN = p_PRICE_LIST_LINE_rec.last_update_login
1763 , LIST_HEADER_ID = p_PRICE_LIST_LINE_rec.list_header_id
1764 , LIST_LINE_ID = p_PRICE_LIST_LINE_rec.list_line_id
1765 , LIST_LINE_NO = p_PRICE_LIST_LINE_rec.list_line_no
1766 , LIST_LINE_TYPE_CODE = p_PRICE_LIST_LINE_rec.list_line_type_code
1767 , LIST_PRICE = p_PRICE_LIST_LINE_rec.list_price
1768 , PRODUCT_PRECEDENCE = p_PRICE_LIST_LINE_rec.product_precedence
1769 , MODIFIER_LEVEL_CODE = p_PRICE_LIST_LINE_rec.modifier_level_code
1770 , NUMBER_EFFECTIVE_PERIODS = p_PRICE_LIST_LINE_rec.number_effective_periods
1771 --, OPERAND = p_PRICE_LIST_LINE_rec.operand
1772 , OPERAND = l_operand --Modified for Enhancement 1732601
1773 , ORGANIZATION_ID = p_PRICE_LIST_LINE_rec.organization_id
1774 , OVERRIDE_FLAG = p_PRICE_LIST_LINE_rec.override_flag
1775 , PERCENT_PRICE = p_PRICE_LIST_LINE_rec.percent_price
1776 , PRICE_BREAK_TYPE_CODE = p_PRICE_LIST_LINE_rec.price_break_type_code
1777 , PRICE_BY_FORMULA_ID = p_PRICE_LIST_LINE_rec.price_by_formula_id
1778 , PRIMARY_UOM_FLAG = p_PRICE_LIST_LINE_rec.primary_uom_flag
1779 , PRINT_ON_INVOICE_FLAG = p_PRICE_LIST_LINE_rec.print_on_invoice_flag
1780 , PROGRAM_APPLICATION_ID = p_PRICE_LIST_LINE_rec.program_application_id
1781 , PROGRAM_ID = p_PRICE_LIST_LINE_rec.program_id
1782 , PROGRAM_UPDATE_DATE = p_PRICE_LIST_LINE_rec.program_update_date
1783 , REBATE_TRANSACTION_TYPE_CODE = p_PRICE_LIST_LINE_rec.rebate_trxn_type_code
1784 , RELATED_ITEM_ID = p_PRICE_LIST_LINE_rec.related_item_id
1785 , RELATIONSHIP_TYPE_ID = p_PRICE_LIST_LINE_rec.relationship_type_id
1786 , REPRICE_FLAG = p_PRICE_LIST_LINE_rec.reprice_flag
1787 , REQUEST_ID = p_PRICE_LIST_LINE_rec.request_id
1788 , REVISION = p_PRICE_LIST_LINE_rec.revision
1789 , REVISION_DATE = trunc(p_PRICE_LIST_LINE_rec.revision_date)
1790 , REVISION_REASON_CODE = p_PRICE_LIST_LINE_rec.revision_reason_code
1791 , START_DATE_ACTIVE = trunc(p_PRICE_LIST_LINE_rec.start_date_active)
1792 , SUBSTITUTION_ATTRIBUTE = p_PRICE_LIST_LINE_rec.substitution_attribute
1793 , SUBSTITUTION_CONTEXT = p_PRICE_LIST_LINE_rec.substitution_context
1794 , SUBSTITUTION_VALUE = p_PRICE_LIST_LINE_rec.substitution_value
1795 , PRICING_GROUP_SEQUENCE = 0
1796 , PRICING_PHASE_ID = 1
1797 , INCOMPATIBILITY_GRP_CODE = 'EXCL'
1798 , QUALIFICATION_IND = p_PRICE_LIST_LINE_rec.qualification_ind
1799 , RECURRING_VALUE = p_PRICE_LIST_LINE_rec.recurring_value -- block pricing
1800 , CUSTOMER_ITEM_ID = p_PRICE_LIST_LINE_rec.customer_item_id
1801 , BREAK_UOM_CODE = p_PRICE_LIST_LINE_rec.break_uom_code -- OKS proration
1802 , BREAK_UOM_CONTEXT = p_PRICE_LIST_LINE_rec.break_uom_context -- OKS
1803 , BREAK_UOM_ATTRIBUTE = p_PRICE_LIST_LINE_rec.break_uom_attribute -- OKS proration
1804 , CONTINUOUS_PRICE_BREAK_FLAG = p_PRICE_LIST_LINE_rec.continuous_price_break_flag
1805 -- Continuous price breaks
1806 WHERE LIST_LINE_ID = p_PRICE_LIST_LINE_rec.list_line_id
1807 ;
1808
1809 /* Proration Start */
1810 l_check_active_flag:=nvl(fnd_profile.value('QP_BUILD_ATTRIBUTES_MAPPING_OPTIONS'),'N');
1811 IF (l_check_active_flag='N') OR (l_check_active_flag='Y' AND l_active_flag='Y') THEN
1812 IF(p_PRICE_LIST_LINE_rec.break_uom_context IS NOT NULL) AND
1813 (p_PRICE_LIST_LINE_rec.break_uom_attribute IS NOT NULL) THEN
1814
1815 UPDATE qp_pte_segments set used_in_setup='Y'
1816 WHERE nvl(used_in_setup,'N')='N'
1817 AND segment_id IN
1818 (SELECT a.segment_id FROM qp_segments_b a,qp_prc_contexts_b b
1819 WHERE a.segment_mapping_column=p_PRICE_LIST_LINE_rec.break_uom_attribute
1820 AND a.prc_context_id=b.prc_context_id
1821 AND b.prc_context_type = 'PRICING_ATTRIBUTE'
1822 AND b.prc_context_code=p_PRICE_LIST_LINE_rec.break_uom_context);
1823
1824 END IF;
1825 END IF;
1826 /* Proration End */
1827
1828 EXCEPTION
1829
1830 WHEN OTHERS THEN
1831
1832 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_UNEXP_ERROR)
1833 THEN
1834 oe_msg_pub.Add_Exc_Msg
1835 ( G_PKG_NAME
1836 , 'Update_Row'
1837 );
1838 END IF;
1839
1840 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1841
1842 END Update_Row;
1843
1844 -- Procedure Insert_Row
1845
1846 PROCEDURE Insert_Row
1847 ( p_PRICE_LIST_LINE_rec IN QP_Price_List_PUB.Price_List_Line_Rec_Type
1848 )
1849 IS
1850 l_return_status varchar2(30);
1851 l_operand NUMBER;
1852 l_check_active_flag VARCHAR2(1); /* Proration */
1853 l_active_flag VARCHAR2(1); /* Proration */
1854
1855 BEGIN
1856
1857 /* Added for Enhancement 1732601 */
1858 IF fnd_profile.value('QP_PRICE_ROUNDING') IS NOT NULL THEN
1859 l_operand := round(p_PRICE_LIST_LINE_rec.operand,-1*Round_List_Price(p_PRICE_LIST_LINE_rec.list_header_id));
1860 ELSE
1861 l_operand := p_PRICE_LIST_LINE_rec.operand;
1862 END IF;
1863
1864 /* pricing group sequence = 0, pricing_phase_id = 1 - list line price */
1865
1866 /* Proration Start */
1867 begin
1868 SELECT ACTIVE_FLAG
1869 INTO l_active_flag
1870 FROM QP_LIST_HEADERS_B
1871 WHERE list_header_id=p_PRICE_LIST_LINE_rec.list_header_id;
1872 exception
1873 when others then
1874 null;
1875 end;
1876
1877 /* Proration End */
1878
1879 INSERT INTO QP_LIST_LINES
1880 ( ACCRUAL_QTY
1881 , ACCRUAL_UOM_CODE
1882 , ARITHMETIC_OPERATOR
1883 , ATTRIBUTE1
1884 , ATTRIBUTE10
1885 , ATTRIBUTE11
1886 , ATTRIBUTE12
1887 , ATTRIBUTE13
1888 , ATTRIBUTE14
1889 , ATTRIBUTE15
1890 , ATTRIBUTE2
1891 , ATTRIBUTE3
1892 , ATTRIBUTE4
1893 , ATTRIBUTE5
1894 , ATTRIBUTE6
1895 , ATTRIBUTE7
1896 , ATTRIBUTE8
1897 , ATTRIBUTE9
1898 , AUTOMATIC_FLAG
1899 , BASE_QTY
1900 , BASE_UOM_CODE
1901 , COMMENTS
1902 , CONTEXT
1903 , CREATED_BY
1904 , CREATION_DATE
1905 , EFFECTIVE_PERIOD_UOM
1906 , END_DATE_ACTIVE
1907 , ESTIM_ACCRUAL_RATE
1908 , GENERATE_USING_FORMULA_ID
1909 , INVENTORY_ITEM_ID
1910 , LAST_UPDATED_BY
1911 , LAST_UPDATE_DATE
1912 , LAST_UPDATE_LOGIN
1913 , LIST_HEADER_ID
1914 , LIST_LINE_ID
1915 , LIST_LINE_NO
1916 , LIST_LINE_TYPE_CODE
1917 , LIST_PRICE
1918 , PRODUCT_PRECEDENCE
1919 , MODIFIER_LEVEL_CODE
1920 , NUMBER_EFFECTIVE_PERIODS
1921 , OPERAND
1922 , ORGANIZATION_ID
1923 , OVERRIDE_FLAG
1924 , PERCENT_PRICE
1925 , PRICE_BREAK_TYPE_CODE
1926 , PRICE_BY_FORMULA_ID
1927 , PRIMARY_UOM_FLAG
1928 , PRINT_ON_INVOICE_FLAG
1929 , PROGRAM_APPLICATION_ID
1930 , PROGRAM_ID
1931 , PROGRAM_UPDATE_DATE
1932 , REBATE_TRANSACTION_TYPE_CODE
1933 , RELATED_ITEM_ID
1934 , RELATIONSHIP_TYPE_ID
1935 , REPRICE_FLAG
1936 , REQUEST_ID
1937 , REVISION
1938 , REVISION_DATE
1939 , REVISION_REASON_CODE
1940 , START_DATE_ACTIVE
1941 , SUBSTITUTION_ATTRIBUTE
1942 , SUBSTITUTION_CONTEXT
1943 , SUBSTITUTION_VALUE
1944 , PRICING_GROUP_SEQUENCE
1945 , PRICING_PHASE_ID
1946 , INCOMPATIBILITY_GRP_CODE
1947 , QUALIFICATION_IND
1948 , RECURRING_VALUE -- block pricing
1949 , CUSTOMER_ITEM_ID
1950 , BREAK_UOM_CODE -- OKS proration
1951 , BREAK_UOM_CONTEXT -- OKS proration
1952 , BREAK_UOM_ATTRIBUTE -- OKS proration
1953 , CONTINUOUS_PRICE_BREAK_FLAG -- Continuous price breaks
1954 --ENH Upgrade BOAPI for orig_sys...ref RAVI
1955 ,orig_sys_line_ref
1956 ,ORIG_SYS_HEADER_REF
1957 )
1958 VALUES
1959 ( p_PRICE_LIST_LINE_rec.accrual_qty
1960 , p_PRICE_LIST_LINE_rec.accrual_uom_code
1961 , p_PRICE_LIST_LINE_rec.arithmetic_operator
1962 , p_PRICE_LIST_LINE_rec.attribute1
1963 , p_PRICE_LIST_LINE_rec.attribute10
1964 , p_PRICE_LIST_LINE_rec.attribute11
1965 , p_PRICE_LIST_LINE_rec.attribute12
1966 , p_PRICE_LIST_LINE_rec.attribute13
1967 , p_PRICE_LIST_LINE_rec.attribute14
1968 , p_PRICE_LIST_LINE_rec.attribute15
1969 , p_PRICE_LIST_LINE_rec.attribute2
1970 , p_PRICE_LIST_LINE_rec.attribute3
1971 , p_PRICE_LIST_LINE_rec.attribute4
1972 , p_PRICE_LIST_LINE_rec.attribute5
1973 , p_PRICE_LIST_LINE_rec.attribute6
1974 , p_PRICE_LIST_LINE_rec.attribute7
1975 , p_PRICE_LIST_LINE_rec.attribute8
1976 , p_PRICE_LIST_LINE_rec.attribute9
1977 , p_PRICE_LIST_LINE_rec.automatic_flag
1978 , p_PRICE_LIST_LINE_rec.base_qty
1979 , p_PRICE_LIST_LINE_rec.base_uom_code
1980 , p_PRICE_LIST_LINE_rec.comments
1981 , p_PRICE_LIST_LINE_rec.context
1982 , p_PRICE_LIST_LINE_rec.created_by
1983 , p_PRICE_LIST_LINE_rec.creation_date
1984 , p_PRICE_LIST_LINE_rec.effective_period_uom
1985 , trunc(p_PRICE_LIST_LINE_rec.end_date_active)
1986 , p_PRICE_LIST_LINE_rec.estim_accrual_rate
1987 , p_PRICE_LIST_LINE_rec.generate_using_formula_id
1988 , p_PRICE_LIST_LINE_rec.inventory_item_id
1989 , p_PRICE_LIST_LINE_rec.last_updated_by
1990 , p_PRICE_LIST_LINE_rec.last_update_date
1991 , p_PRICE_LIST_LINE_rec.last_update_login
1992 , p_PRICE_LIST_LINE_rec.list_header_id
1993 , p_PRICE_LIST_LINE_rec.list_line_id
1994 , p_PRICE_LIST_LINE_rec.list_line_no
1995 , p_PRICE_LIST_LINE_rec.list_line_type_code
1996 , p_PRICE_LIST_LINE_rec.list_price
1997 , p_PRICE_LIST_LINE_rec.product_precedence
1998 , p_PRICE_LIST_LINE_rec.modifier_level_code
1999 , p_PRICE_LIST_LINE_rec.number_effective_periods
2000 -- , p_PRICE_LIST_LINE_rec.operand
2001 , l_operand --Modified for 1732601
2002 , p_PRICE_LIST_LINE_rec.organization_id
2003 , p_PRICE_LIST_LINE_rec.override_flag
2004 , p_PRICE_LIST_LINE_rec.percent_price
2005 , p_PRICE_LIST_LINE_rec.price_break_type_code
2006 , p_PRICE_LIST_LINE_rec.price_by_formula_id
2007 , p_PRICE_LIST_LINE_rec.primary_uom_flag
2008 , p_PRICE_LIST_LINE_rec.print_on_invoice_flag
2009 , p_PRICE_LIST_LINE_rec.program_application_id
2010 , p_PRICE_LIST_LINE_rec.program_id
2011 , p_PRICE_LIST_LINE_rec.program_update_date
2012 , p_PRICE_LIST_LINE_rec.rebate_trxn_type_code
2013 , p_PRICE_LIST_LINE_rec.related_item_id
2014 , p_PRICE_LIST_LINE_rec.relationship_type_id
2015 , p_PRICE_LIST_LINE_rec.reprice_flag
2016 , p_PRICE_LIST_LINE_rec.request_id
2017 , p_PRICE_LIST_LINE_rec.revision
2018 , trunc(p_PRICE_LIST_LINE_rec.revision_date)
2019 , p_PRICE_LIST_LINE_rec.revision_reason_code
2020 , trunc(p_PRICE_LIST_LINE_rec.start_date_active)
2021 , p_PRICE_LIST_LINE_rec.substitution_attribute
2022 , p_PRICE_LIST_LINE_rec.substitution_context
2023 , p_PRICE_LIST_LINE_rec.substitution_value
2024 , 0
2025 , 1
2026 , 'EXCL'
2027 , p_PRICE_LIST_LINE_rec.qualification_ind --Euro Bug 2138996
2028 , p_PRICE_LIST_LINE_rec.recurring_value -- block pricing
2029 , p_PRICE_LIST_LINE_rec.customer_item_id
2030 , p_PRICE_LIST_LINE_rec.break_uom_code -- OKS proration
2031 , p_PRICE_LIST_LINE_rec.break_uom_context -- OKS
2032 , p_PRICE_LIST_LINE_rec.break_uom_attribute -- OKS proration
2033 , p_PRICE_LIST_LINE_rec.continuous_price_break_flag -- Continuous price breaks
2034 --ENH Upgrade BOAPI for orig_sys...ref RAVI
2035 ,to_char(p_PRICE_LIST_LINE_rec.list_line_id)
2036 ,(select h.ORIG_SYSTEM_HEADER_REF from qp_list_headers_b h where h.list_header_id=p_PRICE_LIST_LINE_rec.list_header_id)
2037 );
2038 /* Added delayed request by dhgupta for bug 2018275 */
2039
2040 qp_delayed_requests_PVT.log_request(
2041 p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
2042 p_entity_id => p_PRICE_LIST_LINE_rec.list_line_id,
2043 p_requesting_entity_code=> QP_GLOBALS.G_ENTITY_ALL,
2044 p_requesting_entity_id => p_PRICE_LIST_LINE_rec.list_line_id,
2045 p_request_type =>QP_GLOBALS.G_UPDATE_LINE_QUAL_IND,
2046 x_return_status => l_return_status);
2047
2048 /* Proration Start */
2049 l_check_active_flag:=nvl(fnd_profile.value('QP_BUILD_ATTRIBUTES_MAPPING_OPTIONS'),'N');
2050 IF (l_check_active_flag='N') OR (l_check_active_flag='Y' AND l_active_flag='Y') THEN
2051 IF(p_PRICE_LIST_LINE_rec.break_uom_context IS NOT NULL) AND
2052 (p_PRICE_LIST_LINE_rec.break_uom_attribute IS NOT NULL) THEN
2053
2054 UPDATE qp_pte_segments set used_in_setup='Y'
2055 WHERE nvl(used_in_setup,'N')='N'
2056 AND segment_id IN
2057 (SELECT a.segment_id FROM qp_segments_b a,qp_prc_contexts_b b
2058 WHERE a.segment_mapping_column=p_PRICE_LIST_LINE_rec.break_uom_attribute
2059 AND a.prc_context_id=b.prc_context_id
2060 AND b.prc_context_type = 'PRICING_ATTRIBUTE'
2061 AND b.prc_context_code=p_PRICE_LIST_LINE_rec.break_uom_context);
2062
2063 END IF;
2064 END IF;
2065 /* Proration End */
2066
2067 EXCEPTION
2068
2069 WHEN OTHERS THEN
2070
2071 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_UNEXP_ERROR)
2072 THEN
2073 oe_msg_pub.Add_Exc_Msg
2074 ( G_PKG_NAME
2075 , 'Insert_Row'
2076 );
2077 END IF;
2078
2079 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2080
2081 END Insert_Row;
2082
2083 -- Procedure delete_Row
2084
2085 PROCEDURE Delete_Row
2086 ( p_list_line_id IN NUMBER
2087 )
2088 IS
2089 L_LINE_TYPE_CODE VARCHAR2(30) := NULL;
2090
2091 cursor get_rltd_mods(line_id in number) is
2092 select from_rltd_modifier_id, to_rltd_modifier_id
2093 from qp_rltd_modifiers
2094 where from_rltd_modifier_id = line_id;
2095
2096
2097 BEGIN
2098
2099 SELECT LIST_LINE_TYPE_CODE
2100 INTO L_LINE_TYPE_CODE
2101 FROM QP_LIST_LINES
2102 WHERE LIST_LINE_ID = p_list_line_id;
2103
2104 /* delete all the related modifier lines if the line is a PBH,
2105 else delete all references of this line in qp_rltd_modifiers */
2106
2107 IF L_LINE_TYPE_CODE = 'PBH' THEN
2108
2109 for get_rltd_mods_rec in get_rltd_mods(p_list_line_id) loop
2110
2111 QP_PRICE_LIST_LINE_UTIL.DELETE_ROW(get_rltd_mods_rec.to_rltd_modifier_id);
2112
2113 end loop;
2114
2115 DELETE FROM QP_RLTD_MODIFIERS
2116 WHERE FROM_RLTD_MODIFIER_ID = p_list_line_id;
2117
2118 ELSE
2119
2120 DELETE FROM QP_RLTD_MODIFIERS
2121 WHERE TO_RLTD_MODIFIER_ID = p_list_line_id;
2122
2123 END IF; /* done with related modifier lines */
2124
2125
2126 /* delete all the pricing attributes */
2127
2128 DELETE FROM QP_PRICING_ATTRIBUTES
2129 WHERE LIST_LINE_ID = p_list_line_id; /* done with pricing attributes */
2130
2131
2132 DELETE FROM QP_LIST_LINES
2133 WHERE LIST_LINE_ID = p_list_line_id
2134 ;
2135
2136 EXCEPTION
2137
2138 WHEN OTHERS THEN
2139
2140 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_UNEXP_ERROR)
2141 THEN
2142 oe_msg_pub.Add_Exc_Msg
2143 ( G_PKG_NAME
2144 , 'Delete_Row'
2145 );
2146 END IF;
2147
2148 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2149
2150 END Delete_Row;
2151
2152 -- Function Query_Row
2153
2154 FUNCTION Query_Row
2155 ( p_list_line_id IN NUMBER
2156 ) RETURN QP_Price_List_PUB.Price_List_Line_Rec_Type
2157 IS
2158 BEGIN
2159
2160 RETURN Query_Rows
2161 ( p_list_line_id => p_list_line_id
2162 )(1);
2163
2164 END Query_Row;
2165
2166 -- Function Query_Rows
2167
2168 --
2169
2170 FUNCTION Query_Rows
2171 ( p_list_line_id IN NUMBER :=
2172 FND_API.G_MISS_NUM
2173 , p_list_header_id IN NUMBER :=
2174 FND_API.G_MISS_NUM
2175 ) RETURN QP_Price_List_PUB.Price_List_Line_Tbl_Type
2176 IS
2177 l_PRICE_LIST_LINE_rec QP_Price_List_PUB.Price_List_Line_Rec_Type;
2178 l_PRICE_LIST_LINE_tbl QP_Price_List_PUB.Price_List_Line_Tbl_Type;
2179
2180 CURSOR l_PRICE_LIST_LINE_csr IS
2181 SELECT ACCRUAL_QTY
2182 , ACCRUAL_UOM_CODE
2183 , ARITHMETIC_OPERATOR
2184 , ATTRIBUTE1
2185 , ATTRIBUTE10
2186 , ATTRIBUTE11
2187 , ATTRIBUTE12
2188 , ATTRIBUTE13
2189 , ATTRIBUTE14
2190 , ATTRIBUTE15
2191 , ATTRIBUTE2
2192 , ATTRIBUTE3
2193 , ATTRIBUTE4
2194 , ATTRIBUTE5
2195 , ATTRIBUTE6
2196 , ATTRIBUTE7
2197 , ATTRIBUTE8
2198 , ATTRIBUTE9
2199 , AUTOMATIC_FLAG
2200 , BASE_QTY
2201 , BASE_UOM_CODE
2202 , COMMENTS
2203 , CONTEXT
2204 , CREATED_BY
2205 , CREATION_DATE
2206 , EFFECTIVE_PERIOD_UOM
2207 , END_DATE_ACTIVE
2208 , ESTIM_ACCRUAL_RATE
2209 , GENERATE_USING_FORMULA_ID
2210 , INVENTORY_ITEM_ID
2211 , LAST_UPDATED_BY
2212 , LAST_UPDATE_DATE
2213 , LAST_UPDATE_LOGIN
2214 , LIST_HEADER_ID
2215 , LIST_LINE_ID
2216 , LIST_LINE_NO
2217 , LIST_LINE_TYPE_CODE
2218 , LIST_PRICE
2219 , PRODUCT_PRECEDENCE
2220 , MODIFIER_LEVEL_CODE
2221 , NUMBER_EFFECTIVE_PERIODS
2222 , OPERAND
2223 , ORGANIZATION_ID
2224 , OVERRIDE_FLAG
2225 , PERCENT_PRICE
2226 , PRICE_BREAK_TYPE_CODE
2227 , PRICE_BY_FORMULA_ID
2228 , PRIMARY_UOM_FLAG
2229 , PRINT_ON_INVOICE_FLAG
2230 , PROGRAM_APPLICATION_ID
2231 , PROGRAM_ID
2232 , PROGRAM_UPDATE_DATE
2233 , REBATE_TRANSACTION_TYPE_CODE
2234 , RELATED_ITEM_ID
2235 , RELATIONSHIP_TYPE_ID
2236 , REPRICE_FLAG
2237 , REQUEST_ID
2238 , REVISION
2239 , REVISION_DATE
2240 , REVISION_REASON_CODE
2241 , START_DATE_ACTIVE
2242 , SUBSTITUTION_ATTRIBUTE
2243 , SUBSTITUTION_CONTEXT
2244 , SUBSTITUTION_VALUE
2245 , QUALIFICATION_IND
2246 , RECURRING_VALUE -- block pricing
2247 , CUSTOMER_ITEM_ID
2248 , BREAK_UOM_CODE
2249 , BREAK_UOM_CONTEXT
2250 , BREAK_UOM_ATTRIBUTE
2251 , CONTINUOUS_PRICE_BREAK_FLAG -- Continuous price breaks
2252 FROM QP_LIST_LINES
2253 WHERE LIST_LINE_ID = p_list_line_id;
2254
2255 /* Peformance changes for 2422019 */
2256 /*
2257 )
2258 OR ( LIST_HEADER_ID = p_list_header_id
2259 );
2260 */
2261
2262 CURSOR l_PRICE_LIST_LINE_hdr_csr IS
2263 SELECT ACCRUAL_QTY
2264 , ACCRUAL_UOM_CODE
2265 , ARITHMETIC_OPERATOR
2266 , ATTRIBUTE1
2267 , ATTRIBUTE10
2268 , ATTRIBUTE11
2269 , ATTRIBUTE12
2270 , ATTRIBUTE13
2271 , ATTRIBUTE14
2272 , ATTRIBUTE15
2273 , ATTRIBUTE2
2274 , ATTRIBUTE3
2275 , ATTRIBUTE4
2276 , ATTRIBUTE5
2277 , ATTRIBUTE6
2278 , ATTRIBUTE7
2279 , ATTRIBUTE8
2280 , ATTRIBUTE9
2281 , AUTOMATIC_FLAG
2282 , BASE_QTY
2283 , BASE_UOM_CODE
2284 , COMMENTS
2285 , CONTEXT
2286 , CREATED_BY
2287 , CREATION_DATE
2288 , EFFECTIVE_PERIOD_UOM
2289 , END_DATE_ACTIVE
2290 , ESTIM_ACCRUAL_RATE
2291 , GENERATE_USING_FORMULA_ID
2292 , INVENTORY_ITEM_ID
2293 , LAST_UPDATED_BY
2294 , LAST_UPDATE_DATE
2295 , LAST_UPDATE_LOGIN
2296 , LIST_HEADER_ID
2297 , LIST_LINE_ID
2298 , LIST_LINE_NO
2299 , LIST_LINE_TYPE_CODE
2300 , LIST_PRICE
2301 , PRODUCT_PRECEDENCE
2302 , MODIFIER_LEVEL_CODE
2303 , NUMBER_EFFECTIVE_PERIODS
2304 , OPERAND
2305 , ORGANIZATION_ID
2306 , OVERRIDE_FLAG
2307 , PERCENT_PRICE
2308 , PRICE_BREAK_TYPE_CODE
2309 , PRICE_BY_FORMULA_ID
2310 , PRIMARY_UOM_FLAG
2311 , PRINT_ON_INVOICE_FLAG
2312 , PROGRAM_APPLICATION_ID
2313 , PROGRAM_ID
2314 , PROGRAM_UPDATE_DATE
2315 , REBATE_TRANSACTION_TYPE_CODE
2316 , RELATED_ITEM_ID
2317 , RELATIONSHIP_TYPE_ID
2318 , REPRICE_FLAG
2319 , REQUEST_ID
2320 , REVISION
2321 , REVISION_DATE
2322 , REVISION_REASON_CODE
2323 , START_DATE_ACTIVE
2324 , SUBSTITUTION_ATTRIBUTE
2325 , SUBSTITUTION_CONTEXT
2326 , SUBSTITUTION_VALUE
2327 , QUALIFICATION_IND
2328 , RECURRING_VALUE -- block pricing
2329 , CUSTOMER_ITEM_ID
2330 , BREAK_UOM_CODE
2331 , BREAK_UOM_CONTEXT
2332 , BREAK_UOM_ATTRIBUTE
2333 , CONTINUOUS_PRICE_BREAK_FLAG -- Continuous price breaks
2334 FROM QP_LIST_LINES
2335 WHERE LIST_HEADER_ID = p_list_header_id;
2336
2337 BEGIN
2338
2339 IF
2340 (p_list_line_id IS NOT NULL
2341 AND
2342 p_list_line_id <> FND_API.G_MISS_NUM)
2343 AND
2344 (p_list_header_id IS NOT NULL
2345 AND
2346 p_list_header_id <> FND_API.G_MISS_NUM)
2347 THEN
2348 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_UNEXP_ERROR)
2349 THEN
2350 oe_msg_pub.Add_Exc_Msg
2351 ( G_PKG_NAME
2352 , 'Query Rows'
2353 , 'Keys are mutually exclusive: list_line_id = '|| p_list_line_id || ', list_header_id = '|| p_list_header_id
2354 );
2355 END IF;
2356
2357 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2358
2359 END IF;
2360
2361
2362 -- Loop over fetched records
2363 IF (p_list_line_id IS NOT NULL) AND (p_list_line_id <> FND_API.G_MISS_NUM) THEN --Added for performance bug2422019
2364 FOR l_implicit_rec IN l_PRICE_LIST_LINE_csr LOOP
2365
2366 l_PRICE_LIST_LINE_rec.accrual_qty := l_implicit_rec.ACCRUAL_QTY;
2367 l_PRICE_LIST_LINE_rec.accrual_uom_code := l_implicit_rec.ACCRUAL_UOM_CODE;
2368 l_PRICE_LIST_LINE_rec.arithmetic_operator := l_implicit_rec.ARITHMETIC_OPERATOR;
2369 l_PRICE_LIST_LINE_rec.attribute1 := l_implicit_rec.ATTRIBUTE1;
2370 l_PRICE_LIST_LINE_rec.attribute10 := l_implicit_rec.ATTRIBUTE10;
2371 l_PRICE_LIST_LINE_rec.attribute11 := l_implicit_rec.ATTRIBUTE11;
2372 l_PRICE_LIST_LINE_rec.attribute12 := l_implicit_rec.ATTRIBUTE12;
2373 l_PRICE_LIST_LINE_rec.attribute13 := l_implicit_rec.ATTRIBUTE13;
2374 l_PRICE_LIST_LINE_rec.attribute14 := l_implicit_rec.ATTRIBUTE14;
2375 l_PRICE_LIST_LINE_rec.attribute15 := l_implicit_rec.ATTRIBUTE15;
2376 l_PRICE_LIST_LINE_rec.attribute2 := l_implicit_rec.ATTRIBUTE2;
2377 l_PRICE_LIST_LINE_rec.attribute3 := l_implicit_rec.ATTRIBUTE3;
2378 l_PRICE_LIST_LINE_rec.attribute4 := l_implicit_rec.ATTRIBUTE4;
2379 l_PRICE_LIST_LINE_rec.attribute5 := l_implicit_rec.ATTRIBUTE5;
2380 l_PRICE_LIST_LINE_rec.attribute6 := l_implicit_rec.ATTRIBUTE6;
2381 l_PRICE_LIST_LINE_rec.attribute7 := l_implicit_rec.ATTRIBUTE7;
2382 l_PRICE_LIST_LINE_rec.attribute8 := l_implicit_rec.ATTRIBUTE8;
2383 l_PRICE_LIST_LINE_rec.attribute9 := l_implicit_rec.ATTRIBUTE9;
2384 l_PRICE_LIST_LINE_rec.automatic_flag := l_implicit_rec.AUTOMATIC_FLAG;
2385 l_PRICE_LIST_LINE_rec.base_qty := l_implicit_rec.BASE_QTY;
2386 l_PRICE_LIST_LINE_rec.base_uom_code := l_implicit_rec.BASE_UOM_CODE;
2387 l_PRICE_LIST_LINE_rec.comments := l_implicit_rec.COMMENTS;
2388 l_PRICE_LIST_LINE_rec.context := l_implicit_rec.CONTEXT;
2389 l_PRICE_LIST_LINE_rec.created_by := l_implicit_rec.CREATED_BY;
2390 l_PRICE_LIST_LINE_rec.creation_date := l_implicit_rec.CREATION_DATE;
2391 l_PRICE_LIST_LINE_rec.effective_period_uom := l_implicit_rec.EFFECTIVE_PERIOD_UOM;
2392 l_PRICE_LIST_LINE_rec.end_date_active := l_implicit_rec.END_DATE_ACTIVE;
2393 l_PRICE_LIST_LINE_rec.estim_accrual_rate := l_implicit_rec.ESTIM_ACCRUAL_RATE;
2394 l_PRICE_LIST_LINE_rec.generate_using_formula_id := l_implicit_rec.GENERATE_USING_FORMULA_ID;
2395 l_PRICE_LIST_LINE_rec.inventory_item_id := l_implicit_rec.INVENTORY_ITEM_ID;
2396 l_PRICE_LIST_LINE_rec.last_updated_by := l_implicit_rec.LAST_UPDATED_BY;
2397 l_PRICE_LIST_LINE_rec.last_update_date := l_implicit_rec.LAST_UPDATE_DATE;
2398 l_PRICE_LIST_LINE_rec.last_update_login := l_implicit_rec.LAST_UPDATE_LOGIN;
2399 l_PRICE_LIST_LINE_rec.list_header_id := l_implicit_rec.LIST_HEADER_ID;
2400 l_PRICE_LIST_LINE_rec.list_line_id := l_implicit_rec.LIST_LINE_ID;
2401 l_PRICE_LIST_LINE_rec.list_line_no := l_implicit_rec.LIST_LINE_NO;
2402 l_PRICE_LIST_LINE_rec.list_line_type_code := l_implicit_rec.LIST_LINE_TYPE_CODE;
2403 l_PRICE_LIST_LINE_rec.list_price := l_implicit_rec.LIST_PRICE;
2404 l_PRICE_LIST_LINE_rec.product_precedence := l_implicit_rec.PRODUCT_PRECEDENCE;
2405 l_PRICE_LIST_LINE_rec.modifier_level_code := l_implicit_rec.MODIFIER_LEVEL_CODE;
2406 l_PRICE_LIST_LINE_rec.number_effective_periods := l_implicit_rec.NUMBER_EFFECTIVE_PERIODS;
2407 l_PRICE_LIST_LINE_rec.operand := l_implicit_rec.OPERAND;
2408 l_PRICE_LIST_LINE_rec.organization_id := l_implicit_rec.ORGANIZATION_ID;
2409 l_PRICE_LIST_LINE_rec.override_flag := l_implicit_rec.OVERRIDE_FLAG;
2410 l_PRICE_LIST_LINE_rec.percent_price := l_implicit_rec.PERCENT_PRICE;
2411 l_PRICE_LIST_LINE_rec.price_break_type_code := l_implicit_rec.PRICE_BREAK_TYPE_CODE;
2412 l_PRICE_LIST_LINE_rec.price_by_formula_id := l_implicit_rec.PRICE_BY_FORMULA_ID;
2413 l_PRICE_LIST_LINE_rec.primary_uom_flag := l_implicit_rec.PRIMARY_UOM_FLAG;
2414 l_PRICE_LIST_LINE_rec.print_on_invoice_flag := l_implicit_rec.PRINT_ON_INVOICE_FLAG;
2415 l_PRICE_LIST_LINE_rec.program_application_id := l_implicit_rec.PROGRAM_APPLICATION_ID;
2416 l_PRICE_LIST_LINE_rec.program_id := l_implicit_rec.PROGRAM_ID;
2417 l_PRICE_LIST_LINE_rec.program_update_date := l_implicit_rec.PROGRAM_UPDATE_DATE;
2418 l_PRICE_LIST_LINE_rec.rebate_trxn_type_code := l_implicit_rec.REBATE_TRANSACTION_TYPE_CODE;
2419 l_PRICE_LIST_LINE_rec.related_item_id := l_implicit_rec.RELATED_ITEM_ID;
2420 l_PRICE_LIST_LINE_rec.relationship_type_id := l_implicit_rec.RELATIONSHIP_TYPE_ID;
2421 l_PRICE_LIST_LINE_rec.reprice_flag := l_implicit_rec.REPRICE_FLAG;
2422 l_PRICE_LIST_LINE_rec.request_id := l_implicit_rec.REQUEST_ID;
2423 l_PRICE_LIST_LINE_rec.revision := l_implicit_rec.REVISION;
2424 l_PRICE_LIST_LINE_rec.revision_date := l_implicit_rec.REVISION_DATE;
2425 l_PRICE_LIST_LINE_rec.revision_reason_code := l_implicit_rec.REVISION_REASON_CODE;
2426 l_PRICE_LIST_LINE_rec.start_date_active := l_implicit_rec.START_DATE_ACTIVE;
2427 l_PRICE_LIST_LINE_rec.substitution_attribute := l_implicit_rec.SUBSTITUTION_ATTRIBUTE;
2428 l_PRICE_LIST_LINE_rec.substitution_context := l_implicit_rec.SUBSTITUTION_CONTEXT;
2429 l_PRICE_LIST_LINE_rec.substitution_value := l_implicit_rec.SUBSTITUTION_VALUE;
2430 l_PRICE_LIST_LINE_rec.qualification_ind := l_implicit_rec.QUALIFICATION_IND;
2431 l_PRICE_LIST_LINE_rec.recurring_value := l_implicit_rec.RECURRING_VALUE; -- block pricing
2432 l_PRICE_LIST_LINE_rec.customer_item_id := l_implicit_rec.CUSTOMER_ITEM_ID;
2433 l_PRICE_LIST_LINE_rec.break_uom_code := l_implicit_rec.BREAK_UOM_CODE;
2434 l_PRICE_LIST_LINE_rec.break_uom_context := l_implicit_rec.BREAK_UOM_CONTEXT;
2435 l_PRICE_LIST_LINE_rec.break_uom_attribute := l_implicit_rec.BREAK_UOM_ATTRIBUTE; --OKS proration
2436 l_PRICE_LIST_LINE_rec.continuous_price_break_flag := l_implicit_rec.CONTINUOUS_PRICE_BREAK_FLAG;
2437 -- Continuous price breaks
2438 BEGIN
2439 SELECT RLTD_MODIFIER_GRP_NO
2440 , RLTD_MODIFIER_GRP_TYPE
2441 , FROM_RLTD_MODIFIER_ID
2442 , TO_RLTD_MODIFIER_ID
2443 , RLTD_MODIFIER_ID
2444 INTO l_PRICE_LIST_LINE_rec.rltd_modifier_group_no
2445 , l_PRICE_LIST_LINE_rec.rltd_modifier_grp_type
2446 , l_PRICE_LIST_LINE_rec.from_rltd_modifier_id
2447 , l_PRICE_LIST_LINE_rec.to_rltd_modifier_id
2448 , l_PRICE_LIST_LINE_rec.rltd_modifier_id
2449 FROM QP_RLTD_MODIFIERS
2450 WHERE ( TO_RLTD_MODIFIER_ID = l_implicit_rec.LIST_LINE_ID );
2451
2452 EXCEPTION
2453 WHEN NO_DATA_FOUND THEN
2454 l_PRICE_LIST_LINE_rec.rltd_modifier_group_no := null;
2455 l_PRICE_LIST_LINE_rec.rltd_modifier_grp_type := null;
2456 l_PRICE_LIST_LINE_rec.from_rltd_modifier_id := null;
2457 l_PRICE_LIST_LINE_rec.to_rltd_modifier_id := null;
2458 l_PRICE_LIST_LINE_rec.rltd_modifier_id := null;
2459 END;
2460
2461 l_PRICE_LIST_LINE_tbl(l_PRICE_LIST_LINE_tbl.COUNT + 1) := l_PRICE_LIST_LINE_rec;
2462
2463 END LOOP;
2464
2465 /* Added for performance bug2422019 */
2466
2467 ELSIF (p_list_header_id IS NOT NULL) AND (p_list_header_id <> FND_API.G_MISS_NUM) THEN
2468 FOR l_implicit_rec IN l_PRICE_LIST_LINE_hdr_csr LOOP
2469
2470 l_PRICE_LIST_LINE_rec.accrual_qty := l_implicit_rec.ACCRUAL_QTY;
2471 l_PRICE_LIST_LINE_rec.accrual_uom_code := l_implicit_rec.ACCRUAL_UOM_CODE;
2472 l_PRICE_LIST_LINE_rec.arithmetic_operator := l_implicit_rec.ARITHMETIC_OPERATOR;
2473 l_PRICE_LIST_LINE_rec.attribute1 := l_implicit_rec.ATTRIBUTE1;
2474 l_PRICE_LIST_LINE_rec.attribute10 := l_implicit_rec.ATTRIBUTE10;
2475 l_PRICE_LIST_LINE_rec.attribute11 := l_implicit_rec.ATTRIBUTE11;
2476 l_PRICE_LIST_LINE_rec.attribute12 := l_implicit_rec.ATTRIBUTE12;
2477 l_PRICE_LIST_LINE_rec.attribute13 := l_implicit_rec.ATTRIBUTE13;
2478 l_PRICE_LIST_LINE_rec.attribute14 := l_implicit_rec.ATTRIBUTE14;
2479 l_PRICE_LIST_LINE_rec.attribute15 := l_implicit_rec.ATTRIBUTE15;
2480 l_PRICE_LIST_LINE_rec.attribute2 := l_implicit_rec.ATTRIBUTE2;
2481 l_PRICE_LIST_LINE_rec.attribute3 := l_implicit_rec.ATTRIBUTE3;
2482 l_PRICE_LIST_LINE_rec.attribute4 := l_implicit_rec.ATTRIBUTE4;
2483 l_PRICE_LIST_LINE_rec.attribute5 := l_implicit_rec.ATTRIBUTE5;
2484 l_PRICE_LIST_LINE_rec.attribute6 := l_implicit_rec.ATTRIBUTE6;
2485 l_PRICE_LIST_LINE_rec.attribute7 := l_implicit_rec.ATTRIBUTE7;
2486 l_PRICE_LIST_LINE_rec.attribute8 := l_implicit_rec.ATTRIBUTE8;
2487 l_PRICE_LIST_LINE_rec.attribute9 := l_implicit_rec.ATTRIBUTE9;
2488 l_PRICE_LIST_LINE_rec.automatic_flag := l_implicit_rec.AUTOMATIC_FLAG;
2489 l_PRICE_LIST_LINE_rec.base_qty := l_implicit_rec.BASE_QTY;
2490 l_PRICE_LIST_LINE_rec.base_uom_code := l_implicit_rec.BASE_UOM_CODE;
2491 l_PRICE_LIST_LINE_rec.comments := l_implicit_rec.COMMENTS;
2492 l_PRICE_LIST_LINE_rec.context := l_implicit_rec.CONTEXT;
2493 l_PRICE_LIST_LINE_rec.created_by := l_implicit_rec.CREATED_BY;
2494 l_PRICE_LIST_LINE_rec.creation_date := l_implicit_rec.CREATION_DATE;
2495 l_PRICE_LIST_LINE_rec.effective_period_uom := l_implicit_rec.EFFECTIVE_PERIOD_UOM;
2496 l_PRICE_LIST_LINE_rec.end_date_active := l_implicit_rec.END_DATE_ACTIVE;
2497 l_PRICE_LIST_LINE_rec.estim_accrual_rate := l_implicit_rec.ESTIM_ACCRUAL_RATE;
2498 l_PRICE_LIST_LINE_rec.generate_using_formula_id := l_implicit_rec.GENERATE_USING_FORMULA_ID;
2499 l_PRICE_LIST_LINE_rec.inventory_item_id := l_implicit_rec.INVENTORY_ITEM_ID;
2500 l_PRICE_LIST_LINE_rec.last_updated_by := l_implicit_rec.LAST_UPDATED_BY;
2501 l_PRICE_LIST_LINE_rec.last_update_date := l_implicit_rec.LAST_UPDATE_DATE;
2502 l_PRICE_LIST_LINE_rec.last_update_login := l_implicit_rec.LAST_UPDATE_LOGIN;
2503 l_PRICE_LIST_LINE_rec.list_header_id := l_implicit_rec.LIST_HEADER_ID;
2504 l_PRICE_LIST_LINE_rec.list_line_id := l_implicit_rec.LIST_LINE_ID;
2505 l_PRICE_LIST_LINE_rec.list_line_no := l_implicit_rec.LIST_LINE_NO;
2506 l_PRICE_LIST_LINE_rec.list_line_type_code := l_implicit_rec.LIST_LINE_TYPE_CODE;
2507 l_PRICE_LIST_LINE_rec.list_price := l_implicit_rec.LIST_PRICE;
2508 l_PRICE_LIST_LINE_rec.product_precedence := l_implicit_rec.PRODUCT_PRECEDENCE;
2509 l_PRICE_LIST_LINE_rec.modifier_level_code := l_implicit_rec.MODIFIER_LEVEL_CODE;
2510 l_PRICE_LIST_LINE_rec.number_effective_periods := l_implicit_rec.NUMBER_EFFECTIVE_PERIODS;
2511 l_PRICE_LIST_LINE_rec.operand := l_implicit_rec.OPERAND;
2512 l_PRICE_LIST_LINE_rec.organization_id := l_implicit_rec.ORGANIZATION_ID;
2513 l_PRICE_LIST_LINE_rec.override_flag := l_implicit_rec.OVERRIDE_FLAG;
2514 l_PRICE_LIST_LINE_rec.percent_price := l_implicit_rec.PERCENT_PRICE;
2515 l_PRICE_LIST_LINE_rec.price_break_type_code := l_implicit_rec.PRICE_BREAK_TYPE_CODE;
2516 l_PRICE_LIST_LINE_rec.price_by_formula_id := l_implicit_rec.PRICE_BY_FORMULA_ID;
2517 l_PRICE_LIST_LINE_rec.primary_uom_flag := l_implicit_rec.PRIMARY_UOM_FLAG;
2518 l_PRICE_LIST_LINE_rec.print_on_invoice_flag := l_implicit_rec.PRINT_ON_INVOICE_FLAG;
2519 l_PRICE_LIST_LINE_rec.program_application_id := l_implicit_rec.PROGRAM_APPLICATION_ID;
2520 l_PRICE_LIST_LINE_rec.program_id := l_implicit_rec.PROGRAM_ID;
2521 l_PRICE_LIST_LINE_rec.program_update_date := l_implicit_rec.PROGRAM_UPDATE_DATE;
2522 l_PRICE_LIST_LINE_rec.rebate_trxn_type_code := l_implicit_rec.REBATE_TRANSACTION_TYPE_CODE;
2523 l_PRICE_LIST_LINE_rec.related_item_id := l_implicit_rec.RELATED_ITEM_ID;
2524 l_PRICE_LIST_LINE_rec.relationship_type_id := l_implicit_rec.RELATIONSHIP_TYPE_ID;
2525 l_PRICE_LIST_LINE_rec.reprice_flag := l_implicit_rec.REPRICE_FLAG;
2526 l_PRICE_LIST_LINE_rec.request_id := l_implicit_rec.REQUEST_ID;
2527 l_PRICE_LIST_LINE_rec.revision := l_implicit_rec.REVISION;
2528 l_PRICE_LIST_LINE_rec.revision_date := l_implicit_rec.REVISION_DATE;
2529 l_PRICE_LIST_LINE_rec.revision_reason_code := l_implicit_rec.REVISION_REASON_CODE;
2530 l_PRICE_LIST_LINE_rec.start_date_active := l_implicit_rec.START_DATE_ACTIVE;
2531 l_PRICE_LIST_LINE_rec.substitution_attribute := l_implicit_rec.SUBSTITUTION_ATTRIBUTE;
2532 l_PRICE_LIST_LINE_rec.substitution_context := l_implicit_rec.SUBSTITUTION_CONTEXT;
2533 l_PRICE_LIST_LINE_rec.substitution_value := l_implicit_rec.SUBSTITUTION_VALUE;
2534 l_PRICE_LIST_LINE_rec.qualification_ind := l_implicit_rec.QUALIFICATION_IND;
2535 l_PRICE_LIST_LINE_rec.recurring_value := l_implicit_rec.RECURRING_VALUE; -- block pricing
2536 l_PRICE_LIST_LINE_rec.customer_item_id := l_implicit_rec.CUSTOMER_ITEM_ID;
2537 l_PRICE_LIST_LINE_rec.break_uom_code := l_implicit_rec.BREAK_UOM_CODE;
2538 l_PRICE_LIST_LINE_rec.break_uom_context := l_implicit_rec.BREAK_UOM_CONTEXT;
2539 l_PRICE_LIST_LINE_rec.break_uom_attribute := l_implicit_rec.BREAK_UOM_ATTRIBUTE; --OKS proration
2540 l_PRICE_LIST_LINE_rec.continuous_price_break_flag := l_implicit_rec.CONTINUOUS_PRICE_BREAK_FLAG;
2541 -- Continuous price breaks
2542 BEGIN
2543 SELECT RLTD_MODIFIER_GRP_NO
2544 , RLTD_MODIFIER_GRP_TYPE
2545 , FROM_RLTD_MODIFIER_ID
2546 , TO_RLTD_MODIFIER_ID
2547 , RLTD_MODIFIER_ID
2548 INTO l_PRICE_LIST_LINE_rec.rltd_modifier_group_no
2549 , l_PRICE_LIST_LINE_rec.rltd_modifier_grp_type
2550 , l_PRICE_LIST_LINE_rec.from_rltd_modifier_id
2551 , l_PRICE_LIST_LINE_rec.to_rltd_modifier_id
2552 , l_PRICE_LIST_LINE_rec.rltd_modifier_id
2553 FROM QP_RLTD_MODIFIERS
2554 WHERE ( TO_RLTD_MODIFIER_ID = l_implicit_rec.LIST_LINE_ID );
2555
2556 EXCEPTION
2557 WHEN NO_DATA_FOUND THEN
2558 l_PRICE_LIST_LINE_rec.rltd_modifier_group_no := null;
2559 l_PRICE_LIST_LINE_rec.rltd_modifier_grp_type := null;
2560 l_PRICE_LIST_LINE_rec.from_rltd_modifier_id := null;
2561 l_PRICE_LIST_LINE_rec.to_rltd_modifier_id := null;
2562 l_PRICE_LIST_LINE_rec.rltd_modifier_id := null;
2563 END;
2564
2565 l_PRICE_LIST_LINE_tbl(l_PRICE_LIST_LINE_tbl.COUNT + 1) := l_PRICE_LIST_LINE_rec;
2566
2567 END LOOP;
2568
2569 END IF;
2570
2571 -- PK sent and no rows found
2572
2573 IF
2574 (p_list_line_id IS NOT NULL
2575 AND
2576 p_list_line_id <> FND_API.G_MISS_NUM)
2577 AND
2578 (l_PRICE_LIST_LINE_tbl.COUNT = 0)
2579 THEN
2580 RAISE NO_DATA_FOUND;
2581 END IF;
2582
2583
2584 -- Return fetched table
2585
2586 RETURN l_PRICE_LIST_LINE_tbl;
2587
2588 EXCEPTION
2589
2590 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2591
2592 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2593
2594 WHEN OTHERS THEN
2595
2596 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_UNEXP_ERROR)
2597 THEN
2598 oe_msg_pub.Add_Exc_Msg
2599 ( G_PKG_NAME
2600 , 'Query_Rows'
2601 );
2602 END IF;
2603
2604 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2605
2606 END Query_Rows;
2607
2608 -- Procedure lock_Row
2609 --
2610
2611 PROCEDURE Lock_Row
2612 ( x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
2613 , p_PRICE_LIST_LINE_rec IN QP_Price_List_PUB.Price_List_Line_Rec_Type
2614 , x_PRICE_LIST_LINE_rec OUT NOCOPY /* file.sql.39 change */ QP_Price_List_PUB.Price_List_Line_Rec_Type
2615 )
2616 IS
2617 l_PRICE_LIST_LINE_rec QP_Price_List_PUB.Price_List_Line_Rec_Type;
2618 BEGIN
2619
2620
2621 QP_Price_List_Line_Util.Print_Price_List_line(p_PRICE_LIST_LINE_rec,
2622 1);
2623
2624
2625 SELECT ACCRUAL_QTY
2626 , ACCRUAL_UOM_CODE
2627 , ARITHMETIC_OPERATOR
2628 , ATTRIBUTE1
2629 , ATTRIBUTE10
2630 , ATTRIBUTE11
2631 , ATTRIBUTE12
2632 , ATTRIBUTE13
2633 , ATTRIBUTE14
2634 , ATTRIBUTE15
2635 , ATTRIBUTE2
2636 , ATTRIBUTE3
2637 , ATTRIBUTE4
2638 , ATTRIBUTE5
2639 , ATTRIBUTE6
2640 , ATTRIBUTE7
2641 , ATTRIBUTE8
2642 , ATTRIBUTE9
2643 , AUTOMATIC_FLAG
2644 , BASE_QTY
2645 , BASE_UOM_CODE
2646 , COMMENTS
2647 , CONTEXT
2648 , CREATED_BY
2649 , CREATION_DATE
2650 , EFFECTIVE_PERIOD_UOM
2651 , END_DATE_ACTIVE
2652 , ESTIM_ACCRUAL_RATE
2653 , GENERATE_USING_FORMULA_ID
2654 , INVENTORY_ITEM_ID
2655 , LAST_UPDATED_BY
2656 , LAST_UPDATE_DATE
2657 , LAST_UPDATE_LOGIN
2658 , LIST_HEADER_ID
2659 , LIST_LINE_ID
2660 , LIST_LINE_TYPE_CODE
2661 , LIST_PRICE
2662 , PRODUCT_PRECEDENCE
2663 , MODIFIER_LEVEL_CODE
2664 , NUMBER_EFFECTIVE_PERIODS
2665 , OPERAND
2666 , ORGANIZATION_ID
2667 , OVERRIDE_FLAG
2668 , PERCENT_PRICE
2669 , PRICE_BREAK_TYPE_CODE
2670 , PRICE_BY_FORMULA_ID
2671 , PRIMARY_UOM_FLAG
2672 , PRINT_ON_INVOICE_FLAG
2673 , PROGRAM_APPLICATION_ID
2674 , PROGRAM_ID
2675 , PROGRAM_UPDATE_DATE
2676 , REBATE_TRANSACTION_TYPE_CODE
2677 , RECURRING_VALUE -- block pricing
2678 , RELATED_ITEM_ID
2679 , RELATIONSHIP_TYPE_ID
2680 , REPRICE_FLAG
2681 , REQUEST_ID
2682 , REVISION
2683 , REVISION_DATE
2684 , REVISION_REASON_CODE
2685 , START_DATE_ACTIVE
2686 , SUBSTITUTION_ATTRIBUTE
2687 , SUBSTITUTION_CONTEXT
2688 , SUBSTITUTION_VALUE
2689 , CUSTOMER_ITEM_ID
2690 , BREAK_UOM_CODE
2691 , BREAK_UOM_CONTEXT
2692 , BREAK_UOM_ATTRIBUTE
2693 , CONTINUOUS_PRICE_BREAK_FLAG -- Continuous price breaks
2694 INTO l_PRICE_LIST_LINE_rec.accrual_qty
2695 , l_PRICE_LIST_LINE_rec.accrual_uom_code
2696 , l_PRICE_LIST_LINE_rec.arithmetic_operator
2697 , l_PRICE_LIST_LINE_rec.attribute1
2698 , l_PRICE_LIST_LINE_rec.attribute10
2699 , l_PRICE_LIST_LINE_rec.attribute11
2700 , l_PRICE_LIST_LINE_rec.attribute12
2701 , l_PRICE_LIST_LINE_rec.attribute13
2702 , l_PRICE_LIST_LINE_rec.attribute14
2703 , l_PRICE_LIST_LINE_rec.attribute15
2704 , l_PRICE_LIST_LINE_rec.attribute2
2705 , l_PRICE_LIST_LINE_rec.attribute3
2706 , l_PRICE_LIST_LINE_rec.attribute4
2707 , l_PRICE_LIST_LINE_rec.attribute5
2708 , l_PRICE_LIST_LINE_rec.attribute6
2709 , l_PRICE_LIST_LINE_rec.attribute7
2710 , l_PRICE_LIST_LINE_rec.attribute8
2711 , l_PRICE_LIST_LINE_rec.attribute9
2712 , l_PRICE_LIST_LINE_rec.automatic_flag
2713 , l_PRICE_LIST_LINE_rec.base_qty
2714 , l_PRICE_LIST_LINE_rec.base_uom_code
2715 , l_PRICE_LIST_LINE_rec.comments
2716 , l_PRICE_LIST_LINE_rec.context
2717 , l_PRICE_LIST_LINE_rec.created_by
2718 , l_PRICE_LIST_LINE_rec.creation_date
2719 , l_PRICE_LIST_LINE_rec.effective_period_uom
2720 , l_PRICE_LIST_LINE_rec.end_date_active
2721 , l_PRICE_LIST_LINE_rec.estim_accrual_rate
2722 , l_PRICE_LIST_LINE_rec.generate_using_formula_id
2723 , l_PRICE_LIST_LINE_rec.inventory_item_id
2724 , l_PRICE_LIST_LINE_rec.last_updated_by
2725 , l_PRICE_LIST_LINE_rec.last_update_date
2726 , l_PRICE_LIST_LINE_rec.last_update_login
2727 , l_PRICE_LIST_LINE_rec.list_header_id
2728 , l_PRICE_LIST_LINE_rec.list_line_id
2729 , l_PRICE_LIST_LINE_rec.list_line_type_code
2730 , l_PRICE_LIST_LINE_rec.list_price
2731 , l_PRICE_LIST_LINE_rec.product_precedence
2732 , l_PRICE_LIST_LINE_rec.modifier_level_code
2733 , l_PRICE_LIST_LINE_rec.number_effective_periods
2734 , l_PRICE_LIST_LINE_rec.operand
2735 , l_PRICE_LIST_LINE_rec.organization_id
2736 , l_PRICE_LIST_LINE_rec.override_flag
2737 , l_PRICE_LIST_LINE_rec.percent_price
2738 , l_PRICE_LIST_LINE_rec.price_break_type_code
2739 , l_PRICE_LIST_LINE_rec.price_by_formula_id
2740 , l_PRICE_LIST_LINE_rec.primary_uom_flag
2741 , l_PRICE_LIST_LINE_rec.print_on_invoice_flag
2742 , l_PRICE_LIST_LINE_rec.program_application_id
2743 , l_PRICE_LIST_LINE_rec.program_id
2744 , l_PRICE_LIST_LINE_rec.program_update_date
2745 , l_PRICE_LIST_LINE_rec.rebate_trxn_type_code
2746 , l_PRICE_LIST_LINE_rec.recurring_value -- block pricing
2747 , l_PRICE_LIST_LINE_rec.related_item_id
2748 , l_PRICE_LIST_LINE_rec.relationship_type_id
2749 , l_PRICE_LIST_LINE_rec.reprice_flag
2750 , l_PRICE_LIST_LINE_rec.request_id
2751 , l_PRICE_LIST_LINE_rec.revision
2752 , l_PRICE_LIST_LINE_rec.revision_date
2753 , l_PRICE_LIST_LINE_rec.revision_reason_code
2754 , l_PRICE_LIST_LINE_rec.start_date_active
2755 , l_PRICE_LIST_LINE_rec.substitution_attribute
2756 , l_PRICE_LIST_LINE_rec.substitution_context
2757 , l_PRICE_LIST_LINE_rec.substitution_value
2758 , l_PRICE_LIST_LINE_rec.customer_item_id
2759 , l_PRICE_LIST_LINE_rec.break_uom_code
2760 , l_PRICE_LIST_LINE_rec.break_uom_context
2761 , l_PRICE_LIST_LINE_rec.break_uom_attribute
2762 , l_PRICE_LIST_LINE_rec.continuous_price_break_flag -- Continuous price breaks
2763 FROM QP_LIST_LINES
2764 WHERE LIST_LINE_ID = p_PRICE_LIST_LINE_rec.list_line_id
2765 FOR UPDATE NOWAIT;
2766
2767
2768 oe_debug_pub.add(' accrual qty:'||l_PRICE_LIST_LINE_rec.accrual_qty||':'||p_PRICE_LIST_LINE_rec.accrual_qty||':');
2769 oe_debug_pub.add(' accrual uom code:'||l_PRICE_LIST_LINE_rec.accrual_uom_code||':'|| p_PRICE_LIST_LINE_rec.accrual_uom_code||':');
2770 oe_debug_pub.add(' arithmetic_operator:'||l_PRICE_LIST_LINE_rec.arithmetic_operator||':'|| p_PRICE_LIST_LINE_rec.arithmetic_operator||':');
2771 oe_debug_pub.add(' attribute1:'||l_PRICE_LIST_LINE_rec.attribute1||':'|| p_PRICE_LIST_LINE_rec.attribute1||':');
2772 oe_debug_pub.add(' attribute10:'||l_PRICE_LIST_LINE_rec.attribute10||':'||p_PRICE_LIST_LINE_rec.attribute10||':');
2773 oe_debug_pub.add(' attribute11:'||l_PRICE_LIST_LINE_rec.attribute11||':'||p_PRICE_LIST_LINE_rec.attribute11||':');
2774 oe_debug_pub.add(' attribute12:'||l_PRICE_LIST_LINE_rec.attribute12||':'||p_PRICE_LIST_LINE_rec.attribute12||':');
2775 oe_debug_pub.add(' attribute13:'||l_PRICE_LIST_LINE_rec.attribute13||':'||p_PRICE_LIST_LINE_rec.attribute13||':');
2776 oe_debug_pub.add(' attribute14:'||l_PRICE_LIST_LINE_rec.attribute14||':'||p_PRICE_LIST_LINE_rec.attribute14||':');
2777 oe_debug_pub.add(' attribute15:'||l_PRICE_LIST_LINE_rec.attribute15||':'||p_PRICE_LIST_LINE_rec.attribute15||':');
2778 oe_debug_pub.add(' attribute2:'||l_PRICE_LIST_LINE_rec.attribute2||':'||p_PRICE_LIST_LINE_rec.attribute2||':');
2779 oe_debug_pub.add(' attribute3:'||l_PRICE_LIST_LINE_rec.attribute3||':'||p_PRICE_LIST_LINE_rec.attribute3||':');
2780 oe_debug_pub.add(' attribute4:'||l_PRICE_LIST_LINE_rec.attribute4||':'||p_PRICE_LIST_LINE_rec.attribute4||':');
2781 oe_debug_pub.add(' attribute5:'||l_PRICE_LIST_LINE_rec.attribute5||':'||p_PRICE_LIST_LINE_rec.attribute5||':');
2782 oe_debug_pub.add(' attribute6:'||l_PRICE_LIST_LINE_rec.attribute6||':'||p_PRICE_LIST_LINE_rec.attribute6||':');
2783 oe_debug_pub.add(' attribute7:'||l_PRICE_LIST_LINE_rec.attribute7||':'||p_PRICE_LIST_LINE_rec.attribute7||':');
2784 oe_debug_pub.add(' attribute8:'||l_PRICE_LIST_LINE_rec.attribute8||':'||p_PRICE_LIST_LINE_rec.attribute8||':');
2785 oe_debug_pub.add(' attribute9:'||l_PRICE_LIST_LINE_rec.attribute9||':'||p_PRICE_LIST_LINE_rec.attribute9||':');
2786 oe_debug_pub.add(' automatic_flag:'||l_PRICE_LIST_LINE_rec.automatic_flag||':'||p_PRICE_LIST_LINE_rec.automatic_flag||':');
2787 oe_debug_pub.add(' base qty:'||l_PRICE_LIST_LINE_rec.base_qty||':'||p_PRICE_LIST_LINE_rec.base_qty||':');
2788 oe_debug_pub.add(' base uom code:'||l_PRICE_LIST_LINE_rec.base_uom_code||':'||p_PRICE_LIST_LINE_rec.base_uom_code||':');
2789 oe_debug_pub.add(' comments:'||l_PRICE_LIST_LINE_rec.comments||':'||p_PRICE_LIST_LINE_rec.comments||':');
2790 oe_debug_pub.add(' context:'||l_PRICE_LIST_LINE_rec.context||':'||p_PRICE_LIST_LINE_rec.context||':');
2791 oe_debug_pub.add(' created_by:'||l_PRICE_LIST_LINE_rec.created_by||':'||p_PRICE_LIST_LINE_rec.created_by||':');
2792 oe_debug_pub.add(' creation_date:'||l_PRICE_LIST_LINE_rec.creation_date||':'||p_PRICE_LIST_LINE_rec.creation_date||':');
2793 oe_debug_pub.add(' effective_period_uom:'||l_PRICE_LIST_LINE_rec.effective_period_uom||':'||p_PRICE_LIST_LINE_rec.effective_period_uom||':');
2794 oe_debug_pub.add(' end_date_active:'||l_PRICE_LIST_LINE_rec.end_date_active||':'||p_PRICE_LIST_LINE_rec.end_date_active||':');
2795 oe_debug_pub.add(' estim_accrual_rate:'||l_PRICE_LIST_LINE_rec.estim_accrual_rate||':'||p_PRICE_LIST_LINE_rec.estim_accrual_rate||':');
2796 oe_debug_pub.add(' generate_using_formula_id:'||l_PRICE_LIST_LINE_rec.generate_using_formula_id||':'||p_PRICE_LIST_LINE_rec.generate_using_formula_id||':');
2797 oe_debug_pub.add(' inventory_item_id:'||l_PRICE_LIST_LINE_rec.inventory_item_id||':'||p_PRICE_LIST_LINE_rec.inventory_item_id||':');
2798 oe_debug_pub.add(' last_updated_by:'||l_PRICE_LIST_LINE_rec.last_updated_by||':'||p_PRICE_LIST_LINE_rec.last_updated_by||':');
2799 oe_debug_pub.add(' last_update_date:'||l_PRICE_LIST_LINE_rec.last_update_date||':'||p_PRICE_LIST_LINE_rec.last_update_date||':');
2800 oe_debug_pub.add(' accrual qty:'||l_PRICE_LIST_LINE_rec.last_update_login||':'||p_PRICE_LIST_LINE_rec.last_update_login||':');
2801 oe_debug_pub.add(' list_header_id:'||l_PRICE_LIST_LINE_rec.list_header_id||':'||p_PRICE_LIST_LINE_rec.list_header_id||':');
2802 oe_debug_pub.add(' list_line_id:'||l_PRICE_LIST_LINE_rec.list_line_id||':'||p_PRICE_LIST_LINE_rec.list_line_id||':');
2803 oe_debug_pub.add(' list_line_type_code:'||l_PRICE_LIST_LINE_rec.list_line_type_code||':'||p_PRICE_LIST_LINE_rec.list_line_type_code||':');
2804 oe_debug_pub.add(' list_price:'||l_PRICE_LIST_LINE_rec.list_price||':'||p_PRICE_LIST_LINE_rec.list_price||':');
2805 oe_debug_pub.add(' product_precedence:'||l_PRICE_LIST_LINE_rec.product_precedence||':'||p_PRICE_LIST_LINE_rec.product_precedence||':');
2806 oe_debug_pub.add(' modifier_level_code:'||l_PRICE_LIST_LINE_rec.modifier_level_code||':'||p_PRICE_LIST_LINE_rec.modifier_level_code||':');
2807 oe_debug_pub.add(' number_effective_periods:'||l_PRICE_LIST_LINE_rec.number_effective_periods||':'||p_PRICE_LIST_LINE_rec.number_effective_periods||':');
2808 oe_debug_pub.add(' operand:'||l_PRICE_LIST_LINE_rec.operand||':'||p_PRICE_LIST_LINE_rec.operand||':');
2809 oe_debug_pub.add(' organization_id:'||l_PRICE_LIST_LINE_rec.organization_id||':'||p_PRICE_LIST_LINE_rec.organization_id||':');
2810 oe_debug_pub.add(' override_flag:'||l_PRICE_LIST_LINE_rec.override_flag||':'||p_PRICE_LIST_LINE_rec.override_flag||':');
2811 oe_debug_pub.add(' percent_price:'||l_PRICE_LIST_LINE_rec.percent_price||':'||p_PRICE_LIST_LINE_rec.percent_price||':');
2812 oe_debug_pub.add(' accrual qty:'||l_PRICE_LIST_LINE_rec.price_break_type_code||':'||p_PRICE_LIST_LINE_rec.price_break_type_code||':');
2813 oe_debug_pub.add(' price_by_formula_id:'||l_PRICE_LIST_LINE_rec.price_by_formula_id||':'||p_PRICE_LIST_LINE_rec.price_by_formula_id||':');
2814 oe_debug_pub.add(' primary_uom_flag:'||l_PRICE_LIST_LINE_rec.primary_uom_flag||':'||p_PRICE_LIST_LINE_rec.primary_uom_flag||':');
2815 oe_debug_pub.add(' print_on_invoice_flag:'||l_PRICE_LIST_LINE_rec.print_on_invoice_flag||':'||p_PRICE_LIST_LINE_rec.print_on_invoice_flag||':');
2816 oe_debug_pub.add(' program_application_id:'||l_PRICE_LIST_LINE_rec.program_application_id||':'||p_PRICE_LIST_LINE_rec.program_application_id||':');
2817 oe_debug_pub.add(' program_id:'||l_PRICE_LIST_LINE_rec.program_id||':'||p_PRICE_LIST_LINE_rec.program_id||':');
2818 oe_debug_pub.add(' program_update_date:'||l_PRICE_LIST_LINE_rec.program_update_date||':'||p_PRICE_LIST_LINE_rec.program_update_date||':');
2819 oe_debug_pub.add(' rebate_trxn_type_code:'||l_PRICE_LIST_LINE_rec.rebate_trxn_type_code||':'||p_PRICE_LIST_LINE_rec.rebate_trxn_type_code||':');
2820 oe_debug_pub.add(' recurring_value:'||l_PRICE_LIST_LINE_rec.recurring_value||':'||p_PRICE_LIST_LINE_rec.recurring_value||':');
2821 oe_debug_pub.add(' related_item_id:'||l_PRICE_LIST_LINE_rec.related_item_id||':'||p_PRICE_LIST_LINE_rec.related_item_id||':');
2822 oe_debug_pub.add(' relationship_type_id:'||l_PRICE_LIST_LINE_rec.relationship_type_id||':'||p_PRICE_LIST_LINE_rec.relationship_type_id||':');
2823 oe_debug_pub.add(' reprice_flag:'||l_PRICE_LIST_LINE_rec.reprice_flag||':'||p_PRICE_LIST_LINE_rec.reprice_flag||':');
2824 oe_debug_pub.add(' request_id:'||l_PRICE_LIST_LINE_rec.request_id||':'||p_PRICE_LIST_LINE_rec.request_id||':');
2825 oe_debug_pub.add(' revision:'||l_PRICE_LIST_LINE_rec.revision||':'||p_PRICE_LIST_LINE_rec.revision||':');
2826 oe_debug_pub.add(' revision_date:'||l_PRICE_LIST_LINE_rec.revision_date||':'||p_PRICE_LIST_LINE_rec.revision_date||':');
2827 oe_debug_pub.add(' revision_reason_code:'||l_PRICE_LIST_LINE_rec.revision_reason_code||':'||p_PRICE_LIST_LINE_rec.revision_reason_code||':');
2828 oe_debug_pub.add(' start_date_active:'||l_PRICE_LIST_LINE_rec.start_date_active||':'||p_PRICE_LIST_LINE_rec.start_date_active||':');
2829 oe_debug_pub.add(' substitution_attr:'||l_PRICE_LIST_LINE_rec.substitution_attribute||':'||p_PRICE_LIST_LINE_rec.substitution_attribute||':');
2830 oe_debug_pub.add(' substitution_context:'||l_PRICE_LIST_LINE_rec.substitution_context||':'||p_PRICE_LIST_LINE_rec.substitution_context||':');
2831 oe_debug_pub.add(' substitution_value:'||l_PRICE_LIST_LINE_rec.substitution_value||':'||p_PRICE_LIST_LINE_rec.substitution_value||':');
2832 oe_debug_pub.add(' customer_item_id:'||l_PRICE_LIST_LINE_rec.customer_item_id||':'||p_PRICE_LIST_LINE_rec.customer_item_id||':');
2833
2834
2835
2836 -- Row locked. Compare IN attributes to DB attributes.
2837
2838 IF QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.accrual_qty,
2839 l_PRICE_LIST_LINE_rec.accrual_qty)
2840 AND QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.accrual_uom_code,
2841 l_PRICE_LIST_LINE_rec.accrual_uom_code)
2842 AND QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.arithmetic_operator,
2843 l_PRICE_LIST_LINE_rec.arithmetic_operator)
2844 AND QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.attribute1,
2845 l_PRICE_LIST_LINE_rec.attribute1)
2846 AND QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.attribute10,
2847 l_PRICE_LIST_LINE_rec.attribute10)
2848 AND QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.attribute11,
2849 l_PRICE_LIST_LINE_rec.attribute11)
2850 AND QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.attribute12,
2851 l_PRICE_LIST_LINE_rec.attribute12)
2852 AND QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.attribute13,
2853 l_PRICE_LIST_LINE_rec.attribute13)
2854 AND QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.attribute14,
2855 l_PRICE_LIST_LINE_rec.attribute14)
2856 AND QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.attribute15,
2857 l_PRICE_LIST_LINE_rec.attribute15)
2858 AND QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.attribute2,
2859 l_PRICE_LIST_LINE_rec.attribute2)
2860 AND QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.attribute3,
2861 l_PRICE_LIST_LINE_rec.attribute3)
2862 AND QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.attribute4,
2863 l_PRICE_LIST_LINE_rec.attribute4)
2864 AND QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.attribute5,
2865 l_PRICE_LIST_LINE_rec.attribute5)
2866 AND QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.attribute6,
2867 l_PRICE_LIST_LINE_rec.attribute6)
2868 AND QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.attribute7,
2869 l_PRICE_LIST_LINE_rec.attribute7)
2870 AND QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.attribute8,
2871 l_PRICE_LIST_LINE_rec.attribute8)
2872 AND QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.attribute9,
2873 l_PRICE_LIST_LINE_rec.attribute9)
2874 AND QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.automatic_flag,
2875 l_PRICE_LIST_LINE_rec.automatic_flag)
2876 AND QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.base_qty,
2877 l_PRICE_LIST_LINE_rec.base_qty)
2878 AND QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.base_uom_code,
2879 l_PRICE_LIST_LINE_rec.base_uom_code)
2880 AND QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.comments,
2881 l_PRICE_LIST_LINE_rec.comments)
2882 AND QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.context,
2883 l_PRICE_LIST_LINE_rec.context)
2884 AND QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.created_by,
2885 l_PRICE_LIST_LINE_rec.created_by)
2886 AND QP_GLOBALS.Equal(trunc(p_PRICE_LIST_LINE_rec.creation_date),
2887 trunc(l_PRICE_LIST_LINE_rec.creation_date))
2888 AND QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.effective_period_uom,
2889 l_PRICE_LIST_LINE_rec.effective_period_uom)
2890 AND QP_GLOBALS.Equal(trunc(p_PRICE_LIST_LINE_rec.end_date_active),
2891 trunc(l_PRICE_LIST_LINE_rec.end_date_active))
2892 AND QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.estim_accrual_rate,
2893 l_PRICE_LIST_LINE_rec.estim_accrual_rate)
2894 AND QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.generate_using_formula_id,
2895 l_PRICE_LIST_LINE_rec.generate_using_formula_id)
2896 AND QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.inventory_item_id,
2897 l_PRICE_LIST_LINE_rec.inventory_item_id)
2898 -- AND QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.last_updated_by,
2899 -- l_PRICE_LIST_LINE_rec.last_updated_by)
2900 -- AND QP_GLOBALS.Equal(trunc(p_PRICE_LIST_LINE_rec.last_update_date),
2901 -- trunc(l_PRICE_LIST_LINE_rec.last_update_date))
2902 -- AND QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.last_update_login,
2903 -- l_PRICE_LIST_LINE_rec.last_update_login)
2904 AND QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.list_header_id,
2905 l_PRICE_LIST_LINE_rec.list_header_id)
2906 AND QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.list_line_id,
2907 l_PRICE_LIST_LINE_rec.list_line_id)
2908 AND QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.list_line_type_code,
2909 l_PRICE_LIST_LINE_rec.list_line_type_code)
2910 --5409776 and 8540557
2911 -- AND QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.list_price,
2912 -- l_PRICE_LIST_LINE_rec.list_price)
2913 AND QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.product_precedence,
2914 l_PRICE_LIST_LINE_rec.product_precedence)
2915 AND QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.modifier_level_code,
2916 l_PRICE_LIST_LINE_rec.modifier_level_code)
2917 AND QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.number_effective_periods,
2918 l_PRICE_LIST_LINE_rec.number_effective_periods)
2919 AND QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.operand,
2920 l_PRICE_LIST_LINE_rec.operand)
2921 AND QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.organization_id,
2922 l_PRICE_LIST_LINE_rec.organization_id)
2923 AND QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.override_flag,
2924 l_PRICE_LIST_LINE_rec.override_flag)
2925 AND QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.percent_price,
2926 l_PRICE_LIST_LINE_rec.percent_price)
2927 AND QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.price_break_type_code,
2928 l_PRICE_LIST_LINE_rec.price_break_type_code)
2929 AND QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.price_by_formula_id,
2930 l_PRICE_LIST_LINE_rec.price_by_formula_id)
2931 AND QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.primary_uom_flag,
2932 l_PRICE_LIST_LINE_rec.primary_uom_flag)
2933 --AND QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.print_on_invoice_flag, bug8206467
2934 -- l_PRICE_LIST_LINE_rec.print_on_invoice_flag)
2935 AND QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.program_application_id,
2936 l_PRICE_LIST_LINE_rec.program_application_id)
2937 AND QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.program_id,
2938 l_PRICE_LIST_LINE_rec.program_id)
2939 AND QP_GLOBALS.Equal(trunc(p_PRICE_LIST_LINE_rec.program_update_date),
2940 trunc(l_PRICE_LIST_LINE_rec.program_update_date))
2941 AND QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.rebate_trxn_type_code,
2942 l_PRICE_LIST_LINE_rec.rebate_trxn_type_code)
2943 -- block pricing
2944 AND QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.recurring_value,
2945 l_PRICE_LIST_LINE_rec.recurring_value)
2946 AND QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.related_item_id,
2947 l_PRICE_LIST_LINE_rec.related_item_id)
2948 AND QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.relationship_type_id,
2949 l_PRICE_LIST_LINE_rec.relationship_type_id)
2950 -- AND QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.reprice_flag,
2951 -- l_PRICE_LIST_LINE_rec.reprice_flag)
2952 AND QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.request_id,
2953 l_PRICE_LIST_LINE_rec.request_id)
2954 AND QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.revision,
2955 l_PRICE_LIST_LINE_rec.revision)
2956 AND QP_GLOBALS.Equal(trunc(p_PRICE_LIST_LINE_rec.revision_date),
2957 trunc(l_PRICE_LIST_LINE_rec.revision_date))
2958 AND QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.revision_reason_code,
2959 l_PRICE_LIST_LINE_rec.revision_reason_code)
2960 AND QP_GLOBALS.Equal(trunc(p_PRICE_LIST_LINE_rec.start_date_active),
2961 trunc(l_PRICE_LIST_LINE_rec.start_date_active))
2962 AND QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.substitution_attribute,
2963 l_PRICE_LIST_LINE_rec.substitution_attribute)
2964 AND QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.substitution_context,
2965 l_PRICE_LIST_LINE_rec.substitution_context)
2966 AND QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.substitution_value,
2967 l_PRICE_LIST_LINE_rec.substitution_value)
2968 AND QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.customer_item_id,
2969 l_PRICE_LIST_LINE_rec.customer_item_id)
2970 THEN
2971
2972 -- Row has not changed. Set out parameter.
2973
2974 x_PRICE_LIST_LINE_rec := l_PRICE_LIST_LINE_rec;
2975
2976 -- Set return status
2977
2978 x_return_status := FND_API.G_RET_STS_SUCCESS;
2979 x_PRICE_LIST_LINE_rec.return_status := FND_API.G_RET_STS_SUCCESS;
2980
2981 ELSE
2982 --8594682 - Add debug messages for OE_LOCK error
2983 oe_debug_pub.ADD('-------------------Data compare in Price list line (database vs record)------------------');
2984 oe_debug_pub.add('list_line_id :'||l_PRICE_LIST_LINE_rec.list_line_id||':'||p_PRICE_LIST_LINE_rec.list_line_id||':');
2985 oe_debug_pub.ADD('attribute1 :'||l_PRICE_LIST_LINE_rec.attribute1||':'||p_PRICE_LIST_LINE_rec.attribute1||':');
2986 oe_debug_pub.ADD('attribute2 :'||l_PRICE_LIST_LINE_rec.attribute2||':'||p_PRICE_LIST_LINE_rec.attribute2||':');
2987 oe_debug_pub.ADD('attribute3 :'||l_PRICE_LIST_LINE_rec.attribute3||':'||p_PRICE_LIST_LINE_rec.attribute3||':');
2988 oe_debug_pub.ADD('attribute4 :'||l_PRICE_LIST_LINE_rec.attribute4||':'||p_PRICE_LIST_LINE_rec.attribute4||':');
2989 oe_debug_pub.ADD('attribute5 :'||l_PRICE_LIST_LINE_rec.attribute5||':'||p_PRICE_LIST_LINE_rec.attribute5||':');
2990 oe_debug_pub.ADD('attribute6 :'||l_PRICE_LIST_LINE_rec.attribute6||':'||p_PRICE_LIST_LINE_rec.attribute6||':');
2991 oe_debug_pub.ADD('attribute7 :'||l_PRICE_LIST_LINE_rec.attribute7||':'||p_PRICE_LIST_LINE_rec.attribute7||':');
2992 oe_debug_pub.ADD('attribute8 :'||l_PRICE_LIST_LINE_rec.attribute8||':'||p_PRICE_LIST_LINE_rec.attribute8||':');
2993 oe_debug_pub.ADD('attribute9 :'||l_PRICE_LIST_LINE_rec.attribute9||':'||p_PRICE_LIST_LINE_rec.attribute9||':');
2994 oe_debug_pub.ADD('attribute10 :'||l_PRICE_LIST_LINE_rec.attribute10||':'||p_PRICE_LIST_LINE_rec.attribute10||':');
2995 oe_debug_pub.ADD('attribute11 :'||l_PRICE_LIST_LINE_rec.attribute11||':'||p_PRICE_LIST_LINE_rec.attribute11||':');
2996 oe_debug_pub.ADD('attribute12 :'||l_PRICE_LIST_LINE_rec.attribute12||':'||p_PRICE_LIST_LINE_rec.attribute12||':');
2997 oe_debug_pub.ADD('attribute13 :'||l_PRICE_LIST_LINE_rec.attribute13||':'||p_PRICE_LIST_LINE_rec.attribute13||':');
2998 oe_debug_pub.ADD('attribute14 :'||l_PRICE_LIST_LINE_rec.attribute14||':'||p_PRICE_LIST_LINE_rec.attribute14||':');
2999 oe_debug_pub.ADD('attribute15 :'||l_PRICE_LIST_LINE_rec.attribute15||':'||p_PRICE_LIST_LINE_rec.attribute15||':');
3000 oe_debug_pub.ADD('ACCRUAL_QTY :'||l_PRICE_LIST_LINE_rec.ACCRUAL_QTY||':'||p_PRICE_LIST_LINE_rec.ACCRUAL_QTY||':');
3001 oe_debug_pub.ADD('ACCRUAL_UOM_CODE :'||l_PRICE_LIST_LINE_rec.ACCRUAL_UOM_CODE||':'||p_PRICE_LIST_LINE_rec.ACCRUAL_UOM_CODE||':');
3002 oe_debug_pub.ADD('ARITHMETIC_OPERATOR :'||l_PRICE_LIST_LINE_rec.ARITHMETIC_OPERATOR||':'||p_PRICE_LIST_LINE_rec.ARITHMETIC_OPERATOR||':');
3003 oe_debug_pub.ADD('AUTOMATIC_FLAG :'||l_PRICE_LIST_LINE_rec.AUTOMATIC_FLAG||':'||p_PRICE_LIST_LINE_rec.AUTOMATIC_FLAG||':');
3004 oe_debug_pub.ADD('BASE_QTY :'||l_PRICE_LIST_LINE_rec.BASE_QTY||':'||p_PRICE_LIST_LINE_rec.BASE_QTY||':');
3005 oe_debug_pub.ADD('BASE_UOM_CODE :'||l_PRICE_LIST_LINE_rec.BASE_UOM_CODE||':'||p_PRICE_LIST_LINE_rec.BASE_UOM_CODE||':');
3006 oe_debug_pub.ADD('COMMENTS :'||l_PRICE_LIST_LINE_rec.COMMENTS||':'||p_PRICE_LIST_LINE_rec.COMMENTS||':');
3007 oe_debug_pub.ADD('CONTEXT :'||l_PRICE_LIST_LINE_rec.CONTEXT||':'||p_PRICE_LIST_LINE_rec.CONTEXT||':');
3008 oe_debug_pub.ADD('CREATED_BY :'||l_PRICE_LIST_LINE_rec.CREATED_BY||':'||p_PRICE_LIST_LINE_rec.CREATED_BY||':');
3009 oe_debug_pub.ADD('CREATION_DATE :'||l_PRICE_LIST_LINE_rec.CREATION_DATE||':'||p_PRICE_LIST_LINE_rec.CREATION_DATE||':');
3010 oe_debug_pub.ADD('EFFECTIVE_PERIOD_UOM :'||l_PRICE_LIST_LINE_rec.EFFECTIVE_PERIOD_UOM||':'||p_PRICE_LIST_LINE_rec.EFFECTIVE_PERIOD_UOM||':');
3011 oe_debug_pub.ADD('END_DATE_ACTIVE :'||l_PRICE_LIST_LINE_rec.END_DATE_ACTIVE||':'||p_PRICE_LIST_LINE_rec.END_DATE_ACTIVE||':');
3012 oe_debug_pub.ADD('ESTIM_ACCRUAL_RATE :'||l_PRICE_LIST_LINE_rec.ESTIM_ACCRUAL_RATE||':'||p_PRICE_LIST_LINE_rec.ESTIM_ACCRUAL_RATE||':');
3013 oe_debug_pub.ADD('GENERATE_USING_FORMULA_ID:'||l_PRICE_LIST_LINE_rec.GENERATE_USING_FORMULA_ID||':'||p_PRICE_LIST_LINE_rec.GENERATE_USING_FORMULA_ID||':');
3014 oe_debug_pub.ADD('INVENTORY_ITEM_ID :'||l_PRICE_LIST_LINE_rec.INVENTORY_ITEM_ID||':'||p_PRICE_LIST_LINE_rec.INVENTORY_ITEM_ID||':');
3015 oe_debug_pub.ADD('LAST_UPDATED_BY :'||l_PRICE_LIST_LINE_rec.LAST_UPDATED_BY||':'||p_PRICE_LIST_LINE_rec.LAST_UPDATED_BY||':');
3016 oe_debug_pub.ADD('LAST_UPDATE_DATE :'||l_PRICE_LIST_LINE_rec.LAST_UPDATE_DATE||':'||p_PRICE_LIST_LINE_rec.LAST_UPDATE_DATE||':');
3017 oe_debug_pub.ADD('LAST_UPDATE_LOGIN :'||l_PRICE_LIST_LINE_rec.LAST_UPDATE_LOGIN||':'||p_PRICE_LIST_LINE_rec.LAST_UPDATE_LOGIN||':');
3018 oe_debug_pub.ADD('LIST_HEADER_ID :'||l_PRICE_LIST_LINE_rec.LIST_HEADER_ID||':'||p_PRICE_LIST_LINE_rec.LIST_HEADER_ID||':');
3019 oe_debug_pub.ADD('LIST_LINE_TYPE_CODE :'||l_PRICE_LIST_LINE_rec.LIST_LINE_TYPE_CODE||':'||p_PRICE_LIST_LINE_rec.LIST_LINE_TYPE_CODE||':');
3020 oe_debug_pub.ADD('LIST_PRICE :'||l_PRICE_LIST_LINE_rec.LIST_PRICE||':'||p_PRICE_LIST_LINE_rec.LIST_PRICE||':');
3021 oe_debug_pub.ADD('PRODUCT_PRECEDENCE :'||l_PRICE_LIST_LINE_rec.PRODUCT_PRECEDENCE||':'||p_PRICE_LIST_LINE_rec.PRODUCT_PRECEDENCE||':');
3022 oe_debug_pub.ADD('MODIFIER_LEVEL_CODE :'||l_PRICE_LIST_LINE_rec.MODIFIER_LEVEL_CODE||':'||p_PRICE_LIST_LINE_rec.MODIFIER_LEVEL_CODE||':');
3023 oe_debug_pub.ADD('NUMBER_EFFECTIVE_PERIODS:'||l_PRICE_LIST_LINE_rec.NUMBER_EFFECTIVE_PERIODS||':'||p_PRICE_LIST_LINE_rec.NUMBER_EFFECTIVE_PERIODS||':');
3024 oe_debug_pub.ADD('OPERAND :'||l_PRICE_LIST_LINE_rec.OPERAND||':'||p_PRICE_LIST_LINE_rec.OPERAND||':');
3025 oe_debug_pub.ADD('ORGANIZATION_ID :'||l_PRICE_LIST_LINE_rec.ORGANIZATION_ID||':'||p_PRICE_LIST_LINE_rec.ORGANIZATION_ID||':');
3026 oe_debug_pub.ADD('OVERRIDE_FLAG :'||l_PRICE_LIST_LINE_rec.OVERRIDE_FLAG||':'||p_PRICE_LIST_LINE_rec.OVERRIDE_FLAG||':');
3027 oe_debug_pub.ADD('PERCENT_PRICE :'||l_PRICE_LIST_LINE_rec.PERCENT_PRICE||':'||p_PRICE_LIST_LINE_rec.PERCENT_PRICE||':');
3028 oe_debug_pub.ADD('PRICE_BREAK_TYPE_CODE :'||l_PRICE_LIST_LINE_rec.PRICE_BREAK_TYPE_CODE||':'||p_PRICE_LIST_LINE_rec.PRICE_BREAK_TYPE_CODE||':');
3029 oe_debug_pub.ADD('PRICE_BY_FORMULA_ID :'||l_PRICE_LIST_LINE_rec.PRICE_BY_FORMULA_ID||':'||p_PRICE_LIST_LINE_rec.PRICE_BY_FORMULA_ID||':');
3030 oe_debug_pub.ADD('PRIMARY_UOM_FLAG :'||l_PRICE_LIST_LINE_rec.PRIMARY_UOM_FLAG||':'||p_PRICE_LIST_LINE_rec.PRIMARY_UOM_FLAG||':');
3031 oe_debug_pub.ADD('PRINT_ON_INVOICE_FLAG :'||l_PRICE_LIST_LINE_rec.PRINT_ON_INVOICE_FLAG||':'||p_PRICE_LIST_LINE_rec.PRINT_ON_INVOICE_FLAG||':');
3032 oe_debug_pub.ADD('PROGRAM_APPLICATION_ID:'||l_PRICE_LIST_LINE_rec.PROGRAM_APPLICATION_ID||':'||p_PRICE_LIST_LINE_rec.PROGRAM_APPLICATION_ID||':');
3033 oe_debug_pub.ADD('PROGRAM_ID :'||l_PRICE_LIST_LINE_rec.PROGRAM_ID||':'||p_PRICE_LIST_LINE_rec.PROGRAM_ID||':');
3034 oe_debug_pub.ADD('PROGRAM_UPDATE_DATE :'||l_PRICE_LIST_LINE_rec.PROGRAM_UPDATE_DATE||':'||p_PRICE_LIST_LINE_rec.PROGRAM_UPDATE_DATE||':');
3035 oe_debug_pub.ADD('REBATE_TRANSACTION_TYPE_CODE:'||l_PRICE_LIST_LINE_rec.rebate_trxn_type_code||':'||p_PRICE_LIST_LINE_rec.rebate_trxn_type_code||':');
3036 oe_debug_pub.ADD('RECURRING_VALUE :'||l_PRICE_LIST_LINE_rec.RECURRING_VALUE||':'||p_PRICE_LIST_LINE_rec.RECURRING_VALUE||':');
3037 oe_debug_pub.ADD('RELATED_ITEM_ID :'||l_PRICE_LIST_LINE_rec.RELATED_ITEM_ID||':'||p_PRICE_LIST_LINE_rec.RELATED_ITEM_ID||':');
3038 oe_debug_pub.ADD('RELATIONSHIP_TYPE_ID :'||l_PRICE_LIST_LINE_rec.RELATIONSHIP_TYPE_ID||':'||p_PRICE_LIST_LINE_rec.RELATIONSHIP_TYPE_ID||':');
3039 oe_debug_pub.ADD('REPRICE_FLAG :'||l_PRICE_LIST_LINE_rec.REPRICE_FLAG||':'||p_PRICE_LIST_LINE_rec.REPRICE_FLAG||':');
3040 oe_debug_pub.ADD('REQUEST_ID :'||l_PRICE_LIST_LINE_rec.REQUEST_ID||':'||p_PRICE_LIST_LINE_rec.REQUEST_ID||':');
3041 oe_debug_pub.ADD('REVISION :'||l_PRICE_LIST_LINE_rec.REVISION||':'||p_PRICE_LIST_LINE_rec.REVISION||':');
3042 oe_debug_pub.ADD('REVISION_DATE :'||l_PRICE_LIST_LINE_rec.REVISION_DATE||':'||p_PRICE_LIST_LINE_rec.REVISION_DATE||':');
3043 oe_debug_pub.ADD('REVISION_REASON_CODE :'||l_PRICE_LIST_LINE_rec.REVISION_REASON_CODE||':'||p_PRICE_LIST_LINE_rec.REVISION_REASON_CODE||':');
3044 oe_debug_pub.ADD('START_DATE_ACTIVE :'||l_PRICE_LIST_LINE_rec.START_DATE_ACTIVE||':'||p_PRICE_LIST_LINE_rec.START_DATE_ACTIVE||':');
3045 oe_debug_pub.ADD('SUBSTITUTION_ATTRIBUTE:'||l_PRICE_LIST_LINE_rec.SUBSTITUTION_ATTRIBUTE||':'||p_PRICE_LIST_LINE_rec.SUBSTITUTION_ATTRIBUTE||':');
3046 oe_debug_pub.ADD('SUBSTITUTION_CONTEXT :'||l_PRICE_LIST_LINE_rec.SUBSTITUTION_CONTEXT||':'||p_PRICE_LIST_LINE_rec.SUBSTITUTION_CONTEXT||':');
3047 oe_debug_pub.ADD('SUBSTITUTION_VALUE :'||l_PRICE_LIST_LINE_rec.SUBSTITUTION_VALUE||':'||p_PRICE_LIST_LINE_rec.SUBSTITUTION_VALUE||':');
3048 oe_debug_pub.ADD('CUSTOMER_ITEM_ID :'||l_PRICE_LIST_LINE_rec.CUSTOMER_ITEM_ID||':'||p_PRICE_LIST_LINE_rec.CUSTOMER_ITEM_ID||':');
3049 oe_debug_pub.ADD('BREAK_UOM_CODE :'||l_PRICE_LIST_LINE_rec.BREAK_UOM_CODE||':'||p_PRICE_LIST_LINE_rec.BREAK_UOM_CODE||':');
3050 oe_debug_pub.ADD('BREAK_UOM_CONTEXT :'||l_PRICE_LIST_LINE_rec.BREAK_UOM_CONTEXT||':'||p_PRICE_LIST_LINE_rec.BREAK_UOM_CONTEXT||':');
3051 oe_debug_pub.ADD('BREAK_UOM_ATTRIBUTE :'||l_PRICE_LIST_LINE_rec.BREAK_UOM_ATTRIBUTE||':'||p_PRICE_LIST_LINE_rec.BREAK_UOM_ATTRIBUTE||':');
3052 oe_debug_pub.ADD('-------------------Data compare in price list line end------------------');
3053 -- Row has changed by another user.
3054
3055
3056 x_return_status := FND_API.G_RET_STS_ERROR;
3057 x_PRICE_LIST_LINE_rec.return_status := FND_API.G_RET_STS_ERROR;
3058
3059 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_ERROR)
3060 THEN
3061
3062 FND_MESSAGE.SET_NAME('QP','OE_LOCK_ROW_CHANGED');
3063 oe_msg_pub.Add;
3064
3065 END IF;
3066
3067 END IF;
3068
3069 EXCEPTION
3070
3071 WHEN NO_DATA_FOUND THEN
3072
3073 x_return_status := FND_API.G_RET_STS_ERROR;
3074 x_PRICE_LIST_LINE_rec.return_status := FND_API.G_RET_STS_ERROR;
3075
3076 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_ERROR)
3077 THEN
3078
3079 FND_MESSAGE.SET_NAME('QP','OE_LOCK_ROW_DELETED');
3080 oe_msg_pub.Add;
3081
3082 END IF;
3083 WHEN APP_EXCEPTIONS.RECORD_LOCK_EXCEPTION THEN
3084
3085 x_return_status := FND_API.G_RET_STS_ERROR;
3086 x_PRICE_LIST_LINE_rec.return_status := FND_API.G_RET_STS_ERROR;
3087
3088 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_ERROR)
3089 THEN
3090
3091 FND_MESSAGE.SET_NAME('QP','OE_LOCK_ROW_ALREADY_LOCKED');
3092 oe_msg_pub.Add;
3093
3094 END IF;
3095 WHEN OTHERS THEN
3096
3097 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3098 x_PRICE_LIST_LINE_rec.return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3099
3100 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_UNEXP_ERROR)
3101 THEN
3102 oe_msg_pub.Add_Exc_Msg
3103 ( G_PKG_NAME
3104 , 'Lock_Row'
3105 );
3106 END IF;
3107
3108 END Lock_Row;
3109
3110 -- Function Get_Values
3111
3112 FUNCTION Get_Values
3113 ( p_PRICE_LIST_LINE_rec IN QP_Price_List_PUB.Price_List_Line_Rec_Type
3114 , p_old_PRICE_LIST_LINE_rec IN QP_Price_List_PUB.Price_List_Line_Rec_Type :=
3115 QP_Price_List_PUB.G_MISS_PRICE_LIST_LINE_REC
3116 ) RETURN QP_Price_List_PUB.Price_List_Line_Val_Rec_Type
3117 IS
3118 l_PRICE_LIST_LINE_val_rec QP_Price_List_PUB.Price_List_Line_Val_Rec_Type;
3119 BEGIN
3120
3121 /*
3122 IF p_PRICE_LIST_LINE_rec.accrual_uom_code IS NOT NULL AND
3123 p_PRICE_LIST_LINE_rec.accrual_uom_code <> FND_API.G_MISS_CHAR AND
3124 NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.accrual_uom_code,
3125 p_old_PRICE_LIST_LINE_rec.accrual_uom_code)
3126 THEN
3127 l_PRICE_LIST_LINE_val_rec.accrual_uom := QP_Id_To_Value.Accrual_Uom
3128 ( p_accrual_uom_code => p_PRICE_LIST_LINE_rec.accrual_uom_code
3129 );
3130 END IF;
3131
3132 */
3133
3134 IF p_PRICE_LIST_LINE_rec.automatic_flag IS NOT NULL AND
3135 p_PRICE_LIST_LINE_rec.automatic_flag <> FND_API.G_MISS_CHAR AND
3136 NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.automatic_flag,
3137 p_old_PRICE_LIST_LINE_rec.automatic_flag)
3138 THEN
3139 l_PRICE_LIST_LINE_val_rec.automatic := QP_Id_To_Value.Automatic
3140 ( p_automatic_flag => p_PRICE_LIST_LINE_rec.automatic_flag
3141 );
3142 END IF;
3143
3144 IF p_PRICE_LIST_LINE_rec.base_uom_code IS NOT NULL AND
3145 p_PRICE_LIST_LINE_rec.base_uom_code <> FND_API.G_MISS_CHAR AND
3146 NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.base_uom_code,
3147 p_old_PRICE_LIST_LINE_rec.base_uom_code)
3148 THEN
3149 l_PRICE_LIST_LINE_val_rec.base_uom := QP_Id_To_Value.Base_Uom
3150 ( p_base_uom_code => p_PRICE_LIST_LINE_rec.base_uom_code
3151 );
3152 END IF;
3153
3154 IF p_PRICE_LIST_LINE_rec.generate_using_formula_id IS NOT NULL AND
3155 p_PRICE_LIST_LINE_rec.generate_using_formula_id <> FND_API.G_MISS_NUM AND
3156 NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.generate_using_formula_id,
3157 p_old_PRICE_LIST_LINE_rec.generate_using_formula_id)
3158 THEN
3159 l_PRICE_LIST_LINE_val_rec.generate_using_formula := QP_Id_To_Value.Generate_Using_Formula
3160 ( p_generate_using_formula_id => p_PRICE_LIST_LINE_rec.generate_using_formula_id
3161 );
3162 END IF;
3163
3164
3165 IF p_PRICE_LIST_LINE_rec.inventory_item_id IS NOT NULL AND
3166 p_PRICE_LIST_LINE_rec.inventory_item_id <> FND_API.G_MISS_NUM AND
3167 NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.inventory_item_id,
3168 p_old_PRICE_LIST_LINE_rec.inventory_item_id)
3169 THEN
3170 l_PRICE_LIST_LINE_val_rec.inventory_item := QP_Id_To_Value.Inventory_Item
3171 ( p_inventory_item_id => p_PRICE_LIST_LINE_rec.inventory_item_id
3172 );
3173 END IF;
3174
3175 IF p_PRICE_LIST_LINE_rec.list_header_id IS NOT NULL AND
3176 p_PRICE_LIST_LINE_rec.list_header_id <> FND_API.G_MISS_NUM AND
3177 NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.list_header_id,
3178 p_old_PRICE_LIST_LINE_rec.list_header_id)
3179 THEN
3180 l_PRICE_LIST_LINE_val_rec.list_header := QP_Id_To_Value.List_Header
3181 ( p_list_header_id => p_PRICE_LIST_LINE_rec.list_header_id
3182 );
3183 END IF;
3184
3185 IF p_PRICE_LIST_LINE_rec.list_line_id IS NOT NULL AND
3186 p_PRICE_LIST_LINE_rec.list_line_id <> FND_API.G_MISS_NUM AND
3187 NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.list_line_id,
3188 p_old_PRICE_LIST_LINE_rec.list_line_id)
3189 THEN
3190 l_PRICE_LIST_LINE_val_rec.list_line := QP_Id_To_Value.List_Line
3191 ( p_list_line_id => p_PRICE_LIST_LINE_rec.list_line_id
3192 );
3193 END IF;
3194
3195 IF p_PRICE_LIST_LINE_rec.list_line_type_code IS NOT NULL AND
3196 p_PRICE_LIST_LINE_rec.list_line_type_code <> FND_API.G_MISS_CHAR AND
3197 NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.list_line_type_code,
3198 p_old_PRICE_LIST_LINE_rec.list_line_type_code)
3199 THEN
3200 l_PRICE_LIST_LINE_val_rec.list_line_type := QP_Id_To_Value.List_Line_Type
3201 ( p_list_line_type_code => p_PRICE_LIST_LINE_rec.list_line_type_code
3202 );
3203 END IF;
3204
3205 IF p_PRICE_LIST_LINE_rec.modifier_level_code IS NOT NULL AND
3206 p_PRICE_LIST_LINE_rec.modifier_level_code <> FND_API.G_MISS_CHAR AND
3207 NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.modifier_level_code,
3208 p_old_PRICE_LIST_LINE_rec.modifier_level_code)
3209 THEN
3210 l_PRICE_LIST_LINE_val_rec.modifier_level := QP_Id_To_Value.Modifier_Level
3211 ( p_modifier_level_code => p_PRICE_LIST_LINE_rec.modifier_level_code
3212 );
3213 END IF;
3214
3215 IF p_PRICE_LIST_LINE_rec.organization_id IS NOT NULL AND
3216 p_PRICE_LIST_LINE_rec.organization_id <> FND_API.G_MISS_NUM AND
3217 NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.organization_id,
3218 p_old_PRICE_LIST_LINE_rec.organization_id)
3219 THEN
3220 l_PRICE_LIST_LINE_val_rec.organization := QP_Id_To_Value.Organization
3221 ( p_organization_id => p_PRICE_LIST_LINE_rec.organization_id
3222 );
3223 END IF;
3224
3225 IF p_PRICE_LIST_LINE_rec.override_flag IS NOT NULL AND
3226 p_PRICE_LIST_LINE_rec.override_flag <> FND_API.G_MISS_CHAR AND
3227 NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.override_flag,
3228 p_old_PRICE_LIST_LINE_rec.override_flag)
3229 THEN
3230 l_PRICE_LIST_LINE_val_rec.override := QP_Id_To_Value.Override
3231 ( p_override_flag => p_PRICE_LIST_LINE_rec.override_flag
3232 );
3233 END IF;
3234
3235 IF p_PRICE_LIST_LINE_rec.price_break_type_code IS NOT NULL AND
3236 p_PRICE_LIST_LINE_rec.price_break_type_code <> FND_API.G_MISS_CHAR AND
3237 NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.price_break_type_code,
3238 p_old_PRICE_LIST_LINE_rec.price_break_type_code)
3239 THEN
3240 l_PRICE_LIST_LINE_val_rec.price_break_type := QP_Id_To_Value.Price_Break_Type
3241 ( p_price_break_type_code => p_PRICE_LIST_LINE_rec.price_break_type_code
3242 );
3243 END IF;
3244
3245 IF p_PRICE_LIST_LINE_rec.price_by_formula_id IS NOT NULL AND
3246 p_PRICE_LIST_LINE_rec.price_by_formula_id <> FND_API.G_MISS_NUM AND
3247 NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.price_by_formula_id,
3248 p_old_PRICE_LIST_LINE_rec.price_by_formula_id)
3249 THEN
3250 l_PRICE_LIST_LINE_val_rec.price_by_formula := QP_Id_To_Value.Price_By_Formula
3251 ( p_price_by_formula_id => p_PRICE_LIST_LINE_rec.price_by_formula_id
3252 );
3253 END IF;
3254
3255 IF p_PRICE_LIST_LINE_rec.primary_uom_flag IS NOT NULL AND
3256 p_PRICE_LIST_LINE_rec.primary_uom_flag <> FND_API.G_MISS_CHAR AND
3257 NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.primary_uom_flag,
3258 p_old_PRICE_LIST_LINE_rec.primary_uom_flag)
3259 THEN
3260 l_PRICE_LIST_LINE_val_rec.primary_uom := QP_Id_To_Value.Primary_Uom
3261 ( p_primary_uom_flag => p_PRICE_LIST_LINE_rec.primary_uom_flag
3262 );
3263 END IF;
3264
3265 IF p_PRICE_LIST_LINE_rec.print_on_invoice_flag IS NOT NULL AND
3266 p_PRICE_LIST_LINE_rec.print_on_invoice_flag <> FND_API.G_MISS_CHAR AND
3267 NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.print_on_invoice_flag,
3268 p_old_PRICE_LIST_LINE_rec.print_on_invoice_flag)
3269 THEN
3270 l_PRICE_LIST_LINE_val_rec.print_on_invoice := QP_Id_To_Value.Print_On_Invoice
3271 ( p_print_on_invoice_flag => p_PRICE_LIST_LINE_rec.print_on_invoice_flag
3272 );
3273 END IF;
3274
3275 IF p_PRICE_LIST_LINE_rec.rebate_trxn_type_code IS NOT NULL AND
3276 p_PRICE_LIST_LINE_rec.rebate_trxn_type_code <> FND_API.G_MISS_CHAR AND
3277 NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.rebate_trxn_type_code,
3278 p_old_PRICE_LIST_LINE_rec.rebate_trxn_type_code)
3279 THEN
3280 l_PRICE_LIST_LINE_val_rec.rebate_transaction_type := QP_Id_To_Value.Rebate_Transaction_Type
3281 ( p_rebate_trxn_type_code => p_PRICE_LIST_LINE_rec.rebate_trxn_type_code
3282 );
3283 END IF;
3284
3285 IF p_PRICE_LIST_LINE_rec.related_item_id IS NOT NULL AND
3286 p_PRICE_LIST_LINE_rec.related_item_id <> FND_API.G_MISS_NUM AND
3287 NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.related_item_id,
3288 p_old_PRICE_LIST_LINE_rec.related_item_id)
3289 THEN
3290 l_PRICE_LIST_LINE_val_rec.related_item := QP_Id_To_Value.Related_Item
3291 ( p_related_item_id => p_PRICE_LIST_LINE_rec.related_item_id
3292 );
3293 END IF;
3294
3295 IF p_PRICE_LIST_LINE_rec.relationship_type_id IS NOT NULL AND
3296 p_PRICE_LIST_LINE_rec.relationship_type_id <> FND_API.G_MISS_NUM AND
3297 NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.relationship_type_id,
3298 p_old_PRICE_LIST_LINE_rec.relationship_type_id)
3299 THEN
3300 l_PRICE_LIST_LINE_val_rec.relationship_type := QP_Id_To_Value.Relationship_Type
3301 ( p_relationship_type_id => p_PRICE_LIST_LINE_rec.relationship_type_id
3302 );
3303 END IF;
3304
3305 IF p_PRICE_LIST_LINE_rec.reprice_flag IS NOT NULL AND
3306 p_PRICE_LIST_LINE_rec.reprice_flag <> FND_API.G_MISS_CHAR AND
3307 NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.reprice_flag,
3308 p_old_PRICE_LIST_LINE_rec.reprice_flag)
3309 THEN
3310 l_PRICE_LIST_LINE_val_rec.reprice := QP_Id_To_Value.Reprice
3311 ( p_reprice_flag => p_PRICE_LIST_LINE_rec.reprice_flag
3312 );
3313 END IF;
3314
3315 IF p_PRICE_LIST_LINE_rec.revision_reason_code IS NOT NULL AND
3316 p_PRICE_LIST_LINE_rec.revision_reason_code <> FND_API.G_MISS_CHAR AND
3317 NOT QP_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.revision_reason_code,
3318 p_old_PRICE_LIST_LINE_rec.revision_reason_code)
3319 THEN
3320 l_PRICE_LIST_LINE_val_rec.revision_reason := QP_Id_To_Value.Revision_Reason
3321 ( p_revision_reason_code => p_PRICE_LIST_LINE_rec.revision_reason_code
3322 );
3323 END IF;
3324
3325 RETURN l_PRICE_LIST_LINE_val_rec;
3326
3327 END Get_Values;
3328
3329 -- Function Get_Ids
3330
3331 FUNCTION Get_Ids
3332 ( p_PRICE_LIST_LINE_rec IN QP_Price_List_PUB.Price_List_Line_Rec_Type
3333 , p_PRICE_LIST_LINE_val_rec IN QP_Price_List_PUB.Price_List_Line_Val_Rec_Type
3334 ) RETURN QP_Price_List_PUB.Price_List_Line_Rec_Type
3335 IS
3336 l_PRICE_LIST_LINE_rec QP_Price_List_PUB.Price_List_Line_Rec_Type;
3337 BEGIN
3338
3339 -- initialize return_status.
3340
3341 l_PRICE_LIST_LINE_rec.return_status := FND_API.G_RET_STS_SUCCESS;
3342
3343 -- initialize l_PRICE_LIST_LINE_rec.
3344
3345 l_PRICE_LIST_LINE_rec := p_PRICE_LIST_LINE_rec;
3346
3347 IF p_PRICE_LIST_LINE_val_rec.accrual_uom <> FND_API.G_MISS_CHAR
3348 THEN
3349
3350 IF p_PRICE_LIST_LINE_rec.accrual_uom_code <> FND_API.G_MISS_CHAR THEN
3351
3352 l_PRICE_LIST_LINE_rec.accrual_uom_code := p_PRICE_LIST_LINE_rec.accrual_uom_code;
3353
3354 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_SUCCESS)
3355 THEN
3356
3357 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
3358 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','accrual_uom');
3359 oe_msg_pub.Add;
3360
3361 END IF;
3362
3363 ELSE
3364
3365 /*
3366
3367 l_PRICE_LIST_LINE_rec.accrual_uom_code := QP_Value_To_Id.accrual_uom
3368 ( p_accrual_uom => p_PRICE_LIST_LINE_val_rec.accrual_uom
3369 );
3370
3371 */
3372
3373 IF l_PRICE_LIST_LINE_rec.accrual_uom_code = FND_API.G_MISS_CHAR THEN
3374 l_PRICE_LIST_LINE_rec.return_status := FND_API.G_RET_STS_ERROR;
3375 END IF;
3376
3377 END IF;
3378
3379 END IF;
3380
3381 IF p_PRICE_LIST_LINE_val_rec.automatic <> FND_API.G_MISS_CHAR
3382 THEN
3383
3384 IF p_PRICE_LIST_LINE_rec.automatic_flag <> FND_API.G_MISS_CHAR THEN
3385
3386 l_PRICE_LIST_LINE_rec.automatic_flag := p_PRICE_LIST_LINE_rec.automatic_flag;
3387
3388 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_SUCCESS)
3389 THEN
3390
3391 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
3392 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','automatic');
3393 oe_msg_pub.Add;
3394
3395 END IF;
3396
3397 ELSE
3398
3399 l_PRICE_LIST_LINE_rec.automatic_flag := QP_Value_To_Id.automatic
3400 ( p_automatic => p_PRICE_LIST_LINE_val_rec.automatic
3401 );
3402
3403 IF l_PRICE_LIST_LINE_rec.automatic_flag = FND_API.G_MISS_CHAR THEN
3404 l_PRICE_LIST_LINE_rec.return_status := FND_API.G_RET_STS_ERROR;
3405 END IF;
3406
3407 END IF;
3408
3409 END IF;
3410
3411 IF p_PRICE_LIST_LINE_val_rec.base_uom <> FND_API.G_MISS_CHAR
3412 THEN
3413
3414 IF p_PRICE_LIST_LINE_rec.base_uom_code <> FND_API.G_MISS_CHAR THEN
3415
3416 l_PRICE_LIST_LINE_rec.base_uom_code := p_PRICE_LIST_LINE_rec.base_uom_code;
3417
3418 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_SUCCESS)
3419 THEN
3420
3421 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
3422 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','base_uom');
3423 oe_msg_pub.Add;
3424
3425 END IF;
3426
3427 ELSE
3428
3429 l_PRICE_LIST_LINE_rec.base_uom_code := QP_Value_To_Id.base_uom
3430 ( p_base_uom => p_PRICE_LIST_LINE_val_rec.base_uom
3431 );
3432
3433 IF l_PRICE_LIST_LINE_rec.base_uom_code = FND_API.G_MISS_CHAR THEN
3434 l_PRICE_LIST_LINE_rec.return_status := FND_API.G_RET_STS_ERROR;
3435 END IF;
3436
3437 END IF;
3438
3439 END IF;
3440
3441 IF p_PRICE_LIST_LINE_val_rec.generate_using_formula <> FND_API.G_MISS_CHAR
3442 THEN
3443
3444 IF p_PRICE_LIST_LINE_rec.generate_using_formula_id <> FND_API.G_MISS_NUM THEN
3445
3446 l_PRICE_LIST_LINE_rec.generate_using_formula_id := p_PRICE_LIST_LINE_rec.generate_using_formula_id;
3447
3448 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_SUCCESS)
3449 THEN
3450
3451 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
3452 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','generate_using_formula');
3453 oe_msg_pub.Add;
3454
3455 END IF;
3456
3457 ELSE
3458
3459 l_PRICE_LIST_LINE_rec.generate_using_formula_id := QP_Value_To_Id.generate_using_formula
3460 ( p_generate_using_formula => p_PRICE_LIST_LINE_val_rec.generate_using_formula
3461 );
3462
3463 IF l_PRICE_LIST_LINE_rec.generate_using_formula_id = FND_API.G_MISS_NUM THEN
3464 l_PRICE_LIST_LINE_rec.return_status := FND_API.G_RET_STS_ERROR;
3465 END IF;
3466
3467 END IF;
3468
3469 END IF;
3470
3471 IF p_PRICE_LIST_LINE_val_rec.inventory_item <> FND_API.G_MISS_CHAR
3472 THEN
3473
3474 IF p_PRICE_LIST_LINE_rec.inventory_item_id <> FND_API.G_MISS_NUM THEN
3475
3476 l_PRICE_LIST_LINE_rec.inventory_item_id := p_PRICE_LIST_LINE_rec.inventory_item_id;
3477
3478 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_SUCCESS)
3479 THEN
3480
3481 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
3482 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','inventory_item');
3483 oe_msg_pub.Add;
3484
3485 END IF;
3486
3487 ELSE
3488
3489 l_PRICE_LIST_LINE_rec.inventory_item_id := QP_Value_To_Id.inventory_item
3490 ( p_inventory_item => p_PRICE_LIST_LINE_val_rec.inventory_item
3491 );
3492
3493 IF l_PRICE_LIST_LINE_rec.inventory_item_id = FND_API.G_MISS_NUM THEN
3494 l_PRICE_LIST_LINE_rec.return_status := FND_API.G_RET_STS_ERROR;
3495 END IF;
3496
3497 END IF;
3498
3499 END IF;
3500
3501 IF p_PRICE_LIST_LINE_val_rec.list_header <> FND_API.G_MISS_CHAR
3502 THEN
3503
3504 IF p_PRICE_LIST_LINE_rec.list_header_id <> FND_API.G_MISS_NUM THEN
3505
3506 l_PRICE_LIST_LINE_rec.list_header_id := p_PRICE_LIST_LINE_rec.list_header_id;
3507
3508 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_SUCCESS)
3509 THEN
3510
3511 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
3512 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','list_header');
3513 oe_msg_pub.Add;
3514
3515 END IF;
3516
3517 ELSE
3518
3519 l_PRICE_LIST_LINE_rec.list_header_id := QP_Value_To_Id.list_header
3520 ( p_list_header => p_PRICE_LIST_LINE_val_rec.list_header
3521 );
3522
3523 IF l_PRICE_LIST_LINE_rec.list_header_id = FND_API.G_MISS_NUM THEN
3524 l_PRICE_LIST_LINE_rec.return_status := FND_API.G_RET_STS_ERROR;
3525 END IF;
3526
3527 END IF;
3528
3529 END IF;
3530
3531 IF p_PRICE_LIST_LINE_val_rec.list_line <> FND_API.G_MISS_CHAR
3532 THEN
3533
3534 IF p_PRICE_LIST_LINE_rec.list_line_id <> FND_API.G_MISS_NUM THEN
3535
3536 l_PRICE_LIST_LINE_rec.list_line_id := p_PRICE_LIST_LINE_rec.list_line_id;
3537
3538 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_SUCCESS)
3539 THEN
3540
3541 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
3542 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','list_line');
3543 oe_msg_pub.Add;
3544
3545 END IF;
3546
3547 ELSE
3548
3549 l_PRICE_LIST_LINE_rec.list_line_id := QP_Value_To_Id.list_line
3550 ( p_list_line => p_PRICE_LIST_LINE_val_rec.list_line
3551 );
3552
3553 IF l_PRICE_LIST_LINE_rec.list_line_id = FND_API.G_MISS_NUM THEN
3554 l_PRICE_LIST_LINE_rec.return_status := FND_API.G_RET_STS_ERROR;
3555 END IF;
3556
3557 END IF;
3558
3559 END IF;
3560
3561 IF p_PRICE_LIST_LINE_val_rec.list_line_type <> FND_API.G_MISS_CHAR
3562 THEN
3563
3564 IF p_PRICE_LIST_LINE_rec.list_line_type_code <> FND_API.G_MISS_CHAR THEN
3565
3566 l_PRICE_LIST_LINE_rec.list_line_type_code := p_PRICE_LIST_LINE_rec.list_line_type_code;
3567
3568 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_SUCCESS)
3569 THEN
3570
3571 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
3572 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','list_line_type');
3573 oe_msg_pub.Add;
3574
3575 END IF;
3576
3577 ELSE
3578
3579 l_PRICE_LIST_LINE_rec.list_line_type_code := QP_Value_To_Id.list_line_type
3580 ( p_list_line_type => p_PRICE_LIST_LINE_val_rec.list_line_type
3581 );
3582
3583 IF l_PRICE_LIST_LINE_rec.list_line_type_code = FND_API.G_MISS_CHAR THEN
3584 l_PRICE_LIST_LINE_rec.return_status := FND_API.G_RET_STS_ERROR;
3585 END IF;
3586
3587 END IF;
3588
3589 END IF;
3590
3591 IF p_PRICE_LIST_LINE_val_rec.modifier_level <> FND_API.G_MISS_CHAR
3592 THEN
3593
3594 IF p_PRICE_LIST_LINE_rec.modifier_level_code <> FND_API.G_MISS_CHAR THEN
3595
3596 l_PRICE_LIST_LINE_rec.modifier_level_code := p_PRICE_LIST_LINE_rec.modifier_level_code;
3597
3598 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_SUCCESS)
3599 THEN
3600
3601 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
3602 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','modifier_level');
3603 oe_msg_pub.Add;
3604
3605 END IF;
3606
3607 ELSE
3608
3609 l_PRICE_LIST_LINE_rec.modifier_level_code := QP_Value_To_Id.modifier_level
3610 ( p_modifier_level => p_PRICE_LIST_LINE_val_rec.modifier_level
3611 );
3612
3613 IF l_PRICE_LIST_LINE_rec.modifier_level_code = FND_API.G_MISS_CHAR THEN
3614 l_PRICE_LIST_LINE_rec.return_status := FND_API.G_RET_STS_ERROR;
3615 END IF;
3616
3617 END IF;
3618
3619 END IF;
3620
3621 IF p_PRICE_LIST_LINE_val_rec.organization <> FND_API.G_MISS_CHAR
3622 THEN
3623
3624 IF p_PRICE_LIST_LINE_rec.organization_id <> FND_API.G_MISS_NUM THEN
3625
3626 l_PRICE_LIST_LINE_rec.organization_id := p_PRICE_LIST_LINE_rec.organization_id;
3627
3628 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_SUCCESS)
3629 THEN
3630
3631 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
3632 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','organization');
3633 oe_msg_pub.Add;
3634
3635 END IF;
3636
3637 ELSE
3638
3639 l_PRICE_LIST_LINE_rec.organization_id := QP_Value_To_Id.organization
3640 ( p_organization => p_PRICE_LIST_LINE_val_rec.organization
3641 );
3642
3643 IF l_PRICE_LIST_LINE_rec.organization_id = FND_API.G_MISS_NUM THEN
3644 l_PRICE_LIST_LINE_rec.return_status := FND_API.G_RET_STS_ERROR;
3645 END IF;
3646
3647 END IF;
3648
3649 END IF;
3650
3651 IF p_PRICE_LIST_LINE_val_rec.override <> FND_API.G_MISS_CHAR
3652 THEN
3653
3654 IF p_PRICE_LIST_LINE_rec.override_flag <> FND_API.G_MISS_CHAR THEN
3655
3656 l_PRICE_LIST_LINE_rec.override_flag := p_PRICE_LIST_LINE_rec.override_flag;
3657
3658 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_SUCCESS)
3659 THEN
3660
3661 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
3662 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','override');
3663 oe_msg_pub.Add;
3664
3665 END IF;
3666
3667 ELSE
3668
3669 l_PRICE_LIST_LINE_rec.override_flag := QP_Value_To_Id.override
3670 ( p_override => p_PRICE_LIST_LINE_val_rec.override
3671 );
3672
3673 IF l_PRICE_LIST_LINE_rec.override_flag = FND_API.G_MISS_CHAR THEN
3674 l_PRICE_LIST_LINE_rec.return_status := FND_API.G_RET_STS_ERROR;
3675 END IF;
3676
3677 END IF;
3678
3679 END IF;
3680
3681 IF p_PRICE_LIST_LINE_val_rec.price_break_type <> FND_API.G_MISS_CHAR
3682 THEN
3683
3684 IF p_PRICE_LIST_LINE_rec.price_break_type_code <> FND_API.G_MISS_CHAR THEN
3685
3686 l_PRICE_LIST_LINE_rec.price_break_type_code := p_PRICE_LIST_LINE_rec.price_break_type_code;
3687
3688 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_SUCCESS)
3689 THEN
3690
3691 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
3692 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','price_break_type');
3693 oe_msg_pub.Add;
3694
3695 END IF;
3696
3697 ELSE
3698
3699 l_PRICE_LIST_LINE_rec.price_break_type_code := QP_Value_To_Id.price_break_type
3700 ( p_price_break_type => p_PRICE_LIST_LINE_val_rec.price_break_type
3701 );
3702
3703 IF l_PRICE_LIST_LINE_rec.price_break_type_code = FND_API.G_MISS_CHAR THEN
3704 l_PRICE_LIST_LINE_rec.return_status := FND_API.G_RET_STS_ERROR;
3705 END IF;
3706
3707 END IF;
3708
3709 END IF;
3710
3711 IF p_PRICE_LIST_LINE_val_rec.price_by_formula <> FND_API.G_MISS_CHAR
3712 THEN
3713
3714 IF p_PRICE_LIST_LINE_rec.price_by_formula_id <> FND_API.G_MISS_NUM THEN
3715
3716 l_PRICE_LIST_LINE_rec.price_by_formula_id := p_PRICE_LIST_LINE_rec.price_by_formula_id;
3717
3718 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_SUCCESS)
3719 THEN
3720
3721 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
3722 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','price_by_formula');
3723 oe_msg_pub.Add;
3724
3725 END IF;
3726
3727 ELSE
3728
3729 l_PRICE_LIST_LINE_rec.price_by_formula_id := QP_Value_To_Id.price_by_formula
3730 ( p_price_by_formula => p_PRICE_LIST_LINE_val_rec.price_by_formula
3731 );
3732
3733 IF l_PRICE_LIST_LINE_rec.price_by_formula_id = FND_API.G_MISS_NUM THEN
3734 l_PRICE_LIST_LINE_rec.return_status := FND_API.G_RET_STS_ERROR;
3735 END IF;
3736
3737 END IF;
3738
3739 END IF;
3740
3741 IF p_PRICE_LIST_LINE_val_rec.primary_uom <> FND_API.G_MISS_CHAR
3742 THEN
3743
3744 IF p_PRICE_LIST_LINE_rec.primary_uom_flag <> FND_API.G_MISS_CHAR THEN
3745
3746 l_PRICE_LIST_LINE_rec.primary_uom_flag := p_PRICE_LIST_LINE_rec.primary_uom_flag;
3747
3748 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_SUCCESS)
3749 THEN
3750
3751 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
3752 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','primary_uom');
3753 oe_msg_pub.Add;
3754
3755 END IF;
3756
3757 ELSE
3758
3759 l_PRICE_LIST_LINE_rec.primary_uom_flag := QP_Value_To_Id.primary_uom
3760 ( p_primary_uom => p_PRICE_LIST_LINE_val_rec.primary_uom
3761 );
3762
3763 IF l_PRICE_LIST_LINE_rec.primary_uom_flag = FND_API.G_MISS_CHAR THEN
3764 l_PRICE_LIST_LINE_rec.return_status := FND_API.G_RET_STS_ERROR;
3765 END IF;
3766
3767 END IF;
3768
3769 END IF;
3770
3771 IF p_PRICE_LIST_LINE_val_rec.print_on_invoice <> FND_API.G_MISS_CHAR
3772 THEN
3773
3774 IF p_PRICE_LIST_LINE_rec.print_on_invoice_flag <> FND_API.G_MISS_CHAR THEN
3775
3776 l_PRICE_LIST_LINE_rec.print_on_invoice_flag := p_PRICE_LIST_LINE_rec.print_on_invoice_flag;
3777
3778 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_SUCCESS)
3779 THEN
3780
3781 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
3782 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','print_on_invoice');
3783 oe_msg_pub.Add;
3784
3785 END IF;
3786
3787 ELSE
3788
3789 l_PRICE_LIST_LINE_rec.print_on_invoice_flag := QP_Value_To_Id.print_on_invoice
3790 ( p_print_on_invoice => p_PRICE_LIST_LINE_val_rec.print_on_invoice
3791 );
3792
3793 IF l_PRICE_LIST_LINE_rec.print_on_invoice_flag = FND_API.G_MISS_CHAR THEN
3794 l_PRICE_LIST_LINE_rec.return_status := FND_API.G_RET_STS_ERROR;
3795 END IF;
3796
3797 END IF;
3798
3799 END IF;
3800
3801 IF p_PRICE_LIST_LINE_val_rec.rebate_transaction_type <> FND_API.G_MISS_CHAR
3802 THEN
3803
3804 IF p_PRICE_LIST_LINE_rec.rebate_trxn_type_code <> FND_API.G_MISS_CHAR THEN
3805
3806 l_PRICE_LIST_LINE_rec.rebate_trxn_type_code := p_PRICE_LIST_LINE_rec.rebate_trxn_type_code;
3807
3808 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_SUCCESS)
3809 THEN
3810
3811 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
3812 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','rebate_transaction_type');
3813 oe_msg_pub.Add;
3814
3815 END IF;
3816
3817 ELSE
3818
3819 l_PRICE_LIST_LINE_rec.rebate_trxn_type_code := QP_Value_To_Id.rebate_transaction_type
3820 ( p_rebate_transaction_type => p_PRICE_LIST_LINE_val_rec.rebate_transaction_type
3821 );
3822
3823 IF l_PRICE_LIST_LINE_rec.rebate_trxn_type_code = FND_API.G_MISS_CHAR THEN
3824 l_PRICE_LIST_LINE_rec.return_status := FND_API.G_RET_STS_ERROR;
3825 END IF;
3826
3827 END IF;
3828
3829 END IF;
3830
3831 IF p_PRICE_LIST_LINE_val_rec.related_item <> FND_API.G_MISS_CHAR
3832 THEN
3833
3834 IF p_PRICE_LIST_LINE_rec.related_item_id <> FND_API.G_MISS_NUM THEN
3835
3836 l_PRICE_LIST_LINE_rec.related_item_id := p_PRICE_LIST_LINE_rec.related_item_id;
3837
3838 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_SUCCESS)
3839 THEN
3840
3841 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
3842 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','related_item');
3843 oe_msg_pub.Add;
3844
3845 END IF;
3846
3847 ELSE
3848
3849 l_PRICE_LIST_LINE_rec.related_item_id := QP_Value_To_Id.related_item
3850 ( p_related_item => p_PRICE_LIST_LINE_val_rec.related_item
3851 );
3852
3853 IF l_PRICE_LIST_LINE_rec.related_item_id = FND_API.G_MISS_NUM THEN
3854 l_PRICE_LIST_LINE_rec.return_status := FND_API.G_RET_STS_ERROR;
3855 END IF;
3856
3857 END IF;
3858
3859 END IF;
3860
3861 IF p_PRICE_LIST_LINE_val_rec.relationship_type <> FND_API.G_MISS_CHAR
3862 THEN
3863
3864 IF p_PRICE_LIST_LINE_rec.relationship_type_id <> FND_API.G_MISS_NUM THEN
3865
3866 l_PRICE_LIST_LINE_rec.relationship_type_id := p_PRICE_LIST_LINE_rec.relationship_type_id;
3867
3868 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_SUCCESS)
3869 THEN
3870
3871 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
3872 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','relationship_type');
3873 oe_msg_pub.Add;
3874
3875 END IF;
3876
3877 ELSE
3878
3879 l_PRICE_LIST_LINE_rec.relationship_type_id := QP_Value_To_Id.relationship_type
3880 ( p_relationship_type => p_PRICE_LIST_LINE_val_rec.relationship_type
3881 );
3882
3883 IF l_PRICE_LIST_LINE_rec.relationship_type_id = FND_API.G_MISS_NUM THEN
3884 l_PRICE_LIST_LINE_rec.return_status := FND_API.G_RET_STS_ERROR;
3885 END IF;
3886
3887 END IF;
3888
3889 END IF;
3890
3891 IF p_PRICE_LIST_LINE_val_rec.reprice <> FND_API.G_MISS_CHAR
3892 THEN
3893
3894 IF p_PRICE_LIST_LINE_rec.reprice_flag <> FND_API.G_MISS_CHAR THEN
3895
3896 l_PRICE_LIST_LINE_rec.reprice_flag := p_PRICE_LIST_LINE_rec.reprice_flag;
3897
3898 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_SUCCESS)
3899 THEN
3900
3901 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
3902 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','reprice');
3903 oe_msg_pub.Add;
3904
3905 END IF;
3906
3907 ELSE
3908
3909 l_PRICE_LIST_LINE_rec.reprice_flag := QP_Value_To_Id.reprice
3910 ( p_reprice => p_PRICE_LIST_LINE_val_rec.reprice
3911 );
3912
3913 IF l_PRICE_LIST_LINE_rec.reprice_flag = FND_API.G_MISS_CHAR THEN
3914 l_PRICE_LIST_LINE_rec.return_status := FND_API.G_RET_STS_ERROR;
3915 END IF;
3916
3917 END IF;
3918
3919 END IF;
3920
3921 IF p_PRICE_LIST_LINE_val_rec.revision_reason <> FND_API.G_MISS_CHAR
3922 THEN
3923
3924 IF p_PRICE_LIST_LINE_rec.revision_reason_code <> FND_API.G_MISS_CHAR THEN
3925
3926 l_PRICE_LIST_LINE_rec.revision_reason_code := p_PRICE_LIST_LINE_rec.revision_reason_code;
3927
3928 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_SUCCESS)
3929 THEN
3930
3931 FND_MESSAGE.SET_NAME('QP','FND_BOTH_VAL_AND_ID_EXIST');
3932 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','revision_reason');
3933 oe_msg_pub.Add;
3934
3935 END IF;
3936
3937 ELSE
3938
3939 l_PRICE_LIST_LINE_rec.revision_reason_code := QP_Value_To_Id.revision_reason
3940 ( p_revision_reason => p_PRICE_LIST_LINE_val_rec.revision_reason
3941 );
3942
3943 IF l_PRICE_LIST_LINE_rec.revision_reason_code = FND_API.G_MISS_CHAR THEN
3944 l_PRICE_LIST_LINE_rec.return_status := FND_API.G_RET_STS_ERROR;
3945 END IF;
3946
3947 END IF;
3948
3949 END IF;
3950
3951
3952 RETURN l_PRICE_LIST_LINE_rec;
3953
3954 END Get_Ids;
3955
3956
3957 Procedure Print_Price_List_Line
3958 (p_PRICE_LIST_LINE_rec IN QP_PRICE_LIST_PUB.PRICE_LIST_LINE_REC_TYPE,
3959 p_counter IN NUMBER)
3960 IS
3961 BEGIN
3962 oe_debug_pub.add('additional message 1- 8206467');
3963 oe_debug_pub.add('accrual qty ' || p_counter || ': ' || p_PRICE_LIST_LINE_rec.accrual_qty);
3964
3965 oe_debug_pub.add('accrual uom code ' || p_counter || ': ' || p_PRICE_LIST_LINE_rec.accrual_uom_code);
3966 oe_debug_pub.add('arithmetic_operator ' || p_counter || ': ' || p_PRICE_LIST_LINE_rec.arithmetic_operator);
3967 oe_debug_pub.add('attribute1 ' || p_counter || ': ' || p_PRICE_LIST_LINE_rec.attribute1);
3968 oe_debug_pub.add('attribute10 ' || p_counter || ': ' || p_PRICE_LIST_LINE_rec.attribute10);
3969 oe_debug_pub.add('attribute11 ' || p_counter || ': ' ||p_PRICE_LIST_LINE_rec.attribute11);
3970 oe_debug_pub.add('attribute12 ' || p_counter || ': ' || p_PRICE_LIST_LINE_rec.attribute12);
3971 oe_debug_pub.add('attribute13 ' || p_counter || ': ' ||p_PRICE_LIST_LINE_rec.attribute13);
3972 oe_debug_pub.add('attribute14 ' || p_counter || ': ' ||p_PRICE_LIST_LINE_rec.attribute14);
3973 oe_debug_pub.add('attribute15 ' || p_counter || ': ' ||p_PRICE_LIST_LINE_rec.attribute15);
3974 oe_debug_pub.add('attribute2 ' || p_counter || ': ' ||p_PRICE_LIST_LINE_rec.attribute2);
3975 oe_debug_pub.add('attribute3 ' || p_counter || ': ' ||p_PRICE_LIST_LINE_rec.attribute3);
3976 oe_debug_pub.add('attribute4 ' || p_counter || ': ' ||p_PRICE_LIST_LINE_rec.attribute4);
3977 oe_debug_pub.add('attribute5 ' || p_counter || ': ' ||p_PRICE_LIST_LINE_rec.attribute5);
3978 oe_debug_pub.add('attribute6 ' || p_counter || ': ' ||p_PRICE_LIST_LINE_rec.attribute6);
3979 oe_debug_pub.add('attribute7 ' || p_counter || ': ' ||p_PRICE_LIST_LINE_rec.attribute7);
3980 oe_debug_pub.add('attribute8 ' || p_counter || ': ' ||p_PRICE_LIST_LINE_rec.attribute8);
3981 oe_debug_pub.add('attribute9 ' || p_counter || ': ' ||p_PRICE_LIST_LINE_rec.attribute9);
3982 oe_debug_pub.add('automatic_flag ' || p_counter || ': ' ||p_PRICE_LIST_LINE_rec.automatic_flag);
3983 oe_debug_pub.add('base qty ' || p_counter || ': ' ||p_PRICE_LIST_LINE_rec.base_qty);
3984 oe_debug_pub.add('base uom code ' || p_counter || ': ' ||p_PRICE_LIST_LINE_rec.base_uom_code);
3985 oe_debug_pub.add('comments ' || p_counter || ': ' ||p_PRICE_LIST_LINE_rec.comments);
3986 oe_debug_pub.add('context ' || p_counter || ': ' ||p_PRICE_LIST_LINE_rec.context);
3987 oe_debug_pub.add('created_by ' || p_counter || ': ' ||p_PRICE_LIST_LINE_rec.created_by);
3988 oe_debug_pub.add('creation_date ' || p_counter || ': ' ||p_PRICE_LIST_LINE_rec.creation_date);
3989 oe_debug_pub.add('effective_period_uom ' || p_counter || ': ' ||p_PRICE_LIST_LINE_rec.effective_period_uom);
3990 oe_debug_pub.add('end_date_active ' || p_counter || ': ' ||p_PRICE_LIST_LINE_rec.end_date_active);
3991 oe_debug_pub.add('estim_accrual_rate ' || p_counter || ': ' ||p_PRICE_LIST_LINE_rec.estim_accrual_rate);
3992 oe_debug_pub.add('generate_using_formula_id ' || p_counter || ': ' ||p_PRICE_LIST_LINE_rec.generate_using_formula_id);
3993 oe_debug_pub.add('inventory_item_id ' || p_counter || ': ' ||p_PRICE_LIST_LINE_rec.inventory_item_id);
3994 oe_debug_pub.add('last_updated_by ' || p_counter || ': ' ||p_PRICE_LIST_LINE_rec.last_updated_by);
3995 oe_debug_pub.add('last_update_date ' || p_counter || ': ' ||p_PRICE_LIST_LINE_rec.last_update_date);
3996 oe_debug_pub.add('accrual qty ' || p_counter || ': ' ||p_PRICE_LIST_LINE_rec.last_update_login);
3997 oe_debug_pub.add('list_header_id ' || p_counter || ': ' ||p_PRICE_LIST_LINE_rec.list_header_id);
3998 oe_debug_pub.add('list_line_id ' || p_counter || ': ' ||p_PRICE_LIST_LINE_rec.list_line_id);
3999 oe_debug_pub.add('list_line_type_code ' || p_counter || ': ' ||p_PRICE_LIST_LINE_rec.list_line_type_code);
4000 oe_debug_pub.add('list_price ' || p_counter || ': ' ||p_PRICE_LIST_LINE_rec.list_price);
4001 oe_debug_pub.add('product_precedence ' || p_counter || ': ' || p_PRICE_LIST_LINE_rec.product_precedence);
4002 oe_debug_pub.add('modifier_level_code ' || p_counter || ': ' ||p_PRICE_LIST_LINE_rec.modifier_level_code);
4003 oe_debug_pub.add('number_effective_periods ' || p_counter || ': ' ||p_PRICE_LIST_LINE_rec.number_effective_periods);
4004 oe_debug_pub.add('operand ' || p_counter || ': ' ||p_PRICE_LIST_LINE_rec.operand);
4005 oe_debug_pub.add('organization_id ' || p_counter || ': ' ||p_PRICE_LIST_LINE_rec.organization_id);
4006 oe_debug_pub.add('override_flag ' || p_counter || ': ' ||p_PRICE_LIST_LINE_rec.override_flag);
4007 oe_debug_pub.add('percent_price ' || p_counter || ': ' ||p_PRICE_LIST_LINE_rec.percent_price);
4008 oe_debug_pub.add('accrual qty ' || p_counter || ': ' ||p_PRICE_LIST_LINE_rec.price_break_type_code);
4009 oe_debug_pub.add('price_by_formula_id ' || p_counter || ': ' ||p_PRICE_LIST_LINE_rec.price_by_formula_id);
4010 oe_debug_pub.add('primary_uom_flag ' || p_counter || ': ' ||p_PRICE_LIST_LINE_rec.primary_uom_flag);
4011 oe_debug_pub.add('print_on_invoice_flag ' || p_counter || ': ' ||p_PRICE_LIST_LINE_rec.print_on_invoice_flag);
4012 oe_debug_pub.add('program_application_id ' || p_counter || ': ' ||p_PRICE_LIST_LINE_rec.program_application_id);
4013 oe_debug_pub.add('program_id ' || p_counter || ': ' ||p_PRICE_LIST_LINE_rec.program_id);
4014 oe_debug_pub.add('program_update_date ' || p_counter || ': ' ||p_PRICE_LIST_LINE_rec.program_update_date);
4015 oe_debug_pub.add('rebate_trxn_type_code ' || p_counter || ': ' ||p_PRICE_LIST_LINE_rec.rebate_trxn_type_code);
4016 -- block pricing
4017 oe_debug_pub.add('recurring_value' || p_counter || ': ' ||p_PRICE_LIST_LINE_rec.recurring_value);
4018 oe_debug_pub.add('related_item_id ' || p_counter || ': ' ||p_PRICE_LIST_LINE_rec.related_item_id);
4019 oe_debug_pub.add('relationship_type_id ' || p_counter || ': ' ||p_PRICE_LIST_LINE_rec.relationship_type_id);
4020 oe_debug_pub.add('reprice_flag ' || p_counter || ': ' ||p_PRICE_LIST_LINE_rec.reprice_flag);
4021 oe_debug_pub.add('request_id ' || p_counter || ': ' ||p_PRICE_LIST_LINE_rec.request_id);
4022 oe_debug_pub.add('revision ' || p_counter || ': ' ||p_PRICE_LIST_LINE_rec.revision);
4023 oe_debug_pub.add('revision_date ' || p_counter || ': ' ||p_PRICE_LIST_LINE_rec.revision_date);
4024 oe_debug_pub.add('revision_reason_code ' || p_counter || ': ' ||p_PRICE_LIST_LINE_rec.revision_reason_code);
4025 oe_debug_pub.add('start_date_active ' || p_counter || ': ' ||p_PRICE_LIST_LINE_rec.start_date_active);
4026 oe_debug_pub.add('substitution_attr ' || p_counter || ': ' ||p_PRICE_LIST_LINE_rec.substitution_attribute);
4027 oe_debug_pub.add('substitution_context ' || p_counter || ': ' ||p_PRICE_LIST_LINE_rec.substitution_context);
4028 oe_debug_pub.add('substitution_value ' || p_counter || ': ' ||p_PRICE_LIST_LINE_rec.substitution_value);
4029
4030 END Print_Price_List_Line;
4031
4032 FUNCTION get_qualifier_attr_value(p_qual_attr_value in varchar2)
4033 return varchar2
4034 is
4035 l_qual_attr_value number;
4036 BEGIN
4037
4038 IF p_qual_attr_value is not null THEN
4039
4040 select to_number(p_qual_attr_value)
4041 into l_qual_attr_value
4042 from dual;
4043
4044 return to_char(l_qual_attr_value);
4045 ELSE
4046 return null;
4047 END IF;
4048
4049 EXCEPTION
4050
4051 WHEN INVALID_NUMBER THEN
4052
4053 return NULL;
4054
4055 END get_qualifier_attr_value;
4056
4057
4058 /******************************************************************************
4059 * Important: The following function Get_Context is currently not being
4060 * called anywhere. So this function has not been altered for used
4061 * with Attributes Manager installed. So, please do not use this
4062 * utility function from anywhere in the code even in the future
4063 * unless you modify it suitably for use with Attributes Manager.
4064 ******************************************************************************/
4065 FUNCTION Get_Context(p_FlexField_Name IN VARCHAR2
4066 ,p_context IN VARCHAR2)RETURN VARCHAR2 IS
4067
4068 Flexfield FND_DFLEX.dflex_r;
4069 Flexinfo FND_DFLEX.dflex_dr;
4070 Contexts FND_DFLEX.contexts_dr;
4071
4072
4073 x_context_code VARCHAR2(240);
4074
4075 BEGIN
4076
4077 -- Call Flexapi to get contexts
4078
4079 FND_DFLEX.get_flexfield('QP',p_FlexField_Name,Flexfield,Flexinfo);
4080 FND_DFLEX.get_contexts(Flexfield,Contexts);
4081
4082
4083 For i in 1..Contexts.ncontexts LOOP
4084
4085 If(Contexts.is_enabled(i) AND (NOT (Contexts.is_global(i)))) Then
4086
4087 If p_context = Contexts.context_code(i) Then
4088 x_context_code :=Contexts.context_name(i);
4089 EXIT;
4090 End If;
4091
4092 End if;
4093 End Loop;
4094
4095 RETURN x_context_code;
4096
4097 END Get_Context;
4098
4099 /******************************************************************************
4100 * Important: The following function Get_Attribute_Code is currently not being
4101 * called anywhere. So this function has not been altered for used
4102 * with Attributes Manager installed. So, please do not use this
4103 * utility function from anywhere in the code even in the future
4104 * unless you modify it suitably for use with Attributes Manager.
4105 ******************************************************************************/
4106 FUNCTION Get_Attribute_Code(p_FlexField_Name IN VARCHAR2
4107 ,p_Context_Name IN VARCHAR2
4108 ,p_attribute IN VARCHAR2
4109 ) RETURN VARCHAR2 IS
4110
4111 Flexfield FND_DFLEX.dflex_r;
4112 Flexinfo FND_DFLEX.dflex_dr;
4113 Contexts FND_DFLEX.contexts_dr;
4114 segments FND_DFLEX.segments_dr;
4115 i BINARY_INTEGER;
4116 x_attribute_code VARCHAR2(240) := NULL;
4117
4118 BEGIN
4119
4120 --fnd_message.debug('passsed values are ' ||p_FlexField_Name);
4121 --fnd_message.debug('passsed values are ' ||p_Context_Name);
4122 --fnd_message.debug('passsed values are ' ||p_attribute);
4123
4124
4125 FND_DFLEX.get_flexfield('QP',p_FlexField_Name,Flexfield,Flexinfo);
4126 FND_DFLEX.get_segments(FND_DFLEX.make_context(Flexfield,p_Context_Name),
4127 segments,TRUE);
4128
4129 For i in 1..segments.nsegments LOOP
4130
4131 IF segments.is_enabled(i) THEN
4132
4133 --fnd_message.debug('col name is ' ||segments.application_column_name(i));
4134 --fnd_message.debug(' seg name is ' ||segments.segment_name(i));
4135 IF segments.application_column_name(i) = p_attribute Then
4136 x_attribute_code := segments.row_prompt(i);
4137 RETURN x_attribute_code;
4138 End if;
4139 END IF;
4140 END LOOP;
4141
4142 RETURN x_attribute_code;
4143
4144 END Get_Attribute_Code;
4145
4146 FUNCTION Get_Product_Value(p_FlexField_Name IN VARCHAR2
4147 ,p_Context_Name IN VARCHAR2
4148 ,p_attribute_name IN VARCHAR2
4149 ,p_attr_value IN VARCHAR2
4150 ) RETURN VARCHAR2 IS
4151 l_item_name varchar2(240) := NULL;
4152 l_category_name varchar2(240) := NULL;
4153 l_segment_name varchar2(240) := NULL;
4154 l_organization_id VARCHAR2(30) := TO_CHAR(QP_UTIL.Get_Item_Validation_Org);
4155
4156
4157 BEGIN
4158
4159 IF ( (p_FlexField_Name = 'QP_ATTR_DEFNS_PRICING')
4160 and ( p_Context_Name = 'ITEM' ) ) THEN
4161
4162 IF (p_attribute_name = 'PRICING_ATTRIBUTE1') then
4163
4164 --changed the code to use G_ORGANIZATION_ID for performance problem on modifiers
4165 select concatenated_segments
4166 into l_item_name
4167 from mtl_system_items_vl
4168 where inventory_item_id = to_number(p_attr_value)
4169 and organization_id = l_organization_id and rownum=1;
4170
4171 RETURN l_item_name;
4172
4173 ELSIF (p_attribute_name = 'PRICING_ATTRIBUTE2') then
4174 /* product catalog
4175 select concatenated_segments
4176 into l_category_name
4177 from mtl_categories_kfv
4178 where category_id = to_number(p_attr_value) and rownum=1;
4179 */
4180 select category_name
4181 into l_category_name
4182 from qp_item_categories_v
4183 where category_id = to_number(p_attr_value) and rownum=1;
4184
4185 RETURN l_category_name;
4186 /*
4187
4188 ELSIF (p_attribute_name = 'PRICING_ATTRIBUTE3') then
4189
4190 RETURN( Get_Attribute_Value(
4191 p_FlexField_Name => 'QP_ATTR_DEFNS_PRICING'
4192 ,p_Context_Name => 'ITEM'
4193 ,p_segment_name => 'ALL_ITEMS'
4194 ,p_attr_value => p_attr_value) );
4195
4196 */
4197
4198 ELSE
4199
4200 l_segment_name := Get_Segment_Name(p_FlexField_Name,
4201 p_Context_Name,
4202 p_attribute_name);
4203
4204 RETURN( Get_Attribute_Value(
4205 p_FlexField_Name
4206 ,p_Context_Name
4207 ,l_segment_name
4208 ,p_attr_value) );
4209
4210
4211
4212 END IF;
4213
4214 ELSE
4215
4216 RETURN NULL;
4217
4218 END IF;
4219
4220 EXCEPTION
4221
4222 WHEN OTHERS THEN RETURN NULL;
4223
4224 END Get_Product_Value;
4225
4226 FUNCTION Get_Attribute_Value(p_FlexField_Name IN VARCHAR2
4227 ,p_Context_Name IN VARCHAR2
4228 ,p_segment_name IN VARCHAR2
4229 ,p_attr_value IN VARCHAR2
4230 ) RETURN VARCHAR2 IS
4231
4232 Vset FND_VSET.valueset_r;
4233 Fmt FND_VSET.valueset_dr;
4234
4235 Found BOOLEAN;
4236 Row NUMBER;
4237 Value FND_VSET.value_dr;
4238
4239
4240
4241 x_Format_Type Varchar2(1);
4242 x_Validation_Type Varchar2(1);
4243 x_Vsid NUMBER;
4244
4245
4246 x_attr_value_code VARCHAR2(240);
4247 l_id VARCHAR2(150);
4248 l_value VARCHAR2(150);
4249
4250
4251 BEGIN
4252
4253 QP_UTIL.get_valueset_id(p_FlexField_Name,p_Context_Name,p_Segment_Name,x_Vsid,x_Format_Type,
4254 x_Validation_Type);
4255 --fnd_message.debug(x_Vsid);
4256 --fnd_message.debug(x_Validation_Type);
4257 --fnd_message.show;
4258
4259 IF x_Validation_Type In('F' ,'I') AND x_Vsid IS NOT NULL THEN
4260 IF x_Validation_Type = 'I' THEN --Added for 2332139
4261 FND_VSET.get_valueset(x_Vsid,Vset,Fmt);
4262 FND_VSET.get_value_init(Vset,TRUE);
4263 FND_VSET.get_value(Vset,Row,Found,Value);
4264
4265 IF Fmt.Has_Id Then --id is defined.Hence compare for id
4266
4267 While(Found) Loop
4268
4269 --fnd_message.debug(Value.value);
4270 --fnd_message.debug(Value.meaning);
4271 --fnd_message.debug(Value.id);
4272
4273 If p_attr_value = Value.id Then
4274
4275 x_attr_value_code := Value.Value;
4276 RETURN x_attr_value_code;
4277 End If;
4278 FND_VSET.get_value(Vset,Row,Found,Value);
4279
4280 End Loop;
4281
4282 Else
4283
4284 While(Found) Loop
4285
4286 --fnd_message.debug(Value.value);
4287 --fnd_message.debug(Value.meaning);
4288 --fnd_message.debug(Value.id);
4289
4290 If p_attr_value = Value.value Then
4291
4292 x_attr_value_code := p_attr_value;
4293 RETURN x_attr_value_code;
4294 End If;
4295 FND_VSET.get_value(Vset,Row,Found,Value);
4296
4297 End Loop;
4298
4299 End If; -- end of Fmt.Has_Id
4300
4301 FND_VSET.get_value_end(Vset);
4302
4303 /* Added for 2332139 */
4304
4305 ELSIF x_Validation_Type='F' THEN
4306 FND_VSET.get_valueset(x_Vsid,Vset,Fmt);
4307
4308 IF (QP_UTIL.value_exists_in_table(Vset.table_info,
4309 p_attr_value,l_id,l_value)) THEN
4310
4311 IF Fmt.Has_Id Then
4312 --id is defined. Hence compare id
4313
4314 IF p_attr_value = l_id Then
4315
4316 x_attr_value_code := l_value;
4317 END IF;
4318 ELSE
4319 IF p_attr_value = l_value THEN
4320 x_attr_value_code := p_attr_value;
4321 END IF;
4322 END IF; --End of Fmt.Has_ID
4323 END IF;
4324
4325 END IF;
4326
4327 ELSE
4328
4329 x_attr_value_code := p_attr_value;
4330 END IF;
4331
4332 RETURN x_attr_value_code;
4333
4334
4335 END Get_Attribute_Value;
4336
4337 FUNCTION Get_Item_Validate_Org_Value(p_pricing_attribute IN VARCHAR2,p_attr_value IN VARCHAR2
4338 ) RETURN VARCHAR2 IS
4339
4340 l_name varchar2(240) := 'Y';
4341
4342 BEGIN
4343 IF (p_pricing_attribute = 'PRICING_ATTRIBUTE1') then
4344
4345 select to_char(organization_id)
4346 into l_name
4347 from mtl_system_items_b
4348 where inventory_item_id = to_number(p_attr_value)
4349 and organization_id = G_ORGANIZATION_ID;
4350
4351 RETURN l_name;
4352 ELSE
4353
4354 RETURN l_name;
4355
4356 END IF;
4357
4358 EXCEPTION
4359
4360 WHEN OTHERS THEN RETURN 'N';
4361
4362 END Get_Item_Validate_Org_Value;
4363
4364 FUNCTION Get_Segment_Name(p_FlexField_Name IN VARCHAR2
4365 ,p_Context_Name IN VARCHAR2
4366 ,p_attribute IN VARCHAR2
4367 ) RETURN VARCHAR2 IS
4368
4369 Flexfield FND_DFLEX.dflex_r;
4370 Flexinfo FND_DFLEX.dflex_dr;
4371 Contexts FND_DFLEX.contexts_dr;
4372 segments FND_DFLEX.segments_dr;
4373 i BINARY_INTEGER;
4374 x_segment_name VARCHAR2(240) := NULL;
4375
4376 l_pte_code VARCHAR2(30);
4377 l_context_type VARCHAR2(30);
4378 l_error_code NUMBER;
4379
4380 CURSOR attribute_cur(a_context_type VARCHAR2, a_context_code VARCHAR2,
4381 a_pte_code VARCHAR2, a_attribute VARCHAR2)
4382 IS
4383 SELECT b.segment_code
4384 FROM qp_segments_tl a, qp_segments_b b,
4385 qp_prc_contexts_b c, qp_pte_segments d
4386 WHERE c.prc_context_type = a_context_type
4387 AND c.prc_context_code = a_context_code
4388 AND c.prc_context_id = b.prc_context_id
4389 AND b.segment_mapping_column = a_attribute
4390 AND b.segment_id = a.segment_id
4391 AND a.language = userenv('LANG')
4392 AND b.segment_id = d.segment_id
4393 AND d.pte_code = a_pte_code;
4394
4395
4396 BEGIN
4397
4398
4399 IF QP_UTIL.Attrmgr_Installed = 'Y' THEN
4400
4401 FND_PROFILE.GET('QP_PRICING_TRANSACTION_ENTITY', l_pte_code);
4402
4403 IF l_pte_code IS NULL THEN
4404 l_pte_code := 'ORDFUL';
4405 END IF;
4406
4407 QP_UTIL.Get_Context_Type(p_flexfield_name, p_context_name,
4408 l_context_type, l_error_code);
4409
4410 IF l_error_code = 0 THEN
4411
4412 OPEN attribute_cur(l_context_type, p_context_name,
4413 l_pte_code, p_attribute);
4414
4415 FETCH attribute_cur INTO x_segment_name;
4416 CLOSE attribute_cur;
4417
4418 END IF; --If l_error_code = 0
4419
4420 ELSE
4421
4422 /* Added for 2332139 */
4423
4424 BEGIN
4425 select end_user_column_name
4426 INTO x_segment_name
4427 from FND_DESCR_FLEX_COL_USAGE_VL
4428 where APPLICATION_ID = 661 and
4429 DESCRIPTIVE_FLEXFIELD_NAME = p_FlexField_Name and
4430 DESCRIPTIVE_FLEX_CONTEXT_CODE = p_Context_Name and
4431 application_column_name = p_attribute and
4432 enabled_flag='Y';
4433
4434 EXCEPTION
4435 WHEN OTHERS THEN
4436 x_segment_name := NULL;
4437 END;
4438
4439 /* Commented out for 2332139 */
4440 /*
4441
4442 FND_DFLEX.get_flexfield('QP',p_FlexField_Name,Flexfield,Flexinfo);
4443 FND_DFLEX.get_segments(FND_DFLEX.make_context(Flexfield,p_Context_Name),
4444 segments,TRUE);
4445
4446 FOR i IN 1..segments.nsegments LOOP
4447
4448 IF segments.is_enabled(i) THEN
4449
4450 IF segments.application_column_name(i) = p_attribute Then
4451 x_segment_name := segments.segment_name(i);
4452 EXIT;
4453 END IF;
4454
4455 END IF;
4456
4457 END LOOP;
4458 */
4459 END IF; --If qp_util.attrmgr_installed = 'Y'
4460
4461 RETURN x_segment_name;
4462
4463 END Get_Segment_Name;
4464
4465
4466 FUNCTION Get_Product_Id(p_FlexField_Name IN VARCHAR2
4467 ,p_Context_Name IN VARCHAR2
4468 ,p_attribute IN VARCHAR2
4469 ,p_attr_value IN VARCHAR2) RETURN NUMBER IS
4470
4471 l_product_id number := NULL;
4472
4473 BEGIN
4474
4475 IF p_flexfield_name = 'QP_ATTR_DEFNS_PRICING' THEN
4476
4477 IF ( p_Context_Name = 'ITEM' and
4478 (p_attribute in ('PRICING_ATTRIBUTE1', 'PRICING_ATTRIBUTE2') )
4479 ) then
4480
4481 l_product_id := TO_NUMBER(p_attr_value);
4482
4483 END IF;
4484
4485 END IF;
4486
4487 RETURN l_product_id;
4488
4489 END Get_Product_Id;
4490
4491
4492
4493 END QP_Price_List_Line_Util;