[Home] [Help]
PACKAGE BODY: APPS.OE_PRICE_LIST_LINE_UTIL
Source
1 PACKAGE BODY OE_Price_List_Line_Util AS
2 /* $Header: OEXUPRLB.pls 120.2 2006/03/21 11:21:09 rnayani noship $ */
3
4 -- Global constant holding the package name
5
6 G_PKG_NAME CONSTANT VARCHAR2(30) := 'OE_Price_List_Line_Util';
7
8 -- Procedure Clear_Dependent_Attr
9
10 PROCEDURE Clear_Dependent_Attr
11 ( p_attr_id IN NUMBER := FND_API.G_MISS_NUM
12 , p_PRICE_LIST_LINE_rec IN OE_Price_List_PUB.Price_List_Line_Rec_Type
13 , p_old_PRICE_LIST_LINE_rec IN OE_Price_List_PUB.Price_List_Line_Rec_Type :=
14 OE_Price_List_PUB.G_MISS_PRICE_LIST_LINE_REC
15 , x_PRICE_LIST_LINE_rec OUT NOCOPY /* file.sql.39 change */ OE_Price_List_PUB.Price_List_Line_Rec_Type
16 )
17 IS
18 l_index NUMBER := 0;
19 l_src_attr_tbl OE_GLOBALS.NUMBER_Tbl_Type;
20 l_dep_attr_tbl OE_GLOBALS.NUMBER_Tbl_Type;
21 BEGIN
22
23 -- Load out record
24
25 x_PRICE_LIST_LINE_rec := p_PRICE_LIST_LINE_rec;
26
27 -- If attr_id is missing compare old and new records and for
28 -- every changed attribute clear its dependent fields.
29
30 IF p_attr_id = FND_API.G_MISS_NUM THEN
31
32 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.attribute1,p_old_PRICE_LIST_LINE_rec.attribute1)
33 THEN
34 l_index := l_index + 1;
35 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_ATTRIBUTE1;
36 END IF;
37
38 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.attribute10,p_old_PRICE_LIST_LINE_rec.attribute10)
39 THEN
40 l_index := l_index + 1;
41 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_ATTRIBUTE10;
42 END IF;
43
44 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.attribute11,p_old_PRICE_LIST_LINE_rec.attribute11)
45 THEN
46 l_index := l_index + 1;
47 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_ATTRIBUTE11;
48 END IF;
49
50 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.attribute12,p_old_PRICE_LIST_LINE_rec.attribute12)
51 THEN
52 l_index := l_index + 1;
53 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_ATTRIBUTE12;
54 END IF;
55
56 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.attribute13,p_old_PRICE_LIST_LINE_rec.attribute13)
57 THEN
58 l_index := l_index + 1;
59 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_ATTRIBUTE13;
60 END IF;
61
62 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.attribute14,p_old_PRICE_LIST_LINE_rec.attribute14)
63 THEN
64 l_index := l_index + 1;
65 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_ATTRIBUTE14;
66 END IF;
67
68 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.attribute15,p_old_PRICE_LIST_LINE_rec.attribute15)
69 THEN
70 l_index := l_index + 1;
71 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_ATTRIBUTE15;
72 END IF;
73
74 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.attribute2,p_old_PRICE_LIST_LINE_rec.attribute2)
75 THEN
76 l_index := l_index + 1;
77 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_ATTRIBUTE2;
78 END IF;
79
80 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.attribute3,p_old_PRICE_LIST_LINE_rec.attribute3)
81 THEN
82 l_index := l_index + 1;
83 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_ATTRIBUTE3;
84 END IF;
85
86 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.attribute4,p_old_PRICE_LIST_LINE_rec.attribute4)
87 THEN
88 l_index := l_index + 1;
89 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_ATTRIBUTE4;
90 END IF;
91
92 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.attribute5,p_old_PRICE_LIST_LINE_rec.attribute5)
93 THEN
94 l_index := l_index + 1;
95 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_ATTRIBUTE5;
96 END IF;
97
98 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.attribute6,p_old_PRICE_LIST_LINE_rec.attribute6)
99 THEN
100 l_index := l_index + 1;
101 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_ATTRIBUTE6;
102 END IF;
103
104 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.attribute7,p_old_PRICE_LIST_LINE_rec.attribute7)
105 THEN
106 l_index := l_index + 1;
107 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_ATTRIBUTE7;
108 END IF;
109
110 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.attribute8,p_old_PRICE_LIST_LINE_rec.attribute8)
111 THEN
112 l_index := l_index + 1;
113 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_ATTRIBUTE8;
114 END IF;
115
116 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.attribute9,p_old_PRICE_LIST_LINE_rec.attribute9)
117 THEN
118 l_index := l_index + 1;
119 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_ATTRIBUTE9;
120 END IF;
121
122 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.comments,p_old_PRICE_LIST_LINE_rec.comments)
123 THEN
124 l_index := l_index + 1;
125 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_COMMENTS;
126 END IF;
127
128 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.context,p_old_PRICE_LIST_LINE_rec.context)
129 THEN
130 l_index := l_index + 1;
131 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_CONTEXT;
132 END IF;
133
134 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.created_by,p_old_PRICE_LIST_LINE_rec.created_by)
135 THEN
136 l_index := l_index + 1;
137 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_CREATED_BY;
138 END IF;
139
140 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.creation_date,p_old_PRICE_LIST_LINE_rec.creation_date)
141 THEN
142 l_index := l_index + 1;
143 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_CREATION_DATE;
144 END IF;
145
146 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.customer_item_id,p_old_PRICE_LIST_LINE_rec.customer_item_id)
147 THEN
148 l_index := l_index + 1;
149 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_CUSTOMER_ITEM;
150 END IF;
151
152 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.end_date_active,p_old_PRICE_LIST_LINE_rec.end_date_active)
153 THEN
154 l_index := l_index + 1;
155 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_END_DATE_ACTIVE;
156 END IF;
157
158 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.inventory_item_id,p_old_PRICE_LIST_LINE_rec.inventory_item_id)
159 THEN
160 l_index := l_index + 1;
161 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_INVENTORY_ITEM;
162 END IF;
163
164 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.last_updated_by,p_old_PRICE_LIST_LINE_rec.last_updated_by)
165 THEN
166 l_index := l_index + 1;
167 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_LAST_UPDATED_BY;
168 END IF;
169
170 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.last_update_date,p_old_PRICE_LIST_LINE_rec.last_update_date)
171 THEN
172 l_index := l_index + 1;
173 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_LAST_UPDATE_DATE;
174 END IF;
175
176 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.last_update_login,p_old_PRICE_LIST_LINE_rec.last_update_login)
177 THEN
178 l_index := l_index + 1;
179 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_LAST_UPDATE_LOGIN;
180 END IF;
181
182 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.list_price,p_old_PRICE_LIST_LINE_rec.list_price)
183 THEN
184 l_index := l_index + 1;
185 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_LIST_PRICE;
186 END IF;
187
188 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.method_code,p_old_PRICE_LIST_LINE_rec.method_code)
189 THEN
190 l_index := l_index + 1;
191 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_METHOD;
192 END IF;
193
194 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.price_list_id,p_old_PRICE_LIST_LINE_rec.price_list_id)
195 THEN
196 l_index := l_index + 1;
197 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_PRICE_LIST;
198 END IF;
199
200 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.price_list_line_id,p_old_PRICE_LIST_LINE_rec.price_list_line_id)
201 THEN
202 l_index := l_index + 1;
203 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_PRICE_LIST_LINE;
204 END IF;
205
206 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.pricing_attribute1,p_old_PRICE_LIST_LINE_rec.pricing_attribute1)
207 THEN
208 l_index := l_index + 1;
209 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_PRICING_ATTRIBUTE1;
210 END IF;
211
212 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.pricing_attribute10,p_old_PRICE_LIST_LINE_rec.pricing_attribute10)
213 THEN
214 l_index := l_index + 1;
215 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_PRICING_ATTRIBUTE10;
216 END IF;
217
218 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.pricing_attribute11,p_old_PRICE_LIST_LINE_rec.pricing_attribute11)
219 THEN
220 l_index := l_index + 1;
221 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_PRICING_ATTRIBUTE11;
222 END IF;
223
224 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.pricing_attribute12,p_old_PRICE_LIST_LINE_rec.pricing_attribute12)
225 THEN
226 l_index := l_index + 1;
227 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_PRICING_ATTRIBUTE12;
228 END IF;
229
230 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.pricing_attribute13,p_old_PRICE_LIST_LINE_rec.pricing_attribute13)
231 THEN
232 l_index := l_index + 1;
233 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_PRICING_ATTRIBUTE13;
234 END IF;
235
236 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.pricing_attribute14,p_old_PRICE_LIST_LINE_rec.pricing_attribute14)
237 THEN
238 l_index := l_index + 1;
239 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_PRICING_ATTRIBUTE14;
240 END IF;
241
242 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.pricing_attribute15,p_old_PRICE_LIST_LINE_rec.pricing_attribute15)
243 THEN
244 l_index := l_index + 1;
245 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_PRICING_ATTRIBUTE15;
246 END IF;
247
248 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.pricing_attribute2,p_old_PRICE_LIST_LINE_rec.pricing_attribute2)
249 THEN
250 l_index := l_index + 1;
251 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_PRICING_ATTRIBUTE2;
252 END IF;
253
254 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.pricing_attribute3,p_old_PRICE_LIST_LINE_rec.pricing_attribute3)
255 THEN
256 l_index := l_index + 1;
257 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_PRICING_ATTRIBUTE3;
258 END IF;
259
260 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.pricing_attribute4,p_old_PRICE_LIST_LINE_rec.pricing_attribute4)
261 THEN
262 l_index := l_index + 1;
263 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_PRICING_ATTRIBUTE4;
264 END IF;
265
266 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.pricing_attribute5,p_old_PRICE_LIST_LINE_rec.pricing_attribute5)
267 THEN
268 l_index := l_index + 1;
269 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_PRICING_ATTRIBUTE5;
270 END IF;
271
272 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.pricing_attribute6,p_old_PRICE_LIST_LINE_rec.pricing_attribute6)
273 THEN
274 l_index := l_index + 1;
275 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_PRICING_ATTRIBUTE6;
276 END IF;
277
278 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.pricing_attribute7,p_old_PRICE_LIST_LINE_rec.pricing_attribute7)
279 THEN
280 l_index := l_index + 1;
281 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_PRICING_ATTRIBUTE7;
282 END IF;
283
284 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.pricing_attribute8,p_old_PRICE_LIST_LINE_rec.pricing_attribute8)
285 THEN
286 l_index := l_index + 1;
287 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_PRICING_ATTRIBUTE8;
288 END IF;
289
290 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.pricing_attribute9,p_old_PRICE_LIST_LINE_rec.pricing_attribute9)
291 THEN
292 l_index := l_index + 1;
293 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_PRICING_ATTRIBUTE9;
294 END IF;
295
296 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.pricing_context,p_old_PRICE_LIST_LINE_rec.pricing_context)
297 THEN
298 l_index := l_index + 1;
299 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_PRICING_CONTEXT;
300 END IF;
301
302 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.pricing_rule_id,p_old_PRICE_LIST_LINE_rec.pricing_rule_id)
303 THEN
304 l_index := l_index + 1;
305 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_PRICING_RULE;
306 END IF;
307
308 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.primary,p_old_PRICE_LIST_LINE_rec.primary)
309 THEN
310 l_index := l_index + 1;
311 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_PRIMARY;
312 END IF;
313
314 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.program_application_id,p_old_PRICE_LIST_LINE_rec.program_application_id)
315 THEN
316 l_index := l_index + 1;
317 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_PROGRAM_APPLICATION;
318 END IF;
319
320 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.program_id,p_old_PRICE_LIST_LINE_rec.program_id)
321 THEN
322 l_index := l_index + 1;
323 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_PROGRAM;
324 END IF;
325
326 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.program_update_date,p_old_PRICE_LIST_LINE_rec.program_update_date)
327 THEN
328 l_index := l_index + 1;
329 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_PROGRAM_UPDATE_DATE;
330 END IF;
331
332 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.reprice_flag,p_old_PRICE_LIST_LINE_rec.reprice_flag)
333 THEN
334 l_index := l_index + 1;
335 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_REPRICE;
336 END IF;
337
338 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.request_id,p_old_PRICE_LIST_LINE_rec.request_id)
339 THEN
340 l_index := l_index + 1;
341 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_REQUEST;
342 END IF;
343
344 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.revision,p_old_PRICE_LIST_LINE_rec.revision)
345 THEN
346 l_index := l_index + 1;
347 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_REVISION;
348 END IF;
349
350 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.revision_date,p_old_PRICE_LIST_LINE_rec.revision_date)
351 THEN
352 l_index := l_index + 1;
353 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_REVISION_DATE;
354 END IF;
355
356 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.revision_reason_code,p_old_PRICE_LIST_LINE_rec.revision_reason_code)
357 THEN
358 l_index := l_index + 1;
359 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_REVISION_REASON;
360 END IF;
361
362 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.start_date_active,p_old_PRICE_LIST_LINE_rec.start_date_active)
363 THEN
364 l_index := l_index + 1;
365 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_START_DATE_ACTIVE;
366 END IF;
367
368 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.unit_code,p_old_PRICE_LIST_LINE_rec.unit_code)
369 THEN
370 l_index := l_index + 1;
371 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_UNIT;
372 END IF;
373
374 ELSIF p_attr_id = G_ATTRIBUTE1 THEN
375 l_index := l_index + 1;
376 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_ATTRIBUTE1;
377 ELSIF p_attr_id = G_ATTRIBUTE10 THEN
378 l_index := l_index + 1;
379 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_ATTRIBUTE10;
380 ELSIF p_attr_id = G_ATTRIBUTE11 THEN
381 l_index := l_index + 1;
382 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_ATTRIBUTE11;
383 ELSIF p_attr_id = G_ATTRIBUTE12 THEN
384 l_index := l_index + 1;
385 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_ATTRIBUTE12;
386 ELSIF p_attr_id = G_ATTRIBUTE13 THEN
387 l_index := l_index + 1;
388 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_ATTRIBUTE13;
389 ELSIF p_attr_id = G_ATTRIBUTE14 THEN
390 l_index := l_index + 1;
391 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_ATTRIBUTE14;
392 ELSIF p_attr_id = G_ATTRIBUTE15 THEN
393 l_index := l_index + 1;
394 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_ATTRIBUTE15;
395 ELSIF p_attr_id = G_ATTRIBUTE2 THEN
396 l_index := l_index + 1;
397 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_ATTRIBUTE2;
398 ELSIF p_attr_id = G_ATTRIBUTE3 THEN
399 l_index := l_index + 1;
400 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_ATTRIBUTE3;
401 ELSIF p_attr_id = G_ATTRIBUTE4 THEN
402 l_index := l_index + 1;
403 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_ATTRIBUTE4;
404 ELSIF p_attr_id = G_ATTRIBUTE5 THEN
405 l_index := l_index + 1;
406 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_ATTRIBUTE5;
407 ELSIF p_attr_id = G_ATTRIBUTE6 THEN
408 l_index := l_index + 1;
409 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_ATTRIBUTE6;
410 ELSIF p_attr_id = G_ATTRIBUTE7 THEN
411 l_index := l_index + 1;
412 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_ATTRIBUTE7;
413 ELSIF p_attr_id = G_ATTRIBUTE8 THEN
414 l_index := l_index + 1;
415 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_ATTRIBUTE8;
416 ELSIF p_attr_id = G_ATTRIBUTE9 THEN
417 l_index := l_index + 1;
418 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_ATTRIBUTE9;
419 ELSIF p_attr_id = G_COMMENTS THEN
420 l_index := l_index + 1;
421 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_COMMENTS;
422 ELSIF p_attr_id = G_CONTEXT THEN
423 l_index := l_index + 1;
424 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_CONTEXT;
425 ELSIF p_attr_id = G_CREATED_BY THEN
426 l_index := l_index + 1;
427 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_CREATED_BY;
428 ELSIF p_attr_id = G_CREATION_DATE THEN
429 l_index := l_index + 1;
430 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_CREATION_DATE;
431 ELSIF p_attr_id = G_CUSTOMER_ITEM THEN
432 l_index := l_index + 1;
433 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_CUSTOMER_ITEM;
434 ELSIF p_attr_id = G_END_DATE_ACTIVE THEN
435 l_index := l_index + 1;
436 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_END_DATE_ACTIVE;
437 ELSIF p_attr_id = G_INVENTORY_ITEM THEN
438 l_index := l_index + 1;
439 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_INVENTORY_ITEM;
440 ELSIF p_attr_id = G_LAST_UPDATED_BY THEN
441 l_index := l_index + 1;
442 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_LAST_UPDATED_BY;
443 ELSIF p_attr_id = G_LAST_UPDATE_DATE THEN
444 l_index := l_index + 1;
445 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_LAST_UPDATE_DATE;
446 ELSIF p_attr_id = G_LAST_UPDATE_LOGIN THEN
447 l_index := l_index + 1;
448 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_LAST_UPDATE_LOGIN;
449 ELSIF p_attr_id = G_LIST_PRICE THEN
450 l_index := l_index + 1;
451 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_LIST_PRICE;
452 ELSIF p_attr_id = G_METHOD THEN
453 l_index := l_index + 1;
454 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_METHOD;
455 ELSIF p_attr_id = G_PRICE_LIST THEN
456 l_index := l_index + 1;
457 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_PRICE_LIST;
458 ELSIF p_attr_id = G_PRICE_LIST_LINE THEN
459 l_index := l_index + 1;
460 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_PRICE_LIST_LINE;
461 ELSIF p_attr_id = G_PRICING_ATTRIBUTE1 THEN
462 l_index := l_index + 1;
463 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_PRICING_ATTRIBUTE1;
464 ELSIF p_attr_id = G_PRICING_ATTRIBUTE10 THEN
465 l_index := l_index + 1;
466 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_PRICING_ATTRIBUTE10;
467 ELSIF p_attr_id = G_PRICING_ATTRIBUTE11 THEN
468 l_index := l_index + 1;
469 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_PRICING_ATTRIBUTE11;
470 ELSIF p_attr_id = G_PRICING_ATTRIBUTE12 THEN
471 l_index := l_index + 1;
472 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_PRICING_ATTRIBUTE12;
473 ELSIF p_attr_id = G_PRICING_ATTRIBUTE13 THEN
474 l_index := l_index + 1;
475 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_PRICING_ATTRIBUTE13;
476 ELSIF p_attr_id = G_PRICING_ATTRIBUTE14 THEN
477 l_index := l_index + 1;
478 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_PRICING_ATTRIBUTE14;
479 ELSIF p_attr_id = G_PRICING_ATTRIBUTE15 THEN
480 l_index := l_index + 1;
481 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_PRICING_ATTRIBUTE15;
482 ELSIF p_attr_id = G_PRICING_ATTRIBUTE2 THEN
483 l_index := l_index + 1;
484 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_PRICING_ATTRIBUTE2;
485 ELSIF p_attr_id = G_PRICING_ATTRIBUTE3 THEN
486 l_index := l_index + 1;
487 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_PRICING_ATTRIBUTE3;
488 ELSIF p_attr_id = G_PRICING_ATTRIBUTE4 THEN
489 l_index := l_index + 1;
490 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_PRICING_ATTRIBUTE4;
491 ELSIF p_attr_id = G_PRICING_ATTRIBUTE5 THEN
492 l_index := l_index + 1;
493 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_PRICING_ATTRIBUTE5;
494 ELSIF p_attr_id = G_PRICING_ATTRIBUTE6 THEN
495 l_index := l_index + 1;
496 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_PRICING_ATTRIBUTE6;
497 ELSIF p_attr_id = G_PRICING_ATTRIBUTE7 THEN
498 l_index := l_index + 1;
499 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_PRICING_ATTRIBUTE7;
500 ELSIF p_attr_id = G_PRICING_ATTRIBUTE8 THEN
501 l_index := l_index + 1;
502 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_PRICING_ATTRIBUTE8;
503 ELSIF p_attr_id = G_PRICING_ATTRIBUTE9 THEN
504 l_index := l_index + 1;
505 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_PRICING_ATTRIBUTE9;
506 ELSIF p_attr_id = G_PRICING_CONTEXT THEN
507 l_index := l_index + 1;
508 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_PRICING_CONTEXT;
509 ELSIF p_attr_id = G_PRICING_RULE THEN
510 l_index := l_index + 1;
511 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_PRICING_RULE;
512 ELSIF p_attr_id = G_PRIMARY THEN
513 l_index := l_index + 1;
514 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_PRIMARY;
515 ELSIF p_attr_id = G_PROGRAM_APPLICATION THEN
516 l_index := l_index + 1;
517 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_PROGRAM_APPLICATION;
518 ELSIF p_attr_id = G_PROGRAM THEN
519 l_index := l_index + 1;
520 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_PROGRAM;
521 ELSIF p_attr_id = G_PROGRAM_UPDATE_DATE THEN
522 l_index := l_index + 1;
523 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_PROGRAM_UPDATE_DATE;
524 ELSIF p_attr_id = G_REPRICE THEN
525 l_index := l_index + 1;
526 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_REPRICE;
527 ELSIF p_attr_id = G_REQUEST THEN
528 l_index := l_index + 1;
529 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_REQUEST;
530 ELSIF p_attr_id = G_REVISION THEN
531 l_index := l_index + 1;
532 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_REVISION;
533 ELSIF p_attr_id = G_REVISION_DATE THEN
534 l_index := l_index + 1;
535 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_REVISION_DATE;
536 ELSIF p_attr_id = G_REVISION_REASON THEN
537 l_index := l_index + 1;
538 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_REVISION_REASON;
539 ELSIF p_attr_id = G_START_DATE_ACTIVE THEN
540 l_index := l_index + 1;
541 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_START_DATE_ACTIVE;
542 ELSIF p_attr_id = G_UNIT THEN
543 l_index := l_index + 1;
544 l_src_attr_tbl(l_index) := OE_PRICE_LIST_LINE_UTIL.G_UNIT;
545 END IF;
546
547 END Clear_Dependent_Attr;
548
549 -- Procedure Apply_Attribute_Changes
550
551 PROCEDURE Apply_Attribute_Changes
552 ( p_PRICE_LIST_LINE_rec IN OE_Price_List_PUB.Price_List_Line_Rec_Type
553 , p_old_PRICE_LIST_LINE_rec IN OE_Price_List_PUB.Price_List_Line_Rec_Type :=
554 OE_Price_List_PUB.G_MISS_PRICE_LIST_LINE_REC
555 , x_PRICE_LIST_LINE_rec OUT NOCOPY /* file.sql.39 change */ OE_Price_List_PUB.Price_List_Line_Rec_Type
556 )
557 IS
558 l_primary_exists BOOLEAN;
559 BEGIN
560
561 oe_debug_pub.add('Entering OE_Price_List_Line_Util.Apply_Attribute_Changes' || p_Price_List_Line_rec.price_list_id || ' ' || p_PRICE_LIST_LINE_rec.price_list_line_id);
562
563 -- Load out record
564
565 x_PRICE_LIST_LINE_rec := p_PRICE_LIST_LINE_rec;
566
567 IF ( NOT OE_GLOBALS.Equal(p_Price_List_Line_rec.attribute1,p_old_Price_List_Line_rec.attribute1) )
568 OR ( NOT OE_GLOBALS.Equal(p_Price_List_Line_rec.attribute10,p_old_Price_List_Line_rec.attribute10))
569 OR ( NOT OE_GLOBALS.Equal(p_Price_List_Line_rec.attribute11,p_old_Price_List_Line_rec.attribute11) )
570 OR ( NOT OE_GLOBALS.Equal(p_Price_List_Line_rec.attribute12,p_old_Price_List_Line_rec.attribute12))
571 OR ( NOT OE_GLOBALS.Equal(p_Price_List_Line_rec.attribute13,p_old_Price_List_Line_rec.attribute13))
572 OR (NOT OE_GLOBALS.Equal(p_Price_List_Line_rec.attribute14,p_old_Price_List_Line_rec.attribute14))
573 OR (NOT OE_GLOBALS.Equal(p_Price_List_Line_rec.attribute15,p_old_Price_List_Line_rec.attribute15))
574 OR (NOT OE_GLOBALS.Equal(p_Price_List_Line_rec.attribute2,p_old_Price_List_Line_rec.attribute2))
575 OR (NOT OE_GLOBALS.Equal(p_Price_List_Line_rec.attribute3,p_old_Price_List_Line_rec.attribute3))
576 OR (NOT OE_GLOBALS.Equal(p_Price_List_Line_rec.attribute4,p_old_Price_List_Line_rec.attribute4))
577 OR (NOT OE_GLOBALS.Equal(p_Price_List_Line_rec.attribute5,p_old_Price_List_Line_rec.attribute5))
578 OR (NOT OE_GLOBALS.Equal(p_Price_List_Line_rec.attribute6,p_old_Price_List_Line_rec.attribute6))
579 OR (NOT OE_GLOBALS.Equal(p_Price_List_Line_rec.attribute7,p_old_Price_List_Line_rec.attribute7))
580 OR (NOT OE_GLOBALS.Equal(p_Price_List_Line_rec.attribute8,p_old_Price_List_Line_rec.attribute8))
581 OR (NOT OE_GLOBALS.Equal(p_Price_List_Line_rec.attribute9,p_old_Price_List_Line_rec.attribute9))
582 OR (NOT OE_GLOBALS.Equal(p_Price_List_Line_rec.context,p_old_Price_List_Line_rec.context))
583 THEN
584 -- Validate descriptive flexfield.
585
586 IF NOT OE_Validate_Attr.Desc_Flex( 'PRICE_LIST_LINE' ) THEN
587 x_Price_List_Line_rec.return_status := FND_API.G_RET_STS_ERROR;
588 END IF;
589
590 END IF;
591
592 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.attribute1,p_old_PRICE_LIST_LINE_rec.attribute1)
593 THEN
594 NULL;
595 END IF;
596
597 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.attribute10,p_old_PRICE_LIST_LINE_rec.attribute10)
598 THEN
599 NULL;
600 END IF;
601
602 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.attribute11,p_old_PRICE_LIST_LINE_rec.attribute11)
603 THEN
604 NULL;
605 END IF;
606
607 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.attribute12,p_old_PRICE_LIST_LINE_rec.attribute12)
608 THEN
609 NULL;
610 END IF;
611
612 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.attribute13,p_old_PRICE_LIST_LINE_rec.attribute13)
613 THEN
614 NULL;
615 END IF;
616
617 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.attribute14,p_old_PRICE_LIST_LINE_rec.attribute14)
618 THEN
619 NULL;
620 END IF;
621
622 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.attribute15,p_old_PRICE_LIST_LINE_rec.attribute15)
623 THEN
624 NULL;
625 END IF;
626
627 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.attribute2,p_old_PRICE_LIST_LINE_rec.attribute2)
628 THEN
629 NULL;
630 END IF;
631
632 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.attribute3,p_old_PRICE_LIST_LINE_rec.attribute3)
633 THEN
634 NULL;
635 END IF;
636
637 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.attribute4,p_old_PRICE_LIST_LINE_rec.attribute4)
638 THEN
639 NULL;
640 END IF;
641
642 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.attribute5,p_old_PRICE_LIST_LINE_rec.attribute5)
643 THEN
644 NULL;
645 END IF;
646
647 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.attribute6,p_old_PRICE_LIST_LINE_rec.attribute6)
648 THEN
649 NULL;
650 END IF;
651
652 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.attribute7,p_old_PRICE_LIST_LINE_rec.attribute7)
653 THEN
654 NULL;
655 END IF;
656
657 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.attribute8,p_old_PRICE_LIST_LINE_rec.attribute8)
658 THEN
659 NULL;
660 END IF;
661
662 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.attribute9,p_old_PRICE_LIST_LINE_rec.attribute9)
663 THEN
664 NULL;
665 END IF;
666
667
668 IF NOT OE_GLOBALS.Equal(p_Price_List_Line_rec.comments,p_old_Price_List_Line_rec.comments)
669 THEN
670 IF NOT OE_Validate_Attr.Comments(p_Price_List_Line_rec.comments) THEN
671 x_Price_List_Line_rec.return_status := FND_API.G_RET_STS_ERROR;
672 END IF;
673 END IF;
674
675 IF NOT OE_GLOBALS.Equal(p_Price_List_Line_rec.context,p_old_Price_List_Line_rec.context)
676 THEN
677 NULL; /* need to figure out how to check this for desc flex field */
678 END IF;
679
680 IF NOT OE_GLOBALS.Equal(p_Price_List_Line_rec.created_by,p_old_Price_List_Line_rec.created_by)
681 THEN
682 IF NOT OE_Validate_Attr.Created_By(p_Price_List_Line_rec.created_by) THEN
683 x_Price_List_Line_rec.return_status := FND_API.G_RET_STS_ERROR;
684 END IF;
685 END IF;
686
687 IF NOT OE_GLOBALS.Equal(p_Price_List_Line_rec.creation_date,p_old_Price_List_Line_rec.creation_date)
688 THEN
689 IF NOT OE_Validate_Attr.Creation_Date(p_Price_List_Line_rec.creation_date)
690 THEN
691 x_Price_List_Line_rec.return_status := FND_API.G_RET_STS_ERROR;
692 END IF;
693 END IF;
694
695 IF NOT OE_GLOBALS.Equal(p_Price_List_Line_rec.customer_item_id,p_old_Price_List_Line_rec.customer_item_id)
696 THEN
697 IF NOT OE_Validate_Attr.Customer_Item(p_Price_List_Line_rec.customer_item_id)
698 THEN
699 x_Price_List_Line_rec.return_status := FND_API.G_RET_STS_ERROR;
700 END IF;
701 END IF;
702
703 IF NOT OE_GLOBALS.Equal(p_Price_List_Line_rec.end_date_active,p_old_Price_List_Line_rec.end_date_active)
704 THEN
705 IF NOT OE_Validate_Attr.End_Date_Active(p_Price_List_Line_rec.end_date_active) THEN
706 x_Price_List_Line_rec.return_status := FND_API.G_RET_STS_ERROR;
707
708 ELSIF NOT OE_Validate_Attr.Start_Date_End_Date(
709 p_Price_List_Line_rec.start_date_active,
710 p_Price_List_Line_rec.end_date_active) THEN
711 x_Price_List_Line_rec.return_status := FND_API.G_RET_STS_ERROR;
712
713 END IF;
714 END IF;
715
716 IF NOT OE_GLOBALS.Equal(p_Price_List_Line_rec.inventory_item_id,p_old_Price_List_Line_rec.inventory_item_id)
717 THEN
718 IF NOT OE_Validate_Attr.Inventory_Item(p_Price_List_Line_rec.inventory_item_id) THEN
719 x_Price_List_Line_rec.return_status := FND_API.G_RET_STS_ERROR;
720 END IF;
721 END IF;
722
723 IF NOT OE_GLOBALS.Equal(p_Price_List_Line_rec.last_updated_by,p_old_Price_List_Line_rec.last_updated_by)
724 THEN
725 IF NOT OE_Validate_Attr.Last_Updated_By(p_Price_List_Line_rec.last_updated_by)
726 THEN
727 x_Price_List_Line_rec.return_status := FND_API.G_RET_STS_ERROR;
728 END IF;
729 END IF;
730
731 IF NOT OE_GLOBALS.Equal(p_Price_List_Line_rec.last_update_date,p_old_Price_List_Line_rec.last_update_date)
732 THEN
733 IF NOT OE_Validate_Attr.Last_Update_Date(p_Price_List_Line_rec.last_update_date) THEN
734 x_Price_List_Line_rec.return_status := FND_API.G_RET_STS_ERROR;
735 END IF;
736 END IF;
737
738 IF NOT OE_GLOBALS.Equal(p_Price_List_Line_rec.last_update_login,p_old_Price_List_Line_rec.last_update_login)
739 THEN
740 IF NOT OE_Validate_Attr.Last_Update_Login(p_Price_List_Line_rec.last_update_login) THEN
741 x_Price_List_Line_rec.return_status := FND_API.G_RET_STS_ERROR;
742 END IF;
743 END IF;
744
745 IF NOT OE_GLOBALS.Equal(p_Price_List_Line_rec.list_price,p_old_Price_List_Line_rec.list_price)
746 THEN
747 IF NOT OE_Validate_Attr.List_Price(p_Price_List_Line_rec.list_price) THEN
748 x_Price_List_Line_rec.return_status := FND_API.G_RET_STS_ERROR;
749 END IF;
750 END IF;
751
752 IF NOT OE_GLOBALS.Equal(p_Price_List_Line_rec.method_code,p_old_Price_List_Line_rec.method_code)
753 THEN
754 IF NOT OE_Validate_Attr.Method(p_Price_List_Line_rec.method_code) THEN
755 x_Price_List_Line_rec.return_status := FND_API.G_RET_STS_ERROR;
756 END IF;
757 END IF;
758
759 IF NOT OE_GLOBALS.Equal(p_Price_List_Line_rec.price_list_id,p_old_Price_List_Line_rec.price_list_id)
760 THEN
761 IF NOT OE_Validate_Attr.Price_List(p_Price_List_Line_rec.price_list_id)
762 THEN
763 x_Price_List_Line_rec.return_status := FND_API.G_RET_STS_ERROR;
764 END IF;
765 END IF;
766
767 IF NOT OE_GLOBALS.Equal(p_Price_List_Line_rec.price_list_line_id,p_old_Price_List_Line_rec.price_list_line_id)
768 THEN
769 IF NOT OE_Validate_Attr.Price_List_Line(p_Price_List_Line_rec.price_list_line_id) THEN
770 x_Price_List_Line_rec.return_status := FND_API.G_RET_STS_ERROR;
771 END IF;
772 END IF;
773
774 IF NOT OE_GLOBALS.Equal(p_Price_List_Line_rec.pricing_attribute1,p_old_Price_List_Line_rec.pricing_attribute1)
775 THEN
776 IF NOT OE_Validate_Attr.Pricing_Attribute1(p_Price_List_Line_rec.pricing_attribute1) THEN
777 x_Price_List_Line_rec.return_status := FND_API.G_RET_STS_ERROR;
778 END IF;
779 END IF;
780
781 IF NOT OE_GLOBALS.Equal(p_Price_List_Line_rec.pricing_attribute10,p_old_Price_List_Line_rec.pricing_attribute10)
782 THEN
783 IF NOT OE_Validate_Attr.Pricing_Attribute10(p_Price_List_Line_rec.pricing_attribute10)
784 THEN
785 x_Price_List_Line_rec.return_status := FND_API.G_RET_STS_ERROR;
786 END IF;
787 END IF;
788
789 IF NOT OE_GLOBALS.Equal(p_Price_List_Line_rec.pricing_attribute11,p_old_Price_List_Line_rec.pricing_attribute11)
790 THEN
791 IF NOT OE_Validate_Attr.Pricing_Attribute11(p_Price_List_Line_rec.pricing_attribute11)
792 THEN
793 x_Price_List_Line_rec.return_status := FND_API.G_RET_STS_ERROR;
794 END IF;
795 END IF;
796
797 IF NOT OE_GLOBALS.Equal(p_Price_List_Line_rec.pricing_attribute12,p_old_Price_List_Line_rec.pricing_attribute12)
798 THEN
799 IF NOT OE_Validate_Attr.Pricing_Attribute12(p_Price_List_Line_rec.pricing_attribute12)
800 THEN
801 x_Price_List_Line_rec.return_status := FND_API.G_RET_STS_ERROR;
802 END IF;
803 END IF;
804
805 IF NOT OE_GLOBALS.Equal(p_Price_List_Line_rec.pricing_attribute13,p_old_Price_List_Line_rec.pricing_attribute13)
806 THEN
807 IF NOT OE_Validate_Attr.Pricing_Attribute13(p_Price_List_Line_rec.pricing_attribute13)
808 THEN
809 x_Price_List_Line_rec.return_status := FND_API.G_RET_STS_ERROR;
810 END IF;
811 END IF;
812
813 IF NOT OE_GLOBALS.Equal(p_Price_List_Line_rec.pricing_attribute14,p_old_Price_List_Line_rec.pricing_attribute14)
814 THEN
815 IF NOT OE_Validate_Attr.Pricing_Attribute14(p_Price_List_Line_rec.pricing_attribute14)
816 THEN
817 x_Price_List_Line_rec.return_status := FND_API.G_RET_STS_ERROR;
818 END IF;
819 END IF;
820
821 IF NOT OE_GLOBALS.Equal(p_Price_List_Line_rec.pricing_attribute15,p_old_Price_List_Line_rec.pricing_attribute15)
822 THEN
823 IF NOT OE_Validate_Attr.Pricing_Attribute15(p_Price_List_Line_rec.pricing_attribute15)
824 THEN
825 x_Price_List_Line_rec.return_status := FND_API.G_RET_STS_ERROR;
826 END IF;
827 END IF;
828
829 IF NOT OE_GLOBALS.Equal(p_Price_List_Line_rec.pricing_attribute2,p_old_Price_List_Line_rec.pricing_attribute2)
830 THEN
831 IF NOT OE_Validate_Attr.Pricing_Attribute2(p_Price_List_Line_rec.pricing_attribute2)
832 THEN
833 x_Price_List_Line_rec.return_status := FND_API.G_RET_STS_ERROR;
834 END IF;
835 END IF;
836
837 IF NOT OE_GLOBALS.Equal(p_Price_List_Line_rec.pricing_attribute3,p_old_Price_List_Line_rec.pricing_attribute3)
838 THEN
839 IF NOT OE_Validate_Attr.Pricing_Attribute3(p_Price_List_Line_rec.pricing_attribute3)
840 THEN
841 x_Price_List_Line_rec.return_status := FND_API.G_RET_STS_ERROR;
842 END IF;
843 END IF;
844
845 IF NOT OE_GLOBALS.Equal(p_Price_List_Line_rec.pricing_attribute4,p_old_Price_List_Line_rec.pricing_attribute4)
846 THEN
847 IF NOT OE_Validate_Attr.Pricing_Attribute4(p_Price_List_Line_rec.pricing_attribute4)
848 THEN
849 x_Price_List_Line_rec.return_status := FND_API.G_RET_STS_ERROR;
850 END IF;
851 END IF;
852
853 IF NOT OE_GLOBALS.Equal(p_Price_List_Line_rec.pricing_attribute5,p_old_Price_List_Line_rec.pricing_attribute5)
854 THEN
855 IF NOT OE_Validate_Attr.Pricing_Attribute5(p_Price_List_Line_rec.pricing_attribute5)
856 THEN
857 x_Price_List_Line_rec.return_status := FND_API.G_RET_STS_ERROR;
858 END IF;
859 END IF;
860
861 IF NOT OE_GLOBALS.Equal(p_Price_List_Line_rec.pricing_attribute6,p_old_Price_List_Line_rec.pricing_attribute6)
862 THEN
863 IF NOT OE_Validate_Attr.Pricing_Attribute6(p_Price_List_Line_rec.pricing_attribute6)
864 THEN
865 x_Price_List_Line_rec.return_status := FND_API.G_RET_STS_ERROR;
866 END IF;
867 END IF;
868
869 IF NOT OE_GLOBALS.Equal(p_Price_List_Line_rec.pricing_attribute7,p_old_Price_List_Line_rec.pricing_attribute7)
870 THEN
871 IF NOT OE_Validate_Attr.Pricing_Attribute7(p_Price_List_Line_rec.pricing_attribute7)
872 THEN
873 x_Price_List_Line_rec.return_status := FND_API.G_RET_STS_ERROR;
874 END IF;
875 END IF;
876
877 IF NOT OE_GLOBALS.Equal(p_Price_List_Line_rec.pricing_attribute8,p_old_Price_List_Line_rec.pricing_attribute8)
878 THEN
879 IF NOT OE_Validate_Attr.Pricing_Attribute8(p_Price_List_Line_rec.pricing_attribute8)
880 THEN
881 x_Price_List_Line_rec.return_status := FND_API.G_RET_STS_ERROR;
882 END IF;
883 END IF;
884
885 IF NOT OE_GLOBALS.Equal(p_Price_List_Line_rec.pricing_attribute9,p_old_Price_List_Line_rec.pricing_attribute9)
886 THEN
887 IF NOT OE_Validate_Attr.Pricing_Attribute9(p_Price_List_Line_rec.pricing_attribute9)
888 THEN
889 x_Price_List_Line_rec.return_status := FND_API.G_RET_STS_ERROR;
890 END IF;
891 END IF;
892
893 IF NOT OE_GLOBALS.Equal(p_Price_List_Line_rec.pricing_context,p_old_Price_List_Line_rec.pricing_context)
894 THEN
895 IF NOT OE_Validate_Attr.Pricing_Context(p_Price_List_Line_rec.pricing_context) THEN
896 x_Price_List_Line_rec.return_status := FND_API.G_RET_STS_ERROR;
897 END IF;
898 END IF;
899
900 IF NOT OE_GLOBALS.Equal(p_Price_List_Line_rec.pricing_rule_id,p_old_Price_List_Line_rec.pricing_rule_id)
901 THEN
902 IF NOT OE_Validate_Attr.Pricing_Rule(p_Price_List_Line_rec.pricing_rule_id)
903 THEN
904 x_Price_List_Line_rec.return_status := FND_API.G_RET_STS_ERROR;
905 END IF;
906 END IF;
907
908 IF NOT OE_GLOBALS.Equal(p_Price_List_Line_rec.program_application_id,p_old_Price_List_Line_rec.program_application_id)
909 THEN
910 IF NOT OE_Validate_Attr.Program_Application(p_Price_List_Line_rec.program_application_id) THEN
911 x_Price_List_Line_rec.return_status := FND_API.G_RET_STS_ERROR;
912 END IF;
913 END IF;
914
915 IF NOT OE_GLOBALS.Equal(p_Price_List_Line_rec.program_id,p_old_Price_List_Line_rec.program_id)
916 THEN
917 IF NOT OE_Validate_Attr.Program(p_Price_List_Line_rec.program_id) THEN
918 x_Price_List_Line_rec.return_status := FND_API.G_RET_STS_ERROR;
919 END IF;
920 END IF;
921
922 IF NOT OE_GLOBALS.Equal(p_Price_List_Line_rec.program_update_date,p_old_Price_List_Line_rec.program_update_date)
923 THEN
924 IF NOT OE_Validate_Attr.Program_Update_Date(p_Price_List_Line_rec.program_update_date) THEN
925 x_Price_List_Line_rec.return_status := FND_API.G_RET_STS_ERROR;
926 END IF;
927 END IF;
928
929 IF NOT OE_GLOBALS.Equal(p_Price_List_Line_rec.reprice_flag,p_old_Price_List_Line_rec.reprice_flag)
930 THEN
931 IF NOT OE_Validate_Attr.Reprice(p_Price_List_Line_rec.reprice_flag) THEN
932 x_Price_List_Line_rec.return_status := FND_API.G_RET_STS_ERROR;
933 END IF;
934 END IF;
935
936 IF NOT OE_GLOBALS.Equal(p_Price_List_Line_rec.request_id,p_old_Price_List_Line_rec.request_id)
937 THEN
938 IF NOT OE_Validate_Attr.Request(p_Price_List_Line_rec.request_id) THEN
939 x_Price_List_Line_rec.return_status := FND_API.G_RET_STS_ERROR;
940 END IF;
941 END IF;
942
943 IF NOT OE_GLOBALS.Equal(p_Price_List_Line_rec.revision,p_old_Price_List_Line_rec.revision)
944 THEN
945 IF NOT OE_Validate_Attr.Revision(p_Price_List_Line_rec.revision) THEN
946 x_Price_List_Line_rec.return_status := FND_API.G_RET_STS_ERROR;
947 END IF;
948 END IF;
949
950 IF NOT OE_GLOBALS.Equal(p_Price_List_Line_rec.revision_date,p_old_Price_List_Line_rec.revision_date)
951 THEN
952 IF NOT OE_Validate_Attr.Revision_Date(p_Price_List_Line_rec.revision_date) THEN
953 x_Price_List_Line_rec.return_status := FND_API.G_RET_STS_ERROR;
954 END IF;
955 END IF;
956
957 IF NOT OE_GLOBALS.Equal(p_Price_List_Line_rec.revision_reason_code,p_old_Price_List_Line_rec.revision_reason_code)
958 THEN
959 IF NOT OE_Validate_Attr.Revision_Reason(p_Price_List_Line_rec.revision_reason_code) THEN
960 x_Price_List_Line_rec.return_status := FND_API.G_RET_STS_ERROR;
961 END IF;
962 END IF;
963
964 IF NOT OE_GLOBALS.Equal(p_Price_List_Line_rec.start_date_active,p_old_Price_List_Line_rec.start_date_active)
965 THEN
966 IF NOT OE_Validate_Attr.Start_Date_Active(p_Price_List_Line_rec.start_date_active) THEN
967 x_Price_List_Line_rec.return_status := FND_API.G_RET_STS_ERROR;
968
969 ELSIF NOT OE_Validate_Attr.Start_Date_End_Date(
970 p_Price_List_Line_rec.start_date_active,
971 p_Price_List_Line_rec.end_date_active) THEN
972 x_Price_List_Line_rec.return_status := FND_API.G_RET_STS_ERROR;
973
974 END IF;
975 END IF;
976
977 IF NOT OE_GLOBALS.Equal(p_Price_List_Line_rec.unit_code,p_old_Price_List_Line_rec.unit_code)
978 THEN
979 IF NOT OE_Validate_Attr.Unit(p_Price_List_Line_rec.unit_code) THEN
980 x_Price_List_Line_rec.return_status := FND_API.G_RET_STS_ERROR;
981 END IF;
982 END IF;
983
984 IF NOT OE_GLOBALS.Equal(p_Price_List_Line_rec.primary,p_old_Price_List_Line_rec.primary)
985 THEN
986
987 -- 2 parameters added start date and end date :: Geresh
988 l_primary_exists :=
989 OE_VALIDATE_ATTR.PRIMARY_EXISTS(
990 p_Price_List_Line_rec.price_list_id,
991 p_Price_List_Line_rec.inventory_item_id,
992 p_Price_List_Line_rec.customer_item_id,
993 p_Price_List_Line_rec.pricing_attribute1,
994 p_Price_List_Line_rec.pricing_attribute2,
995 p_Price_List_Line_rec.pricing_attribute3,
996 p_Price_List_Line_rec.pricing_attribute4,
997 p_Price_List_Line_rec.pricing_attribute5,
998 p_Price_List_Line_rec.pricing_attribute6,
999 p_Price_List_Line_rec.pricing_attribute7,
1000 p_Price_List_Line_rec.pricing_attribute8,
1001 p_Price_List_Line_rec.pricing_attribute9,
1002 p_Price_List_Line_rec.pricing_attribute10,
1003 p_Price_List_Line_rec.pricing_attribute11,
1004 p_Price_List_Line_rec.pricing_attribute12,
1005 p_Price_List_Line_rec.pricing_attribute13,
1006 p_Price_List_Line_rec.pricing_attribute14,
1007 p_Price_List_Line_rec.pricing_attribute15,
1008 p_Price_List_Line_rec.start_date_active ,
1009 p_Price_List_Line_rec.end_date_active );
1010
1011 oe_debug_pub.add('price line rec primary ulb is : ' || p_Price_List_Line_rec.primary);
1012
1013 IF p_Price_List_Line_rec.primary = 'Y' THEN
1014
1015 IF l_primary_exists THEN
1016
1017 /*
1018 x_Price_List_Line_rec.primary := 'N';
1019 */
1020
1021 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
1022 THEN
1023 FND_MESSAGE.SET_NAME('OE','OE_CANNOT_CREATE_PRIMARY');
1024 OE_MSG_PUB.Add;
1025
1026 END IF;
1027
1028
1029 x_Price_List_Line_rec.return_status := FND_API.G_RET_STS_ERROR;
1030
1031 END IF;
1032
1033
1034
1035 END IF;
1036
1037 END IF;
1038
1039 oe_debug_pub.add('Exiting OE_Price_List_Line_Util.Apply_Attribute_Changes');
1040
1041 END Apply_Attribute_Changes;
1042
1043
1044 -- Function Complete_Record
1045
1046 FUNCTION Complete_Record
1047 ( p_PRICE_LIST_LINE_rec IN OE_Price_List_PUB.Price_List_Line_Rec_Type
1048 , p_old_PRICE_LIST_LINE_rec IN OE_Price_List_PUB.Price_List_Line_Rec_Type
1049 ) RETURN OE_Price_List_PUB.Price_List_Line_Rec_Type
1050 IS
1051 l_PRICE_LIST_LINE_rec OE_Price_List_PUB.Price_List_Line_Rec_Type := p_PRICE_LIST_LINE_rec;
1052 BEGIN
1053
1054 IF l_PRICE_LIST_LINE_rec.attribute1 = FND_API.G_MISS_CHAR THEN
1055 l_PRICE_LIST_LINE_rec.attribute1 := p_old_PRICE_LIST_LINE_rec.attribute1;
1056 END IF;
1057
1058 IF l_PRICE_LIST_LINE_rec.attribute10 = FND_API.G_MISS_CHAR THEN
1059 l_PRICE_LIST_LINE_rec.attribute10 := p_old_PRICE_LIST_LINE_rec.attribute10;
1060 END IF;
1061
1062 IF l_PRICE_LIST_LINE_rec.attribute11 = FND_API.G_MISS_CHAR THEN
1063 l_PRICE_LIST_LINE_rec.attribute11 := p_old_PRICE_LIST_LINE_rec.attribute11;
1064 END IF;
1065
1066 IF l_PRICE_LIST_LINE_rec.attribute12 = FND_API.G_MISS_CHAR THEN
1067 l_PRICE_LIST_LINE_rec.attribute12 := p_old_PRICE_LIST_LINE_rec.attribute12;
1068 END IF;
1069
1070 IF l_PRICE_LIST_LINE_rec.attribute13 = FND_API.G_MISS_CHAR THEN
1071 l_PRICE_LIST_LINE_rec.attribute13 := p_old_PRICE_LIST_LINE_rec.attribute13;
1072 END IF;
1073
1074 IF l_PRICE_LIST_LINE_rec.attribute14 = FND_API.G_MISS_CHAR THEN
1075 l_PRICE_LIST_LINE_rec.attribute14 := p_old_PRICE_LIST_LINE_rec.attribute14;
1076 END IF;
1077
1078 IF l_PRICE_LIST_LINE_rec.attribute15 = FND_API.G_MISS_CHAR THEN
1079 l_PRICE_LIST_LINE_rec.attribute15 := p_old_PRICE_LIST_LINE_rec.attribute15;
1080 END IF;
1081
1082 IF l_PRICE_LIST_LINE_rec.attribute2 = FND_API.G_MISS_CHAR THEN
1083 l_PRICE_LIST_LINE_rec.attribute2 := p_old_PRICE_LIST_LINE_rec.attribute2;
1084 END IF;
1085
1086 IF l_PRICE_LIST_LINE_rec.attribute3 = FND_API.G_MISS_CHAR THEN
1087 l_PRICE_LIST_LINE_rec.attribute3 := p_old_PRICE_LIST_LINE_rec.attribute3;
1088 END IF;
1089
1090 IF l_PRICE_LIST_LINE_rec.attribute4 = FND_API.G_MISS_CHAR THEN
1091 l_PRICE_LIST_LINE_rec.attribute4 := p_old_PRICE_LIST_LINE_rec.attribute4;
1092 END IF;
1093
1094 IF l_PRICE_LIST_LINE_rec.attribute5 = FND_API.G_MISS_CHAR THEN
1095 l_PRICE_LIST_LINE_rec.attribute5 := p_old_PRICE_LIST_LINE_rec.attribute5;
1096 END IF;
1097
1098 IF l_PRICE_LIST_LINE_rec.attribute6 = FND_API.G_MISS_CHAR THEN
1099 l_PRICE_LIST_LINE_rec.attribute6 := p_old_PRICE_LIST_LINE_rec.attribute6;
1100 END IF;
1101
1102 IF l_PRICE_LIST_LINE_rec.attribute7 = FND_API.G_MISS_CHAR THEN
1103 l_PRICE_LIST_LINE_rec.attribute7 := p_old_PRICE_LIST_LINE_rec.attribute7;
1104 END IF;
1105
1106 IF l_PRICE_LIST_LINE_rec.attribute8 = FND_API.G_MISS_CHAR THEN
1107 l_PRICE_LIST_LINE_rec.attribute8 := p_old_PRICE_LIST_LINE_rec.attribute8;
1108 END IF;
1109
1110 IF l_PRICE_LIST_LINE_rec.attribute9 = FND_API.G_MISS_CHAR THEN
1111 l_PRICE_LIST_LINE_rec.attribute9 := p_old_PRICE_LIST_LINE_rec.attribute9;
1112 END IF;
1113
1114 IF l_PRICE_LIST_LINE_rec.comments = FND_API.G_MISS_CHAR THEN
1115 l_PRICE_LIST_LINE_rec.comments := p_old_PRICE_LIST_LINE_rec.comments;
1116 END IF;
1117
1118 IF l_PRICE_LIST_LINE_rec.context = FND_API.G_MISS_CHAR THEN
1119 l_PRICE_LIST_LINE_rec.context := p_old_PRICE_LIST_LINE_rec.context;
1120 END IF;
1121
1122 IF l_PRICE_LIST_LINE_rec.created_by = FND_API.G_MISS_NUM THEN
1123 l_PRICE_LIST_LINE_rec.created_by := p_old_PRICE_LIST_LINE_rec.created_by;
1124 END IF;
1125
1126 IF l_PRICE_LIST_LINE_rec.creation_date = FND_API.G_MISS_DATE THEN
1127 l_PRICE_LIST_LINE_rec.creation_date := p_old_PRICE_LIST_LINE_rec.creation_date;
1128 END IF;
1129
1130 IF l_PRICE_LIST_LINE_rec.customer_item_id = FND_API.G_MISS_NUM THEN
1131 l_PRICE_LIST_LINE_rec.customer_item_id := p_old_PRICE_LIST_LINE_rec.customer_item_id;
1132 END IF;
1133
1134 IF l_PRICE_LIST_LINE_rec.end_date_active = FND_API.G_MISS_DATE THEN
1135 l_PRICE_LIST_LINE_rec.end_date_active := p_old_PRICE_LIST_LINE_rec.end_date_active;
1136 END IF;
1137
1138 IF l_PRICE_LIST_LINE_rec.inventory_item_id = FND_API.G_MISS_NUM THEN
1139 l_PRICE_LIST_LINE_rec.inventory_item_id := p_old_PRICE_LIST_LINE_rec.inventory_item_id;
1140 END IF;
1141
1142 IF l_PRICE_LIST_LINE_rec.last_updated_by = FND_API.G_MISS_NUM THEN
1143 l_PRICE_LIST_LINE_rec.last_updated_by := p_old_PRICE_LIST_LINE_rec.last_updated_by;
1144 END IF;
1145
1146 IF l_PRICE_LIST_LINE_rec.last_update_date = FND_API.G_MISS_DATE THEN
1147 l_PRICE_LIST_LINE_rec.last_update_date := p_old_PRICE_LIST_LINE_rec.last_update_date;
1148 END IF;
1149
1150 IF l_PRICE_LIST_LINE_rec.last_update_login = FND_API.G_MISS_NUM THEN
1151 l_PRICE_LIST_LINE_rec.last_update_login := p_old_PRICE_LIST_LINE_rec.last_update_login;
1152 END IF;
1153
1154 IF l_PRICE_LIST_LINE_rec.list_price = FND_API.G_MISS_NUM THEN
1155 l_PRICE_LIST_LINE_rec.list_price := p_old_PRICE_LIST_LINE_rec.list_price;
1156 END IF;
1157
1158 IF l_PRICE_LIST_LINE_rec.method_code = FND_API.G_MISS_CHAR THEN
1159 l_PRICE_LIST_LINE_rec.method_code := p_old_PRICE_LIST_LINE_rec.method_code;
1160 END IF;
1161
1162 IF l_PRICE_LIST_LINE_rec.price_list_id = FND_API.G_MISS_NUM THEN
1163 l_PRICE_LIST_LINE_rec.price_list_id := p_old_PRICE_LIST_LINE_rec.price_list_id;
1164 END IF;
1165
1166 IF l_PRICE_LIST_LINE_rec.price_list_line_id = FND_API.G_MISS_NUM THEN
1167 l_PRICE_LIST_LINE_rec.price_list_line_id := p_old_PRICE_LIST_LINE_rec.price_list_line_id;
1168 END IF;
1169
1170 IF l_PRICE_LIST_LINE_rec.pricing_attribute1 = FND_API.G_MISS_CHAR THEN
1171 l_PRICE_LIST_LINE_rec.pricing_attribute1 := p_old_PRICE_LIST_LINE_rec.pricing_attribute1;
1172 END IF;
1173
1174 IF l_PRICE_LIST_LINE_rec.pricing_attribute10 = FND_API.G_MISS_CHAR THEN
1175 l_PRICE_LIST_LINE_rec.pricing_attribute10 := p_old_PRICE_LIST_LINE_rec.pricing_attribute10;
1176 END IF;
1177
1178 IF l_PRICE_LIST_LINE_rec.pricing_attribute11 = FND_API.G_MISS_CHAR THEN
1179 l_PRICE_LIST_LINE_rec.pricing_attribute11 := p_old_PRICE_LIST_LINE_rec.pricing_attribute11;
1180 END IF;
1181
1182 IF l_PRICE_LIST_LINE_rec.pricing_attribute12 = FND_API.G_MISS_CHAR THEN
1183 l_PRICE_LIST_LINE_rec.pricing_attribute12 := p_old_PRICE_LIST_LINE_rec.pricing_attribute12;
1184 END IF;
1185
1186 IF l_PRICE_LIST_LINE_rec.pricing_attribute13 = FND_API.G_MISS_CHAR THEN
1187 l_PRICE_LIST_LINE_rec.pricing_attribute13 := p_old_PRICE_LIST_LINE_rec.pricing_attribute13;
1188 END IF;
1189
1190 IF l_PRICE_LIST_LINE_rec.pricing_attribute14 = FND_API.G_MISS_CHAR THEN
1191 l_PRICE_LIST_LINE_rec.pricing_attribute14 := p_old_PRICE_LIST_LINE_rec.pricing_attribute14;
1192 END IF;
1193
1194 IF l_PRICE_LIST_LINE_rec.pricing_attribute15 = FND_API.G_MISS_CHAR THEN
1195 l_PRICE_LIST_LINE_rec.pricing_attribute15 := p_old_PRICE_LIST_LINE_rec.pricing_attribute15;
1196 END IF;
1197
1198 IF l_PRICE_LIST_LINE_rec.pricing_attribute2 = FND_API.G_MISS_CHAR THEN
1199 l_PRICE_LIST_LINE_rec.pricing_attribute2 := p_old_PRICE_LIST_LINE_rec.pricing_attribute2;
1200 END IF;
1201
1202 IF l_PRICE_LIST_LINE_rec.pricing_attribute3 = FND_API.G_MISS_CHAR THEN
1203 l_PRICE_LIST_LINE_rec.pricing_attribute3 := p_old_PRICE_LIST_LINE_rec.pricing_attribute3;
1204 END IF;
1205
1206 IF l_PRICE_LIST_LINE_rec.pricing_attribute4 = FND_API.G_MISS_CHAR THEN
1207 l_PRICE_LIST_LINE_rec.pricing_attribute4 := p_old_PRICE_LIST_LINE_rec.pricing_attribute4;
1208 END IF;
1209
1210 IF l_PRICE_LIST_LINE_rec.pricing_attribute5 = FND_API.G_MISS_CHAR THEN
1211 l_PRICE_LIST_LINE_rec.pricing_attribute5 := p_old_PRICE_LIST_LINE_rec.pricing_attribute5;
1212 END IF;
1213
1214 IF l_PRICE_LIST_LINE_rec.pricing_attribute6 = FND_API.G_MISS_CHAR THEN
1215 l_PRICE_LIST_LINE_rec.pricing_attribute6 := p_old_PRICE_LIST_LINE_rec.pricing_attribute6;
1216 END IF;
1217
1218 IF l_PRICE_LIST_LINE_rec.pricing_attribute7 = FND_API.G_MISS_CHAR THEN
1219 l_PRICE_LIST_LINE_rec.pricing_attribute7 := p_old_PRICE_LIST_LINE_rec.pricing_attribute7;
1220 END IF;
1221
1222 IF l_PRICE_LIST_LINE_rec.pricing_attribute8 = FND_API.G_MISS_CHAR THEN
1223 l_PRICE_LIST_LINE_rec.pricing_attribute8 := p_old_PRICE_LIST_LINE_rec.pricing_attribute8;
1224 END IF;
1225
1226 IF l_PRICE_LIST_LINE_rec.pricing_attribute9 = FND_API.G_MISS_CHAR THEN
1227 l_PRICE_LIST_LINE_rec.pricing_attribute9 := p_old_PRICE_LIST_LINE_rec.pricing_attribute9;
1228 END IF;
1229
1230 IF l_PRICE_LIST_LINE_rec.pricing_context = FND_API.G_MISS_CHAR THEN
1231 l_PRICE_LIST_LINE_rec.pricing_context := p_old_PRICE_LIST_LINE_rec.pricing_context;
1232 END IF;
1233
1234 IF l_PRICE_LIST_LINE_rec.pricing_rule_id = FND_API.G_MISS_NUM THEN
1235 l_PRICE_LIST_LINE_rec.pricing_rule_id := p_old_PRICE_LIST_LINE_rec.pricing_rule_id;
1236 END IF;
1237
1238 IF l_PRICE_LIST_LINE_rec.primary = FND_API.G_MISS_CHAR THEN
1239 l_PRICE_LIST_LINE_rec.primary := p_old_PRICE_LIST_LINE_rec.primary;
1240 END IF;
1241
1242 IF l_PRICE_LIST_LINE_rec.program_application_id = FND_API.G_MISS_NUM THEN
1243 l_PRICE_LIST_LINE_rec.program_application_id := p_old_PRICE_LIST_LINE_rec.program_application_id;
1244 END IF;
1245
1246 IF l_PRICE_LIST_LINE_rec.program_id = FND_API.G_MISS_NUM THEN
1247 l_PRICE_LIST_LINE_rec.program_id := p_old_PRICE_LIST_LINE_rec.program_id;
1248 END IF;
1249
1250 IF l_PRICE_LIST_LINE_rec.program_update_date = FND_API.G_MISS_DATE THEN
1251 l_PRICE_LIST_LINE_rec.program_update_date := p_old_PRICE_LIST_LINE_rec.program_update_date;
1252 END IF;
1253
1254 IF l_PRICE_LIST_LINE_rec.reprice_flag = FND_API.G_MISS_CHAR THEN
1255 l_PRICE_LIST_LINE_rec.reprice_flag := p_old_PRICE_LIST_LINE_rec.reprice_flag;
1256 END IF;
1257
1258 IF l_PRICE_LIST_LINE_rec.request_id = FND_API.G_MISS_NUM THEN
1259 l_PRICE_LIST_LINE_rec.request_id := p_old_PRICE_LIST_LINE_rec.request_id;
1260 END IF;
1261
1262 IF l_PRICE_LIST_LINE_rec.revision = FND_API.G_MISS_CHAR THEN
1263 l_PRICE_LIST_LINE_rec.revision := p_old_PRICE_LIST_LINE_rec.revision;
1264 END IF;
1265
1266 IF l_PRICE_LIST_LINE_rec.revision_date = FND_API.G_MISS_DATE THEN
1267 l_PRICE_LIST_LINE_rec.revision_date := p_old_PRICE_LIST_LINE_rec.revision_date;
1268 END IF;
1269
1270 IF l_PRICE_LIST_LINE_rec.revision_reason_code = FND_API.G_MISS_CHAR THEN
1271 l_PRICE_LIST_LINE_rec.revision_reason_code := p_old_PRICE_LIST_LINE_rec.revision_reason_code;
1272 END IF;
1273
1274 IF l_PRICE_LIST_LINE_rec.start_date_active = FND_API.G_MISS_DATE THEN
1275 l_PRICE_LIST_LINE_rec.start_date_active := p_old_PRICE_LIST_LINE_rec.start_date_active;
1276 END IF;
1277
1278 IF l_PRICE_LIST_LINE_rec.unit_code = FND_API.G_MISS_CHAR THEN
1279 l_PRICE_LIST_LINE_rec.unit_code := p_old_PRICE_LIST_LINE_rec.unit_code;
1280 END IF;
1281
1282 RETURN l_PRICE_LIST_LINE_rec;
1283
1284 END Complete_Record;
1285
1286 -- Function Convert_Miss_To_Null
1287
1288 FUNCTION Convert_Miss_To_Null
1289 ( p_PRICE_LIST_LINE_rec IN OE_Price_List_PUB.Price_List_Line_Rec_Type
1290 ) RETURN OE_Price_List_PUB.Price_List_Line_Rec_Type
1291 IS
1292 l_PRICE_LIST_LINE_rec OE_Price_List_PUB.Price_List_Line_Rec_Type := p_PRICE_LIST_LINE_rec;
1293 BEGIN
1294
1295 IF l_PRICE_LIST_LINE_rec.attribute1 = FND_API.G_MISS_CHAR THEN
1296 l_PRICE_LIST_LINE_rec.attribute1 := NULL;
1297 END IF;
1298
1299 IF l_PRICE_LIST_LINE_rec.attribute10 = FND_API.G_MISS_CHAR THEN
1300 l_PRICE_LIST_LINE_rec.attribute10 := NULL;
1301 END IF;
1302
1303 IF l_PRICE_LIST_LINE_rec.attribute11 = FND_API.G_MISS_CHAR THEN
1304 l_PRICE_LIST_LINE_rec.attribute11 := NULL;
1305 END IF;
1306
1307 IF l_PRICE_LIST_LINE_rec.attribute12 = FND_API.G_MISS_CHAR THEN
1308 l_PRICE_LIST_LINE_rec.attribute12 := NULL;
1309 END IF;
1310
1311 IF l_PRICE_LIST_LINE_rec.attribute13 = FND_API.G_MISS_CHAR THEN
1312 l_PRICE_LIST_LINE_rec.attribute13 := NULL;
1313 END IF;
1314
1315 IF l_PRICE_LIST_LINE_rec.attribute14 = FND_API.G_MISS_CHAR THEN
1316 l_PRICE_LIST_LINE_rec.attribute14 := NULL;
1317 END IF;
1318
1319 IF l_PRICE_LIST_LINE_rec.attribute15 = FND_API.G_MISS_CHAR THEN
1320 l_PRICE_LIST_LINE_rec.attribute15 := NULL;
1321 END IF;
1322
1323 IF l_PRICE_LIST_LINE_rec.attribute2 = FND_API.G_MISS_CHAR THEN
1324 l_PRICE_LIST_LINE_rec.attribute2 := NULL;
1325 END IF;
1326
1327 IF l_PRICE_LIST_LINE_rec.attribute3 = FND_API.G_MISS_CHAR THEN
1328 l_PRICE_LIST_LINE_rec.attribute3 := NULL;
1329 END IF;
1330
1331 IF l_PRICE_LIST_LINE_rec.attribute4 = FND_API.G_MISS_CHAR THEN
1332 l_PRICE_LIST_LINE_rec.attribute4 := NULL;
1333 END IF;
1334
1335 IF l_PRICE_LIST_LINE_rec.attribute5 = FND_API.G_MISS_CHAR THEN
1336 l_PRICE_LIST_LINE_rec.attribute5 := NULL;
1337 END IF;
1338
1339 IF l_PRICE_LIST_LINE_rec.attribute6 = FND_API.G_MISS_CHAR THEN
1340 l_PRICE_LIST_LINE_rec.attribute6 := NULL;
1341 END IF;
1342
1343 IF l_PRICE_LIST_LINE_rec.attribute7 = FND_API.G_MISS_CHAR THEN
1344 l_PRICE_LIST_LINE_rec.attribute7 := NULL;
1345 END IF;
1346
1347 IF l_PRICE_LIST_LINE_rec.attribute8 = FND_API.G_MISS_CHAR THEN
1348 l_PRICE_LIST_LINE_rec.attribute8 := NULL;
1349 END IF;
1350
1351 IF l_PRICE_LIST_LINE_rec.attribute9 = FND_API.G_MISS_CHAR THEN
1352 l_PRICE_LIST_LINE_rec.attribute9 := NULL;
1353 END IF;
1354
1355 IF l_PRICE_LIST_LINE_rec.comments = FND_API.G_MISS_CHAR THEN
1356 l_PRICE_LIST_LINE_rec.comments := NULL;
1357 END IF;
1358
1359 IF l_PRICE_LIST_LINE_rec.context = FND_API.G_MISS_CHAR THEN
1360 l_PRICE_LIST_LINE_rec.context := NULL;
1361 END IF;
1362
1363 IF l_PRICE_LIST_LINE_rec.created_by = FND_API.G_MISS_NUM THEN
1364 l_PRICE_LIST_LINE_rec.created_by := NULL;
1365 END IF;
1366
1367 IF l_PRICE_LIST_LINE_rec.creation_date = FND_API.G_MISS_DATE THEN
1368 l_PRICE_LIST_LINE_rec.creation_date := NULL;
1369 END IF;
1370
1371 IF l_PRICE_LIST_LINE_rec.customer_item_id = FND_API.G_MISS_NUM THEN
1372 l_PRICE_LIST_LINE_rec.customer_item_id := NULL;
1373 END IF;
1374
1375 IF l_PRICE_LIST_LINE_rec.end_date_active = FND_API.G_MISS_DATE THEN
1376 l_PRICE_LIST_LINE_rec.end_date_active := NULL;
1377 END IF;
1378
1379 IF l_PRICE_LIST_LINE_rec.inventory_item_id = FND_API.G_MISS_NUM THEN
1380 l_PRICE_LIST_LINE_rec.inventory_item_id := NULL;
1381 END IF;
1382
1383 IF l_PRICE_LIST_LINE_rec.last_updated_by = FND_API.G_MISS_NUM THEN
1384 l_PRICE_LIST_LINE_rec.last_updated_by := NULL;
1385 END IF;
1386
1387 IF l_PRICE_LIST_LINE_rec.last_update_date = FND_API.G_MISS_DATE THEN
1388 l_PRICE_LIST_LINE_rec.last_update_date := NULL;
1389 END IF;
1390
1391 IF l_PRICE_LIST_LINE_rec.last_update_login = FND_API.G_MISS_NUM THEN
1392 l_PRICE_LIST_LINE_rec.last_update_login := NULL;
1393 END IF;
1394
1395 IF l_PRICE_LIST_LINE_rec.list_price = FND_API.G_MISS_NUM THEN
1396 l_PRICE_LIST_LINE_rec.list_price := NULL;
1397 END IF;
1398
1399 IF l_PRICE_LIST_LINE_rec.method_code = FND_API.G_MISS_CHAR THEN
1400 l_PRICE_LIST_LINE_rec.method_code := NULL;
1401 END IF;
1402
1403 IF l_PRICE_LIST_LINE_rec.price_list_id = FND_API.G_MISS_NUM THEN
1404 l_PRICE_LIST_LINE_rec.price_list_id := NULL;
1405 END IF;
1406
1407 IF l_PRICE_LIST_LINE_rec.price_list_line_id = FND_API.G_MISS_NUM THEN
1408 l_PRICE_LIST_LINE_rec.price_list_line_id := NULL;
1409 END IF;
1410
1411 IF l_PRICE_LIST_LINE_rec.pricing_attribute1 = FND_API.G_MISS_CHAR THEN
1412 l_PRICE_LIST_LINE_rec.pricing_attribute1 := NULL;
1413 END IF;
1414
1415 IF l_PRICE_LIST_LINE_rec.pricing_attribute10 = FND_API.G_MISS_CHAR THEN
1416 l_PRICE_LIST_LINE_rec.pricing_attribute10 := NULL;
1417 END IF;
1418
1419 IF l_PRICE_LIST_LINE_rec.pricing_attribute11 = FND_API.G_MISS_CHAR THEN
1420 l_PRICE_LIST_LINE_rec.pricing_attribute11 := NULL;
1421 END IF;
1422
1423 IF l_PRICE_LIST_LINE_rec.pricing_attribute12 = FND_API.G_MISS_CHAR THEN
1424 l_PRICE_LIST_LINE_rec.pricing_attribute12 := NULL;
1425 END IF;
1426
1427 IF l_PRICE_LIST_LINE_rec.pricing_attribute13 = FND_API.G_MISS_CHAR THEN
1428 l_PRICE_LIST_LINE_rec.pricing_attribute13 := NULL;
1429 END IF;
1430
1431 IF l_PRICE_LIST_LINE_rec.pricing_attribute14 = FND_API.G_MISS_CHAR THEN
1432 l_PRICE_LIST_LINE_rec.pricing_attribute14 := NULL;
1433 END IF;
1434
1435 IF l_PRICE_LIST_LINE_rec.pricing_attribute15 = FND_API.G_MISS_CHAR THEN
1436 l_PRICE_LIST_LINE_rec.pricing_attribute15 := NULL;
1437 END IF;
1438
1439 IF l_PRICE_LIST_LINE_rec.pricing_attribute2 = FND_API.G_MISS_CHAR THEN
1440 l_PRICE_LIST_LINE_rec.pricing_attribute2 := NULL;
1441 END IF;
1442
1443 IF l_PRICE_LIST_LINE_rec.pricing_attribute3 = FND_API.G_MISS_CHAR THEN
1444 l_PRICE_LIST_LINE_rec.pricing_attribute3 := NULL;
1445 END IF;
1446
1447 IF l_PRICE_LIST_LINE_rec.pricing_attribute4 = FND_API.G_MISS_CHAR THEN
1448 l_PRICE_LIST_LINE_rec.pricing_attribute4 := NULL;
1449 END IF;
1450
1451 IF l_PRICE_LIST_LINE_rec.pricing_attribute5 = FND_API.G_MISS_CHAR THEN
1452 l_PRICE_LIST_LINE_rec.pricing_attribute5 := NULL;
1453 END IF;
1454
1455 IF l_PRICE_LIST_LINE_rec.pricing_attribute6 = FND_API.G_MISS_CHAR THEN
1456 l_PRICE_LIST_LINE_rec.pricing_attribute6 := NULL;
1457 END IF;
1458
1459 IF l_PRICE_LIST_LINE_rec.pricing_attribute7 = FND_API.G_MISS_CHAR THEN
1460 l_PRICE_LIST_LINE_rec.pricing_attribute7 := NULL;
1461 END IF;
1462
1463 IF l_PRICE_LIST_LINE_rec.pricing_attribute8 = FND_API.G_MISS_CHAR THEN
1464 l_PRICE_LIST_LINE_rec.pricing_attribute8 := NULL;
1465 END IF;
1466
1467 IF l_PRICE_LIST_LINE_rec.pricing_attribute9 = FND_API.G_MISS_CHAR THEN
1468 l_PRICE_LIST_LINE_rec.pricing_attribute9 := NULL;
1469 END IF;
1470
1471 IF l_PRICE_LIST_LINE_rec.pricing_context = FND_API.G_MISS_CHAR THEN
1472 l_PRICE_LIST_LINE_rec.pricing_context := NULL;
1473 END IF;
1474
1475 IF l_PRICE_LIST_LINE_rec.pricing_rule_id = FND_API.G_MISS_NUM THEN
1476 l_PRICE_LIST_LINE_rec.pricing_rule_id := NULL;
1477 END IF;
1478
1479 IF l_PRICE_LIST_LINE_rec.primary = FND_API.G_MISS_CHAR THEN
1480 l_PRICE_LIST_LINE_rec.primary := NULL;
1481 END IF;
1482
1483 IF l_PRICE_LIST_LINE_rec.program_application_id = FND_API.G_MISS_NUM THEN
1484 l_PRICE_LIST_LINE_rec.program_application_id := NULL;
1485 END IF;
1486
1487 IF l_PRICE_LIST_LINE_rec.program_id = FND_API.G_MISS_NUM THEN
1488 l_PRICE_LIST_LINE_rec.program_id := NULL;
1489 END IF;
1490
1491 IF l_PRICE_LIST_LINE_rec.program_update_date = FND_API.G_MISS_DATE THEN
1492 l_PRICE_LIST_LINE_rec.program_update_date := NULL;
1493 END IF;
1494
1495 IF l_PRICE_LIST_LINE_rec.reprice_flag = FND_API.G_MISS_CHAR THEN
1496 l_PRICE_LIST_LINE_rec.reprice_flag := NULL;
1497 END IF;
1498
1499 IF l_PRICE_LIST_LINE_rec.request_id = FND_API.G_MISS_NUM THEN
1500 l_PRICE_LIST_LINE_rec.request_id := NULL;
1501 END IF;
1502
1503 IF l_PRICE_LIST_LINE_rec.revision = FND_API.G_MISS_CHAR THEN
1504 l_PRICE_LIST_LINE_rec.revision := NULL;
1505 END IF;
1506
1507 IF l_PRICE_LIST_LINE_rec.revision_date = FND_API.G_MISS_DATE THEN
1508 l_PRICE_LIST_LINE_rec.revision_date := NULL;
1509 END IF;
1510
1511 IF l_PRICE_LIST_LINE_rec.revision_reason_code = FND_API.G_MISS_CHAR THEN
1512 l_PRICE_LIST_LINE_rec.revision_reason_code := NULL;
1513 END IF;
1514
1515 IF l_PRICE_LIST_LINE_rec.start_date_active = FND_API.G_MISS_DATE THEN
1516 l_PRICE_LIST_LINE_rec.start_date_active := NULL;
1517 END IF;
1518
1519 IF l_PRICE_LIST_LINE_rec.unit_code = FND_API.G_MISS_CHAR THEN
1520 l_PRICE_LIST_LINE_rec.unit_code := NULL;
1521 END IF;
1522
1523 RETURN l_PRICE_LIST_LINE_rec;
1524
1525 END Convert_Miss_To_Null;
1526
1527 -- Procedure Update_Row
1528
1529 PROCEDURE Update_Row
1530 ( p_PRICE_LIST_LINE_rec IN OE_Price_List_PUB.Price_List_Line_Rec_Type
1531 )
1532 IS
1533 l_list_price number := NULL;
1534 l_percent_price number := NULL;
1535 x_return_status varchar2(30);
1536 BEGIN
1537
1538 IF p_PRICE_LIST_LINE_rec.method_code = 'AMNT' THEN
1539 l_list_price := p_PRICE_LIST_LINE_rec.list_price;
1540 else
1541 l_percent_price := p_PRICE_LIST_LINE_rec.list_price;
1542 END IF;
1543
1544 /* reprice_flag and tp_attributes are missing- need to add */
1545
1546 UPDATE QP_LIST_LINES
1547 SET ATTRIBUTE1 = p_PRICE_LIST_LINE_rec.attribute1
1548 , ATTRIBUTE10 = p_PRICE_LIST_LINE_rec.attribute10
1549 , ATTRIBUTE11 = p_PRICE_LIST_LINE_rec.attribute11
1550 , ATTRIBUTE12 = p_PRICE_LIST_LINE_rec.attribute12
1551 , ATTRIBUTE13 = p_PRICE_LIST_LINE_rec.attribute13
1552 , ATTRIBUTE14 = p_PRICE_LIST_LINE_rec.attribute14
1553 , ATTRIBUTE15 = p_PRICE_LIST_LINE_rec.attribute15
1554 , ATTRIBUTE2 = p_PRICE_LIST_LINE_rec.attribute2
1555 , ATTRIBUTE3 = p_PRICE_LIST_LINE_rec.attribute3
1556 , ATTRIBUTE4 = p_PRICE_LIST_LINE_rec.attribute4
1557 , ATTRIBUTE5 = p_PRICE_LIST_LINE_rec.attribute5
1558 , ATTRIBUTE6 = p_PRICE_LIST_LINE_rec.attribute6
1559 , ATTRIBUTE7 = p_PRICE_LIST_LINE_rec.attribute7
1560 , ATTRIBUTE8 = p_PRICE_LIST_LINE_rec.attribute8
1561 , ATTRIBUTE9 = p_PRICE_LIST_LINE_rec.attribute9
1562 , COMMENTS = p_PRICE_LIST_LINE_rec.comments
1563 , CONTEXT = p_PRICE_LIST_LINE_rec.context
1564 , CREATED_BY = p_PRICE_LIST_LINE_rec.created_by
1565 , CREATION_DATE = p_PRICE_LIST_LINE_rec.creation_date
1566 , END_DATE_ACTIVE = p_PRICE_LIST_LINE_rec.end_date_active
1567 , LAST_UPDATE_DATE = p_PRICE_LIST_LINE_rec.last_update_date
1568 , LAST_UPDATE_LOGIN = p_PRICE_LIST_LINE_rec.last_update_login
1569 , LIST_PRICE = l_list_price
1570 , LIST_HEADER_ID = p_PRICE_LIST_LINE_rec.price_list_id
1571 , GENERATE_USING_FORMULA_ID = p_PRICE_LIST_LINE_rec.pricing_rule_id
1572 , PRIMARY_UOM_FLAG = p_PRICE_LIST_LINE_rec.primary
1573 , PROGRAM_APPLICATION_ID = p_PRICE_LIST_LINE_rec.program_application_id
1574 , PROGRAM_ID = p_PRICE_LIST_LINE_rec.program_id
1575 , PROGRAM_UPDATE_DATE = p_PRICE_LIST_LINE_rec.program_update_date
1576 , REQUEST_ID = p_PRICE_LIST_LINE_rec.request_id
1577 , REVISION = p_PRICE_LIST_LINE_rec.revision
1578 , REVISION_DATE = p_PRICE_LIST_LINE_rec.revision_date
1579 , REVISION_REASON_CODE = p_PRICE_LIST_LINE_rec.revision_reason_code
1580 , START_DATE_ACTIVE = p_PRICE_LIST_LINE_rec.start_date_active
1581 , LIST_PRICE_UOM_CODE = p_PRICE_LIST_LINE_rec.unit_code
1582 , PERCENT_PRICE = l_percent_price
1583 , LAST_UPDATED_BY = p_PRICE_LIST_LINE_rec.last_updated_by
1584 , LIST_LINE_TYPE_CODE = p_PRICE_LIST_LINE_rec.list_line_type_code
1585 WHERE LIST_LINE_ID = p_PRICE_LIST_LINE_rec.price_list_line_id
1586 ;
1587
1588 oe_debug_pub.initialize;
1589 oe_debug_pub.debug_on;
1590 oe_debug_pub.add ( 'Geresh 6 :: Before Maintain attributes ' );
1591
1592 maintain_pricing_attributes(p_PRICE_LIST_LINE_rec, 'UPDATE', x_return_status);
1593
1594
1595
1596
1597 EXCEPTION
1598
1599 WHEN OTHERS THEN
1600
1601 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1602 THEN
1603 OE_MSG_PUB.Add_Exc_Msg
1604 ( G_PKG_NAME
1605 , 'Update_Row'
1606 );
1607 END IF;
1608
1609 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1610
1611 END Update_Row;
1612
1613 -- Procedure Insert_Row
1614
1615 PROCEDURE Insert_Row
1616 ( p_PRICE_LIST_LINE_rec IN OE_Price_List_PUB.Price_List_Line_Rec_Type
1617 )
1618 IS
1619 l_product_context varchar2(30);
1620 l_customer_item_context varchar2(30);
1621 l_product_attr varchar2(30);
1622 l_customer_item_attr varchar2(30);
1623 l_pricing_attr_rec OE_PRICE_LIST_PUB.Pricing_Attr_Rec_Type;
1624 l_pricing_attr_tbl OE_PRICE_LIST_PUB.Pricing_Attr_Tbl_Type;
1625 l_attribute_grouping_no number;
1626 l_pricing_attribute_id number;
1627 I number := 1;
1628 J number := 1;
1629 l_related_modifier_id number;
1630 l_rltd_modifier_grp_no number;
1631 x_return_status varchar2(30);
1632 BEGIN
1633 oe_debug_pub.add ( 'Insert Values' || p_PRICE_LIST_LINE_rec.comments );
1634
1635 insert into qp_list_lines(
1636 LIST_LINE_ID,
1637 CREATION_DATE,
1638 CREATED_BY,
1639 LAST_UPDATE_DATE,
1640 LAST_UPDATED_BY,
1641 LAST_UPDATE_LOGIN,
1642 PROGRAM_APPLICATION_ID,
1643 PROGRAM_ID,
1644 PROGRAM_UPDATE_DATE,
1645 REQUEST_ID,
1646 LIST_HEADER_ID,
1647 LIST_LINE_TYPE_CODE,
1648 START_DATE_ACTIVE, /* START_DATE_EFFECTIVE */
1649 END_DATE_ACTIVE, /* END_DATE_EFFECTIVE */
1650 AUTOMATIC_FLAG,
1651 MODIFIER_LEVEL_CODE,
1652 LIST_PRICE,
1653 LIST_PRICE_UOM_CODE,
1654 PRIMARY_UOM_FLAG,
1655 INVENTORY_ITEM_ID,
1656 ORGANIZATION_ID,
1657 RELATED_ITEM_ID,
1658 RELATIONSHIP_TYPE_ID,
1659 SUBSTITUTION_CONTEXT,
1660 SUBSTITUTION_ATTRIBUTE,
1661 SUBSTITUTION_VALUE,
1662 REVISION,
1663 REVISION_DATE,
1664 REVISION_REASON_CODE,
1665 CONTEXT,
1666 ATTRIBUTE1,
1667 ATTRIBUTE2,
1668 ATTRIBUTE3,
1669 ATTRIBUTE4,
1670 ATTRIBUTE5,
1671 ATTRIBUTE6,
1672 ATTRIBUTE7,
1673 ATTRIBUTE8,
1674 ATTRIBUTE9,
1675 ATTRIBUTE10,
1676 ATTRIBUTE11,
1677 ATTRIBUTE12,
1678 ATTRIBUTE13,
1679 ATTRIBUTE14,
1680 ATTRIBUTE15,
1681 COMMENTS,
1682 PRICE_BREAK_TYPE_CODE,
1683 PERCENT_PRICE,
1684 EFFECTIVE_PERIOD_UOM,
1685 NUMBER_EFFECTIVE_PERIODS,
1686 OPERAND,
1687 ARITHMETIC_OPERATOR,
1688 OVERRIDE_FLAG,
1689 PRINT_ON_INVOICE_FLAG,
1690 REBATE_TRANSACTION_TYPE_CODE,
1691 BASE_QTY,
1692 BASE_UOM_CODE,
1693 ACCRUAL_QTY,
1694 ACCRUAL_UOM_CODE,
1695 ESTIM_ACCRUAL_RATE,
1696 PRICE_BY_FORMULA_ID,
1697 GENERATE_USING_FORMULA_ID
1698 --ENH Upgrade BOAPI for orig_sys...ref RAVI
1699 ,orig_sys_line_ref
1700 ,ORIG_SYS_HEADER_REF
1701 /* , REPRICE_FLAG,
1702 TP_ATTRIBUTE1,
1703 TP_ATTRIBUTE2,
1704 TP_ATTRIBUTE3,
1705 TP_ATTRIBUTE4,
1706 TP_ATTRIBUTE5,
1707 TP_ATTRIBUTE6,
1708 TP_ATTRIBUTE7,
1709 TP_ATTRIBUTE8,
1710 TP_ATTRIBUTE9,
1711 TP_ATTRIBUTE10,
1712 TP_ATTRIBUTE11,
1713 TP_ATTRIBUTE12,
1714 TP_ATTRIBUTE13,
1715 TP_ATTRIBUTE14,
1716 TP_ATTRIBUTE15,
1717 TP_ATTRIBUTE_CATEGORY */ )
1718 values(
1719 p_PRICE_LIST_LINE_rec.price_list_line_id,
1720 p_PRICE_LIST_LINE_rec.creation_date,
1721 p_PRICE_LIST_LINE_rec.created_by,
1722 p_PRICE_LIST_LINE_rec.last_update_date,
1723 p_PRICE_LIST_LINE_rec.last_updated_by,
1724 p_PRICE_LIST_LINE_rec.last_update_login,
1725 p_PRICE_LIST_LINE_rec.program_application_id,
1726 p_PRICE_LIST_LINE_rec.program_id,
1727 p_PRICE_LIST_LINE_rec.program_update_date,
1728 p_PRICE_LIST_LINE_rec.request_id,
1729 p_PRICE_LIST_LINE_rec.price_list_id,
1730 'PLL',
1731 p_PRICE_LIST_LINE_rec.start_date_active, /* no need to do nvl */
1732 p_PRICE_LIST_LINE_rec.end_date_active,
1733 'Y',
1734 'LINE',
1735 DECODE(p_PRICE_LIST_LINE_rec.method_code, 'AMNT',p_PRICE_LIST_LINE_rec.list_price,NULL),
1736 p_PRICE_LIST_LINE_rec.unit_code,
1737 p_PRICE_LIST_LINE_rec.primary,
1738 NULL, /* INVENTORY_ITEM_ID */
1739 NULL, /* ORGANIZATION_ID */
1740 NULL, /* RELATED_ITEM_ID */
1741 NULL, /* RELATIONSHIP_TYPE_ID */
1742 NULL, /* SUBSTITUTION_CONTEXT */
1743 NULL, /* SUBSTITUTION_ATTRIBUTE */
1744 NULL, /* SUBSTITUTION_VALUE */
1745 p_PRICE_LIST_LINE_rec.revision,
1746 p_PRICE_LIST_LINE_rec.revision_date,
1747 p_PRICE_LIST_LINE_rec.revision_reason_code,
1748 p_PRICE_LIST_LINE_rec.context,
1749 p_PRICE_LIST_LINE_rec.attribute1,
1750 p_PRICE_LIST_LINE_rec.attribute2,
1751 p_PRICE_LIST_LINE_rec.attribute3,
1752 p_PRICE_LIST_LINE_rec.attribute4,
1753 p_PRICE_LIST_LINE_rec.attribute5,
1754 p_PRICE_LIST_LINE_rec.attribute6,
1755 p_PRICE_LIST_LINE_rec.attribute7,
1756 p_PRICE_LIST_LINE_rec.attribute8,
1757 p_PRICE_LIST_LINE_rec.attribute9,
1758 p_PRICE_LIST_LINE_rec.attribute10,
1759 p_PRICE_LIST_LINE_rec.attribute11,
1760 p_PRICE_LIST_LINE_rec.attribute12,
1761 p_PRICE_LIST_LINE_rec.attribute13,
1762 p_PRICE_LIST_LINE_rec.attribute14,
1763 p_PRICE_LIST_LINE_rec.attribute15,
1764 p_PRICE_LIST_LINE_rec.comments,
1765 NULL, /* p_PRICE_LIST_LINE_rec.price_break_type_code, */
1766 DECODE(p_PRICE_LIST_LINE_rec.method_code, 'PERC', p_PRICE_LIST_LINE_rec.list_price, NULL),
1767 NULL, /* EFFECTIVE_PERIOD_UOM */
1768 NULL, /* NUMBER_EFFECTIVE_PERIODS */
1769 NULL, /* OPERAND */
1770 NULL, /* ARITHMETIC_OPERATOR */
1771 NULL, /* OVERRIDE_FLAG */
1772 NULL, /* PRINT_ON_INVOICE_FLAG */
1773 NULL, /* REBATE_TRANSACTION_TYPE_CODE */
1774 NULL, /* BASE_QTY */
1775 NULL, /* BASE_UOM_CODE */
1776 NULL, /* ACCRUAL_QTY */
1777 NUll, /* ACCRUAL_UOM_CODE */
1778 NULL, /* ESTIM_ACCRUAL_RATE */
1779 NULL, /* PRICE_BY_FORMULA_ID */
1780 p_PRICE_LIST_LINE_rec.pricing_rule_id
1781 --ENH Upgrade BOAPI for orig_sys...ref RAVI
1782 ,to_char(p_PRICE_LIST_LINE_rec.price_list_line_id)
1783 ,(select h.ORIG_SYSTEM_HEADER_REF from qp_list_headers_b h where h.list_header_id=p_PRICE_LIST_LINE_rec.price_list_id)
1784 /* , p_PRICE_LIST_LINE_rec.REPRICE_FLAG,
1785 p_PRICE_LIST_LINE_rec.TP_ATTRIBUTE1,
1786 p_PRICE_LIST_LINE_rec.TP_ATTRIBUTE2,
1787 p_PRICE_LIST_LINE_rec.TP_ATTRIBUTE3,
1788 p_PRICE_LIST_LINE_rec.TP_ATTRIBUTE4,
1789 p_PRICE_LIST_LINE_rec.TP_ATTRIBUTE5,
1790 p_PRICE_LIST_LINE_rec.TP_ATTRIBUTE6,
1791 p_PRICE_LIST_LINE_rec.TP_ATTRIBUTE7,
1792 p_PRICE_LIST_LINE_rec.TP_ATTRIBUTE8,
1793 p_PRICE_LIST_LINE_rec.TP_ATTRIBUTE9,
1794 p_PRICE_LIST_LINE_rec.TP_ATTRIBUTE10,
1795 p_PRICE_LIST_LINE_rec.TP_ATTRIBUTE11,
1796 p_PRICE_LIST_LINE_rec.TP_ATTRIBUTE12,
1797 p_PRICE_LIST_LINE_rec.TP_ATTRIBUTE13,
1798 p_PRICE_LIST_LINE_rec.TP_ATTRIBUTE14,
1799 p_PRICE_LIST_LINE_rec.TP_ATTRIBUTE15,
1800 p_PRICE_LIST_LINE_rec.TP_ATTRIBUTE_CATEGORY */ );
1801
1802
1803 oe_debug_pub.initialize;
1804 oe_debug_pub.debug_on;
1805 oe_debug_pub.add ( 'Geresh 7 :: Before Maintain attributes ' );
1806
1807 maintain_pricing_attributes(p_PRICE_LIST_LINE_rec, 'INSERT', x_return_status);
1808
1809 oe_debug_pub.add ( 'Geresh 7 :: Outpiut' || x_return_status );
1810
1811
1812 /********************************************************/
1813 /* insertion into translation table may need to be done */
1814 /********************************************************/
1815
1816 EXCEPTION
1817
1818 WHEN OTHERS THEN
1819
1820 x_return_status := FND_API.G_RET_STS_ERROR;
1821
1822 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1823 THEN
1824 OE_MSG_PUB.Add_Exc_Msg
1825 ( G_PKG_NAME
1826 , 'Insert_Row'
1827 );
1828 END IF;
1829
1830 END Insert_Row;
1831
1832 -- Procedure Delete_Row
1833
1834 PROCEDURE Delete_Row
1835 ( p_price_list_line_id IN NUMBER
1836 )
1837 IS
1838
1839 l_list_line_type_code varchar2(30);
1840
1841 cursor child_lines is
1842 select to_rltd_modifier_id, rltd_modifier_id
1843 from qp_rltd_modifiers
1844 where from_rltd_modifier_id = p_price_list_line_id;
1845
1846 BEGIN
1847 oe_debug_pub.add ( 'AAA - deleted ');
1848
1849 /* If list_line_type_code = 'PBH', we need to delete all the children
1850 list lines */
1851
1852 select list_line_type_code
1853 into l_list_line_type_code
1854 from qp_list_lines
1855 where list_line_id = p_price_list_line_id;
1856
1857
1858 if (l_list_line_type_code = 'PBH') then
1859
1860 for child_lines_rec in child_lines loop
1861
1862 DELETE FROM QP_LIST_LINES
1863 WHERE LIST_LINE_ID = child_lines_rec.to_rltd_modifier_id;
1864
1865 DELETE FROM QP_PRICING_ATTRIBUTES
1866 WHERE LIST_LINE_ID = child_lines_rec.to_rltd_modifier_id;
1867
1868 QP_RLTD_MODIFIER_PVT.Delete_Row(child_lines_rec.rltd_modifier_id);
1869
1870 end loop;
1871
1872 elsif l_list_line_type_code = 'PLL' then
1873
1874 BEGIN
1875
1876 DELETE from QP_RLTD_MODIFIERS
1877 where TO_RLTD_MODIFIER_ID = p_price_list_line_id;
1878
1879 EXCEPTION
1880
1881 WHEN NO_DATA_FOUND THEN NULL;
1882
1883 END;
1884
1885 DELETE FROM QP_PRICING_ATTRIBUTES
1886 WHERE LIST_LINE_ID = p_price_list_line_id;
1887
1888 DELETE FROM QP_LIST_LINES
1889 WHERE LIST_LINE_ID = p_price_list_line_id;
1890
1891 end if;
1892
1893 EXCEPTION
1894
1895 WHEN OTHERS THEN
1896
1897 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1898 THEN
1899 OE_MSG_PUB.Add_Exc_Msg
1900 ( G_PKG_NAME
1901 , 'Delete_Row'
1902 );
1903 END IF;
1904
1905 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1906
1907 END Delete_Row;
1908
1909 -- Function Query_Row
1910
1911 FUNCTION Query_Row
1912 ( p_price_list_line_id IN NUMBER
1913 , p_price_list_id IN NUMBER
1914 ) RETURN OE_Price_List_PUB.Price_List_Line_Rec_Type
1915 IS
1916 BEGIN
1917
1918 RETURN Query_Rows
1919 ( p_price_list_line_id => p_price_list_line_id
1920 , p_price_list_id => p_price_list_id
1921 )(1);
1922
1923 END Query_Row;
1924
1925 -- Function Query_Rows
1926
1927 --
1928
1929 FUNCTION Query_Rows
1930 ( p_price_list_line_id IN NUMBER :=
1931 FND_API.G_MISS_NUM
1932 , p_price_list_id IN NUMBER :=
1933 FND_API.G_MISS_NUM
1934 ) RETURN OE_Price_List_PUB.Price_List_Line_Tbl_Type
1935 IS
1936 l_PRICE_LIST_LINE_rec OE_Price_List_PUB.Price_List_Line_Rec_Type;
1937 l_PRICE_LIST_LINE_tbl OE_Price_List_PUB.Price_List_Line_Tbl_Type;
1938 l_method_code VARCHAR2(30) := NULL;
1939
1940 CURSOR l_PRICE_LIST_LINE_csr IS
1941 SELECT ATTRIBUTE1
1942 , ATTRIBUTE10
1943 , ATTRIBUTE11
1944 , ATTRIBUTE12
1945 , ATTRIBUTE13
1946 , ATTRIBUTE14
1947 , ATTRIBUTE15
1948 , ATTRIBUTE2
1949 , ATTRIBUTE3
1950 , ATTRIBUTE4
1951 , ATTRIBUTE5
1952 , ATTRIBUTE6
1953 , ATTRIBUTE7
1954 , ATTRIBUTE8
1955 , ATTRIBUTE9
1956 , COMMENTS
1957 , CONTEXT
1958 , CREATED_BY
1959 , CREATION_DATE
1960 , CUSTOMER_ITEM_ID
1961 , END_DATE_ACTIVE
1962 , INVENTORY_ITEM_ID
1963 , LAST_UPDATED_BY
1964 , LAST_UPDATE_DATE
1965 , LAST_UPDATE_LOGIN
1966 , LIST_PRICE
1967 , METHOD_CODE
1968 , PRICE_LIST_ID
1969 , PRICE_LIST_LINE_ID
1970 , PRICING_ATTRIBUTE1
1971 , PRICING_ATTRIBUTE10
1972 , PRICING_ATTRIBUTE11
1973 , PRICING_ATTRIBUTE12
1974 , PRICING_ATTRIBUTE13
1975 , PRICING_ATTRIBUTE14
1976 , PRICING_ATTRIBUTE15
1977 , PRICING_ATTRIBUTE2
1978 , PRICING_ATTRIBUTE3
1979 , PRICING_ATTRIBUTE4
1980 , PRICING_ATTRIBUTE5
1981 , PRICING_ATTRIBUTE6
1982 , PRICING_ATTRIBUTE7
1983 , PRICING_ATTRIBUTE8
1984 , PRICING_ATTRIBUTE9
1985 , PRICING_CONTEXT
1986 , PRICING_RULE_ID
1987 , PRIMARY
1988 , PROGRAM_APPLICATION_ID
1989 , PROGRAM_ID
1990 , PROGRAM_UPDATE_DATE
1991 , REPRICE_FLAG
1992 , REQUEST_ID
1993 , REVISION
1994 , REVISION_DATE
1995 , REVISION_REASON_CODE
1996 , START_DATE_ACTIVE
1997 , UNIT_CODE
1998 FROM QP_PRICE_LIST_LINES_V
1999 WHERE ( PRICE_LIST_LINE_ID = p_price_list_line_id)
2000 OR (PRICE_LIST_ID = p_price_list_id);
2001
2002 BEGIN
2003
2004 IF
2005 (p_price_list_line_id IS NOT NULL
2006 AND
2007 p_price_list_line_id <> FND_API.G_MISS_NUM)
2008 AND
2009 (p_price_list_id IS NOT NULL
2010 AND
2011 p_price_list_id <> FND_API.G_MISS_NUM)
2012 THEN
2013 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2014 THEN
2015 OE_MSG_PUB.Add_Exc_Msg
2016 ( G_PKG_NAME
2017 , 'Query Rows'
2018 , 'Keys are mutually exclusive: price_list_line_id = '|| p_price_list_line_id || ', price_list_id = '|| p_price_list_id
2019 );
2020 END IF;
2021
2022 -- Geresh Temporary comment
2023 /* RAISE FND_API.G_EXC_UNEXPECTED_ERROR; */
2024
2025 END IF;
2026
2027
2028 -- Loop over fetched records
2029
2030 FOR l_implicit_rec IN l_PRICE_LIST_LINE_csr LOOP
2031
2032 l_PRICE_LIST_LINE_rec.attribute1 := l_implicit_rec.ATTRIBUTE1;
2033 l_PRICE_LIST_LINE_rec.attribute10 := l_implicit_rec.ATTRIBUTE10;
2034 l_PRICE_LIST_LINE_rec.attribute11 := l_implicit_rec.ATTRIBUTE11;
2035 l_PRICE_LIST_LINE_rec.attribute12 := l_implicit_rec.ATTRIBUTE12;
2036 l_PRICE_LIST_LINE_rec.attribute13 := l_implicit_rec.ATTRIBUTE13;
2037 l_PRICE_LIST_LINE_rec.attribute14 := l_implicit_rec.ATTRIBUTE14;
2038 l_PRICE_LIST_LINE_rec.attribute15 := l_implicit_rec.ATTRIBUTE15;
2039 l_PRICE_LIST_LINE_rec.attribute2 := l_implicit_rec.ATTRIBUTE2;
2040 l_PRICE_LIST_LINE_rec.attribute3 := l_implicit_rec.ATTRIBUTE3;
2041 l_PRICE_LIST_LINE_rec.attribute4 := l_implicit_rec.ATTRIBUTE4;
2042 l_PRICE_LIST_LINE_rec.attribute5 := l_implicit_rec.ATTRIBUTE5;
2043 l_PRICE_LIST_LINE_rec.attribute6 := l_implicit_rec.ATTRIBUTE6;
2044 l_PRICE_LIST_LINE_rec.attribute7 := l_implicit_rec.ATTRIBUTE7;
2045 l_PRICE_LIST_LINE_rec.attribute8 := l_implicit_rec.ATTRIBUTE8;
2046 l_PRICE_LIST_LINE_rec.attribute9 := l_implicit_rec.ATTRIBUTE9;
2047 l_PRICE_LIST_LINE_rec.comments := l_implicit_rec.COMMENTS;
2048 l_PRICE_LIST_LINE_rec.context := l_implicit_rec.CONTEXT;
2049 l_PRICE_LIST_LINE_rec.created_by := l_implicit_rec.CREATED_BY;
2050 l_PRICE_LIST_LINE_rec.creation_date := l_implicit_rec.CREATION_DATE;
2051 l_PRICE_LIST_LINE_rec.customer_item_id := l_implicit_rec.CUSTOMER_ITEM_ID;
2052 l_PRICE_LIST_LINE_rec.end_date_active := l_implicit_rec.END_DATE_ACTIVE;
2053 l_PRICE_LIST_LINE_rec.inventory_item_id := l_implicit_rec.INVENTORY_ITEM_ID;
2054 l_PRICE_LIST_LINE_rec.last_updated_by := l_implicit_rec.LAST_UPDATED_BY;
2055 l_PRICE_LIST_LINE_rec.last_update_date := l_implicit_rec.LAST_UPDATE_DATE;
2056 l_PRICE_LIST_LINE_rec.last_update_login := l_implicit_rec.LAST_UPDATE_LOGIN;
2057 l_PRICE_LIST_LINE_rec.list_price := l_implicit_rec.LIST_PRICE;
2058 l_PRICE_LIST_LINE_rec.method_code := l_method_code;
2059 l_PRICE_LIST_LINE_rec.price_list_id := l_implicit_rec.PRICE_LIST_ID;
2060 l_PRICE_LIST_LINE_rec.price_list_line_id := l_implicit_rec.PRICE_LIST_LINE_ID;
2061 l_PRICE_LIST_LINE_rec.pricing_attribute1 := l_implicit_rec.PRICING_ATTRIBUTE1;
2062 l_PRICE_LIST_LINE_rec.pricing_attribute10 := l_implicit_rec.PRICING_ATTRIBUTE10;
2063 l_PRICE_LIST_LINE_rec.pricing_attribute11 := l_implicit_rec.PRICING_ATTRIBUTE11;
2064 l_PRICE_LIST_LINE_rec.pricing_attribute12 := l_implicit_rec.PRICING_ATTRIBUTE12;
2065 l_PRICE_LIST_LINE_rec.pricing_attribute13 := l_implicit_rec.PRICING_ATTRIBUTE13;
2066 l_PRICE_LIST_LINE_rec.pricing_attribute14 := l_implicit_rec.PRICING_ATTRIBUTE14;
2067 l_PRICE_LIST_LINE_rec.pricing_attribute15 := l_implicit_rec.PRICING_ATTRIBUTE15;
2068 l_PRICE_LIST_LINE_rec.pricing_attribute2 := l_implicit_rec.PRICING_ATTRIBUTE2;
2069 l_PRICE_LIST_LINE_rec.pricing_attribute3 := l_implicit_rec.PRICING_ATTRIBUTE3;
2070 l_PRICE_LIST_LINE_rec.pricing_attribute4 := l_implicit_rec.PRICING_ATTRIBUTE4;
2071 l_PRICE_LIST_LINE_rec.pricing_attribute5 := l_implicit_rec.PRICING_ATTRIBUTE5;
2072 l_PRICE_LIST_LINE_rec.pricing_attribute6 := l_implicit_rec.PRICING_ATTRIBUTE6;
2073 l_PRICE_LIST_LINE_rec.pricing_attribute7 := l_implicit_rec.PRICING_ATTRIBUTE7;
2074 l_PRICE_LIST_LINE_rec.pricing_attribute8 := l_implicit_rec.PRICING_ATTRIBUTE8;
2075 l_PRICE_LIST_LINE_rec.pricing_attribute9 := l_implicit_rec.PRICING_ATTRIBUTE9;
2076 l_PRICE_LIST_LINE_rec.pricing_context := l_implicit_rec.PRICING_CONTEXT;
2077 l_PRICE_LIST_LINE_rec.pricing_rule_id := l_implicit_rec.PRICING_RULE_ID;
2078 l_PRICE_LIST_LINE_rec.primary := l_implicit_rec.PRIMARY;
2079 l_PRICE_LIST_LINE_rec.program_application_id := l_implicit_rec.PROGRAM_APPLICATION_ID;
2080 l_PRICE_LIST_LINE_rec.program_id := l_implicit_rec.PROGRAM_ID;
2081 l_PRICE_LIST_LINE_rec.program_update_date := l_implicit_rec.PROGRAM_UPDATE_DATE;
2082 l_PRICE_LIST_LINE_rec.reprice_flag := l_implicit_rec.REPRICE_FLAG;
2083 l_PRICE_LIST_LINE_rec.request_id := l_implicit_rec.REQUEST_ID;
2084 l_PRICE_LIST_LINE_rec.revision := l_implicit_rec.REVISION;
2085 l_PRICE_LIST_LINE_rec.revision_date := l_implicit_rec.REVISION_DATE;
2086 l_PRICE_LIST_LINE_rec.revision_reason_code := l_implicit_rec.REVISION_REASON_CODE;
2087 l_PRICE_LIST_LINE_rec.start_date_active := l_implicit_rec.START_DATE_ACTIVE;
2088 l_PRICE_LIST_LINE_rec.unit_code := l_implicit_rec.UNIT_CODE;
2089
2090 l_PRICE_LIST_LINE_tbl(l_PRICE_LIST_LINE_tbl.COUNT + 1) := l_PRICE_LIST_LINE_rec;
2091
2092
2093 END LOOP;
2094
2095
2096 -- PK sent and no rows found
2097
2098 IF
2099 (p_price_list_line_id IS NOT NULL
2100 AND
2101 p_price_list_line_id <> FND_API.G_MISS_NUM)
2102 AND
2103 (l_PRICE_LIST_LINE_tbl.COUNT = 0)
2104 THEN
2105 RAISE NO_DATA_FOUND;
2106 END IF;
2107
2108
2109 -- Return fetched table
2110
2111 RETURN l_PRICE_LIST_LINE_tbl;
2112
2113 EXCEPTION
2114
2115 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2116
2117 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2118
2119 WHEN OTHERS THEN
2120
2121 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2122 THEN
2123 OE_MSG_PUB.Add_Exc_Msg
2124 ( G_PKG_NAME
2125 , 'Query_Rows'
2126 );
2127 END IF;
2128
2129 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2130
2131 END Query_Rows;
2132
2133
2134 PROCEDURE Lock_Row
2135 ( x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
2136 , p_PRICE_LIST_LINE_rec IN OE_Price_List_PUB.Price_List_Line_Rec_Type
2137 , x_PRICE_LIST_LINE_rec OUT NOCOPY /* file.sql.39 change */ OE_Price_List_PUB.Price_List_Line_Rec_Type
2138 ) is
2139 l_PRICE_LIST_LINE_rec oe_price_list_pub.price_list_line_rec_type;
2140 l_percent_price number;
2141 l_list_price number;
2142 l_automatic_flag varchar2(30);
2143 l_list_line_type_code varchar2(30);
2144 l_modifier_level_code varchar2(30);
2145 l_list_line_id number;
2146 BEGIN
2147
2148 l_list_line_type_code := 'PLL';
2149 l_automatic_flag := 'Y';
2150 l_modifier_level_code := 'LINE';
2151 l_list_line_id := p_PRICE_LIST_LINE_rec.price_list_line_id;
2152
2153 If p_PRICE_LIST_LINE_rec.method_code = 'PERC' THEN
2154
2155 l_percent_price := p_PRICE_LIST_LINE_rec.list_price;
2156
2157 else
2158
2159 l_list_price := p_PRICE_LIST_LINE_rec.list_price;
2160
2161 end if;
2162
2163
2164
2165 lock_pricing_attributes(p_list_line_id => l_list_line_id,
2166 x_return_status => x_return_status);
2167
2168
2169 QP_MODIFIER_LIST_LINE_PVT.Lock_Row(
2170 X_LIST_LINE_ID => l_list_line_id
2171 , X_CREATION_DATE => p_PRICE_LIST_LINE_rec.creation_date
2172 , X_CREATED_BY => p_PRICE_LIST_LINE_rec.created_by
2173 , X_LAST_UPDATE_DATE => p_PRICE_LIST_LINE_rec.last_update_date
2174 , X_LAST_UPDATED_BY => p_PRICE_LIST_LINE_rec.last_updated_by
2175 , X_LAST_UPDATE_LOGIN => p_PRICE_LIST_LINE_rec.last_update_login
2176 , X_PROGRAM_APPLICATION_ID => p_PRICE_LIST_LINE_rec.program_application_id
2177 , X_PROGRAM_ID => p_PRICE_LIST_LINE_rec.program_id
2178 , X_PROGRAM_UPDATE_DATE => p_PRICE_LIST_LINE_rec.program_update_date
2179 , X_REQUEST_ID => p_PRICE_LIST_LINE_rec.request_id
2180 , X_LIST_HEADER_ID => p_PRICE_LIST_LINE_rec.price_list_id
2181 , X_LIST_LINE_TYPE_CODE => l_list_line_type_code
2182 , X_START_DATE_ACTIVE => p_PRICE_LIST_LINE_rec.start_date_active
2183 , X_END_DATE_ACTIVE => p_PRICE_LIST_LINE_rec.end_date_active
2184 , X_AUTOMATIC_FLAG => l_automatic_flag
2185 , X_MODIFIER_LEVEL_CODE => l_modifier_level_code
2186 , X_LIST_PRICE => l_list_price
2187 , X_LIST_PRICE_UOM_CODE => p_PRICE_LIST_LINE_rec.unit_code
2188 , X_PRIMARY_UOM_FLAG => p_PRICE_LIST_LINE_rec.primary
2189 , X_INVENTORY_ITEM_ID => NULL
2190 , X_ORGANIZATION_ID => NULL
2191 , X_RELATED_ITEM_ID => NULL
2192 , X_RELATIONSHIP_TYPE_ID => NULL
2193 , X_SUBSTITUTION_CONTEXT => NULL
2194 , X_SUBSTITUTION_ATTRIBUTE => NULL
2195 , X_SUBSTITUTION_VALUE => NULL
2196 , X_REVISION => p_PRICE_LIST_LINE_rec.revision
2197 , X_REVISION_DATE => p_PRICE_LIST_LINE_rec.revision_date
2198 , X_REVISION_REASON_CODE => p_PRICE_LIST_LINE_rec.revision_reason_code
2199 , X_COMMENTS => p_PRICE_LIST_LINE_rec.comments
2200 , X_CONTEXT => p_PRICE_LIST_LINE_rec.context
2201 , X_ATTRIBUTE1 => p_PRICE_LIST_LINE_rec.attribute1
2202 , X_ATTRIBUTE2 => p_PRICE_LIST_LINE_rec.attribute2
2203 , X_ATTRIBUTE3 => p_PRICE_LIST_LINE_rec.attribute3
2204 , X_ATTRIBUTE4 => p_PRICE_LIST_LINE_rec.attribute4
2205 , X_ATTRIBUTE5 => p_PRICE_LIST_LINE_rec.attribute5
2206 , X_ATTRIBUTE6 => p_PRICE_LIST_LINE_rec.attribute6
2207 , X_ATTRIBUTE7 => p_PRICE_LIST_LINE_rec.attribute7
2208 , X_ATTRIBUTE8 => p_PRICE_LIST_LINE_rec.attribute8
2209 , X_ATTRIBUTE9 => p_PRICE_LIST_LINE_rec.attribute9
2210 , X_ATTRIBUTE10 => p_PRICE_LIST_LINE_rec.attribute10
2211 , X_ATTRIBUTE11 => p_PRICE_LIST_LINE_rec.attribute11
2212 , X_ATTRIBUTE12 => p_PRICE_LIST_LINE_rec.attribute12
2213 , X_ATTRIBUTE13 => p_PRICE_LIST_LINE_rec.attribute13
2214 , X_ATTRIBUTE14 => p_PRICE_LIST_LINE_rec.attribute14
2215 , X_ATTRIBUTE15 => p_PRICE_LIST_LINE_rec.attribute15
2216 ,X_PRICE_BREAK_TYPE_CODE => NULL /* p_PRICE_LIST_LINE_rec.price_break_type_code */
2217 , X_PERCENT_PRICE => l_percent_price
2218 , X_PRICE_BY_FORMULA_ID => NULL
2219 , X_NUMBER_EFFECTIVE_PERIODS => NULL
2220 , X_EFFECTIVE_PERIOD_UOM => NULL
2221 , X_ARITHMETIC_OPERATOR => NULL
2222 , X_OPERAND => NULL
2223 , X_NEW_PRICE => NULL
2224 , X_OVERRIDE_FLAG => NULL
2225 , X_PRINT_ON_INVOICE_FLAG => NULL
2226 , X_GL_CLASS_ID => NULL
2227 , X_REBATE_TRANSACTION_TYPE_CODE => NULL
2228 , X_REBATE_SUBTYPE_CODE => NULL
2229 , X_BASE_QTY => NULL
2230 , X_BASE_UOM_CODE => NULL
2231 , X_ACCRUAL_TYPE_CODE => NULL
2232 , X_ACCRUAL_QTY => NULL
2233 , X_ACCRUAL_UOM_CODE => NULL
2234 , X_ESTIM_ACCRUAL_RATE => NULL
2235 , X_ACCUM_TO_ACCR_CONV_RATE => NULL
2236 , X_GENERATE_USING_FORMULA_ID => p_PRICE_LIST_LINE_rec.pricing_rule_id);
2237
2238
2239 x_PRICE_LIST_LINE_rec := p_PRICE_LIST_LINE_rec;
2240
2241 EXCEPTION
2242
2243 WHEN NO_DATA_FOUND THEN
2244
2245 x_return_status := FND_API.G_RET_STS_ERROR;
2246 x_PRICE_LIST_LINE_rec.return_status := FND_API.G_RET_STS_ERROR;
2247
2248 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
2249 THEN
2250
2251 FND_MESSAGE.SET_NAME('OE','OE_LOCK_ROW_DELETED');
2252 OE_MSG_PUB.Add;
2253
2254 END IF;
2255 WHEN APP_EXCEPTIONS.RECORD_LOCK_EXCEPTION THEN
2256
2257 x_return_status := FND_API.G_RET_STS_ERROR;
2258 x_PRICE_LIST_LINE_rec.return_status := FND_API.G_RET_STS_ERROR;
2259
2260 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
2261 THEN
2262
2263 FND_MESSAGE.SET_NAME('OE','OE_LOCK_ROW_ALREADY_LOCKED');
2264 OE_MSG_PUB.Add;
2265
2266 END IF;
2267 WHEN OTHERS THEN
2268
2269 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2270 x_PRICE_LIST_LINE_rec.return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2271
2272 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2273 THEN
2274 OE_MSG_PUB.Add_Exc_Msg
2275 ( G_PKG_NAME
2276 , 'Lock_Row'
2277 );
2278 END IF;
2279
2280 END Lock_Row;
2281
2282
2283
2284
2285
2286 -- Function Get_Values
2287
2288 FUNCTION Get_Values
2289 ( p_PRICE_LIST_LINE_rec IN OE_Price_List_PUB.Price_List_Line_Rec_Type
2290 , p_old_PRICE_LIST_LINE_rec IN OE_Price_List_PUB.Price_List_Line_Rec_Type :=
2291 OE_Price_List_PUB.G_MISS_PRICE_LIST_LINE_REC
2292 ) RETURN OE_Price_List_PUB.Price_List_Line_Val_Rec_Type
2293 IS
2294 l_PRICE_LIST_LINE_val_rec OE_Price_List_PUB.Price_List_Line_Val_Rec_Type;
2295 BEGIN
2296
2297 /*
2298 IF p_PRICE_LIST_LINE_rec.customer_item_id IS NOT NULL AND
2299 p_PRICE_LIST_LINE_rec.customer_item_id <> FND_API.G_MISS_NUM AND
2300 NOT OE_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.customer_item_id,
2301 p_old_PRICE_LIST_LINE_rec.customer_item_id)
2302 THEN
2303
2304 l_PRICE_LIST_LINE_val_rec.customer_item := OE_Id_To_Value.Customer_Item
2305 ( p_customer_item_id => p_PRICE_LIST_LINE_rec.customer_item_id
2306 );
2307 END IF;
2308 */
2309
2310 IF p_PRICE_LIST_LINE_rec.inventory_item_id IS NOT NULL AND
2311 p_PRICE_LIST_LINE_rec.inventory_item_id <> FND_API.G_MISS_NUM AND
2312 NOT OE_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.inventory_item_id,
2313 p_old_PRICE_LIST_LINE_rec.inventory_item_id)
2314 THEN
2315 l_PRICE_LIST_LINE_val_rec.inventory_item := OE_Id_To_Value.Inventory_Item
2316 ( p_inventory_item_id => p_PRICE_LIST_LINE_rec.inventory_item_id
2317 );
2318 END IF;
2319
2320 IF p_PRICE_LIST_LINE_rec.method_code IS NOT NULL AND
2321 p_PRICE_LIST_LINE_rec.method_code <> FND_API.G_MISS_CHAR AND
2322 NOT OE_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.method_code,
2323 p_old_PRICE_LIST_LINE_rec.method_code)
2324 THEN
2325 l_PRICE_LIST_LINE_val_rec.method := OE_Id_To_Value.Method
2326 ( p_method_code => p_PRICE_LIST_LINE_rec.method_code
2327 );
2328 END IF;
2329 /*
2330 IF p_PRICE_LIST_LINE_rec.price_list_id IS NOT NULL AND
2331 p_PRICE_LIST_LINE_rec.price_list_id <> FND_API.G_MISS_NUM AND
2332 NOT OE_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.price_list_id,
2333 p_old_PRICE_LIST_LINE_rec.price_list_id)
2334 THEN
2335 l_PRICE_LIST_LINE_val_rec.price_list := OE_Id_To_Value.Price_List
2336 ( p_price_list_id => p_PRICE_LIST_LINE_rec.price_list_id
2337 );
2338 END IF;
2339 */
2340
2341 IF p_PRICE_LIST_LINE_rec.price_list_line_id IS NOT NULL AND
2342 p_PRICE_LIST_LINE_rec.price_list_line_id <> FND_API.G_MISS_NUM AND
2343 NOT OE_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.price_list_line_id,
2344 p_old_PRICE_LIST_LINE_rec.price_list_line_id)
2345 THEN
2346 l_PRICE_LIST_LINE_val_rec.price_list_line := OE_Id_To_Value.Price_List_Line
2347 ( p_price_list_line_id => p_PRICE_LIST_LINE_rec.price_list_line_id
2348 );
2349 END IF;
2350
2351 IF p_PRICE_LIST_LINE_rec.pricing_rule_id IS NOT NULL AND
2352 p_PRICE_LIST_LINE_rec.pricing_rule_id <> FND_API.G_MISS_NUM AND
2353 NOT OE_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.pricing_rule_id,
2354 p_old_PRICE_LIST_LINE_rec.pricing_rule_id)
2355 THEN
2356 l_PRICE_LIST_LINE_val_rec.pricing_rule := OE_Id_To_Value.Pricing_Rule
2357 ( p_pricing_rule_id => p_PRICE_LIST_LINE_rec.pricing_rule_id
2358 );
2359 END IF;
2360
2361 IF p_PRICE_LIST_LINE_rec.reprice_flag IS NOT NULL AND
2362 p_PRICE_LIST_LINE_rec.reprice_flag <> FND_API.G_MISS_CHAR AND
2363 NOT OE_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.reprice_flag,
2364 p_old_PRICE_LIST_LINE_rec.reprice_flag)
2365 THEN
2366 l_PRICE_LIST_LINE_val_rec.reprice := OE_Id_To_Value.Reprice
2367 ( p_reprice_flag => p_PRICE_LIST_LINE_rec.reprice_flag
2368 );
2369 END IF;
2370
2371 IF p_PRICE_LIST_LINE_rec.revision_reason_code IS NOT NULL AND
2372 p_PRICE_LIST_LINE_rec.revision_reason_code <> FND_API.G_MISS_CHAR AND
2373 NOT OE_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.revision_reason_code,
2374 p_old_PRICE_LIST_LINE_rec.revision_reason_code)
2375 THEN
2376 l_PRICE_LIST_LINE_val_rec.revision_reason := OE_Id_To_Value.Revision_Reason
2377 ( p_revision_reason_code => p_PRICE_LIST_LINE_rec.revision_reason_code
2378 );
2379 END IF;
2380
2381 IF p_PRICE_LIST_LINE_rec.unit_code IS NOT NULL AND
2382 p_PRICE_LIST_LINE_rec.unit_code <> FND_API.G_MISS_CHAR AND
2383 NOT OE_GLOBALS.Equal(p_PRICE_LIST_LINE_rec.unit_code,
2384 p_old_PRICE_LIST_LINE_rec.unit_code)
2385 THEN
2386 l_PRICE_LIST_LINE_val_rec.unit := OE_Id_To_Value.Unit
2387 ( p_unit_code => p_PRICE_LIST_LINE_rec.unit_code
2388 );
2389 END IF;
2390
2391 RETURN l_PRICE_LIST_LINE_val_rec;
2392
2393 END Get_Values;
2394
2395 -- Function Get_Ids
2396
2397 FUNCTION Get_Ids
2398 ( p_PRICE_LIST_LINE_rec IN OE_Price_List_PUB.Price_List_Line_Rec_Type
2399 , p_PRICE_LIST_LINE_val_rec IN OE_Price_List_PUB.Price_List_Line_Val_Rec_Type
2400 ) RETURN OE_Price_List_PUB.Price_List_Line_Rec_Type
2401 IS
2402 l_PRICE_LIST_LINE_rec OE_Price_List_PUB.Price_List_Line_Rec_Type;
2403 BEGIN
2404
2405 -- initialize return_status.
2406
2407 l_PRICE_LIST_LINE_rec.return_status := FND_API.G_RET_STS_SUCCESS;
2408
2409 -- initialize l_PRICE_LIST_LINE_rec.
2410
2411 l_PRICE_LIST_LINE_rec := p_PRICE_LIST_LINE_rec;
2412
2413 IF p_PRICE_LIST_LINE_val_rec.customer_item <> FND_API.G_MISS_CHAR
2414 THEN
2415
2416 IF p_PRICE_LIST_LINE_rec.customer_item_id <> FND_API.G_MISS_NUM THEN
2417
2418 l_PRICE_LIST_LINE_rec.customer_item_id := p_PRICE_LIST_LINE_rec.customer_item_id;
2419
2420 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
2421 THEN
2422
2423 FND_MESSAGE.SET_NAME('OE','FND_BOTH_VAL_AND_ID_EXIST');
2424 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','customer_item');
2425 OE_MSG_PUB.Add;
2426
2427 END IF;
2428
2429 ELSE
2430
2431 /*
2432 l_PRICE_LIST_LINE_rec.customer_item_id := OE_Value_To_Id.customer_item
2433 ( p_customer_item => p_PRICE_LIST_LINE_val_rec.customer_item
2434 );
2435 */
2436
2437 IF l_PRICE_LIST_LINE_rec.customer_item_id = FND_API.G_MISS_NUM THEN
2438 l_PRICE_LIST_LINE_rec.return_status := FND_API.G_RET_STS_ERROR;
2439 END IF;
2440
2441 END IF;
2442
2443 END IF;
2444
2445 IF p_PRICE_LIST_LINE_val_rec.inventory_item <> FND_API.G_MISS_CHAR
2446 THEN
2447
2448 IF p_PRICE_LIST_LINE_rec.inventory_item_id <> FND_API.G_MISS_NUM THEN
2449
2450 l_PRICE_LIST_LINE_rec.inventory_item_id := p_PRICE_LIST_LINE_rec.inventory_item_id;
2451
2452 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
2453 THEN
2454
2455 FND_MESSAGE.SET_NAME('OE','FND_BOTH_VAL_AND_ID_EXIST');
2456 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','inventory_item');
2457 OE_MSG_PUB.Add;
2458
2459 END IF;
2460
2461 ELSE
2462
2463 l_PRICE_LIST_LINE_rec.inventory_item_id := OE_Value_To_Id.inventory_item
2464 ( p_inventory_item => p_PRICE_LIST_LINE_val_rec.inventory_item
2465 );
2466
2467 IF l_PRICE_LIST_LINE_rec.inventory_item_id = FND_API.G_MISS_NUM THEN
2468 l_PRICE_LIST_LINE_rec.return_status := FND_API.G_RET_STS_ERROR;
2469 END IF;
2470
2471 END IF;
2472
2473 END IF;
2474
2475 IF p_PRICE_LIST_LINE_val_rec.method <> FND_API.G_MISS_CHAR
2476 THEN
2477
2478 IF p_PRICE_LIST_LINE_rec.method_code <> FND_API.G_MISS_CHAR THEN
2479
2480 l_PRICE_LIST_LINE_rec.method_code := p_PRICE_LIST_LINE_rec.method_code;
2481
2482 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
2483 THEN
2484
2485 FND_MESSAGE.SET_NAME('OE','FND_BOTH_VAL_AND_ID_EXIST');
2486 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','method');
2487 OE_MSG_PUB.Add;
2488
2489 END IF;
2490
2491 ELSE
2492
2493 l_PRICE_LIST_LINE_rec.method_code := OE_Value_To_Id.method
2494 ( p_method => p_PRICE_LIST_LINE_val_rec.method
2495 );
2496
2497 IF l_PRICE_LIST_LINE_rec.method_code = FND_API.G_MISS_CHAR THEN
2498 l_PRICE_LIST_LINE_rec.return_status := FND_API.G_RET_STS_ERROR;
2499 END IF;
2500
2501 END IF;
2502
2503 END IF;
2504
2505 IF p_PRICE_LIST_LINE_val_rec.price_list <> FND_API.G_MISS_CHAR
2506 THEN
2507
2508 IF p_PRICE_LIST_LINE_rec.price_list_id <> FND_API.G_MISS_NUM THEN
2509
2510 l_PRICE_LIST_LINE_rec.price_list_id := p_PRICE_LIST_LINE_rec.price_list_id;
2511
2512 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
2513 THEN
2514
2515 FND_MESSAGE.SET_NAME('OE','FND_BOTH_VAL_AND_ID_EXIST');
2516 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','price_list');
2517 OE_MSG_PUB.Add;
2518
2519 END IF;
2520
2521 ELSE
2522
2523 l_PRICE_LIST_LINE_rec.price_list_id := OE_Value_To_Id.price_list
2524 ( p_price_list => p_PRICE_LIST_LINE_val_rec.price_list
2525 );
2526
2527 IF l_PRICE_LIST_LINE_rec.price_list_id = FND_API.G_MISS_NUM THEN
2528 l_PRICE_LIST_LINE_rec.return_status := FND_API.G_RET_STS_ERROR;
2529 END IF;
2530
2531 END IF;
2532
2533 END IF;
2534
2535 IF p_PRICE_LIST_LINE_val_rec.price_list_line <> FND_API.G_MISS_CHAR
2536 THEN
2537
2538 IF p_PRICE_LIST_LINE_rec.price_list_line_id <> FND_API.G_MISS_NUM THEN
2539
2540 l_PRICE_LIST_LINE_rec.price_list_line_id := p_PRICE_LIST_LINE_rec.price_list_line_id;
2541
2542 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
2543 THEN
2544
2545 FND_MESSAGE.SET_NAME('OE','FND_BOTH_VAL_AND_ID_EXIST');
2546 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','price_list_line');
2547 OE_MSG_PUB.Add;
2548
2549 END IF;
2550
2551 ELSE
2552
2553 l_PRICE_LIST_LINE_rec.price_list_line_id := OE_Value_To_Id.price_list_line
2554 ( p_price_list_line => p_PRICE_LIST_LINE_val_rec.price_list_line
2555 );
2556
2557 IF l_PRICE_LIST_LINE_rec.price_list_line_id = FND_API.G_MISS_NUM THEN
2558 l_PRICE_LIST_LINE_rec.return_status := FND_API.G_RET_STS_ERROR;
2559 END IF;
2560
2561 END IF;
2562
2563 END IF;
2564
2565 IF p_PRICE_LIST_LINE_val_rec.pricing_rule <> FND_API.G_MISS_CHAR
2566 THEN
2567
2568 IF p_PRICE_LIST_LINE_rec.pricing_rule_id <> FND_API.G_MISS_NUM THEN
2569
2570 l_PRICE_LIST_LINE_rec.pricing_rule_id := p_PRICE_LIST_LINE_rec.pricing_rule_id;
2571
2572 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
2573 THEN
2574
2575 FND_MESSAGE.SET_NAME('OE','FND_BOTH_VAL_AND_ID_EXIST');
2576 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','pricing_rule');
2577 OE_MSG_PUB.Add;
2578
2579 END IF;
2580
2581 ELSE
2582
2583 l_PRICE_LIST_LINE_rec.pricing_rule_id := OE_Value_To_Id.pricing_rule
2584 ( p_pricing_rule => p_PRICE_LIST_LINE_val_rec.pricing_rule
2585 );
2586
2587 IF l_PRICE_LIST_LINE_rec.pricing_rule_id = FND_API.G_MISS_NUM THEN
2588 l_PRICE_LIST_LINE_rec.return_status := FND_API.G_RET_STS_ERROR;
2589 END IF;
2590
2591 END IF;
2592
2593 END IF;
2594
2595 IF p_PRICE_LIST_LINE_val_rec.reprice <> FND_API.G_MISS_CHAR
2596 THEN
2597
2598 IF p_PRICE_LIST_LINE_rec.reprice_flag <> FND_API.G_MISS_CHAR THEN
2599
2600 l_PRICE_LIST_LINE_rec.reprice_flag := p_PRICE_LIST_LINE_rec.reprice_flag;
2601
2602 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
2603 THEN
2604
2605 FND_MESSAGE.SET_NAME('OE','FND_BOTH_VAL_AND_ID_EXIST');
2606 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','reprice');
2607 OE_MSG_PUB.Add;
2608
2609 END IF;
2610
2611 ELSE
2612
2613 l_PRICE_LIST_LINE_rec.reprice_flag := OE_Value_To_Id.reprice
2614 ( p_reprice => p_PRICE_LIST_LINE_val_rec.reprice
2615 );
2616
2617 IF l_PRICE_LIST_LINE_rec.reprice_flag = FND_API.G_MISS_CHAR THEN
2618 l_PRICE_LIST_LINE_rec.return_status := FND_API.G_RET_STS_ERROR;
2619 END IF;
2620
2621 END IF;
2622
2623 END IF;
2624
2625 IF p_PRICE_LIST_LINE_val_rec.revision_reason <> FND_API.G_MISS_CHAR
2626 THEN
2627
2628 IF p_PRICE_LIST_LINE_rec.revision_reason_code <> FND_API.G_MISS_CHAR THEN
2629
2630 l_PRICE_LIST_LINE_rec.revision_reason_code := p_PRICE_LIST_LINE_rec.revision_reason_code;
2631
2632 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
2633 THEN
2634
2635 FND_MESSAGE.SET_NAME('OE','FND_BOTH_VAL_AND_ID_EXIST');
2636 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','revision_reason');
2637 OE_MSG_PUB.Add;
2638
2639 END IF;
2640
2641 ELSE
2642
2643 l_PRICE_LIST_LINE_rec.revision_reason_code := OE_Value_To_Id.revision_reason
2644 ( p_revision_reason => p_PRICE_LIST_LINE_val_rec.revision_reason
2645 );
2646
2647 IF l_PRICE_LIST_LINE_rec.revision_reason_code = FND_API.G_MISS_CHAR THEN
2648 l_PRICE_LIST_LINE_rec.return_status := FND_API.G_RET_STS_ERROR;
2649 END IF;
2650
2651 END IF;
2652
2653 -- Added New Geresh
2654 ELSE
2655 -- l_Price_LLine_rec.revision_reason_code := '1234';
2656 l_Price_LIST_LINE_rec.revision_reason_code := OE_Value_To_Id.revision_reason
2657 ( p_revision_reason => p_Price_LIST_LINE_val_rec.revision_reason
2658 );
2659
2660 IF l_Price_LIST_Line_rec.revision_reason_code = FND_API.G_MISS_CHAR THEN
2661 l_Price_LIST_Line_rec.return_status := FND_API.G_RET_STS_ERROR;
2662 END IF;
2663
2664
2665
2666 END IF;
2667
2668 IF p_PRICE_LIST_LINE_val_rec.unit <> FND_API.G_MISS_CHAR
2669 THEN
2670
2671 IF p_PRICE_LIST_LINE_rec.unit_code <> FND_API.G_MISS_CHAR THEN
2672
2673 l_PRICE_LIST_LINE_rec.unit_code := p_PRICE_LIST_LINE_rec.unit_code;
2674
2675 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
2676 THEN
2677
2678 FND_MESSAGE.SET_NAME('OE','FND_BOTH_VAL_AND_ID_EXIST');
2679 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','unit');
2680 OE_MSG_PUB.Add;
2681
2682 END IF;
2683
2684 ELSE
2685
2686 l_PRICE_LIST_LINE_rec.unit_code := OE_Value_To_Id.unit
2687 ( p_unit => p_PRICE_LIST_LINE_val_rec.unit
2688 );
2689
2690 IF l_PRICE_LIST_LINE_rec.unit_code = FND_API.G_MISS_CHAR THEN
2691 l_PRICE_LIST_LINE_rec.return_status := FND_API.G_RET_STS_ERROR;
2692 END IF;
2693
2694 END IF;
2695
2696 END IF;
2697
2698
2699 RETURN l_PRICE_LIST_LINE_rec;
2700
2701 END Get_Ids;
2702
2703 PROCEDURE lock_pricing_attributes( p_list_line_id in number,
2704 x_return_status out NOCOPY /* file.sql.39 change */ varchar2)
2705 is
2706 l_count number := 0;
2707 begin
2708
2709
2710 select 1
2711 into l_count
2712 from qp_pricing_attributes
2713 where list_line_id = p_list_line_id
2714 for update nowait;
2715
2716 exception
2717
2718 WHEN APP_EXCEPTIONS.RECORD_LOCK_EXCEPTION THEN
2719
2720 x_return_status := FND_API.G_RET_STS_ERROR;
2721
2722 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
2723 THEN
2724
2725 FND_MESSAGE.SET_NAME('OE','OE_LOCK_ROW_ALREADY_LOCKED');
2726 OE_MSG_PUB.Add;
2727
2728 END IF;
2729
2730
2731 WHEN OTHERS THEN
2732
2733 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2734
2735 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2736 THEN
2737 OE_MSG_PUB.Add_Exc_Msg
2738 ( G_PKG_NAME
2739 , 'Lock_Row'
2740 );
2741 END IF;
2742
2743
2744 end lock_pricing_attributes;
2745
2746 PROCEDURE maintain_pricing_attributes(p_PRICE_LIST_LINE_rec in OE_PRICE_LIST_PUB.Price_List_Line_Rec_Type,
2747 operation in varchar2,
2748 x_return_status out NOCOPY /* file.sql.39 change */ varchar2)
2749 is
2750 l_pricing_attr_tbl OE_PRICE_LIST_PUB.Pricing_Attr_Tbl_Type;
2751 l_pricing_attr_rec OE_PRICE_LIST_PUB.Pricing_Attr_Rec_Type;
2752 l_count number := 0;
2753 l_product_context varchar2(30);
2754 l_customer_item_context varchar2(30);
2755 l_pb_dollars_attribute_context varchar2(30);
2756 l_pb_units_attribute_context varchar2(30);
2757 l_product_attr varchar2(30);
2758 l_customer_item_attr varchar2(30);
2759 l_pb_dollars_attribute varchar2(30);
2760 l_pb_units_attribute varchar2(30);
2761 l_pricing_attr_grouping_no number;
2762 I number := 1;
2763 J number := 1;
2764 l_related_modifier_id number;
2765 l_rltd_modifier_grp_no number;
2766 l_pricing_attribute_id number;
2767 begin
2768
2769 /* get the inventory item context first. */
2770
2771 oe_debug_pub.initialize;
2772 oe_debug_pub.debug_on;
2773 oe_debug_pub.add ( 'Geresh 9 :: IN Maintain attributes ' );
2774
2775 QP_UTIL.Get_Context_Attribute('1001', l_product_context, l_product_attr);
2776
2777 /* get the customer item context */
2778 oe_debug_pub.add ( 'Geresh 10 :: IN Maintain attributes ' );
2779
2780 QP_UTIL.Get_Context_Attribute('CUSTOMER_ITEM_ID', l_customer_item_context, l_customer_item_attr);
2781
2782 oe_debug_pub.add ( 'Geresh 11 :: IN Maintain attributes ' );
2783
2784 QP_UTIL.Get_Context_Attribute('DOLLARS',
2785 l_pb_dollars_attribute_context,
2786 l_pb_dollars_attribute );
2787 oe_debug_pub.add ( 'Geresh 12 :: IN Maintain attributes ' );
2788
2789 QP_UTIL.Get_Context_Attribute('UNITS',
2790 l_pb_units_attribute_context,
2791 l_pb_units_attribute );
2792 oe_debug_pub.add ( 'Geresh 13 :: IN Maintain attributes ' );
2793
2794
2795 IF operation = 'UPDATE' THEN
2796 oe_debug_pub.add ( 'Geresh 14 :: Before Query Maintain attributes ' );
2797
2798 l_pricing_attr_tbl := Query_Pricing_Attributes(p_list_line_id => p_PRICE_LIST_LINE_rec.price_list_line_id);
2799
2800 oe_debug_pub.add ( 'Geresh 15 :: IN Maintain attributes ' );
2801
2802 FOR I in 1..l_pricing_attr_tbl.count LOOP
2803
2804
2805 IF ( (l_pricing_attr_tbl(I).product_attribute_context =
2806 l_product_context) and
2807 (l_pricing_attr_tbl(I).product_attribute =
2808 l_product_attr) ) THEN
2809 l_pricing_attr_tbl(I).product_attr_value := p_PRICE_LIST_LINE_rec.inventory_item_id;
2810 l_pricing_attr_tbl(I).product_uom_code := p_PRICE_LIST_LINE_rec.unit_code;
2811
2812 END IF;
2813
2814 IF ( (l_pricing_attr_tbl(I).pricing_attribute_context =
2815 l_customer_item_context) and
2816 (l_pricing_attr_tbl(I).pricing_attribute =
2817 l_customer_item_attr) ) THEN
2818 l_pricing_attr_tbl(I).pricing_attr_value_from := p_PRICE_LIST_LINE_rec.customer_item_id;
2819
2820 END IF;
2821
2822 IF ( (l_pricing_attr_tbl(I).pricing_attribute_context =
2823 p_PRICE_LIST_LINE_rec.pricing_context) and
2824 (l_pricing_attr_tbl(I).pricing_attribute =
2825 'PRICING_ATTRIBUTE1') ) THEN
2826 l_pricing_attr_tbl(I).pricing_attr_value_from := p_PRICE_LIST_LINE_rec.pricing_attribute1;
2827
2828 END IF;
2829
2830 IF ( (l_pricing_attr_tbl(I).pricing_attribute_context =
2831 p_PRICE_LIST_LINE_rec.pricing_context) and
2832 (l_pricing_attr_tbl(I).pricing_attribute =
2833 'PRICING_ATTRIBUTE2') ) THEN
2834 l_pricing_attr_tbl(I).pricing_attr_value_from := p_PRICE_LIST_LINE_rec.pricing_attribute2;
2835
2836 END IF;
2837
2838 IF ( (l_pricing_attr_tbl(I).pricing_attribute_context =
2839 p_PRICE_LIST_LINE_rec.pricing_context) and
2840 (l_pricing_attr_tbl(I).pricing_attribute =
2841 'PRICING_ATTRIBUTE3') ) THEN
2842 l_pricing_attr_tbl(I).pricing_attr_value_from := p_PRICE_LIST_LINE_rec.pricing_attribute3;
2843
2844 END IF;
2845
2846 IF ( (l_pricing_attr_tbl(I).pricing_attribute_context =
2847 p_PRICE_LIST_LINE_rec.pricing_context) and
2848 (l_pricing_attr_tbl(I).pricing_attribute =
2849 'PRICING_ATTRIBUTE4') ) THEN
2850 l_pricing_attr_tbl(I).pricing_attr_value_from := p_PRICE_LIST_LINE_rec.pricing_attribute4;
2851
2852 END IF;
2853
2854 IF ( (l_pricing_attr_tbl(I).pricing_attribute_context =
2855 p_PRICE_LIST_LINE_rec.pricing_context) and
2856 (l_pricing_attr_tbl(I).pricing_attribute =
2857 'PRICING_ATTRIBUTE5') ) THEN
2858 l_pricing_attr_tbl(I).pricing_attr_value_from := p_PRICE_LIST_LINE_rec.pricing_attribute5;
2859
2860 END IF;
2861
2862 IF ( (l_pricing_attr_tbl(I).pricing_attribute_context =
2863 p_PRICE_LIST_LINE_rec.pricing_context) and
2864 (l_pricing_attr_tbl(I).pricing_attribute =
2865 'PRICING_ATTRIBUTE6') ) THEN
2866 l_pricing_attr_tbl(I).pricing_attr_value_from := p_PRICE_LIST_LINE_rec.pricing_attribute6;
2867
2868 END IF;
2869
2870 IF ( (l_pricing_attr_tbl(I).pricing_attribute_context =
2871 p_PRICE_LIST_LINE_rec.pricing_context) and
2872 (l_pricing_attr_tbl(I).pricing_attribute =
2873 'PRICING_ATTRIBUTE7') ) THEN
2874 l_pricing_attr_tbl(I).pricing_attr_value_from := p_PRICE_LIST_LINE_rec.pricing_attribute7;
2875
2876 END IF;
2877
2878 IF ( (l_pricing_attr_tbl(I).pricing_attribute_context =
2879 p_PRICE_LIST_LINE_rec.pricing_context) and
2880 (l_pricing_attr_tbl(I).pricing_attribute =
2881 'PRICING_ATTRIBUTE8') ) THEN
2882 l_pricing_attr_tbl(I).pricing_attr_value_from := p_PRICE_LIST_LINE_rec.pricing_attribute8;
2883
2884 END IF;
2885
2886 IF ( (l_pricing_attr_tbl(I).pricing_attribute_context =
2887 p_PRICE_LIST_LINE_rec.pricing_context) and
2888 (l_pricing_attr_tbl(I).pricing_attribute =
2889 'PRICING_ATTRIBUTE9') ) THEN
2890 l_pricing_attr_tbl(I).pricing_attr_value_from := p_PRICE_LIST_LINE_rec.pricing_attribute9;
2891
2892 END IF;
2893
2894 IF ( (l_pricing_attr_tbl(I).pricing_attribute_context =
2895 p_PRICE_LIST_LINE_rec.pricing_context) and
2896 (l_pricing_attr_tbl(I).pricing_attribute =
2897 'PRICING_ATTRIBUTE10') ) THEN
2898 l_pricing_attr_tbl(I).pricing_attr_value_from := p_PRICE_LIST_LINE_rec.pricing_attribute10;
2899
2900 END IF;
2901
2902 IF ( (l_pricing_attr_tbl(I).pricing_attribute_context =
2903 p_PRICE_LIST_LINE_rec.pricing_context) and
2904 (l_pricing_attr_tbl(I).pricing_attribute =
2905 'PRICING_ATTRIBUTE11') ) THEN
2906 l_pricing_attr_tbl(I).pricing_attr_value_from := p_PRICE_LIST_LINE_rec.pricing_attribute11;
2907
2908 END IF;
2909
2910 IF ( (l_pricing_attr_tbl(I).pricing_attribute_context =
2911 p_PRICE_LIST_LINE_rec.pricing_context) and
2912 (l_pricing_attr_tbl(I).pricing_attribute =
2913 'PRICING_ATTRIBUTE12') ) THEN
2914 l_pricing_attr_tbl(I).pricing_attr_value_from := p_PRICE_LIST_LINE_rec.pricing_attribute12;
2915
2916 END IF;
2917
2918 IF ( (l_pricing_attr_tbl(I).pricing_attribute_context =
2919 p_PRICE_LIST_LINE_rec.pricing_context) and
2920 (l_pricing_attr_tbl(I).pricing_attribute =
2921 'PRICING_ATTRIBUTE13') ) THEN
2922 l_pricing_attr_tbl(I).pricing_attr_value_from := p_PRICE_LIST_LINE_rec.pricing_attribute13;
2923
2924 END IF;
2925
2926 IF ( (l_pricing_attr_tbl(I).pricing_attribute_context =
2927 p_PRICE_LIST_LINE_rec.pricing_context) and
2928 (l_pricing_attr_tbl(I).pricing_attribute =
2929 'PRICING_ATTRIBUTE14') ) THEN
2930 l_pricing_attr_tbl(I).pricing_attr_value_from := p_PRICE_LIST_LINE_rec.pricing_attribute14;
2931
2932 END IF;
2933
2934 IF ( (l_pricing_attr_tbl(I).pricing_attribute_context =
2935 p_PRICE_LIST_LINE_rec.pricing_context) and
2936 (l_pricing_attr_tbl(I).pricing_attribute =
2937 'PRICING_ATTRIBUTE15') ) THEN
2938 l_pricing_attr_tbl(I).pricing_attr_value_from := p_PRICE_LIST_LINE_rec.pricing_attribute15;
2939
2940 END IF;
2941
2942
2943 IF ( (l_pricing_attr_tbl(I).pricing_attribute_context =
2944 l_pb_dollars_attribute_context) and
2945 (l_pricing_attr_tbl(I).pricing_attribute =
2946 l_pb_dollars_attribute) ) THEN
2947 l_pricing_attr_tbl(I).pricing_attr_value_from := p_PRICE_LIST_LINE_rec.price_break_low;
2948 l_pricing_attr_tbl(I).pricing_attr_value_to := p_PRICE_LIST_LINE_rec.price_break_high;
2949
2950 END IF;
2951
2952
2953
2954 /* call update row for pricing attributes */
2955
2956 QP_PRICING_ATTRIBUTE_PVT.Update_Row(
2957 X_PRICING_ATTRIBUTE_ID => l_pricing_attr_tbl(I).pricing_attribute_id
2958 , X_CREATION_DATE => l_pricing_attr_tbl(I).creation_date
2959 , X_CREATED_BY => l_pricing_attr_tbl(I).created_by
2960 , X_LAST_UPDATE_DATE => l_pricing_attr_tbl(I).last_update_date
2961 , X_LAST_UPDATED_BY => l_pricing_attr_tbl(I).last_updated_by
2962 , X_LAST_UPDATE_LOGIN => l_pricing_attr_tbl(I).last_update_login
2963 , X_PROGRAM_APPLICATION_ID => l_pricing_attr_tbl(I).program_application_id
2964 , X_PROGRAM_ID => l_pricing_attr_tbl(I).program_id
2965 , X_PROGRAM_UPDATE_DATE => l_pricing_attr_tbl(I).program_update_date
2966 , X_REQUEST_ID => l_pricing_attr_tbl(I).request_id
2967 , X_LIST_LINE_ID => l_pricing_attr_tbl(I).list_line_id
2968 , X_EXCLUDER_FLAG => l_pricing_attr_tbl(I).excluder_flag
2969 , X_ACCUMULATE_FLAG => l_pricing_attr_tbl(I).accumulate_flag
2970 , X_PRODUCT_ATTRIBUTE_CONTEXT => l_pricing_attr_tbl(I).product_attribute_context
2971 , X_PRODUCT_ATTRIBUTE => l_pricing_attr_tbl(I).product_attribute
2972 , X_PRODUCT_ATTR_VALUE => l_pricing_attr_tbl(I).product_attr_value
2973 , X_PRODUCT_UOM_CODE => l_pricing_attr_tbl(I).product_uom_code
2974 , X_PRICING_ATTRIBUTE_CONTEXT => l_pricing_attr_tbl(I).pricing_attribute_context
2975 , X_PRICING_ATTRIBUTE => l_pricing_attr_tbl(I).pricing_attribute
2976 , X_PRICING_ATTR_VALUE_FROM => l_pricing_attr_tbl(I).pricing_attr_value_from
2977 , X_PRICING_ATTR_VALUE_TO => l_pricing_attr_tbl(I).pricing_attr_value_to
2978 , X_ATTRIBUTE_GROUPING_NO => l_pricing_attr_tbl(I).attribute_grouping_no
2979 , X_CONTEXT => l_pricing_attr_tbl(I).context
2980 , X_ATTRIBUTE1 => l_pricing_attr_tbl(I).attribute1
2981 , X_ATTRIBUTE2 => l_pricing_attr_tbl(I).attribute1
2982 , X_ATTRIBUTE3 => l_pricing_attr_tbl(I).attribute1
2983 , X_ATTRIBUTE4 => l_pricing_attr_tbl(I).attribute1
2984 , X_ATTRIBUTE5 => l_pricing_attr_tbl(I).attribute1
2985 , X_ATTRIBUTE6 => l_pricing_attr_tbl(I).attribute1
2986 , X_ATTRIBUTE7 => l_pricing_attr_tbl(I).attribute1
2987 , X_ATTRIBUTE8 => l_pricing_attr_tbl(I).attribute1
2988 , X_ATTRIBUTE9 => l_pricing_attr_tbl(I).attribute1
2989 , X_ATTRIBUTE10 => l_pricing_attr_tbl(I).attribute1
2990 , X_ATTRIBUTE11 => l_pricing_attr_tbl(I).attribute1
2991 , X_ATTRIBUTE12 => l_pricing_attr_tbl(I).attribute1
2992 , X_ATTRIBUTE13 => l_pricing_attr_tbl(I).attribute1
2993 , X_ATTRIBUTE14 => l_pricing_attr_tbl(I).attribute1
2994 , X_ATTRIBUTE15 => l_pricing_attr_tbl(I).attribute1 );
2995
2996 END LOOP; /* for I in 1..l_pricing_attr_tbl.count */
2997
2998
2999 END IF; /* If operation = UPDATE */
3000
3001 IF ( operation = 'INSERT') THEN
3002
3003 oe_debug_pub.add ( 'Geresh 20 :: Insert Maintain attributes ' );
3004 l_pricing_attr_rec.product_attribute_context := l_product_context;
3005 l_pricing_attr_rec.product_attribute := l_product_attr;
3006 l_pricing_attr_rec.product_attr_value := p_PRICE_LIST_LINE_rec.inventory_item_id;
3007 l_pricing_attr_rec.pricing_attribute_context := 'ALL';
3008 l_pricing_attr_rec.pricing_attribute := 'ALL';
3009 l_pricing_attr_rec.pricing_attr_value_from := 'ALL';
3010 l_pricing_attr_tbl(I) := l_pricing_attr_rec;
3011
3012 If p_PRICE_LIST_LINE_rec.customer_item_id is not null then
3013 l_pricing_attr_rec.pricing_attribute_context := l_customer_item_context;
3014 l_pricing_attr_rec.pricing_attribute := l_customer_item_attr;
3015 l_pricing_attr_rec.pricing_attr_value_from := p_PRICE_LIST_LINE_rec.customer_item_id;
3016 l_pricing_attr_rec.pricing_attr_value_to := NULL;
3017 l_pricing_attr_tbl(I) := l_pricing_attr_rec;
3018 I := I + 1;
3019 end if;
3020
3021 /* check if pricing_attribute_context is present*/
3022
3023 If p_PRICE_LIST_LINE_rec.pricing_context is not null then
3024 l_pricing_attr_rec.pricing_attribute_context := p_PRICE_LIST_LINE_rec.pricing_context;
3025
3026 end if;
3027
3028 If p_PRICE_LIST_LINE_rec.pricing_attribute1 is not null then
3029 l_pricing_attr_rec.pricing_attribute_context := p_PRICE_LIST_LINE_rec.pricing_context;
3030 l_pricing_attr_rec.pricing_attribute := 'PRICING_ATTRIBUTE1';
3031 l_pricing_attr_rec.pricing_attr_value_from := p_PRICE_LIST_LINE_rec.pricing_attribute1;
3032 l_pricing_attr_rec.pricing_attr_value_to := NULL;
3033 l_pricing_attr_tbl(I) := l_pricing_attr_rec;
3034 I := I + 1;
3035 end if;
3036
3037 oe_debug_pub.add ( 'Geresh 21 :: Insert Maintain attributes ' );
3038 If p_PRICE_LIST_LINE_rec.pricing_attribute2 is not null then
3039 l_pricing_attr_rec.pricing_attribute_context := p_PRICE_LIST_LINE_rec.pricing_context;
3040 l_pricing_attr_rec.pricing_attribute := 'PRICING_ATTRIBUTE2';
3041 l_pricing_attr_rec.pricing_attr_value_from := p_PRICE_LIST_LINE_rec.pricing_attribute2;
3042 l_pricing_attr_rec.pricing_attr_value_to := NULL;
3043 l_pricing_attr_tbl(I) := l_pricing_attr_rec;
3044 I := I + 1;
3045 end if;
3046
3047 If p_PRICE_LIST_LINE_rec.pricing_attribute3 is not null then
3048 l_pricing_attr_rec.pricing_attribute_context := p_PRICE_LIST_LINE_rec.pricing_context;
3049 l_pricing_attr_rec.pricing_attribute := 'PRICING_ATTRIBUTE3';
3050 l_pricing_attr_rec.pricing_attr_value_from := p_PRICE_LIST_LINE_rec.pricing_attribute3;
3051 l_pricing_attr_rec.pricing_attr_value_to := NULL;
3052 l_pricing_attr_tbl(I) := l_pricing_attr_rec;
3053 I := I + 1;
3054 end if;
3055
3056 If p_PRICE_LIST_LINE_rec.pricing_attribute4 is not null then
3057 l_pricing_attr_rec.pricing_attribute_context := p_PRICE_LIST_LINE_rec.pricing_context;
3058 l_pricing_attr_rec.pricing_attribute := 'PRICING_ATTRIBUTE4';
3059 l_pricing_attr_rec.pricing_attr_value_from := p_PRICE_LIST_LINE_rec.pricing_attribute4;
3060 l_pricing_attr_rec.pricing_attr_value_to := NULL;
3061 l_pricing_attr_tbl(I) := l_pricing_attr_rec;
3062 I := I + 1;
3063 end if;
3064
3065 If p_PRICE_LIST_LINE_rec.pricing_attribute5 is not null then
3066 l_pricing_attr_rec.pricing_attribute_context := p_PRICE_LIST_LINE_rec.pricing_context;
3067 l_pricing_attr_rec.pricing_attribute := 'PRICING_ATTRIBUTE5';
3068 l_pricing_attr_rec.pricing_attr_value_from := p_PRICE_LIST_LINE_rec.pricing_attribute5;
3069 l_pricing_attr_rec.pricing_attr_value_to := NULL;
3070 l_pricing_attr_tbl(I) := l_pricing_attr_rec;
3071 I := I + 1;
3072 end if;
3073 oe_debug_pub.add ( 'Geresh 23 :: Insert Maintain attributes ' );
3074
3075 If p_PRICE_LIST_LINE_rec.pricing_attribute6 is not null then
3076 l_pricing_attr_rec.pricing_attribute_context := p_PRICE_LIST_LINE_rec.pricing_context;
3077 l_pricing_attr_rec.pricing_attribute := 'PRICING_ATTRIBUTE6';
3078 l_pricing_attr_rec.pricing_attr_value_from := p_PRICE_LIST_LINE_rec.pricing_attribute6;
3079 l_pricing_attr_rec.pricing_attr_value_to := NULL;
3080 l_pricing_attr_tbl(I) := l_pricing_attr_rec;
3081 I := I + 1;
3082 end if;
3083
3084 If p_PRICE_LIST_LINE_rec.pricing_attribute7 is not null then
3085 l_pricing_attr_rec.pricing_attribute_context := p_PRICE_LIST_LINE_rec.pricing_context;
3086 l_pricing_attr_rec.pricing_attribute := 'PRICING_ATTRIBUTE7';
3087 l_pricing_attr_rec.pricing_attr_value_from := p_PRICE_LIST_LINE_rec.pricing_attribute7;
3088 l_pricing_attr_rec.pricing_attr_value_to := NULL;
3089 l_pricing_attr_tbl(I) := l_pricing_attr_rec;
3090 I := I + 1;
3091 end if;
3092
3093 If p_PRICE_LIST_LINE_rec.pricing_attribute8 is not null then
3094 l_pricing_attr_rec.pricing_attribute_context := p_PRICE_LIST_LINE_rec.pricing_context;
3095 l_pricing_attr_rec.pricing_attribute := 'PRICING_ATTRIBUTE8';
3096 l_pricing_attr_rec.pricing_attr_value_from := p_PRICE_LIST_LINE_rec.pricing_attribute8;
3097 l_pricing_attr_rec.pricing_attr_value_to := NULL;
3098 l_pricing_attr_tbl(I) := l_pricing_attr_rec;
3099 I := I + 1;
3100 end if;
3101
3102 If p_PRICE_LIST_LINE_rec.pricing_attribute9 is not null then
3103 l_pricing_attr_rec.pricing_attribute_context := p_PRICE_LIST_LINE_rec.pricing_context;
3104 l_pricing_attr_rec.pricing_attribute := 'PRICING_ATTRIBUTE9';
3105 l_pricing_attr_rec.pricing_attr_value_from := p_PRICE_LIST_LINE_rec.pricing_attribute9;
3106 l_pricing_attr_rec.pricing_attr_value_to := NULL;
3107 l_pricing_attr_tbl(I) := l_pricing_attr_rec;
3108 I := I + 1;
3109 end if;
3110
3111 oe_debug_pub.add ( 'Geresh 24 :: Insert Maintain attributes ' );
3112 If p_PRICE_LIST_LINE_rec.pricing_attribute10 is not null then
3113 l_pricing_attr_rec.pricing_attribute_context := p_PRICE_LIST_LINE_rec.pricing_context;
3114 l_pricing_attr_rec.pricing_attribute := 'PRICING_ATTRIBUTE10';
3115 l_pricing_attr_rec.pricing_attr_value_from := p_PRICE_LIST_LINE_rec.pricing_attribute10;
3116 l_pricing_attr_rec.pricing_attr_value_to := NULL;
3117 l_pricing_attr_tbl(I) := l_pricing_attr_rec;
3118 I := I + 1;
3119 end if;
3120
3121 If p_PRICE_LIST_LINE_rec.pricing_attribute11 is not null then
3122 l_pricing_attr_rec.pricing_attribute_context := p_PRICE_LIST_LINE_rec.pricing_context;
3123 l_pricing_attr_rec.pricing_attribute := 'PRICING_ATTRIBUTE11';
3124 l_pricing_attr_rec.pricing_attr_value_from := p_PRICE_LIST_LINE_rec.pricing_attribute11;
3125 l_pricing_attr_rec.pricing_attr_value_to := NULL;
3126 l_pricing_attr_tbl(I) := l_pricing_attr_rec;
3127 I := I + 1;
3128 end if;
3129
3130 If p_PRICE_LIST_LINE_rec.pricing_attribute12 is not null then
3131 l_pricing_attr_rec.pricing_attribute_context := p_PRICE_LIST_LINE_rec.pricing_context;
3132 l_pricing_attr_rec.pricing_attribute := 'PRICING_ATTRIBUTE12';
3133 l_pricing_attr_rec.pricing_attr_value_from := p_PRICE_LIST_LINE_rec.pricing_attribute12;
3134 l_pricing_attr_rec.pricing_attr_value_to := NULL;
3135 l_pricing_attr_tbl(I) := l_pricing_attr_rec;
3136 I := I + 1;
3137 end if;
3138
3139 If p_PRICE_LIST_LINE_rec.pricing_attribute13 is not null then
3140 l_pricing_attr_rec.pricing_attribute_context := p_PRICE_LIST_LINE_rec.pricing_context;
3141 l_pricing_attr_rec.pricing_attribute := 'PRICING_ATTRIBUTE13';
3142 l_pricing_attr_rec.pricing_attr_value_from := p_PRICE_LIST_LINE_rec.pricing_attribute13;
3143 l_pricing_attr_rec.pricing_attr_value_to := NULL;
3144 l_pricing_attr_tbl(I) := l_pricing_attr_rec;
3145 I := I + 1;
3146 end if;
3147
3148 If p_PRICE_LIST_LINE_rec.pricing_attribute14 is not null then
3149 l_pricing_attr_rec.pricing_attribute_context := p_PRICE_LIST_LINE_rec.pricing_context;
3150 l_pricing_attr_rec.pricing_attribute := 'PRICING_ATTRIBUTE14';
3151 l_pricing_attr_rec.pricing_attr_value_from := p_PRICE_LIST_LINE_rec.pricing_attribute14;
3152 l_pricing_attr_rec.pricing_attr_value_to := NULL;
3153 l_pricing_attr_tbl(I) := l_pricing_attr_rec;
3154 I := I + 1;
3155 end if;
3156
3157 If p_PRICE_LIST_LINE_rec.pricing_attribute15 is not null then
3158 l_pricing_attr_rec.pricing_attribute_context := p_PRICE_LIST_LINE_rec.pricing_context;
3159 l_pricing_attr_rec.pricing_attribute := 'PRICING_ATTRIBUTE15';
3160 l_pricing_attr_rec.pricing_attr_value_from := p_PRICE_LIST_LINE_rec.pricing_attribute15;
3161 l_pricing_attr_rec.pricing_attr_value_to := NULL;
3162 l_pricing_attr_tbl(I) := l_pricing_attr_rec;
3163 I := I + 1;
3164 end if;
3165
3166
3167 if p_PRICE_LIST_LINE_rec.method_type_code is not null THEN
3168
3169 if p_PRICE_LIST_LINE_rec.method_type_code = 'Value' THEN
3170
3171 l_Pricing_Attr_rec.pricing_attribute_context := l_pb_dollars_attribute_context;
3172 l_pricing_attr_rec.pricing_attribute := l_pb_dollars_attribute;
3173 else
3174 l_Pricing_Attr_rec.pricing_attribute_context := l_pb_units_attribute_context;
3175 l_pricing_attr_rec.pricing_attribute := l_pb_units_attribute;
3176
3177 end if;
3178
3179 l_Pricing_Attr_rec.pricing_attr_value_from := p_PRICE_LIST_LINE_rec.price_break_low;
3180 l_Pricing_Attr_rec.pricing_attr_value_to := p_PRICE_LIST_LINE_rec.price_break_high;
3181
3182 l_Pricing_Attr_tbl(I) := l_Pricing_Attr_rec;
3183
3184 I := I + 1;
3185
3186 end if;
3187
3188 /* select attribute grouping no first */
3189
3190
3191 SELECT QP_PRICING_ATTR_GROUP_NO_S.nextval
3192 INTO l_pricing_attr_grouping_no
3193 FROM DUAL;
3194
3195 oe_debug_pub.add ( 'Geresh 18 :: Before Insert into Pricing attributes Maintain attributes ' );
3196
3197 FOR I in 1..l_pricing_attr_tbl.count loop
3198
3199 SELECT QP_PRICING_ATTRIBUTES_S.nextval
3200 INTO l_pricing_attribute_id
3201 from dual;
3202
3203 QP_PRICING_ATTRIBUTE_PVT.Insert_Row(
3204 X_PRICING_ATTRIBUTE_ID => l_pricing_attribute_id
3205 , X_CREATION_DATE => p_PRICE_LIST_LINE_rec.creation_date
3206 , X_CREATED_BY => p_PRICE_LIST_LINE_rec.created_by
3207 , X_LAST_UPDATE_DATE => p_PRICE_LIST_LINE_rec.last_update_date
3208 , X_LAST_UPDATED_BY => p_PRICE_LIST_LINE_rec.last_updated_by
3209 , X_LAST_UPDATE_LOGIN => p_PRICE_LIST_LINE_rec.last_update_login
3210 , X_PROGRAM_APPLICATION_ID => p_PRICE_LIST_LINE_rec.program_application_id
3211 , X_PROGRAM_ID => p_PRICE_LIST_LINE_rec.program_id
3212 , X_PROGRAM_UPDATE_DATE => p_PRICE_LIST_LINE_rec.program_update_date
3213 , X_REQUEST_ID => p_PRICE_LIST_LINE_rec.request_id
3214 , X_LIST_LINE_ID => p_PRICE_LIST_LINE_rec.price_list_line_id
3215 , X_EXCLUDER_FLAG => 'N'
3216 , X_ACCUMULATE_FLAG => 'N'
3217 , X_PRODUCT_ATTRIBUTE_CONTEXT => l_product_context
3218 , X_PRODUCT_ATTRIBUTE => l_product_attr
3219 , X_PRODUCT_ATTR_VALUE => p_PRICE_LIST_LINE_rec.inventory_item_id
3220 , X_PRODUCT_UOM_CODE => p_PRICE_LIST_LINE_rec.unit_code
3221 , X_PRICING_ATTRIBUTE_CONTEXT => l_pricing_attr_tbl(I).pricing_attribute_context
3222 , X_PRICING_ATTRIBUTE => l_pricing_attr_tbl(I).pricing_attribute
3223 , X_PRICING_ATTR_VALUE_FROM => l_pricing_attr_tbl(I).pricing_attr_value_from
3224 , X_PRICING_ATTR_VALUE_TO => l_pricing_attr_tbl(I).pricing_attr_value_to
3225 , X_ATTRIBUTE_GROUPING_NO => l_pricing_attr_grouping_no
3226 , X_CONTEXT => NULL
3227 , X_ATTRIBUTE1 => NULL
3228 , X_ATTRIBUTE2 => NULL
3229 , X_ATTRIBUTE3 => NULL
3230 , X_ATTRIBUTE4 => NULL
3231 , X_ATTRIBUTE5 => NULL
3232 , X_ATTRIBUTE6 => NULL
3233 , X_ATTRIBUTE7 => NULL
3234 , X_ATTRIBUTE8 => NULL
3235 , X_ATTRIBUTE9 => NULL
3236 , X_ATTRIBUTE10 => NULL
3237 , X_ATTRIBUTE11 => NULL
3238 , X_ATTRIBUTE12 => NULL
3239 , X_ATTRIBUTE13 => NULL
3240 , X_ATTRIBUTE14 => NULL
3241 , X_ATTRIBUTE15 => NULL
3242 );
3243
3244 END LOOP;
3245
3246
3247
3248 oe_debug_pub.add ( 'Geresh 31 :: Before Insert into Pricing attributes Maintain attributes ' );
3249
3250 IF p_PRICE_LIST_LINE_rec.price_break_parent_line is not null THEN
3251
3252 select qp_rltd_modifier_grp_no_s.nextval
3253 into l_rltd_modifier_grp_no
3254 from dual;
3255 oe_debug_pub.add ( 'Geresh 30 :: Before Insert into Pricing attributes Maintain attributes ' );
3256
3257 select qp_rltd_modifiers_s.nextval
3258 into l_related_modifier_id
3259 from dual;
3260 oe_debug_pub.add ( 'Geresh 31 :: ' || p_PRICE_LIST_LINE_rec.price_break_parent_line );
3261 oe_debug_pub.add ( 'Geresh 31:: 1 ' || p_PRICE_LIST_LINE_rec.price_list_line_id );
3262
3263 /*
3264 QP_RLTD_MODIFIER_PVT.Insert_Row(
3265 X_RLTD_MODIFIER_ID => l_related_modifier_id
3266 , X_CREATION_DATE => p_PRICE_LIST_LINE_rec.creation_date
3267 , X_CREATED_BY => p_PRICE_LIST_LINE_rec.created_by
3268 , X_LAST_UPDATE_DATE => p_PRICE_LIST_LINE_rec.last_update_date
3269 , X_LAST_UPDATED_BY => p_PRICE_LIST_LINE_rec.last_updated_by
3270 , X_LAST_UPDATE_LOGIN => p_PRICE_LIST_LINE_rec.last_update_login
3271 , X_RLTD_MODIFIER_GRP_NO => l_rltd_modifier_grp_no
3272 , X_FROM_RLTD_MODIFIER_ID => p_PRICE_LIST_LINE_rec.price_break_parent_line
3273 , X_TO_RLTD_MODIFIER_ID => p_PRICE_LIST_LINE_rec.price_list_line_id
3274 , X_CONTEXT => NULL
3275 , X_ATTRIBUTE1 => NULL
3276 , X_ATTRIBUTE2 => NULL
3277 , X_ATTRIBUTE3 => NULL
3278 , X_ATTRIBUTE4 => NULL
3279 , X_ATTRIBUTE5 => NULL
3280 , X_ATTRIBUTE6 => NULL
3281 , X_ATTRIBUTE7 => NULL
3282 , X_ATTRIBUTE8 => NULL
3283 , X_ATTRIBUTE9 => NULL
3284 , X_ATTRIBUTE10 => NULL
3285 , X_ATTRIBUTE11 => NULL
3286 , X_ATTRIBUTE12 => NULL
3287 , X_ATTRIBUTE13 => NULL
3288 , X_ATTRIBUTE14 => NULL
3289 , X_ATTRIBUTE15 => NULL
3290 ); */
3291
3292
3293 END IF;
3294
3295
3296 END IF; /* If operation = 'INSERT' */
3297
3298 x_return_status := FND_API.G_RET_STS_SUCCESS;
3299
3300 exception
3301
3302 WHEN APP_EXCEPTIONS.RECORD_LOCK_EXCEPTION THEN
3303
3304 x_return_status := FND_API.G_RET_STS_ERROR;
3305
3306 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
3307 THEN
3308
3309 FND_MESSAGE.SET_NAME('OE','OE_LOCK_ROW_ALREADY_LOCKED');
3310 OE_MSG_PUB.Add;
3311
3312 END IF;
3313
3314
3315 WHEN OTHERS THEN
3316
3317 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3318
3319 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3320 THEN
3321 OE_MSG_PUB.Add_Exc_Msg
3322 ( G_PKG_NAME
3323 , 'Lock_Row'
3324 );
3325 END IF;
3326
3327
3328 end maintain_pricing_attributes;
3329
3330 FUNCTION Query_Pricing_Attributes
3331 ( p_pricing_attribute_id IN NUMBER :=
3332 FND_API.G_MISS_NUM
3333 , p_list_line_id IN NUMBER :=
3334 FND_API.G_MISS_NUM
3335 ) RETURN OE_Price_List_PUB.Pricing_Attr_Tbl_Type
3336 IS
3337 l_PRICING_ATTR_rec OE_PRICE_LIST_PUB.Pricing_Attr_Rec_Type;
3338 l_PRICING_ATTR_tbl OE_PRICE_LIST_PUB.Pricing_Attr_Tbl_Type;
3339
3340 CURSOR l_PRICING_ATTR_csr IS
3341 SELECT ACCUMULATE_FLAG
3342 , ATTRIBUTE1
3343 , ATTRIBUTE10
3344 , ATTRIBUTE11
3345 , ATTRIBUTE12
3346 , ATTRIBUTE13
3347 , ATTRIBUTE14
3348 , ATTRIBUTE15
3349 , ATTRIBUTE2
3350 , ATTRIBUTE3
3351 , ATTRIBUTE4
3352 , ATTRIBUTE5
3353 , ATTRIBUTE6
3354 , ATTRIBUTE7
3355 , ATTRIBUTE8
3356 , ATTRIBUTE9
3357 , ATTRIBUTE_GROUPING_NO
3358 , CONTEXT
3359 , CREATED_BY
3360 , CREATION_DATE
3361 , EXCLUDER_FLAG
3362 , LAST_UPDATED_BY
3363 , LAST_UPDATE_DATE
3364 , LAST_UPDATE_LOGIN
3365 , LIST_LINE_ID
3366 , PRICING_ATTRIBUTE
3367 , PRICING_ATTRIBUTE_CONTEXT
3368 , PRICING_ATTRIBUTE_ID
3369 , PRICING_ATTR_VALUE_FROM
3370 , PRICING_ATTR_VALUE_TO
3371 , PRODUCT_ATTRIBUTE
3372 , PRODUCT_ATTRIBUTE_CONTEXT
3373 , PRODUCT_ATTR_VALUE
3374 , PRODUCT_UOM_CODE
3375 , PROGRAM_APPLICATION_ID
3376 , PROGRAM_ID
3377 , PROGRAM_UPDATE_DATE
3378 , REQUEST_ID
3379 FROM QP_PRICING_ATTRIBUTES
3380 WHERE ( PRICING_ATTRIBUTE_ID = p_pricing_attribute_id
3381 )
3382 OR ( LIST_LINE_ID = p_list_line_id
3383 );
3384
3385 BEGIN
3386
3387 IF ( ( p_pricing_attribute_id is not null
3388 and p_pricing_attribute_id <> FND_API.G_MISS_NUM)
3389 or (p_list_line_id is not null
3390 and p_list_line_id <> FND_API.G_MISS_NUM ) ) THEN
3391
3392 FOR l_implicit_rec IN l_PRICING_ATTR_csr LOOP
3393
3394 l_PRICING_ATTR_rec.accumulate_flag := l_implicit_rec.ACCUMULATE_FLAG;
3395 l_PRICING_ATTR_rec.attribute1 := l_implicit_rec.ATTRIBUTE1;
3396 l_PRICING_ATTR_rec.attribute10 := l_implicit_rec.ATTRIBUTE10;
3397 l_PRICING_ATTR_rec.attribute11 := l_implicit_rec.ATTRIBUTE11;
3398 l_PRICING_ATTR_rec.attribute12 := l_implicit_rec.ATTRIBUTE12;
3399 l_PRICING_ATTR_rec.attribute13 := l_implicit_rec.ATTRIBUTE13;
3400 l_PRICING_ATTR_rec.attribute14 := l_implicit_rec.ATTRIBUTE14;
3401 l_PRICING_ATTR_rec.attribute15 := l_implicit_rec.ATTRIBUTE15;
3402 l_PRICING_ATTR_rec.attribute2 := l_implicit_rec.ATTRIBUTE2;
3403 l_PRICING_ATTR_rec.attribute3 := l_implicit_rec.ATTRIBUTE3;
3404 l_PRICING_ATTR_rec.attribute4 := l_implicit_rec.ATTRIBUTE4;
3405 l_PRICING_ATTR_rec.attribute5 := l_implicit_rec.ATTRIBUTE5;
3406 l_PRICING_ATTR_rec.attribute6 := l_implicit_rec.ATTRIBUTE6;
3407 l_PRICING_ATTR_rec.attribute7 := l_implicit_rec.ATTRIBUTE7;
3408 l_PRICING_ATTR_rec.attribute8 := l_implicit_rec.ATTRIBUTE8;
3409 l_PRICING_ATTR_rec.attribute9 := l_implicit_rec.ATTRIBUTE9;
3410 l_PRICING_ATTR_rec.attribute_grouping_no := l_implicit_rec.ATTRIBUTE_GROUPING_NO;
3411 l_PRICING_ATTR_rec.context := l_implicit_rec.CONTEXT;
3412 l_PRICING_ATTR_rec.created_by := l_implicit_rec.CREATED_BY;
3413 l_PRICING_ATTR_rec.creation_date := l_implicit_rec.CREATION_DATE;
3414 l_PRICING_ATTR_rec.excluder_flag := l_implicit_rec.EXCLUDER_FLAG;
3415 l_PRICING_ATTR_rec.last_updated_by := l_implicit_rec.LAST_UPDATED_BY;
3416 l_PRICING_ATTR_rec.last_update_date := l_implicit_rec.LAST_UPDATE_DATE;
3417 l_PRICING_ATTR_rec.last_update_login := l_implicit_rec.LAST_UPDATE_LOGIN;
3418 l_PRICING_ATTR_rec.list_line_id := l_implicit_rec.LIST_LINE_ID;
3419 l_PRICING_ATTR_rec.pricing_attribute := l_implicit_rec.PRICING_ATTRIBUTE;
3420 l_PRICING_ATTR_rec.pricing_attribute_context := l_implicit_rec.PRICING_ATTRIBUTE_CONTEXT;
3421 l_PRICING_ATTR_rec.pricing_attribute_id := l_implicit_rec.PRICING_ATTRIBUTE_ID;
3422 l_PRICING_ATTR_rec.pricing_attr_value_from := l_implicit_rec.PRICING_ATTR_VALUE_FROM;
3423 l_PRICING_ATTR_rec.pricing_attr_value_to := l_implicit_rec.PRICING_ATTR_VALUE_TO;
3424 l_PRICING_ATTR_rec.product_attribute := l_implicit_rec.PRODUCT_ATTRIBUTE;
3425 l_PRICING_ATTR_rec.product_attribute_context := l_implicit_rec.PRODUCT_ATTRIBUTE_CONTEXT;
3426 l_PRICING_ATTR_rec.product_attr_value := l_implicit_rec.PRODUCT_ATTR_VALUE;
3427 l_PRICING_ATTR_rec.product_uom_code := l_implicit_rec.PRODUCT_UOM_CODE;
3428 l_PRICING_ATTR_rec.program_application_id := l_implicit_rec.PROGRAM_APPLICATION_ID;
3429 l_PRICING_ATTR_rec.program_id := l_implicit_rec.PROGRAM_ID;
3430 l_PRICING_ATTR_rec.program_update_date := l_implicit_rec.PROGRAM_UPDATE_DATE;
3431 l_PRICING_ATTR_rec.request_id := l_implicit_rec.REQUEST_ID;
3432
3433 l_PRICING_ATTR_tbl(l_PRICING_ATTR_tbl.COUNT + 1) := l_PRICING_ATTR_rec;
3434
3435 END LOOP;
3436
3437 END IF;
3438
3439
3440 -- PK sent and no rows found
3441
3442 IF
3443 ( (p_pricing_attribute_id IS NOT NULL
3444 AND
3445 p_pricing_attribute_id <> FND_API.G_MISS_NUM)
3446 or
3447 (p_list_line_id IS NOT NULL
3448 AND
3449 p_list_line_id <> FND_API.G_MISS_NUM) )
3450 AND
3451 (l_PRICING_ATTR_tbl.COUNT = 0)
3452 THEN
3453 RAISE NO_DATA_FOUND;
3454 END IF;
3455
3456
3457 -- Return fetched table
3458
3459 RETURN l_PRICING_ATTR_tbl;
3460
3461 EXCEPTION
3462
3463 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3464 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3465
3466 WHEN OTHERS THEN
3467
3468 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3469 THEN
3470 FND_MSG_PUB.Add_Exc_Msg
3471 ( G_PKG_NAME
3472 , 'Query_Rows'
3473 );
3474 END IF;
3475
3476 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3477
3478 END Query_Pricing_Attributes;
3479
3480
3481 END OE_Price_List_Line_Util;