[Home] [Help]
PACKAGE BODY: APPS.OE_PRICE_LIST_UTIL
Source
1 PACKAGE BODY OE_Price_List_Util AS
2 /* $Header: OEXUPRHB.pls 120.2 2006/03/21 11:20:46 rnayani noship $ */
3
4 -- Global constant holding the package name
5
6 G_PKG_NAME CONSTANT VARCHAR2(30) := 'OE_Price_List_Util';
7
8 -- Procedure Clear_Dependent_Attr
9
10 PROCEDURE Clear_Dependent_Attr
11 ( p_attr_id IN NUMBER := FND_API.G_MISS_NUM
12 , p_PRICE_LIST_rec IN OE_Price_List_PUB.Price_List_Rec_Type
13 , p_old_PRICE_LIST_rec IN OE_Price_List_PUB.Price_List_Rec_Type :=
14 OE_Price_List_PUB.G_MISS_PRICE_LIST_REC
15 , x_PRICE_LIST_rec OUT NOCOPY /* file.sql.39 change */ OE_Price_List_PUB.Price_List_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_rec := p_PRICE_LIST_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_rec.attribute1,p_old_PRICE_LIST_rec.attribute1)
33 THEN
34 l_index := l_index + 1;
35 l_src_attr_tbl(l_index) := OE_PRICE_LIST_UTIL.G_ATTRIBUTE1;
36 END IF;
37
38 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_rec.attribute10,p_old_PRICE_LIST_rec.attribute10)
39 THEN
40 l_index := l_index + 1;
41 l_src_attr_tbl(l_index) := OE_PRICE_LIST_UTIL.G_ATTRIBUTE10;
42 END IF;
43
44 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_rec.attribute11,p_old_PRICE_LIST_rec.attribute11)
45 THEN
46 l_index := l_index + 1;
47 l_src_attr_tbl(l_index) := OE_PRICE_LIST_UTIL.G_ATTRIBUTE11;
48 END IF;
49
50 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_rec.attribute12,p_old_PRICE_LIST_rec.attribute12)
51 THEN
52 l_index := l_index + 1;
53 l_src_attr_tbl(l_index) := OE_PRICE_LIST_UTIL.G_ATTRIBUTE12;
54 END IF;
55
56 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_rec.attribute13,p_old_PRICE_LIST_rec.attribute13)
57 THEN
58 l_index := l_index + 1;
59 l_src_attr_tbl(l_index) := OE_PRICE_LIST_UTIL.G_ATTRIBUTE13;
60 END IF;
61
62 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_rec.attribute14,p_old_PRICE_LIST_rec.attribute14)
63 THEN
64 l_index := l_index + 1;
68 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_rec.attribute15,p_old_PRICE_LIST_rec.attribute15)
65 l_src_attr_tbl(l_index) := OE_PRICE_LIST_UTIL.G_ATTRIBUTE14;
66 END IF;
67
69 THEN
70 l_index := l_index + 1;
71 l_src_attr_tbl(l_index) := OE_PRICE_LIST_UTIL.G_ATTRIBUTE15;
72 END IF;
73
74 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_rec.attribute2,p_old_PRICE_LIST_rec.attribute2)
75 THEN
76 l_index := l_index + 1;
77 l_src_attr_tbl(l_index) := OE_PRICE_LIST_UTIL.G_ATTRIBUTE2;
78 END IF;
79
80 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_rec.attribute3,p_old_PRICE_LIST_rec.attribute3)
81 THEN
82 l_index := l_index + 1;
83 l_src_attr_tbl(l_index) := OE_PRICE_LIST_UTIL.G_ATTRIBUTE3;
84 END IF;
85
86 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_rec.attribute4,p_old_PRICE_LIST_rec.attribute4)
87 THEN
88 l_index := l_index + 1;
89 l_src_attr_tbl(l_index) := OE_PRICE_LIST_UTIL.G_ATTRIBUTE4;
90 END IF;
91
92 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_rec.attribute5,p_old_PRICE_LIST_rec.attribute5)
93 THEN
94 l_index := l_index + 1;
95 l_src_attr_tbl(l_index) := OE_PRICE_LIST_UTIL.G_ATTRIBUTE5;
96 END IF;
97
98 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_rec.attribute6,p_old_PRICE_LIST_rec.attribute6)
99 THEN
100 l_index := l_index + 1;
101 l_src_attr_tbl(l_index) := OE_PRICE_LIST_UTIL.G_ATTRIBUTE6;
102 END IF;
103
104 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_rec.attribute7,p_old_PRICE_LIST_rec.attribute7)
105 THEN
106 l_index := l_index + 1;
107 l_src_attr_tbl(l_index) := OE_PRICE_LIST_UTIL.G_ATTRIBUTE7;
108 END IF;
109
110 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_rec.attribute8,p_old_PRICE_LIST_rec.attribute8)
111 THEN
112 l_index := l_index + 1;
113 l_src_attr_tbl(l_index) := OE_PRICE_LIST_UTIL.G_ATTRIBUTE8;
114 END IF;
115
116 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_rec.attribute9,p_old_PRICE_LIST_rec.attribute9)
117 THEN
118 l_index := l_index + 1;
119 l_src_attr_tbl(l_index) := OE_PRICE_LIST_UTIL.G_ATTRIBUTE9;
120 END IF;
121
122 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_rec.comments,p_old_PRICE_LIST_rec.comments)
123 THEN
124 l_index := l_index + 1;
125 l_src_attr_tbl(l_index) := OE_PRICE_LIST_UTIL.G_COMMENTS;
126 END IF;
127
128 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_rec.context,p_old_PRICE_LIST_rec.context)
129 THEN
130 l_index := l_index + 1;
131 l_src_attr_tbl(l_index) := OE_PRICE_LIST_UTIL.G_CONTEXT;
132 END IF;
133
134 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_rec.created_by,p_old_PRICE_LIST_rec.created_by)
135 THEN
136 l_index := l_index + 1;
137 l_src_attr_tbl(l_index) := OE_PRICE_LIST_UTIL.G_CREATED_BY;
138 END IF;
139
140 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_rec.creation_date,p_old_PRICE_LIST_rec.creation_date)
141 THEN
142 l_index := l_index + 1;
143 l_src_attr_tbl(l_index) := OE_PRICE_LIST_UTIL.G_CREATION_DATE;
144 END IF;
145
146 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_rec.currency_code,p_old_PRICE_LIST_rec.currency_code)
147 THEN
148 l_index := l_index + 1;
149 l_src_attr_tbl(l_index) := OE_PRICE_LIST_UTIL.G_CURRENCY;
150 END IF;
151
152 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_rec.description,p_old_PRICE_LIST_rec.description)
153 THEN
154 l_index := l_index + 1;
155 l_src_attr_tbl(l_index) := OE_PRICE_LIST_UTIL.G_DESCRIPTION;
156 END IF;
157
158 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_rec.end_date_active,p_old_PRICE_LIST_rec.end_date_active)
159 THEN
160 l_index := l_index + 1;
161 l_src_attr_tbl(l_index) := OE_PRICE_LIST_UTIL.G_END_DATE_ACTIVE;
162 END IF;
163
164 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_rec.freight_terms_code,p_old_PRICE_LIST_rec.freight_terms_code)
165 THEN
166 l_index := l_index + 1;
167 l_src_attr_tbl(l_index) := OE_PRICE_LIST_UTIL.G_FREIGHT_TERMS;
168 END IF;
169
170 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_rec.last_updated_by,p_old_PRICE_LIST_rec.last_updated_by)
171 THEN
172 l_index := l_index + 1;
173 l_src_attr_tbl(l_index) := OE_PRICE_LIST_UTIL.G_LAST_UPDATED_BY;
174 END IF;
175
176 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_rec.last_update_date,p_old_PRICE_LIST_rec.last_update_date)
177 THEN
178 l_index := l_index + 1;
179 l_src_attr_tbl(l_index) := OE_PRICE_LIST_UTIL.G_LAST_UPDATE_DATE;
180 END IF;
181
182 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_rec.last_update_login,p_old_PRICE_LIST_rec.last_update_login)
183 THEN
184 l_index := l_index + 1;
185 l_src_attr_tbl(l_index) := OE_PRICE_LIST_UTIL.G_LAST_UPDATE_LOGIN;
186 END IF;
187
188 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_rec.name,p_old_PRICE_LIST_rec.name)
189 THEN
190 l_index := l_index + 1;
191 l_src_attr_tbl(l_index) := OE_PRICE_LIST_UTIL.G_NAME;
192 END IF;
193
194 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_rec.price_list_id,p_old_PRICE_LIST_rec.price_list_id)
195 THEN
196 l_index := l_index + 1;
197 l_src_attr_tbl(l_index) := OE_PRICE_LIST_UTIL.G_PRICE_LIST;
198 END IF;
199
200 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_rec.program_application_id,p_old_PRICE_LIST_rec.program_application_id)
201 THEN
202 l_index := l_index + 1;
203 l_src_attr_tbl(l_index) := OE_PRICE_LIST_UTIL.G_PROGRAM_APPLICATION;
204 END IF;
205
206 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_rec.program_id,p_old_PRICE_LIST_rec.program_id)
207 THEN
208 l_index := l_index + 1;
209 l_src_attr_tbl(l_index) := OE_PRICE_LIST_UTIL.G_PROGRAM;
210 END IF;
211
212 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_rec.program_update_date,p_old_PRICE_LIST_rec.program_update_date)
213 THEN
214 l_index := l_index + 1;
215 l_src_attr_tbl(l_index) := OE_PRICE_LIST_UTIL.G_PROGRAM_UPDATE_DATE;
216 END IF;
217
218 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_rec.request_id,p_old_PRICE_LIST_rec.request_id)
219 THEN
220 l_index := l_index + 1;
221 l_src_attr_tbl(l_index) := OE_PRICE_LIST_UTIL.G_REQUEST;
222 END IF;
223
224 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_rec.rounding_factor,p_old_PRICE_LIST_rec.rounding_factor)
225 THEN
226 l_index := l_index + 1;
227 l_src_attr_tbl(l_index) := OE_PRICE_LIST_UTIL.G_ROUNDING_FACTOR;
228 END IF;
229
230 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_rec.secondary_price_list_id,p_old_PRICE_LIST_rec.secondary_price_list_id)
231 THEN
232 l_index := l_index + 1;
233 l_src_attr_tbl(l_index) := OE_PRICE_LIST_UTIL.G_SECONDARY_PRICE_LIST;
234 END IF;
235
236 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_rec.ship_method_code,p_old_PRICE_LIST_rec.ship_method_code)
237 THEN
238 l_index := l_index + 1;
239 l_src_attr_tbl(l_index) := OE_PRICE_LIST_UTIL.G_SHIP_METHOD;
240 END IF;
241
242 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_rec.start_date_active,p_old_PRICE_LIST_rec.start_date_active)
243 THEN
244 l_index := l_index + 1;
245 l_src_attr_tbl(l_index) := OE_PRICE_LIST_UTIL.G_START_DATE_ACTIVE;
246 END IF;
247
248 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_rec.terms_id,p_old_PRICE_LIST_rec.terms_id)
249 THEN
250 l_index := l_index + 1;
251 l_src_attr_tbl(l_index) := OE_PRICE_LIST_UTIL.G_TERMS;
252 END IF;
253
254 ELSIF p_attr_id = G_ATTRIBUTE1 THEN
255 l_index := l_index + 1;
256 l_src_attr_tbl(l_index) := OE_PRICE_LIST_UTIL.G_ATTRIBUTE1;
257 ELSIF p_attr_id = G_ATTRIBUTE10 THEN
258 l_index := l_index + 1;
259 l_src_attr_tbl(l_index) := OE_PRICE_LIST_UTIL.G_ATTRIBUTE10;
260 ELSIF p_attr_id = G_ATTRIBUTE11 THEN
261 l_index := l_index + 1;
262 l_src_attr_tbl(l_index) := OE_PRICE_LIST_UTIL.G_ATTRIBUTE11;
263 ELSIF p_attr_id = G_ATTRIBUTE12 THEN
264 l_index := l_index + 1;
265 l_src_attr_tbl(l_index) := OE_PRICE_LIST_UTIL.G_ATTRIBUTE12;
266 ELSIF p_attr_id = G_ATTRIBUTE13 THEN
267 l_index := l_index + 1;
268 l_src_attr_tbl(l_index) := OE_PRICE_LIST_UTIL.G_ATTRIBUTE13;
269 ELSIF p_attr_id = G_ATTRIBUTE14 THEN
270 l_index := l_index + 1;
271 l_src_attr_tbl(l_index) := OE_PRICE_LIST_UTIL.G_ATTRIBUTE14;
272 ELSIF p_attr_id = G_ATTRIBUTE15 THEN
273 l_index := l_index + 1;
274 l_src_attr_tbl(l_index) := OE_PRICE_LIST_UTIL.G_ATTRIBUTE15;
275 ELSIF p_attr_id = G_ATTRIBUTE2 THEN
276 l_index := l_index + 1;
277 l_src_attr_tbl(l_index) := OE_PRICE_LIST_UTIL.G_ATTRIBUTE2;
278 ELSIF p_attr_id = G_ATTRIBUTE3 THEN
279 l_index := l_index + 1;
280 l_src_attr_tbl(l_index) := OE_PRICE_LIST_UTIL.G_ATTRIBUTE3;
281 ELSIF p_attr_id = G_ATTRIBUTE4 THEN
282 l_index := l_index + 1;
283 l_src_attr_tbl(l_index) := OE_PRICE_LIST_UTIL.G_ATTRIBUTE4;
284 ELSIF p_attr_id = G_ATTRIBUTE5 THEN
285 l_index := l_index + 1;
286 l_src_attr_tbl(l_index) := OE_PRICE_LIST_UTIL.G_ATTRIBUTE5;
287 ELSIF p_attr_id = G_ATTRIBUTE6 THEN
288 l_index := l_index + 1;
289 l_src_attr_tbl(l_index) := OE_PRICE_LIST_UTIL.G_ATTRIBUTE6;
290 ELSIF p_attr_id = G_ATTRIBUTE7 THEN
291 l_index := l_index + 1;
292 l_src_attr_tbl(l_index) := OE_PRICE_LIST_UTIL.G_ATTRIBUTE7;
293 ELSIF p_attr_id = G_ATTRIBUTE8 THEN
294 l_index := l_index + 1;
295 l_src_attr_tbl(l_index) := OE_PRICE_LIST_UTIL.G_ATTRIBUTE8;
296 ELSIF p_attr_id = G_ATTRIBUTE9 THEN
297 l_index := l_index + 1;
298 l_src_attr_tbl(l_index) := OE_PRICE_LIST_UTIL.G_ATTRIBUTE9;
299 ELSIF p_attr_id = G_COMMENTS THEN
300 l_index := l_index + 1;
301 l_src_attr_tbl(l_index) := OE_PRICE_LIST_UTIL.G_COMMENTS;
302 ELSIF p_attr_id = G_CONTEXT THEN
303 l_index := l_index + 1;
304 l_src_attr_tbl(l_index) := OE_PRICE_LIST_UTIL.G_CONTEXT;
305 ELSIF p_attr_id = G_CREATED_BY THEN
306 l_index := l_index + 1;
307 l_src_attr_tbl(l_index) := OE_PRICE_LIST_UTIL.G_CREATED_BY;
308 ELSIF p_attr_id = G_CREATION_DATE THEN
309 l_index := l_index + 1;
310 l_src_attr_tbl(l_index) := OE_PRICE_LIST_UTIL.G_CREATION_DATE;
311 ELSIF p_attr_id = G_CURRENCY THEN
312 l_index := l_index + 1;
313 l_src_attr_tbl(l_index) := OE_PRICE_LIST_UTIL.G_CURRENCY;
314 ELSIF p_attr_id = G_DESCRIPTION THEN
315 l_index := l_index + 1;
316 l_src_attr_tbl(l_index) := OE_PRICE_LIST_UTIL.G_DESCRIPTION;
317 ELSIF p_attr_id = G_END_DATE_ACTIVE THEN
318 l_index := l_index + 1;
319 l_src_attr_tbl(l_index) := OE_PRICE_LIST_UTIL.G_END_DATE_ACTIVE;
320 ELSIF p_attr_id = G_FREIGHT_TERMS THEN
321 l_index := l_index + 1;
322 l_src_attr_tbl(l_index) := OE_PRICE_LIST_UTIL.G_FREIGHT_TERMS;
323 ELSIF p_attr_id = G_LAST_UPDATED_BY THEN
324 l_index := l_index + 1;
325 l_src_attr_tbl(l_index) := OE_PRICE_LIST_UTIL.G_LAST_UPDATED_BY;
326 ELSIF p_attr_id = G_LAST_UPDATE_DATE THEN
327 l_index := l_index + 1;
328 l_src_attr_tbl(l_index) := OE_PRICE_LIST_UTIL.G_LAST_UPDATE_DATE;
329 ELSIF p_attr_id = G_LAST_UPDATE_LOGIN THEN
330 l_index := l_index + 1;
331 l_src_attr_tbl(l_index) := OE_PRICE_LIST_UTIL.G_LAST_UPDATE_LOGIN;
332 ELSIF p_attr_id = G_NAME THEN
333 l_index := l_index + 1;
334 l_src_attr_tbl(l_index) := OE_PRICE_LIST_UTIL.G_NAME;
335 ELSIF p_attr_id = G_PRICE_LIST THEN
336 l_index := l_index + 1;
337 l_src_attr_tbl(l_index) := OE_PRICE_LIST_UTIL.G_PRICE_LIST;
338 ELSIF p_attr_id = G_PROGRAM_APPLICATION THEN
339 l_index := l_index + 1;
340 l_src_attr_tbl(l_index) := OE_PRICE_LIST_UTIL.G_PROGRAM_APPLICATION;
341 ELSIF p_attr_id = G_PROGRAM THEN
342 l_index := l_index + 1;
343 l_src_attr_tbl(l_index) := OE_PRICE_LIST_UTIL.G_PROGRAM;
344 ELSIF p_attr_id = G_PROGRAM_UPDATE_DATE THEN
345 l_index := l_index + 1;
346 l_src_attr_tbl(l_index) := OE_PRICE_LIST_UTIL.G_PROGRAM_UPDATE_DATE;
347 ELSIF p_attr_id = G_REQUEST THEN
348 l_index := l_index + 1;
349 l_src_attr_tbl(l_index) := OE_PRICE_LIST_UTIL.G_REQUEST;
350 ELSIF p_attr_id = G_ROUNDING_FACTOR THEN
351 l_index := l_index + 1;
352 l_src_attr_tbl(l_index) := OE_PRICE_LIST_UTIL.G_ROUNDING_FACTOR;
353 ELSIF p_attr_id = G_SECONDARY_PRICE_LIST THEN
354 l_index := l_index + 1;
355 l_src_attr_tbl(l_index) := OE_PRICE_LIST_UTIL.G_SECONDARY_PRICE_LIST;
356 ELSIF p_attr_id = G_SHIP_METHOD THEN
357 l_index := l_index + 1;
358 l_src_attr_tbl(l_index) := OE_PRICE_LIST_UTIL.G_SHIP_METHOD;
359 ELSIF p_attr_id = G_START_DATE_ACTIVE THEN
360 l_index := l_index + 1;
361 l_src_attr_tbl(l_index) := OE_PRICE_LIST_UTIL.G_START_DATE_ACTIVE;
362 ELSIF p_attr_id = G_TERMS THEN
363 l_index := l_index + 1;
364 l_src_attr_tbl(l_index) := OE_PRICE_LIST_UTIL.G_TERMS;
365 END IF;
366
367 END Clear_Dependent_Attr;
368
369 -- Procedure Apply_Attribute_Changes
370
371 PROCEDURE Apply_Attribute_Changes
372 ( p_PRICE_LIST_rec IN OE_Price_List_PUB.Price_List_Rec_Type
373 , p_old_PRICE_LIST_rec IN OE_Price_List_PUB.Price_List_Rec_Type :=
374 OE_Price_List_PUB.G_MISS_PRICE_LIST_REC
375 , x_PRICE_LIST_rec OUT NOCOPY /* file.sql.39 change */ OE_Price_List_PUB.Price_List_Rec_Type
376 )
377 IS
378 BEGIN
379
380 -- Load out record
381
382 x_PRICE_LIST_rec := p_PRICE_LIST_rec;
383
384 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_rec.attribute1,p_old_PRICE_LIST_rec.attribute1)
385 THEN
386 NULL;
387 END IF;
388
389 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_rec.attribute10,p_old_PRICE_LIST_rec.attribute10)
390 THEN
391 NULL;
392 END IF;
393
394 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_rec.attribute11,p_old_PRICE_LIST_rec.attribute11)
395 THEN
396 NULL;
397 END IF;
398
399 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_rec.attribute12,p_old_PRICE_LIST_rec.attribute12)
400 THEN
401 NULL;
402 END IF;
403
404 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_rec.attribute13,p_old_PRICE_LIST_rec.attribute13)
405 THEN
406 NULL;
407 END IF;
408
409 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_rec.attribute14,p_old_PRICE_LIST_rec.attribute14)
410 THEN
411 NULL;
412 END IF;
413
414 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_rec.attribute15,p_old_PRICE_LIST_rec.attribute15)
415 THEN
416 NULL;
417 END IF;
418
419 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_rec.attribute2,p_old_PRICE_LIST_rec.attribute2)
420 THEN
421 NULL;
422 END IF;
423
424 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_rec.attribute3,p_old_PRICE_LIST_rec.attribute3)
425 THEN
426 NULL;
427 END IF;
428
429 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_rec.attribute4,p_old_PRICE_LIST_rec.attribute4)
430 THEN
431 NULL;
432 END IF;
433
434 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_rec.attribute5,p_old_PRICE_LIST_rec.attribute5)
435 THEN
436 NULL;
437 END IF;
438
439 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_rec.attribute6,p_old_PRICE_LIST_rec.attribute6)
440 THEN
441 NULL;
442 END IF;
443
444 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_rec.attribute7,p_old_PRICE_LIST_rec.attribute7)
445 THEN
446 NULL;
450 THEN
447 END IF;
448
449 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_rec.attribute8,p_old_PRICE_LIST_rec.attribute8)
451 NULL;
452 END IF;
453
454 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_rec.attribute9,p_old_PRICE_LIST_rec.attribute9)
455 THEN
456 NULL;
457 END IF;
458
459 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_rec.comments,p_old_PRICE_LIST_rec.comments)
460 THEN
461 NULL;
462 END IF;
463
464 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_rec.context,p_old_PRICE_LIST_rec.context)
465 THEN
466 NULL;
467 END IF;
468
469 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_rec.created_by,p_old_PRICE_LIST_rec.created_by)
470 THEN
471 NULL;
472 END IF;
473
474 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_rec.creation_date,p_old_PRICE_LIST_rec.creation_date)
475 THEN
476 NULL;
477 END IF;
478
479 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_rec.currency_code,p_old_PRICE_LIST_rec.currency_code)
480 THEN
481 NULL;
482 END IF;
483
484 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_rec.description,p_old_PRICE_LIST_rec.description)
485 THEN
486 NULL;
487 END IF;
488
489 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_rec.end_date_active,p_old_PRICE_LIST_rec.end_date_active)
490 THEN
491 NULL;
492 END IF;
493
494 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_rec.freight_terms_code,p_old_PRICE_LIST_rec.freight_terms_code)
495 THEN
496 NULL;
497 END IF;
498
499 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_rec.last_updated_by,p_old_PRICE_LIST_rec.last_updated_by)
500 THEN
501 NULL;
502 END IF;
503
504 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_rec.last_update_date,p_old_PRICE_LIST_rec.last_update_date)
505 THEN
506 NULL;
507 END IF;
508
509 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_rec.last_update_login,p_old_PRICE_LIST_rec.last_update_login)
510 THEN
511 NULL;
512 END IF;
513
514 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_rec.name,p_old_PRICE_LIST_rec.name)
515 THEN
516 NULL;
517 END IF;
518
519 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_rec.price_list_id,p_old_PRICE_LIST_rec.price_list_id)
520 THEN
521 NULL;
522 END IF;
523
524 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_rec.program_application_id,p_old_PRICE_LIST_rec.program_application_id)
525 THEN
526 NULL;
527 END IF;
528
529 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_rec.program_id,p_old_PRICE_LIST_rec.program_id)
530 THEN
531 NULL;
532 END IF;
533
534 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_rec.program_update_date,p_old_PRICE_LIST_rec.program_update_date)
535 THEN
536 NULL;
537 END IF;
538
539 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_rec.request_id,p_old_PRICE_LIST_rec.request_id)
540 THEN
541 NULL;
542 END IF;
543
544 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_rec.rounding_factor,p_old_PRICE_LIST_rec.rounding_factor)
545 THEN
546 NULL;
547 END IF;
548
549 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_rec.secondary_price_list_id,p_old_PRICE_LIST_rec.secondary_price_list_id)
550 THEN
551 NULL;
552 END IF;
553
554 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_rec.ship_method_code,p_old_PRICE_LIST_rec.ship_method_code)
555 THEN
556 NULL;
557 END IF;
558
559 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_rec.start_date_active,p_old_PRICE_LIST_rec.start_date_active)
560 THEN
561 NULL;
562 END IF;
563
564 IF NOT OE_GLOBALS.Equal(p_PRICE_LIST_rec.terms_id,p_old_PRICE_LIST_rec.terms_id)
565 THEN
566 NULL;
567 END IF;
568
569 END Apply_Attribute_Changes;
570
571 -- Function Complete_Record
572
573 FUNCTION Complete_Record
574 ( p_PRICE_LIST_rec IN OE_Price_List_PUB.Price_List_Rec_Type
575 , p_old_PRICE_LIST_rec IN OE_Price_List_PUB.Price_List_Rec_Type
576 ) RETURN OE_Price_List_PUB.Price_List_Rec_Type
577 IS
578 l_PRICE_LIST_rec OE_Price_List_PUB.Price_List_Rec_Type := p_PRICE_LIST_rec;
579 BEGIN
580
581 IF l_PRICE_LIST_rec.attribute1 = FND_API.G_MISS_CHAR THEN
582 l_PRICE_LIST_rec.attribute1 := p_old_PRICE_LIST_rec.attribute1;
583 END IF;
584
585 IF l_PRICE_LIST_rec.attribute10 = FND_API.G_MISS_CHAR THEN
586 l_PRICE_LIST_rec.attribute10 := p_old_PRICE_LIST_rec.attribute10;
587 END IF;
588
589 IF l_PRICE_LIST_rec.attribute11 = FND_API.G_MISS_CHAR THEN
590 l_PRICE_LIST_rec.attribute11 := p_old_PRICE_LIST_rec.attribute11;
591 END IF;
592
593 IF l_PRICE_LIST_rec.attribute12 = FND_API.G_MISS_CHAR THEN
594 l_PRICE_LIST_rec.attribute12 := p_old_PRICE_LIST_rec.attribute12;
595 END IF;
596
597 IF l_PRICE_LIST_rec.attribute13 = FND_API.G_MISS_CHAR THEN
598 l_PRICE_LIST_rec.attribute13 := p_old_PRICE_LIST_rec.attribute13;
599 END IF;
600
601 IF l_PRICE_LIST_rec.attribute14 = FND_API.G_MISS_CHAR THEN
602 l_PRICE_LIST_rec.attribute14 := p_old_PRICE_LIST_rec.attribute14;
603 END IF;
604
605 IF l_PRICE_LIST_rec.attribute15 = FND_API.G_MISS_CHAR THEN
606 l_PRICE_LIST_rec.attribute15 := p_old_PRICE_LIST_rec.attribute15;
607 END IF;
608
609 IF l_PRICE_LIST_rec.attribute2 = FND_API.G_MISS_CHAR THEN
610 l_PRICE_LIST_rec.attribute2 := p_old_PRICE_LIST_rec.attribute2;
611 END IF;
612
613 IF l_PRICE_LIST_rec.attribute3 = FND_API.G_MISS_CHAR THEN
614 l_PRICE_LIST_rec.attribute3 := p_old_PRICE_LIST_rec.attribute3;
615 END IF;
616
617 IF l_PRICE_LIST_rec.attribute4 = FND_API.G_MISS_CHAR THEN
618 l_PRICE_LIST_rec.attribute4 := p_old_PRICE_LIST_rec.attribute4;
619 END IF;
620
621 IF l_PRICE_LIST_rec.attribute5 = FND_API.G_MISS_CHAR THEN
622 l_PRICE_LIST_rec.attribute5 := p_old_PRICE_LIST_rec.attribute5;
623 END IF;
624
625 IF l_PRICE_LIST_rec.attribute6 = FND_API.G_MISS_CHAR THEN
626 l_PRICE_LIST_rec.attribute6 := p_old_PRICE_LIST_rec.attribute6;
627 END IF;
628
629 IF l_PRICE_LIST_rec.attribute7 = FND_API.G_MISS_CHAR THEN
630 l_PRICE_LIST_rec.attribute7 := p_old_PRICE_LIST_rec.attribute7;
631 END IF;
632
633 IF l_PRICE_LIST_rec.attribute8 = FND_API.G_MISS_CHAR THEN
634 l_PRICE_LIST_rec.attribute8 := p_old_PRICE_LIST_rec.attribute8;
635 END IF;
636
637 IF l_PRICE_LIST_rec.attribute9 = FND_API.G_MISS_CHAR THEN
638 l_PRICE_LIST_rec.attribute9 := p_old_PRICE_LIST_rec.attribute9;
639 END IF;
640
641 IF l_PRICE_LIST_rec.comments = FND_API.G_MISS_CHAR THEN
642 l_PRICE_LIST_rec.comments := p_old_PRICE_LIST_rec.comments;
643 END IF;
644
645 IF l_PRICE_LIST_rec.context = FND_API.G_MISS_CHAR THEN
646 l_PRICE_LIST_rec.context := p_old_PRICE_LIST_rec.context;
647 END IF;
648
649 IF l_PRICE_LIST_rec.created_by = FND_API.G_MISS_NUM THEN
650 l_PRICE_LIST_rec.created_by := p_old_PRICE_LIST_rec.created_by;
651 END IF;
652
653 IF l_PRICE_LIST_rec.creation_date = FND_API.G_MISS_DATE THEN
654 l_PRICE_LIST_rec.creation_date := p_old_PRICE_LIST_rec.creation_date;
655 END IF;
656
657 IF l_PRICE_LIST_rec.currency_code = FND_API.G_MISS_CHAR THEN
658 l_PRICE_LIST_rec.currency_code := p_old_PRICE_LIST_rec.currency_code;
659 END IF;
660
661 IF l_PRICE_LIST_rec.description = FND_API.G_MISS_CHAR THEN
662 l_PRICE_LIST_rec.description := p_old_PRICE_LIST_rec.description;
663 END IF;
664
665 IF l_PRICE_LIST_rec.end_date_active = FND_API.G_MISS_DATE THEN
666 l_PRICE_LIST_rec.end_date_active := p_old_PRICE_LIST_rec.end_date_active;
667 END IF;
668
669 IF l_PRICE_LIST_rec.freight_terms_code = FND_API.G_MISS_CHAR THEN
670 l_PRICE_LIST_rec.freight_terms_code := p_old_PRICE_LIST_rec.freight_terms_code;
671 END IF;
672
673 IF l_PRICE_LIST_rec.last_updated_by = FND_API.G_MISS_NUM THEN
674 l_PRICE_LIST_rec.last_updated_by := p_old_PRICE_LIST_rec.last_updated_by;
675 END IF;
676
677 IF l_PRICE_LIST_rec.last_update_date = FND_API.G_MISS_DATE THEN
678 l_PRICE_LIST_rec.last_update_date := p_old_PRICE_LIST_rec.last_update_date;
679 END IF;
680
681 IF l_PRICE_LIST_rec.last_update_login = FND_API.G_MISS_NUM THEN
682 l_PRICE_LIST_rec.last_update_login := p_old_PRICE_LIST_rec.last_update_login;
683 END IF;
684
685 IF l_PRICE_LIST_rec.name = FND_API.G_MISS_CHAR THEN
686 l_PRICE_LIST_rec.name := p_old_PRICE_LIST_rec.name;
687 END IF;
688
689 IF l_PRICE_LIST_rec.price_list_id = FND_API.G_MISS_NUM THEN
690 l_PRICE_LIST_rec.price_list_id := p_old_PRICE_LIST_rec.price_list_id;
691 END IF;
692
693 IF l_PRICE_LIST_rec.program_application_id = FND_API.G_MISS_NUM THEN
694 l_PRICE_LIST_rec.program_application_id := p_old_PRICE_LIST_rec.program_application_id;
695 END IF;
696
697 IF l_PRICE_LIST_rec.program_id = FND_API.G_MISS_NUM THEN
698 l_PRICE_LIST_rec.program_id := p_old_PRICE_LIST_rec.program_id;
699 END IF;
700
701 IF l_PRICE_LIST_rec.program_update_date = FND_API.G_MISS_DATE THEN
702 l_PRICE_LIST_rec.program_update_date := p_old_PRICE_LIST_rec.program_update_date;
703 END IF;
704
705 IF l_PRICE_LIST_rec.request_id = FND_API.G_MISS_NUM THEN
706 l_PRICE_LIST_rec.request_id := p_old_PRICE_LIST_rec.request_id;
707 END IF;
708
709 IF l_PRICE_LIST_rec.rounding_factor = FND_API.G_MISS_NUM THEN
710 l_PRICE_LIST_rec.rounding_factor := p_old_PRICE_LIST_rec.rounding_factor;
711 END IF;
712
713 IF l_PRICE_LIST_rec.secondary_price_list_id = FND_API.G_MISS_NUM THEN
714 l_PRICE_LIST_rec.secondary_price_list_id := p_old_PRICE_LIST_rec.secondary_price_list_id;
715 END IF;
716
717 IF l_PRICE_LIST_rec.ship_method_code = FND_API.G_MISS_CHAR THEN
718 l_PRICE_LIST_rec.ship_method_code := p_old_PRICE_LIST_rec.ship_method_code;
719 END IF;
720
721 IF l_PRICE_LIST_rec.start_date_active = FND_API.G_MISS_DATE THEN
722 l_PRICE_LIST_rec.start_date_active := p_old_PRICE_LIST_rec.start_date_active;
723 END IF;
724
725 IF l_PRICE_LIST_rec.terms_id = FND_API.G_MISS_NUM THEN
726 l_PRICE_LIST_rec.terms_id := p_old_PRICE_LIST_rec.terms_id;
727 END IF;
728
729 RETURN l_PRICE_LIST_rec;
730
731 END Complete_Record;
732
733 -- Function Convert_Miss_To_Null
734
735 FUNCTION Convert_Miss_To_Null
736 ( p_PRICE_LIST_rec IN OE_Price_List_PUB.Price_List_Rec_Type
737 ) RETURN OE_Price_List_PUB.Price_List_Rec_Type
738 IS
739 l_PRICE_LIST_rec OE_Price_List_PUB.Price_List_Rec_Type := p_PRICE_LIST_rec;
740 BEGIN
741
742 IF l_PRICE_LIST_rec.attribute1 = FND_API.G_MISS_CHAR THEN
743 l_PRICE_LIST_rec.attribute1 := NULL;
744 END IF;
745
746 IF l_PRICE_LIST_rec.attribute10 = FND_API.G_MISS_CHAR THEN
747 l_PRICE_LIST_rec.attribute10 := NULL;
748 END IF;
749
750 IF l_PRICE_LIST_rec.attribute11 = FND_API.G_MISS_CHAR THEN
751 l_PRICE_LIST_rec.attribute11 := NULL;
752 END IF;
753
754 IF l_PRICE_LIST_rec.attribute12 = FND_API.G_MISS_CHAR THEN
755 l_PRICE_LIST_rec.attribute12 := NULL;
756 END IF;
757
758 IF l_PRICE_LIST_rec.attribute13 = FND_API.G_MISS_CHAR THEN
759 l_PRICE_LIST_rec.attribute13 := NULL;
760 END IF;
761
762 IF l_PRICE_LIST_rec.attribute14 = FND_API.G_MISS_CHAR THEN
763 l_PRICE_LIST_rec.attribute14 := NULL;
764 END IF;
765
766 IF l_PRICE_LIST_rec.attribute15 = FND_API.G_MISS_CHAR THEN
767 l_PRICE_LIST_rec.attribute15 := NULL;
768 END IF;
769
770 IF l_PRICE_LIST_rec.attribute2 = FND_API.G_MISS_CHAR THEN
771 l_PRICE_LIST_rec.attribute2 := NULL;
772 END IF;
773
774 IF l_PRICE_LIST_rec.attribute3 = FND_API.G_MISS_CHAR THEN
775 l_PRICE_LIST_rec.attribute3 := NULL;
776 END IF;
777
778 IF l_PRICE_LIST_rec.attribute4 = FND_API.G_MISS_CHAR THEN
779 l_PRICE_LIST_rec.attribute4 := NULL;
780 END IF;
781
782 IF l_PRICE_LIST_rec.attribute5 = FND_API.G_MISS_CHAR THEN
783 l_PRICE_LIST_rec.attribute5 := NULL;
784 END IF;
785
786 IF l_PRICE_LIST_rec.attribute6 = FND_API.G_MISS_CHAR THEN
787 l_PRICE_LIST_rec.attribute6 := NULL;
788 END IF;
789
790 IF l_PRICE_LIST_rec.attribute7 = FND_API.G_MISS_CHAR THEN
791 l_PRICE_LIST_rec.attribute7 := NULL;
792 END IF;
793
794 IF l_PRICE_LIST_rec.attribute8 = FND_API.G_MISS_CHAR THEN
795 l_PRICE_LIST_rec.attribute8 := NULL;
796 END IF;
797
798 IF l_PRICE_LIST_rec.attribute9 = FND_API.G_MISS_CHAR THEN
799 l_PRICE_LIST_rec.attribute9 := NULL;
800 END IF;
801
802 IF l_PRICE_LIST_rec.comments = FND_API.G_MISS_CHAR THEN
803 l_PRICE_LIST_rec.comments := NULL;
804 END IF;
805
806 IF l_PRICE_LIST_rec.context = FND_API.G_MISS_CHAR THEN
807 l_PRICE_LIST_rec.context := NULL;
808 END IF;
809
813
810 IF l_PRICE_LIST_rec.created_by = FND_API.G_MISS_NUM THEN
811 l_PRICE_LIST_rec.created_by := NULL;
812 END IF;
814 IF l_PRICE_LIST_rec.creation_date = FND_API.G_MISS_DATE THEN
815 l_PRICE_LIST_rec.creation_date := NULL;
816 END IF;
817
818 IF l_PRICE_LIST_rec.currency_code = FND_API.G_MISS_CHAR THEN
819 l_PRICE_LIST_rec.currency_code := NULL;
820 END IF;
821
822 IF l_PRICE_LIST_rec.description = FND_API.G_MISS_CHAR THEN
823 l_PRICE_LIST_rec.description := NULL;
824 END IF;
825
826 IF l_PRICE_LIST_rec.end_date_active = FND_API.G_MISS_DATE THEN
827 l_PRICE_LIST_rec.end_date_active := NULL;
828 END IF;
829
830 IF l_PRICE_LIST_rec.freight_terms_code = FND_API.G_MISS_CHAR THEN
831 l_PRICE_LIST_rec.freight_terms_code := NULL;
832 END IF;
833
834 IF l_PRICE_LIST_rec.last_updated_by = FND_API.G_MISS_NUM THEN
835 l_PRICE_LIST_rec.last_updated_by := NULL;
836 END IF;
837
838 IF l_PRICE_LIST_rec.last_update_date = FND_API.G_MISS_DATE THEN
839 l_PRICE_LIST_rec.last_update_date := NULL;
840 END IF;
841
842 IF l_PRICE_LIST_rec.last_update_login = FND_API.G_MISS_NUM THEN
843 l_PRICE_LIST_rec.last_update_login := NULL;
844 END IF;
845
846 IF l_PRICE_LIST_rec.name = FND_API.G_MISS_CHAR THEN
847 l_PRICE_LIST_rec.name := NULL;
848 END IF;
849
850 IF l_PRICE_LIST_rec.price_list_id = FND_API.G_MISS_NUM THEN
851 l_PRICE_LIST_rec.price_list_id := NULL;
852 END IF;
853
854 IF l_PRICE_LIST_rec.program_application_id = FND_API.G_MISS_NUM THEN
855 l_PRICE_LIST_rec.program_application_id := NULL;
856 END IF;
857
858 IF l_PRICE_LIST_rec.program_id = FND_API.G_MISS_NUM THEN
859 l_PRICE_LIST_rec.program_id := NULL;
860 END IF;
861
862 IF l_PRICE_LIST_rec.program_update_date = FND_API.G_MISS_DATE THEN
863 l_PRICE_LIST_rec.program_update_date := NULL;
864 END IF;
865
866 IF l_PRICE_LIST_rec.request_id = FND_API.G_MISS_NUM THEN
867 l_PRICE_LIST_rec.request_id := NULL;
868 END IF;
869
870 IF l_PRICE_LIST_rec.rounding_factor = FND_API.G_MISS_NUM THEN
871 l_PRICE_LIST_rec.rounding_factor := NULL;
872 END IF;
873
874 IF l_PRICE_LIST_rec.secondary_price_list_id = FND_API.G_MISS_NUM THEN
875 l_PRICE_LIST_rec.secondary_price_list_id := NULL;
876 END IF;
877
878 IF l_PRICE_LIST_rec.ship_method_code = FND_API.G_MISS_CHAR THEN
879 l_PRICE_LIST_rec.ship_method_code := NULL;
880 END IF;
881
882 IF l_PRICE_LIST_rec.start_date_active = FND_API.G_MISS_DATE THEN
883 l_PRICE_LIST_rec.start_date_active := NULL;
884 END IF;
885
886 IF l_PRICE_LIST_rec.terms_id = FND_API.G_MISS_NUM THEN
887 l_PRICE_LIST_rec.terms_id := NULL;
888 END IF;
889
890 RETURN l_PRICE_LIST_rec;
891
892 END Convert_Miss_To_Null;
893
894 -- Procedure Update_Row
895
896 PROCEDURE Update_Row
897 ( p_PRICE_LIST_rec IN OE_Price_List_PUB.Price_List_Rec_Type
898 )
899 IS
900 l_sec_price_list_id number;
901 l_context varchar2(30);
902 l_attribute varchar2(30);
903 BEGIN
904
905 QP_LIST_HEADERS_PKG.UPDATE_ROW (
906 X_LIST_HEADER_ID => p_PRICE_LIST_rec.price_list_id,
907 X_CONTEXT => p_PRICE_LIST_rec.context,
908 X_ATTRIBUTE1 => p_PRICE_LIST_rec.attribute1,
909 X_ATTRIBUTE2 => p_PRICE_LIST_rec.attribute2,
910 X_ATTRIBUTE3 => p_PRICE_LIST_rec.attribute3,
911 X_ATTRIBUTE4 => p_PRICE_LIST_rec.attribute4,
912 X_ATTRIBUTE5 => p_PRICE_LIST_rec.attribute5,
913 X_ATTRIBUTE6 => p_PRICE_LIST_rec.attribute6,
914 X_ATTRIBUTE7 => p_PRICE_LIST_rec.attribute7,
915 X_ATTRIBUTE8 => p_PRICE_LIST_rec.attribute8,
916 X_ATTRIBUTE9 => p_PRICE_LIST_rec.attribute9,
917 X_ATTRIBUTE10 => p_PRICE_LIST_rec.attribute10,
918 X_ATTRIBUTE11 => p_PRICE_LIST_rec.attribute11,
919 X_ATTRIBUTE12 => p_PRICE_LIST_rec.attribute12,
920 X_ATTRIBUTE13 => p_PRICE_LIST_rec.attribute13,
921 X_ATTRIBUTE14 => p_PRICE_LIST_rec.attribute14,
922 X_ATTRIBUTE15 => p_PRICE_LIST_rec.attribute15,
923 X_CURRENCY_CODE => p_PRICE_LIST_rec.currency_code,
924 X_SHIP_METHOD_CODE => p_PRICE_LIST_rec.ship_method_code,
925 X_FREIGHT_TERMS_CODE => p_PRICE_LIST_rec.freight_terms_code,
926 X_START_DATE_ACTIVE => p_PRICE_LIST_rec.start_date_active,
927 X_END_DATE_ACTIVE => p_PRICE_LIST_rec.end_date_active,
928 X_AUTOMATIC_FLAG => 'N',
929 X_LIST_TYPE_CODE => 'PRL',
930 X_TERMS_ID => p_PRICE_LIST_rec.terms_id,
931 X_ROUNDING_FACTOR => p_PRICE_LIST_rec.rounding_factor,
932 X_REQUEST_ID => p_PRICE_LIST_rec.request_id,
933 X_NAME => p_PRICE_LIST_rec.name,
934 X_DESCRIPTION => p_PRICE_LIST_rec.description,
935 X_LAST_UPDATE_DATE => p_PRICE_LIST_rec.last_update_date,
936 X_LAST_UPDATED_BY => p_PRICE_LIST_rec.last_updated_by,
937 X_LAST_UPDATE_LOGIN => p_PRICE_LIST_rec.last_update_login );
938
939 /* delete qualifier for secondary price list and create a new qualifier */
940
941 QP_UTIL.Get_Context_Attribute('PRICE_LIST_ID', l_context, l_attribute);
942
943 l_sec_price_list_id :=
944 QP_Price_List_PVT.Get_Secondary_Price_List(
945 p_Price_List_rec.price_list_id);
946
947 IF l_sec_price_list_id is not null THEN
948
949 delete from qp_qualifiers
950 where qualifier_context = l_context
951 and qualifier_attribute = l_attribute
952 and qualifier_attr_value = p_PRICE_LIST_rec.price_list_id
953 and list_header_id = l_sec_price_list_id
957
954 and qualifier_rule_id is null;
955
956 /* create a new qualifier for the new secondary price list id */
958 INSERT INTO QP_QUALIFIERS (
959 QUALIFIER_ID,
960 CREATION_DATE,
961 CREATED_BY,
962 LAST_UPDATE_DATE,
963 LAST_UPDATED_BY,
964 LAST_UPDATE_LOGIN,
965 LIST_HEADER_ID,
966 COMPARISON_OPERATOR_CODE,
967 QUALIFIER_CONTEXT,
968 QUALIFIER_ATTRIBUTE,
969 QUALIFIER_ATTR_VALUE,
970 QUALIFIER_GROUPING_NO,
971 EXCLUDER_FLAG
972 --ENH Upgrade BOAPI for orig_sys...ref RAVI
973 ,ORIG_SYS_QUALIFIER_REF
974 ,ORIG_SYS_HEADER_REF
975 )
976 VALUES (
977 QP_QUALIFIERS_S.nextval,
978 sysdate,
979 1,
980 sysdate,
981 1,
982 1,
983 p_PRICE_LIST_rec.secondary_price_list_id,
984 '=',
985 l_context,
986 l_attribute,
987 to_char(p_PRICE_LIST_rec.price_list_id),
988 qp.qp_qualifier_group_no_s.nextval,
989 'N'
990 --ENH Upgrade BOAPI for orig_sys...ref RAVI
991 ,to_char(QP_QUALIFIERS_S.CURRVAL)
992 ,(select h.ORIG_SYSTEM_HEADER_REF from qp_list_headers_b h where h.list_header_id=p_PRICE_LIST_rec.secondary_price_list_id)
993 );
994
995 END IF;
996
997
998 EXCEPTION
999
1000 WHEN OTHERS THEN
1001
1002 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1003 THEN
1004 OE_MSG_PUB.Add_Exc_Msg
1005 ( G_PKG_NAME
1006 , 'Update_Row'
1007 );
1008 END IF;
1009
1010 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1011
1012 END Update_Row;
1013
1014 -- Procedure Insert_Row
1015
1016 PROCEDURE Insert_Row
1017 ( p_PRICE_LIST_rec IN OE_Price_List_PUB.Price_List_Rec_Type
1018 )
1019 IS
1020 -- new added
1021 -- cursor not added to get rowid
1022 l_rowid varchar2(240); /* should it be varchar2(100)? */
1023 l_context varchar2(30) := NULL;
1024 l_attribute varchar2(30) := NULL;
1025 l_qualifier_grouping_no NUMBER := 0;
1026 l_sec_qualifier_grouping_no NUMBER := 0;
1027
1028 BEGIN
1029
1030 oe_debug_pub.add('Entering OE_Price_List_Util.Insert_Row');
1031
1032 /* need to add x_comments,
1033 x_program_id
1034 and tp_attributes to the insert_row procedure */
1035
1036 QP_LIST_HEADERS_PKG.INSERT_ROW (
1037 X_ROWID => l_rowid,
1038 X_LIST_HEADER_ID => p_PRICE_LIST_rec.price_list_id,
1039 X_CONTEXT => p_PRICE_LIST_rec.context,
1040 X_ATTRIBUTE1 => p_PRICE_LIST_rec.attribute1,
1041 X_ATTRIBUTE2 => p_PRICE_LIST_rec.attribute2,
1042 X_ATTRIBUTE3 => p_PRICE_LIST_rec.attribute3,
1043 X_ATTRIBUTE4 => p_PRICE_LIST_rec.attribute4,
1044 X_ATTRIBUTE5 => p_PRICE_LIST_rec.attribute5,
1045 X_ATTRIBUTE6 => p_PRICE_LIST_rec.attribute6,
1046 X_ATTRIBUTE7 => p_PRICE_LIST_rec.attribute7,
1047 X_ATTRIBUTE8 => p_PRICE_LIST_rec.attribute8,
1048 X_ATTRIBUTE9 => p_PRICE_LIST_rec.attribute9,
1049 X_ATTRIBUTE10 => p_PRICE_LIST_rec.attribute10,
1050 X_ATTRIBUTE11 => p_PRICE_LIST_rec.attribute11,
1051 X_ATTRIBUTE12 => p_PRICE_LIST_rec.attribute12,
1052 X_ATTRIBUTE13 => p_PRICE_LIST_rec.attribute13,
1053 X_ATTRIBUTE14 => p_PRICE_LIST_rec.attribute14,
1054 X_ATTRIBUTE15 => p_PRICE_LIST_rec.attribute15,
1055 X_CURRENCY_CODE => p_PRICE_LIST_rec.currency_code,
1056 X_SHIP_METHOD_CODE => p_PRICE_LIST_rec.ship_method_code,
1057 X_FREIGHT_TERMS_CODE => p_PRICE_LIST_rec.freight_terms_code,
1058 X_START_DATE_ACTIVE => p_PRICE_LIST_rec.start_date_active,
1059 X_END_DATE_ACTIVE => p_PRICE_LIST_rec.end_date_active,
1060 X_AUTOMATIC_FLAG => 'N',
1061 X_LIST_TYPE_CODE => 'PRL',
1062 X_TERMS_ID => p_PRICE_LIST_rec.terms_id,
1063 X_ROUNDING_FACTOR => p_PRICE_LIST_rec.rounding_factor,
1064 X_REQUEST_ID => p_PRICE_LIST_rec.request_id,
1065 X_NAME => p_PRICE_LIST_rec.name,
1066 X_DESCRIPTION => p_PRICE_LIST_rec.description,
1067 X_CREATION_DATE => p_PRICE_LIST_rec.creation_date,
1068 X_CREATED_BY => p_PRICE_LIST_rec.created_by,
1069 X_LAST_UPDATE_DATE => p_PRICE_LIST_rec.last_update_date,
1070 X_LAST_UPDATED_BY => p_PRICE_LIST_rec.last_updated_by,
1071 X_LAST_UPDATE_LOGIN => p_PRICE_LIST_rec.last_update_login );
1072
1073 /* create self qualifier for price list */
1074
1075 QP_UTIL.Get_Context_Attribute('PRICE_LIST_ID', l_context, l_attribute);
1076
1077
1078 INSERT INTO QP_QUALIFIERS (
1079 QUALIFIER_ID,
1080 CREATION_DATE,
1081 CREATED_BY,
1082 LAST_UPDATE_DATE,
1083 LAST_UPDATED_BY,
1084 LAST_UPDATE_LOGIN,
1085 LIST_HEADER_ID,
1086 COMPARISON_OPERATOR_CODE,
1087 QUALIFIER_CONTEXT,
1088 QUALIFIER_ATTRIBUTE,
1089 QUALIFIER_ATTR_VALUE,
1090 QUALIFIER_GROUPING_NO,
1091 EXCLUDER_FLAG
1092 --ENH Upgrade BOAPI for orig_sys...ref RAVI
1093 ,ORIG_SYS_QUALIFIER_REF
1094 ,ORIG_SYS_HEADER_REF)
1095 VALUES (
1096 QP_QUALIFIERS_S.nextval,
1097 sysdate,
1098 1,
1099 sysdate,
1100 1,
1101 1,
1102 p_PRICE_LIST_rec.price_list_id,
1103 '=',
1104 l_context,
1105 l_attribute,
1106 to_char(p_PRICE_LIST_rec.price_list_id),
1107 qp_qualifier_group_no_s.nextval,
1108 'N'
1109 --ENH Upgrade BOAPI for orig_sys...ref RAVI
1110 ,to_char(QP_QUALIFIERS_S.CURRVAL)
1111 ,(select h.ORIG_SYSTEM_HEADER_REF from qp_list_headers_b h where h.list_header_id=p_PRICE_LIST_rec.price_list_id)
1112 );
1113
1114 /* create qualifier for secondary price list */
1115
1116 IF p_PRICE_LIST_rec.secondary_price_list_id is not null THEN
1117
1118 INSERT INTO QP_QUALIFIERS (
1119 QUALIFIER_ID,
1120 CREATION_DATE,
1121 CREATED_BY,
1122 LAST_UPDATE_DATE,
1123 LAST_UPDATED_BY,
1124 LAST_UPDATE_LOGIN,
1125 LIST_HEADER_ID,
1126 COMPARISON_OPERATOR_CODE,
1127 QUALIFIER_CONTEXT,
1128 QUALIFIER_ATTRIBUTE,
1129 QUALIFIER_ATTR_VALUE,
1130 QUALIFIER_GROUPING_NO,
1131 EXCLUDER_FLAG
1132 --ENH Upgrade BOAPI for orig_sys...ref RAVI
1133 ,ORIG_SYS_QUALIFIER_REF
1134 ,ORIG_SYS_HEADER_REF
1135 )
1136 VALUES (
1137 QP_QUALIFIERS_S.nextval,
1138 sysdate,
1139 1,
1140 sysdate,
1141 1,
1142 1,
1143 p_PRICE_LIST_rec.secondary_price_list_id,
1144 '=',
1145 l_context,
1146 l_attribute,
1147 to_char(p_PRICE_LIST_rec.price_list_id),
1148 qp_qualifier_group_no_s.nextval,
1149 'N'
1150 --ENH Upgrade BOAPI for orig_sys...ref RAVI
1151 ,to_char(QP_QUALIFIERS_S.CURRVAL)
1152 ,(select h.ORIG_SYSTEM_HEADER_REF from qp_list_headers_b h where h.list_header_id=p_PRICE_LIST_rec.secondary_price_list_id)
1153 );
1154 END IF;
1155
1156
1157 /*
1158
1159
1160 INSERT INTO OE_PRICE_LISTS_B
1161 ( ATTRIBUTE1
1162 , ATTRIBUTE10
1163 , ATTRIBUTE11
1164 , ATTRIBUTE12
1165 , ATTRIBUTE13
1166 , ATTRIBUTE14
1167 , ATTRIBUTE15
1168 , ATTRIBUTE2
1169 , ATTRIBUTE3
1170 , ATTRIBUTE4
1171 , ATTRIBUTE5
1172 , ATTRIBUTE6
1173 , ATTRIBUTE7
1174 , ATTRIBUTE8
1175 , ATTRIBUTE9
1176 , COMMENTS
1177 , CONTEXT
1178 , CREATED_BY
1179 , CREATION_DATE
1180 , CURRENCY_CODE
1181 , DESCRIPTION
1182 , END_DATE_ACTIVE
1183 , FREIGHT_TERMS_CODE
1184 , LAST_UPDATED_BY
1185 , LAST_UPDATE_DATE
1186 , LAST_UPDATE_LOGIN
1187 , NAME
1188 , PRICE_LIST_ID
1189 , PROGRAM_APPLICATION_ID
1190 , PROGRAM_ID
1191 , PROGRAM_UPDATE_DATE
1192 , REQUEST_ID
1193 , ROUNDING_FACTOR
1194 , SECONDARY_PRICE_LIST_ID
1195 , SHIP_METHOD_CODE
1196 , START_DATE_ACTIVE
1197 , TERMS_ID
1198 , TP_ATTRIBUTE1
1199 , TP_ATTRIBUTE2
1200 , TP_ATTRIBUTE3
1201 , TP_ATTRIBUTE4
1202 , TP_ATTRIBUTE5
1203 , TP_ATTRIBUTE6
1204 , TP_ATTRIBUTE7
1205 , TP_ATTRIBUTE8
1206 , TP_ATTRIBUTE9
1207 , TP_ATTRIBUTE10
1208 , TP_ATTRIBUTE11
1209 , TP_ATTRIBUTE12
1210 , TP_ATTRIBUTE13
1211 , TP_ATTRIBUTE14
1212 , TP_ATTRIBUTE15
1213 , TP_ATTRIBUTE_CATEGORY
1214 )
1215 VALUES
1216 ( p_PRICE_LIST_rec.attribute1
1217 , p_PRICE_LIST_rec.attribute10
1218 , p_PRICE_LIST_rec.attribute11
1219 , p_PRICE_LIST_rec.attribute12
1220 , p_PRICE_LIST_rec.attribute13
1221 , p_PRICE_LIST_rec.attribute14
1222 , p_PRICE_LIST_rec.attribute15
1223 , p_PRICE_LIST_rec.attribute2
1224 , p_PRICE_LIST_rec.attribute3
1225 , p_PRICE_LIST_rec.attribute4
1226 , p_PRICE_LIST_rec.attribute5
1227 , p_PRICE_LIST_rec.attribute6
1228 , p_PRICE_LIST_rec.attribute7
1229 , p_PRICE_LIST_rec.attribute8
1230 , p_PRICE_LIST_rec.attribute9
1231 , p_PRICE_LIST_rec.comments
1232 , p_PRICE_LIST_rec.context
1233 , p_PRICE_LIST_rec.created_by
1234 , p_PRICE_LIST_rec.creation_date
1235 , p_PRICE_LIST_rec.currency_code
1236 , p_PRICE_LIST_rec.description
1237 , p_PRICE_LIST_rec.end_date_active
1238 , p_PRICE_LIST_rec.freight_terms_code
1239 , p_PRICE_LIST_rec.last_updated_by
1240 , p_PRICE_LIST_rec.last_update_date
1241 , p_PRICE_LIST_rec.last_update_login
1242 , p_PRICE_LIST_rec.name
1243 , p_PRICE_LIST_rec.price_list_id
1244 , p_PRICE_LIST_rec.program_application_id
1245 , p_PRICE_LIST_rec.program_id
1246 , p_PRICE_LIST_rec.program_update_date
1247 , p_PRICE_LIST_rec.request_id
1248 , p_PRICE_LIST_rec.rounding_factor
1249 , p_PRICE_LIST_rec.secondary_price_list_id
1250 , p_PRICE_LIST_rec.ship_method_code
1251 , p_PRICE_LIST_rec.start_date_active
1252 , p_PRICE_LIST_rec.terms_id
1253 , p_PRICE_LIST_rec.tp_attribute1
1254 , p_PRICE_LIST_rec.tp_attribute2
1255 , p_PRICE_LIST_rec.tp_attribute3
1256 , p_PRICE_LIST_rec.tp_attribute4
1257 , p_PRICE_LIST_rec.tp_attribute5
1258 , p_PRICE_LIST_rec.tp_attribute6
1259 , p_PRICE_LIST_rec.tp_attribute7
1260 , p_PRICE_LIST_rec.tp_attribute8
1261 , p_PRICE_LIST_rec.tp_attribute9
1262 , p_PRICE_LIST_rec.tp_attribute10
1263 , p_PRICE_LIST_rec.tp_attribute11
1264 , p_PRICE_LIST_rec.tp_attribute12
1265 , p_PRICE_LIST_rec.tp_attribute13
1266 , p_PRICE_LIST_rec.tp_attribute14
1267 , p_PRICE_LIST_rec.tp_attribute15
1268 , p_PRICE_LIST_rec.tp_attribute_category
1269 );
1270
1271 insert into OE_PRICE_LISTS_TL (
1272 CREATION_DATE,
1273 CREATED_BY,
1274 LAST_UPDATE_LOGIN,
1275 NAME,
1276 LAST_UPDATE_DATE,
1277 LAST_UPDATED_BY,
1278 PRICE_LIST_ID,
1279 LANGUAGE,
1280 SOURCE_LANG )
1281 select p_PRICE_LIST_rec.creation_date ,
1282 p_PRICE_LIST_rec.created_by,
1283 p_PRICE_LIST_rec.last_update_login ,
1284 p_PRICE_LIST_rec.name ,
1285 p_PRICE_LIST_rec.last_update_date ,
1286 p_PRICE_LIST_rec.last_updated_by ,
1287 p_PRICE_LIST_rec.price_list_id ,
1288 L.language_code ,
1289 userenv('LANG')
1290 from FND_LANGUAGES L
1291 where L.installed_flag in ('I','B')
1292 and not exists
1293 ( select NULL from oe_price_lists_tl T
1294 where T.price_list_id = p_PRICE_LIST_rec.price_list_id
1295 and T.language = L.language_code ) ;
1296
1297 */
1298
1299
1300
1301
1302
1303
1304 oe_debug_pub.add('Exiting OE_Price_List_Util.Insert_Row');
1305
1306 EXCEPTION
1307
1308 WHEN OTHERS THEN
1309
1310 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1311 THEN
1312 OE_MSG_PUB.Add_Exc_Msg
1313 ( G_PKG_NAME
1314 , 'Insert_Row'
1315 );
1316 END IF;
1317
1318 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1319
1320 END Insert_Row;
1321
1322 -- Procedure Delete_Row
1323
1324 PROCEDURE Delete_Row
1325 ( p_name IN VARCHAR2
1326 , p_price_list_id IN NUMBER
1327 )
1328 IS
1329 l_sec_price_list_id number;
1330 l_context varchar2(30);
1331 l_attribute varchar2(30);
1332 BEGIN
1333
1334 QP_UTIL.Get_Context_Attribute('PRICE_LIST_ID', l_context, l_attribute);
1335
1336 l_sec_price_list_id :=
1337 Qp_Price_List_Pvt.Get_Secondary_Price_List(
1338 p_price_list_id);
1339
1340 QP_LIST_HEADERS_PKG.Delete_Row(p_price_list_id);
1341
1342 IF l_sec_price_list_id is not null THEN
1343
1344 delete from qp_qualifiers
1345 where qualifier_context = l_context
1346 and qualifier_attribute = l_attribute
1347 and qualifier_attr_value = p_price_list_id
1348 and list_header_id = l_sec_price_list_id
1349 and qualifier_rule_id is null;
1350
1351 END IF;
1352
1353 EXCEPTION
1354
1355 WHEN OTHERS THEN
1356
1357 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1358 THEN
1359 OE_MSG_PUB.Add_Exc_Msg
1360 ( G_PKG_NAME
1361 , 'Delete_Row'
1362 );
1363 END IF;
1364
1365 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1366
1367 END Delete_Row;
1368
1369 -- Function Query_Row
1370
1371 FUNCTION Query_Row
1372 ( p_name IN VARCHAR2
1373 , p_price_list_id IN NUMBER
1374 ) RETURN OE_Price_List_PUB.Price_List_Rec_Type
1375 IS
1376 l_PRICE_LIST_rec OE_Price_List_PUB.Price_List_Rec_Type;
1377 BEGIN
1378
1379 SELECT ATTRIBUTE1
1380 , ATTRIBUTE10
1381 , ATTRIBUTE11
1382 , ATTRIBUTE12
1383 , ATTRIBUTE13
1384 , ATTRIBUTE14
1385 , ATTRIBUTE15
1386 , ATTRIBUTE2
1387 , ATTRIBUTE3
1388 , ATTRIBUTE4
1389 , ATTRIBUTE5
1390 , ATTRIBUTE6
1391 , ATTRIBUTE7
1392 , ATTRIBUTE8
1393 , ATTRIBUTE9
1394 , COMMENTS
1395 , CONTEXT
1396 , CREATED_BY
1397 , CREATION_DATE
1398 , CURRENCY_CODE
1399 , DESCRIPTION
1400 , END_DATE_ACTIVE
1401 , FREIGHT_TERMS_CODE
1402 , LAST_UPDATED_BY
1403 , LAST_UPDATE_DATE
1404 , LAST_UPDATE_LOGIN
1405 , NAME
1406 , LIST_HEADER_ID
1407 , PROGRAM_APPLICATION_ID
1408 , PROGRAM_ID
1409 , PROGRAM_UPDATE_DATE
1410 , REQUEST_ID
1411 , ROUNDING_FACTOR
1412 , SHIP_METHOD_CODE
1413 , START_DATE_ACTIVE
1414 , TERMS_ID
1415 INTO l_PRICE_LIST_rec.attribute1
1416 , l_PRICE_LIST_rec.attribute10
1417 , l_PRICE_LIST_rec.attribute11
1418 , l_PRICE_LIST_rec.attribute12
1419 , l_PRICE_LIST_rec.attribute13
1420 , l_PRICE_LIST_rec.attribute14
1421 , l_PRICE_LIST_rec.attribute15
1422 , l_PRICE_LIST_rec.attribute2
1423 , l_PRICE_LIST_rec.attribute3
1424 , l_PRICE_LIST_rec.attribute4
1425 , l_PRICE_LIST_rec.attribute5
1426 , l_PRICE_LIST_rec.attribute6
1427 , l_PRICE_LIST_rec.attribute7
1428 , l_PRICE_LIST_rec.attribute8
1429 , l_PRICE_LIST_rec.attribute9
1430 , l_PRICE_LIST_rec.comments
1431 , l_PRICE_LIST_rec.context
1432 , l_PRICE_LIST_rec.created_by
1433 , l_PRICE_LIST_rec.creation_date
1434 , l_PRICE_LIST_rec.currency_code
1435 , l_PRICE_LIST_rec.description
1436 , l_PRICE_LIST_rec.end_date_active
1437 , l_PRICE_LIST_rec.freight_terms_code
1438 , l_PRICE_LIST_rec.last_updated_by
1439 , l_PRICE_LIST_rec.last_update_date
1440 , l_PRICE_LIST_rec.last_update_login
1441 , l_PRICE_LIST_rec.name
1442 , l_PRICE_LIST_rec.price_list_id
1443 , l_PRICE_LIST_rec.program_application_id
1444 , l_PRICE_LIST_rec.program_id
1445 , l_PRICE_LIST_rec.program_update_date
1446 , l_PRICE_LIST_rec.request_id
1447 , l_PRICE_LIST_rec.rounding_factor
1448 , l_PRICE_LIST_rec.ship_method_code
1449 , l_PRICE_LIST_rec.start_date_active
1450 , l_PRICE_LIST_rec.terms_id
1451 FROM QP_LIST_HEADERS_VL
1452 WHERE LIST_HEADER_ID = p_price_list_id;
1453
1454 l_PRICE_LIST_rec.secondary_price_list_id :=
1455 Qp_Price_List_Pvt.Get_Secondary_Price_List(
1456 p_price_list_id);
1457
1458 RETURN l_PRICE_LIST_rec;
1459
1460 EXCEPTION
1461
1465 THEN
1462 WHEN OTHERS THEN
1463
1464 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1466 OE_MSG_PUB.Add_Exc_Msg
1467 ( G_PKG_NAME
1468 , 'Query_Row'
1469 );
1470 END IF;
1471
1472 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1473
1474 END Query_Row;
1475
1476 -- Procedure lock_Row
1477 --
1478
1479 PROCEDURE Lock_Row
1480 ( x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1481 , p_PRICE_LIST_rec IN OE_Price_List_PUB.Price_List_Rec_Type
1482 , x_PRICE_LIST_rec OUT NOCOPY /* file.sql.39 change */ OE_Price_List_PUB.Price_List_Rec_Type
1483 )
1484 IS
1485 l_PRICE_LIST_rec OE_Price_List_PUB.Price_List_Rec_Type;
1486 BEGIN
1487
1488 QP_LIST_HEADERS_PKG.LOCK_ROW (
1489 X_LIST_HEADER_ID => p_PRICE_LIST_rec.price_list_id,
1490 X_CONTEXT => p_PRICE_LIST_rec.context,
1491 X_ATTRIBUTE1 => p_PRICE_LIST_rec.attribute1,
1492 X_ATTRIBUTE2 => p_PRICE_LIST_rec.attribute2,
1493 X_ATTRIBUTE3 => p_PRICE_LIST_rec.attribute3,
1494 X_ATTRIBUTE4 => p_PRICE_LIST_rec.attribute4,
1495 X_ATTRIBUTE5 => p_PRICE_LIST_rec.attribute5,
1496 X_ATTRIBUTE6 => p_PRICE_LIST_rec.attribute6,
1497 X_ATTRIBUTE7 => p_PRICE_LIST_rec.attribute7,
1498 X_ATTRIBUTE8 => p_PRICE_LIST_rec.attribute8,
1499 X_ATTRIBUTE9 => p_PRICE_LIST_rec.attribute9,
1500 X_ATTRIBUTE10 => p_PRICE_LIST_rec.attribute10,
1501 X_ATTRIBUTE11 => p_PRICE_LIST_rec.attribute11,
1502 X_ATTRIBUTE12 => p_PRICE_LIST_rec.attribute12,
1503 X_ATTRIBUTE13 => p_PRICE_LIST_rec.attribute13,
1504 X_ATTRIBUTE14 => p_PRICE_LIST_rec.attribute14,
1505 X_ATTRIBUTE15 => p_PRICE_LIST_rec.attribute15,
1506 X_CURRENCY_CODE => p_PRICE_LIST_rec.currency_code,
1507 X_SHIP_METHOD_CODE => p_PRICE_LIST_rec.ship_method_code,
1508 X_FREIGHT_TERMS_CODE => p_PRICE_LIST_rec.freight_terms_code,
1509 X_START_DATE_ACTIVE => p_PRICE_LIST_rec.start_date_active,
1510 X_END_DATE_ACTIVE => p_PRICE_LIST_rec.end_date_active,
1511 X_AUTOMATIC_FLAG => 'N',
1512 X_LIST_TYPE_CODE => 'PRL',
1513 X_TERMS_ID => p_PRICE_LIST_rec.terms_id,
1514 X_ROUNDING_FACTOR => p_PRICE_LIST_rec.rounding_factor,
1515 X_REQUEST_ID => p_PRICE_LIST_rec.request_id,
1516 X_NAME => p_PRICE_LIST_rec.name,
1517 X_DESCRIPTION => p_PRICE_LIST_rec.description);
1518
1519 x_PRICE_LIST_rec := p_PRICE_LIST_rec;
1520
1521 EXCEPTION
1522
1523 WHEN NO_DATA_FOUND THEN
1524
1525 x_return_status := FND_API.G_RET_STS_ERROR;
1526 x_PRICE_LIST_rec.return_status := FND_API.G_RET_STS_ERROR;
1527
1528 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
1529 THEN
1530
1531 FND_MESSAGE.SET_NAME('OE','OE_LOCK_ROW_DELETED');
1532 OE_MSG_PUB.Add;
1533
1534 END IF;
1535 WHEN APP_EXCEPTIONS.RECORD_LOCK_EXCEPTION THEN
1536
1537 x_return_status := FND_API.G_RET_STS_ERROR;
1538 x_PRICE_LIST_rec.return_status := FND_API.G_RET_STS_ERROR;
1539
1540 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
1541 THEN
1542
1543 FND_MESSAGE.SET_NAME('OE','OE_LOCK_ROW_ALREADY_LOCKED');
1544 OE_MSG_PUB.Add;
1545
1546 END IF;
1547 WHEN OTHERS THEN
1548
1549 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1550 x_PRICE_LIST_rec.return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1551
1552 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1553 THEN
1554 OE_MSG_PUB.Add_Exc_Msg
1555 ( G_PKG_NAME
1556 , 'Lock_Row'
1557 );
1558 END IF;
1559
1560 END Lock_Row;
1561
1562 -- Function Get_Values
1563
1564 FUNCTION Get_Values
1565 ( p_PRICE_LIST_rec IN OE_Price_List_PUB.Price_List_Rec_Type
1566 , p_old_PRICE_LIST_rec IN OE_Price_List_PUB.Price_List_Rec_Type :=
1567 OE_Price_List_PUB.G_MISS_PRICE_LIST_REC
1568 ) RETURN OE_Price_List_PUB.Price_List_Val_Rec_Type
1569 IS
1570 l_PRICE_LIST_val_rec OE_Price_List_PUB.Price_List_Val_Rec_Type;
1571 BEGIN
1572
1573 IF p_PRICE_LIST_rec.currency_code IS NOT NULL AND
1574 p_PRICE_LIST_rec.currency_code <> FND_API.G_MISS_CHAR AND
1575 NOT OE_GLOBALS.Equal(p_PRICE_LIST_rec.currency_code,
1576 p_old_PRICE_LIST_rec.currency_code)
1577 THEN
1578 l_PRICE_LIST_val_rec.currency := OE_Id_To_Value.Currency
1579 ( p_currency_code => p_PRICE_LIST_rec.currency_code
1580 );
1581 END IF;
1582
1583 IF p_PRICE_LIST_rec.freight_terms_code IS NOT NULL AND
1584 p_PRICE_LIST_rec.freight_terms_code <> FND_API.G_MISS_CHAR AND
1585 NOT OE_GLOBALS.Equal(p_PRICE_LIST_rec.freight_terms_code,
1586 p_old_PRICE_LIST_rec.freight_terms_code)
1587 THEN
1588 l_PRICE_LIST_val_rec.freight_terms := OE_Id_To_Value.Freight_Terms
1589 ( p_freight_terms_code => p_PRICE_LIST_rec.freight_terms_code
1590 );
1591 END IF;
1592
1593 /* may be commented after validation in program */
1594 /* no need to do this validation :: OEXLPLHB.pls
1595
1596 IF p_PRICE_LIST_rec.price_list_id IS NOT NULL AND
1597 p_PRICE_LIST_rec.price_list_id <> FND_API.G_MISS_NUM AND
1598 NOT OE_GLOBALS.Equal(p_PRICE_LIST_rec.price_list_id,
1599 p_old_PRICE_LIST_rec.price_list_id)
1600 THEN
1601 l_PRICE_LIST_val_rec.price_list := OE_Id_To_Value.Price_List
1602 ( p_price_list_id => p_PRICE_LIST_rec.price_list_id
1603 );
1604
1605 l_PRICE_LIST_val_rec.price_list := NULL;
1606 END IF;
1607 */
1608
1609 IF p_PRICE_LIST_rec.secondary_price_list_id IS NOT NULL AND
1610 p_PRICE_LIST_rec.secondary_price_list_id <> FND_API.G_MISS_NUM AND
1611 NOT OE_GLOBALS.Equal(p_PRICE_LIST_rec.secondary_price_list_id,
1612 p_old_PRICE_LIST_rec.secondary_price_list_id)
1613 THEN
1614 l_PRICE_LIST_val_rec.secondary_price_list := OE_Id_To_Value.Secondary_Price_List
1615 ( p_secondary_price_list_id => p_PRICE_LIST_rec.secondary_price_list_id
1616 );
1617 END IF;
1618
1619 IF p_PRICE_LIST_rec.ship_method_code IS NOT NULL AND
1620 p_PRICE_LIST_rec.ship_method_code <> FND_API.G_MISS_CHAR AND
1621 NOT OE_GLOBALS.Equal(p_PRICE_LIST_rec.ship_method_code,
1622 p_old_PRICE_LIST_rec.ship_method_code)
1623 THEN
1624 l_PRICE_LIST_val_rec.ship_method := OE_Id_To_Value.Ship_Method
1625 ( p_ship_method_code => p_PRICE_LIST_rec.ship_method_code
1626 );
1627 END IF;
1628
1629 IF p_PRICE_LIST_rec.terms_id IS NOT NULL AND
1630 p_PRICE_LIST_rec.terms_id <> FND_API.G_MISS_NUM AND
1631 NOT OE_GLOBALS.Equal(p_PRICE_LIST_rec.terms_id,
1632 p_old_PRICE_LIST_rec.terms_id)
1633 THEN
1634 l_PRICE_LIST_val_rec.terms := OE_Id_To_Value.Terms
1635 ( p_terms_id => p_PRICE_LIST_rec.terms_id
1636 );
1637 END IF;
1638
1639 RETURN l_PRICE_LIST_val_rec;
1640
1641 END Get_Values;
1642
1643 -- Function Get_Ids
1644
1645 FUNCTION Get_Ids
1646 ( p_PRICE_LIST_rec IN OE_Price_List_PUB.Price_List_Rec_Type
1647 , p_PRICE_LIST_val_rec IN OE_Price_List_PUB.Price_List_Val_Rec_Type
1648 ) RETURN OE_Price_List_PUB.Price_List_Rec_Type
1649 IS
1650 l_PRICE_LIST_rec OE_Price_List_PUB.Price_List_Rec_Type;
1651 BEGIN
1652
1653 -- initialize return_status.
1654
1655 l_PRICE_LIST_rec.return_status := FND_API.G_RET_STS_SUCCESS;
1656
1657 -- initialize l_PRICE_LIST_rec.
1658
1659 l_PRICE_LIST_rec := p_PRICE_LIST_rec;
1660
1661 IF p_PRICE_LIST_val_rec.currency <> FND_API.G_MISS_CHAR
1662 THEN
1663
1664 IF p_PRICE_LIST_rec.currency_code <> FND_API.G_MISS_CHAR THEN
1665
1666 l_PRICE_LIST_rec.currency_code := p_PRICE_LIST_rec.currency_code;
1667
1668 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
1669 THEN
1670
1671 FND_MESSAGE.SET_NAME('OE','FND_BOTH_VAL_AND_ID_EXIST');
1672 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','currency');
1673 OE_MSG_PUB.Add;
1674
1675 END IF;
1676
1677 ELSE
1678
1679 l_PRICE_LIST_rec.currency_code := OE_Value_To_Id.currency
1680 ( p_currency => p_PRICE_LIST_val_rec.currency
1681 );
1682
1683 IF l_PRICE_LIST_rec.currency_code = FND_API.G_MISS_CHAR THEN
1684 l_PRICE_LIST_rec.return_status := FND_API.G_RET_STS_ERROR;
1685 END IF;
1686
1687 END IF;
1688
1689 END IF;
1690
1691 IF p_PRICE_LIST_val_rec.freight_terms <> FND_API.G_MISS_CHAR
1692 THEN
1693
1694 IF p_PRICE_LIST_rec.freight_terms_code <> FND_API.G_MISS_CHAR THEN
1695
1696 l_PRICE_LIST_rec.freight_terms_code := p_PRICE_LIST_rec.freight_terms_code;
1697
1698 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
1699 THEN
1700
1701 FND_MESSAGE.SET_NAME('OE','FND_BOTH_VAL_AND_ID_EXIST');
1702 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','freight_terms');
1703 OE_MSG_PUB.Add;
1704
1705 END IF;
1706
1707 ELSE
1708
1709 l_PRICE_LIST_rec.freight_terms_code := OE_Value_To_Id.freight_terms
1710 ( p_freight_terms => p_PRICE_LIST_val_rec.freight_terms
1711 );
1712
1713 IF l_PRICE_LIST_rec.freight_terms_code = FND_API.G_MISS_CHAR THEN
1714 l_PRICE_LIST_rec.return_status := FND_API.G_RET_STS_ERROR;
1715 END IF;
1716
1717 END IF;
1718
1719 END IF;
1720
1721 IF p_PRICE_LIST_val_rec.price_list <> FND_API.G_MISS_CHAR
1722 THEN
1723
1724 IF p_PRICE_LIST_rec.price_list_id <> FND_API.G_MISS_NUM THEN
1725
1726 l_PRICE_LIST_rec.price_list_id := p_PRICE_LIST_rec.price_list_id;
1727
1728 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
1729 THEN
1730
1731 FND_MESSAGE.SET_NAME('OE','FND_BOTH_VAL_AND_ID_EXIST');
1732 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','price_list');
1733 OE_MSG_PUB.Add;
1734
1735 END IF;
1736
1737 ELSE
1738
1739 l_PRICE_LIST_rec.price_list_id := OE_Value_To_Id.price_list
1740 ( p_price_list => p_PRICE_LIST_val_rec.price_list
1741 );
1742
1743 IF l_PRICE_LIST_rec.price_list_id = FND_API.G_MISS_NUM THEN
1744 l_PRICE_LIST_rec.return_status := FND_API.G_RET_STS_ERROR;
1745 END IF;
1746
1747 END IF;
1748
1749 END IF;
1750
1751 IF p_PRICE_LIST_val_rec.secondary_price_list <> FND_API.G_MISS_CHAR
1752 THEN
1753
1754 IF p_PRICE_LIST_rec.secondary_price_list_id <> FND_API.G_MISS_NUM THEN
1755
1756 l_PRICE_LIST_rec.secondary_price_list_id := p_PRICE_LIST_rec.secondary_price_list_id;
1757
1758 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
1759 THEN
1760
1761 FND_MESSAGE.SET_NAME('OE','FND_BOTH_VAL_AND_ID_EXIST');
1762 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','secondary_price_list');
1763 OE_MSG_PUB.Add;
1764
1765 END IF;
1766
1767 ELSE
1768
1769 l_PRICE_LIST_rec.secondary_price_list_id := OE_Value_To_Id.secondary_price_list
1770 ( p_secondary_price_list => p_PRICE_LIST_val_rec.secondary_price_list
1771 );
1772
1773 IF l_PRICE_LIST_rec.secondary_price_list_id = FND_API.G_MISS_NUM THEN
1774 l_PRICE_LIST_rec.return_status := FND_API.G_RET_STS_ERROR;
1775 END IF;
1776
1777 END IF;
1778
1779 END IF;
1780
1781 IF p_PRICE_LIST_val_rec.ship_method <> FND_API.G_MISS_CHAR
1782 THEN
1783
1784 IF p_PRICE_LIST_rec.ship_method_code <> FND_API.G_MISS_CHAR THEN
1785
1786 l_PRICE_LIST_rec.ship_method_code := p_PRICE_LIST_rec.ship_method_code;
1787
1788 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
1789 THEN
1790
1791 FND_MESSAGE.SET_NAME('OE','FND_BOTH_VAL_AND_ID_EXIST');
1792 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','ship_method');
1793 OE_MSG_PUB.Add;
1794
1795 END IF;
1796
1797 ELSE
1798
1799 l_PRICE_LIST_rec.ship_method_code := OE_Value_To_Id.ship_method
1800 ( p_ship_method => p_PRICE_LIST_val_rec.ship_method
1801 );
1802
1803 IF l_PRICE_LIST_rec.ship_method_code = FND_API.G_MISS_CHAR THEN
1804 l_PRICE_LIST_rec.return_status := FND_API.G_RET_STS_ERROR;
1805 END IF;
1806
1807 END IF;
1808
1809 END IF;
1810
1811 IF p_PRICE_LIST_val_rec.terms <> FND_API.G_MISS_CHAR
1812 THEN
1813
1814 IF p_PRICE_LIST_rec.terms_id <> FND_API.G_MISS_NUM THEN
1815
1816 l_PRICE_LIST_rec.terms_id := p_PRICE_LIST_rec.terms_id;
1817
1818 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
1819 THEN
1820
1821 FND_MESSAGE.SET_NAME('OE','FND_BOTH_VAL_AND_ID_EXIST');
1822 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','terms');
1823 OE_MSG_PUB.Add;
1824
1825 END IF;
1826
1827 ELSE
1828
1829 l_PRICE_LIST_rec.terms_id := OE_Value_To_Id.terms
1830 ( p_terms => p_PRICE_LIST_val_rec.terms
1831 );
1832
1833 IF l_PRICE_LIST_rec.terms_id = FND_API.G_MISS_NUM THEN
1834 l_PRICE_LIST_rec.return_status := FND_API.G_RET_STS_ERROR;
1835 END IF;
1836
1837 END IF;
1838
1839 END IF;
1840
1841
1842 RETURN l_PRICE_LIST_rec;
1843
1844 END Get_Ids;
1845
1846
1847 END OE_Price_List_Util;