[Home] [Help]
PACKAGE BODY: APPS.OE_PRICE_BREAK_UTIL
Source
1 PACKAGE BODY OE_Price_Break_Util AS
2 /* $Header: OEXUDPBB.pls 115.0 99/07/15 19:27:17 porting shi $ */
3
4 -- Global constant holding the package name
5
6 G_PKG_NAME CONSTANT VARCHAR2(30) := 'OE_Price_Break_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_Break_rec IN OE_Pricing_Cont_PUB.Price_Break_Rec_Type
13 , p_old_Price_Break_rec IN OE_Pricing_Cont_PUB.Price_Break_Rec_Type :=
14 OE_Pricing_Cont_PUB.G_MISS_PRICE_BREAK_REC
15 , x_Price_Break_rec OUT OE_Pricing_Cont_PUB.Price_Break_Rec_Type
16 )
17 IS
18 BEGIN
19
20 -- Load out record
21
22 x_Price_Break_rec := p_Price_Break_rec;
23
24 -- If attr_id is missing compare old and new records and for
25 -- every changed attribute clear its dependent fields.
26
27 IF p_attr_id = FND_API.G_MISS_NUM THEN
28
29 IF NOT OE_GLOBALS.Equal(p_Price_Break_rec.amount,p_old_Price_Break_rec.amount)
30 THEN
31 NULL;
32 END IF;
33
34 IF NOT OE_GLOBALS.Equal(p_Price_Break_rec.attribute1,p_old_Price_Break_rec.attribute1)
35 THEN
36 NULL;
37 END IF;
38
39 IF NOT OE_GLOBALS.Equal(p_Price_Break_rec.attribute10,p_old_Price_Break_rec.attribute10)
40 THEN
41 NULL;
42 END IF;
43
44 IF NOT OE_GLOBALS.Equal(p_Price_Break_rec.attribute11,p_old_Price_Break_rec.attribute11)
45 THEN
46 NULL;
47 END IF;
48
49 IF NOT OE_GLOBALS.Equal(p_Price_Break_rec.attribute12,p_old_Price_Break_rec.attribute12)
50 THEN
51 NULL;
52 END IF;
53
54 IF NOT OE_GLOBALS.Equal(p_Price_Break_rec.attribute13,p_old_Price_Break_rec.attribute13)
55 THEN
56 NULL;
57 END IF;
58
59 IF NOT OE_GLOBALS.Equal(p_Price_Break_rec.attribute14,p_old_Price_Break_rec.attribute14)
60 THEN
61 NULL;
62 END IF;
63
64 IF NOT OE_GLOBALS.Equal(p_Price_Break_rec.attribute15,p_old_Price_Break_rec.attribute15)
65 THEN
66 NULL;
67 END IF;
68
69 IF NOT OE_GLOBALS.Equal(p_Price_Break_rec.attribute2,p_old_Price_Break_rec.attribute2)
70 THEN
71 NULL;
72 END IF;
73
74 IF NOT OE_GLOBALS.Equal(p_Price_Break_rec.attribute3,p_old_Price_Break_rec.attribute3)
75 THEN
76 NULL;
77 END IF;
78
79 IF NOT OE_GLOBALS.Equal(p_Price_Break_rec.attribute4,p_old_Price_Break_rec.attribute4)
80 THEN
81 NULL;
82 END IF;
83
84 IF NOT OE_GLOBALS.Equal(p_Price_Break_rec.attribute5,p_old_Price_Break_rec.attribute5)
85 THEN
86 NULL;
87 END IF;
88
89 IF NOT OE_GLOBALS.Equal(p_Price_Break_rec.attribute6,p_old_Price_Break_rec.attribute6)
90 THEN
91 NULL;
92 END IF;
93
94 IF NOT OE_GLOBALS.Equal(p_Price_Break_rec.attribute7,p_old_Price_Break_rec.attribute7)
95 THEN
96 NULL;
97 END IF;
98
99 IF NOT OE_GLOBALS.Equal(p_Price_Break_rec.attribute8,p_old_Price_Break_rec.attribute8)
100 THEN
101 NULL;
102 END IF;
103
104 IF NOT OE_GLOBALS.Equal(p_Price_Break_rec.attribute9,p_old_Price_Break_rec.attribute9)
105 THEN
106 NULL;
107 END IF;
108
109 IF NOT OE_GLOBALS.Equal(p_Price_Break_rec.context,p_old_Price_Break_rec.context)
110 THEN
111 NULL;
112 END IF;
113
114 IF NOT OE_GLOBALS.Equal(p_Price_Break_rec.created_by,p_old_Price_Break_rec.created_by)
115 THEN
116 NULL;
117 END IF;
118
119 IF NOT OE_GLOBALS.Equal(p_Price_Break_rec.creation_date,p_old_Price_Break_rec.creation_date)
120 THEN
121 NULL;
122 END IF;
123
124 IF NOT OE_GLOBALS.Equal(p_Price_Break_rec.discount_line_id,p_old_Price_Break_rec.discount_line_id)
125 THEN
126 NULL;
127 END IF;
128
129 IF NOT OE_GLOBALS.Equal(p_Price_Break_rec.end_date_active,p_old_Price_Break_rec.end_date_active)
130 THEN
131 NULL;
132 END IF;
133
134 IF NOT OE_GLOBALS.Equal(p_Price_Break_rec.last_updated_by,p_old_Price_Break_rec.last_updated_by)
135 THEN
136 NULL;
137 END IF;
138
139 IF NOT OE_GLOBALS.Equal(p_Price_Break_rec.last_update_date,p_old_Price_Break_rec.last_update_date)
140 THEN
141 NULL;
142 END IF;
143
144 IF NOT OE_GLOBALS.Equal(p_Price_Break_rec.last_update_login,p_old_Price_Break_rec.last_update_login)
145 THEN
146 NULL;
147 END IF;
148
149 IF NOT OE_GLOBALS.Equal(p_Price_Break_rec.method_type_code,p_old_Price_Break_rec.method_type_code)
150 THEN
151 NULL;
152 END IF;
153
154 IF NOT OE_GLOBALS.Equal(p_Price_Break_rec.percent,p_old_Price_Break_rec.percent)
155 THEN
156 NULL;
157 END IF;
158
159 IF NOT OE_GLOBALS.Equal(p_Price_Break_rec.price,p_old_Price_Break_rec.price)
160 THEN
161 NULL;
162 END IF;
163
164 IF NOT OE_GLOBALS.Equal(p_Price_Break_rec.price_break_high,p_old_Price_Break_rec.price_break_high)
165 THEN
166 NULL;
167 END IF;
168
169 IF NOT OE_GLOBALS.Equal(p_Price_Break_rec.price_break_low,p_old_Price_Break_rec.price_break_low)
170 THEN
171 NULL;
172 END IF;
173
174 IF NOT OE_GLOBALS.Equal(p_Price_Break_rec.program_application_id,p_old_Price_Break_rec.program_application_id)
175 THEN
176 NULL;
177 END IF;
178
179 IF NOT OE_GLOBALS.Equal(p_Price_Break_rec.program_id,p_old_Price_Break_rec.program_id)
180 THEN
181 NULL;
182 END IF;
183
184 IF NOT OE_GLOBALS.Equal(p_Price_Break_rec.program_update_date,p_old_Price_Break_rec.program_update_date)
185 THEN
186 NULL;
187 END IF;
188
189 IF NOT OE_GLOBALS.Equal(p_Price_Break_rec.request_id,p_old_Price_Break_rec.request_id)
190 THEN
191 NULL;
192 END IF;
193
194 IF NOT OE_GLOBALS.Equal(p_Price_Break_rec.start_date_active,p_old_Price_Break_rec.start_date_active)
195 THEN
196 NULL;
197 END IF;
198
199 IF NOT OE_GLOBALS.Equal(p_Price_Break_rec.unit_code,p_old_Price_Break_rec.unit_code)
200 THEN
201 NULL;
202 END IF;
203
204 ELSIF p_attr_id = G_AMOUNT THEN
205 NULL;
206 ELSIF p_attr_id = G_ATTRIBUTE1 THEN
207 NULL;
208 ELSIF p_attr_id = G_ATTRIBUTE10 THEN
209 NULL;
210 ELSIF p_attr_id = G_ATTRIBUTE11 THEN
211 NULL;
212 ELSIF p_attr_id = G_ATTRIBUTE12 THEN
213 NULL;
214 ELSIF p_attr_id = G_ATTRIBUTE13 THEN
215 NULL;
216 ELSIF p_attr_id = G_ATTRIBUTE14 THEN
217 NULL;
218 ELSIF p_attr_id = G_ATTRIBUTE15 THEN
219 NULL;
220 ELSIF p_attr_id = G_ATTRIBUTE2 THEN
221 NULL;
222 ELSIF p_attr_id = G_ATTRIBUTE3 THEN
223 NULL;
224 ELSIF p_attr_id = G_ATTRIBUTE4 THEN
225 NULL;
226 ELSIF p_attr_id = G_ATTRIBUTE5 THEN
227 NULL;
228 ELSIF p_attr_id = G_ATTRIBUTE6 THEN
229 NULL;
230 ELSIF p_attr_id = G_ATTRIBUTE7 THEN
231 NULL;
232 ELSIF p_attr_id = G_ATTRIBUTE8 THEN
233 NULL;
234 ELSIF p_attr_id = G_ATTRIBUTE9 THEN
235 NULL;
236 ELSIF p_attr_id = G_CONTEXT THEN
237 NULL;
238 ELSIF p_attr_id = G_CREATED_BY THEN
239 NULL;
240 ELSIF p_attr_id = G_CREATION_DATE THEN
241 NULL;
242 ELSIF p_attr_id = G_DISCOUNT_LINE THEN
243 NULL;
244 ELSIF p_attr_id = G_END_DATE_ACTIVE THEN
245 NULL;
246 ELSIF p_attr_id = G_LAST_UPDATED_BY THEN
247 NULL;
248 ELSIF p_attr_id = G_LAST_UPDATE_DATE THEN
249 NULL;
250 ELSIF p_attr_id = G_LAST_UPDATE_LOGIN THEN
251 NULL;
252 ELSIF p_attr_id = G_METHOD_TYPE THEN
253 NULL;
254 ELSIF p_attr_id = G_PERCENT THEN
255 NULL;
256 ELSIF p_attr_id = G_PRICE THEN
257 NULL;
258 ELSIF p_attr_id = G_PRICE_BREAK_HIGH THEN
259 NULL;
260 ELSIF p_attr_id = G_PRICE_BREAK_LOW THEN
261 NULL;
262 ELSIF p_attr_id = G_PROGRAM_APPLICATION THEN
263 NULL;
264 ELSIF p_attr_id = G_PROGRAM THEN
265 NULL;
266 ELSIF p_attr_id = G_PROGRAM_UPDATE_DATE THEN
267 NULL;
268 ELSIF p_attr_id = G_REQUEST THEN
269 NULL;
270 ELSIF p_attr_id = G_START_DATE_ACTIVE THEN
271 NULL;
272 ELSIF p_attr_id = G_UNIT THEN
273 NULL;
274 END IF;
275
276 END Clear_Dependent_Attr;
277
278 -- Procedure Apply_Attribute_Changes
279
280 PROCEDURE Apply_Attribute_Changes
281 ( p_Price_Break_rec IN OE_Pricing_Cont_PUB.Price_Break_Rec_Type
282 , p_old_Price_Break_rec IN OE_Pricing_Cont_PUB.Price_Break_Rec_Type :=
283 OE_Pricing_Cont_PUB.G_MISS_PRICE_BREAK_REC
284 , x_Price_Break_rec OUT OE_Pricing_Cont_PUB.Price_Break_Rec_Type
285 )
286 IS
287 BEGIN
288
289 -- Load out record
290
291 x_Price_Break_rec := p_Price_Break_rec;
292
293 IF NOT OE_GLOBALS.Equal(p_Price_Break_rec.amount,p_old_Price_Break_rec.amount)
294 THEN
295 NULL;
296 END IF;
297
298 IF NOT OE_GLOBALS.Equal(p_Price_Break_rec.attribute1,p_old_Price_Break_rec.attribute1)
299 THEN
300 NULL;
301 END IF;
302
303 IF NOT OE_GLOBALS.Equal(p_Price_Break_rec.attribute10,p_old_Price_Break_rec.attribute10)
304 THEN
305 NULL;
306 END IF;
307
308 IF NOT OE_GLOBALS.Equal(p_Price_Break_rec.attribute11,p_old_Price_Break_rec.attribute11)
309 THEN
310 NULL;
311 END IF;
312
313 IF NOT OE_GLOBALS.Equal(p_Price_Break_rec.attribute12,p_old_Price_Break_rec.attribute12)
314 THEN
315 NULL;
316 END IF;
317
318 IF NOT OE_GLOBALS.Equal(p_Price_Break_rec.attribute13,p_old_Price_Break_rec.attribute13)
319 THEN
320 NULL;
321 END IF;
322
323 IF NOT OE_GLOBALS.Equal(p_Price_Break_rec.attribute14,p_old_Price_Break_rec.attribute14)
324 THEN
325 NULL;
326 END IF;
327
328 IF NOT OE_GLOBALS.Equal(p_Price_Break_rec.attribute15,p_old_Price_Break_rec.attribute15)
329 THEN
330 NULL;
331 END IF;
332
333 IF NOT OE_GLOBALS.Equal(p_Price_Break_rec.attribute2,p_old_Price_Break_rec.attribute2)
334 THEN
335 NULL;
336 END IF;
337
338 IF NOT OE_GLOBALS.Equal(p_Price_Break_rec.attribute3,p_old_Price_Break_rec.attribute3)
339 THEN
340 NULL;
341 END IF;
342
343 IF NOT OE_GLOBALS.Equal(p_Price_Break_rec.attribute4,p_old_Price_Break_rec.attribute4)
344 THEN
345 NULL;
346 END IF;
347
348 IF NOT OE_GLOBALS.Equal(p_Price_Break_rec.attribute5,p_old_Price_Break_rec.attribute5)
349 THEN
350 NULL;
351 END IF;
352
353 IF NOT OE_GLOBALS.Equal(p_Price_Break_rec.attribute6,p_old_Price_Break_rec.attribute6)
354 THEN
355 NULL;
356 END IF;
357
358 IF NOT OE_GLOBALS.Equal(p_Price_Break_rec.attribute7,p_old_Price_Break_rec.attribute7)
359 THEN
360 NULL;
361 END IF;
362
363 IF NOT OE_GLOBALS.Equal(p_Price_Break_rec.attribute8,p_old_Price_Break_rec.attribute8)
364 THEN
365 NULL;
366 END IF;
367
368 IF NOT OE_GLOBALS.Equal(p_Price_Break_rec.attribute9,p_old_Price_Break_rec.attribute9)
369 THEN
370 NULL;
371 END IF;
372
373 IF NOT OE_GLOBALS.Equal(p_Price_Break_rec.context,p_old_Price_Break_rec.context)
374 THEN
375 NULL;
376 END IF;
377
378 IF NOT OE_GLOBALS.Equal(p_Price_Break_rec.created_by,p_old_Price_Break_rec.created_by)
379 THEN
380 NULL;
381 END IF;
382
383 IF NOT OE_GLOBALS.Equal(p_Price_Break_rec.creation_date,p_old_Price_Break_rec.creation_date)
384 THEN
385 NULL;
386 END IF;
387
388 IF NOT OE_GLOBALS.Equal(p_Price_Break_rec.discount_line_id,p_old_Price_Break_rec.discount_line_id)
389 THEN
390 NULL;
391 END IF;
392
393 IF NOT OE_GLOBALS.Equal(p_Price_Break_rec.end_date_active,p_old_Price_Break_rec.end_date_active)
394 THEN
395 NULL;
396 END IF;
397
398 IF NOT OE_GLOBALS.Equal(p_Price_Break_rec.last_updated_by,p_old_Price_Break_rec.last_updated_by)
399 THEN
400 NULL;
401 END IF;
402
403 IF NOT OE_GLOBALS.Equal(p_Price_Break_rec.last_update_date,p_old_Price_Break_rec.last_update_date)
404 THEN
405 NULL;
406 END IF;
407
408 IF NOT OE_GLOBALS.Equal(p_Price_Break_rec.last_update_login,p_old_Price_Break_rec.last_update_login)
409 THEN
410 NULL;
411 END IF;
412
413 IF NOT OE_GLOBALS.Equal(p_Price_Break_rec.method_type_code,p_old_Price_Break_rec.method_type_code)
414 THEN
415 NULL;
416 END IF;
417
418 IF NOT OE_GLOBALS.Equal(p_Price_Break_rec.percent,p_old_Price_Break_rec.percent)
419 THEN
420 NULL;
421 END IF;
422
423 IF NOT OE_GLOBALS.Equal(p_Price_Break_rec.price,p_old_Price_Break_rec.price)
424 THEN
425 NULL;
426 END IF;
427
428 IF NOT OE_GLOBALS.Equal(p_Price_Break_rec.price_break_high,p_old_Price_Break_rec.price_break_high)
429 THEN
430 NULL;
431 END IF;
432
433 IF NOT OE_GLOBALS.Equal(p_Price_Break_rec.price_break_low,p_old_Price_Break_rec.price_break_low)
434 THEN
435 NULL;
436 END IF;
437
438 IF NOT OE_GLOBALS.Equal(p_Price_Break_rec.program_application_id,p_old_Price_Break_rec.program_application_id)
439 THEN
440 NULL;
441 END IF;
442
443 IF NOT OE_GLOBALS.Equal(p_Price_Break_rec.program_id,p_old_Price_Break_rec.program_id)
444 THEN
445 NULL;
446 END IF;
447
448 IF NOT OE_GLOBALS.Equal(p_Price_Break_rec.program_update_date,p_old_Price_Break_rec.program_update_date)
449 THEN
450 NULL;
451 END IF;
452
453 IF NOT OE_GLOBALS.Equal(p_Price_Break_rec.request_id,p_old_Price_Break_rec.request_id)
454 THEN
455 NULL;
456 END IF;
457
458 IF NOT OE_GLOBALS.Equal(p_Price_Break_rec.start_date_active,p_old_Price_Break_rec.start_date_active)
459 THEN
460 NULL;
461 END IF;
462
463 IF NOT OE_GLOBALS.Equal(p_Price_Break_rec.unit_code,p_old_Price_Break_rec.unit_code)
464 THEN
465 NULL;
466 END IF;
467
468 END Apply_Attribute_Changes;
469
470 -- Function Complete_Record
471
472 FUNCTION Complete_Record
473 ( p_Price_Break_rec IN OE_Pricing_Cont_PUB.Price_Break_Rec_Type
474 , p_old_Price_Break_rec IN OE_Pricing_Cont_PUB.Price_Break_Rec_Type
475 ) RETURN OE_Pricing_Cont_PUB.Price_Break_Rec_Type
476 IS
477 l_Price_Break_rec OE_Pricing_Cont_PUB.Price_Break_Rec_Type := p_Price_Break_rec;
478 BEGIN
479
480 IF l_Price_Break_rec.amount = FND_API.G_MISS_NUM THEN
481 l_Price_Break_rec.amount := p_old_Price_Break_rec.amount;
482 END IF;
483
484 IF l_Price_Break_rec.attribute1 = FND_API.G_MISS_CHAR THEN
485 l_Price_Break_rec.attribute1 := p_old_Price_Break_rec.attribute1;
486 END IF;
487
488 IF l_Price_Break_rec.attribute10 = FND_API.G_MISS_CHAR THEN
489 l_Price_Break_rec.attribute10 := p_old_Price_Break_rec.attribute10;
490 END IF;
491
492 IF l_Price_Break_rec.attribute11 = FND_API.G_MISS_CHAR THEN
493 l_Price_Break_rec.attribute11 := p_old_Price_Break_rec.attribute11;
494 END IF;
495
496 IF l_Price_Break_rec.attribute12 = FND_API.G_MISS_CHAR THEN
497 l_Price_Break_rec.attribute12 := p_old_Price_Break_rec.attribute12;
498 END IF;
499
500 IF l_Price_Break_rec.attribute13 = FND_API.G_MISS_CHAR THEN
501 l_Price_Break_rec.attribute13 := p_old_Price_Break_rec.attribute13;
502 END IF;
503
504 IF l_Price_Break_rec.attribute14 = FND_API.G_MISS_CHAR THEN
505 l_Price_Break_rec.attribute14 := p_old_Price_Break_rec.attribute14;
506 END IF;
507
508 IF l_Price_Break_rec.attribute15 = FND_API.G_MISS_CHAR THEN
509 l_Price_Break_rec.attribute15 := p_old_Price_Break_rec.attribute15;
510 END IF;
511
512 IF l_Price_Break_rec.attribute2 = FND_API.G_MISS_CHAR THEN
513 l_Price_Break_rec.attribute2 := p_old_Price_Break_rec.attribute2;
514 END IF;
515
516 IF l_Price_Break_rec.attribute3 = FND_API.G_MISS_CHAR THEN
517 l_Price_Break_rec.attribute3 := p_old_Price_Break_rec.attribute3;
518 END IF;
519
520 IF l_Price_Break_rec.attribute4 = FND_API.G_MISS_CHAR THEN
521 l_Price_Break_rec.attribute4 := p_old_Price_Break_rec.attribute4;
522 END IF;
523
524 IF l_Price_Break_rec.attribute5 = FND_API.G_MISS_CHAR THEN
525 l_Price_Break_rec.attribute5 := p_old_Price_Break_rec.attribute5;
526 END IF;
527
528 IF l_Price_Break_rec.attribute6 = FND_API.G_MISS_CHAR THEN
529 l_Price_Break_rec.attribute6 := p_old_Price_Break_rec.attribute6;
530 END IF;
531
532 IF l_Price_Break_rec.attribute7 = FND_API.G_MISS_CHAR THEN
533 l_Price_Break_rec.attribute7 := p_old_Price_Break_rec.attribute7;
534 END IF;
535
536 IF l_Price_Break_rec.attribute8 = FND_API.G_MISS_CHAR THEN
537 l_Price_Break_rec.attribute8 := p_old_Price_Break_rec.attribute8;
538 END IF;
539
540 IF l_Price_Break_rec.attribute9 = FND_API.G_MISS_CHAR THEN
541 l_Price_Break_rec.attribute9 := p_old_Price_Break_rec.attribute9;
542 END IF;
543
544 IF l_Price_Break_rec.context = FND_API.G_MISS_CHAR THEN
545 l_Price_Break_rec.context := p_old_Price_Break_rec.context;
546 END IF;
547
548 IF l_Price_Break_rec.created_by = FND_API.G_MISS_NUM THEN
549 l_Price_Break_rec.created_by := p_old_Price_Break_rec.created_by;
550 END IF;
551
552 IF l_Price_Break_rec.creation_date = FND_API.G_MISS_DATE THEN
553 l_Price_Break_rec.creation_date := p_old_Price_Break_rec.creation_date;
554 END IF;
555
556 IF l_Price_Break_rec.discount_line_id = FND_API.G_MISS_NUM THEN
557 l_Price_Break_rec.discount_line_id := p_old_Price_Break_rec.discount_line_id;
558 END IF;
559
560 IF l_Price_Break_rec.end_date_active = FND_API.G_MISS_DATE THEN
561 l_Price_Break_rec.end_date_active := p_old_Price_Break_rec.end_date_active;
562 END IF;
563
564 IF l_Price_Break_rec.last_updated_by = FND_API.G_MISS_NUM THEN
565 l_Price_Break_rec.last_updated_by := p_old_Price_Break_rec.last_updated_by;
566 END IF;
567
568 IF l_Price_Break_rec.last_update_date = FND_API.G_MISS_DATE THEN
569 l_Price_Break_rec.last_update_date := p_old_Price_Break_rec.last_update_date;
570 END IF;
571
572 IF l_Price_Break_rec.last_update_login = FND_API.G_MISS_NUM THEN
573 l_Price_Break_rec.last_update_login := p_old_Price_Break_rec.last_update_login;
574 END IF;
575
576 IF l_Price_Break_rec.method_type_code = FND_API.G_MISS_CHAR THEN
577 l_Price_Break_rec.method_type_code := p_old_Price_Break_rec.method_type_code;
578 END IF;
579
580 IF l_Price_Break_rec.percent = FND_API.G_MISS_NUM THEN
581 l_Price_Break_rec.percent := p_old_Price_Break_rec.percent;
582 END IF;
583
584 IF l_Price_Break_rec.price = FND_API.G_MISS_NUM THEN
585 l_Price_Break_rec.price := p_old_Price_Break_rec.price;
586 END IF;
587
588 IF l_Price_Break_rec.price_break_high = FND_API.G_MISS_NUM THEN
589 l_Price_Break_rec.price_break_high := p_old_Price_Break_rec.price_break_high;
590 END IF;
591
592 IF l_Price_Break_rec.price_break_low = FND_API.G_MISS_NUM THEN
593 l_Price_Break_rec.price_break_low := p_old_Price_Break_rec.price_break_low;
594 END IF;
595
596 IF l_Price_Break_rec.program_application_id = FND_API.G_MISS_NUM THEN
597 l_Price_Break_rec.program_application_id := p_old_Price_Break_rec.program_application_id;
598 END IF;
599
600 IF l_Price_Break_rec.program_id = FND_API.G_MISS_NUM THEN
601 l_Price_Break_rec.program_id := p_old_Price_Break_rec.program_id;
602 END IF;
603
604 IF l_Price_Break_rec.program_update_date = FND_API.G_MISS_DATE THEN
605 l_Price_Break_rec.program_update_date := p_old_Price_Break_rec.program_update_date;
606 END IF;
607
608 IF l_Price_Break_rec.request_id = FND_API.G_MISS_NUM THEN
609 l_Price_Break_rec.request_id := p_old_Price_Break_rec.request_id;
610 END IF;
611
612 IF l_Price_Break_rec.start_date_active = FND_API.G_MISS_DATE THEN
613 l_Price_Break_rec.start_date_active := p_old_Price_Break_rec.start_date_active;
614 END IF;
615
616 IF l_Price_Break_rec.unit_code = FND_API.G_MISS_CHAR THEN
617 l_Price_Break_rec.unit_code := p_old_Price_Break_rec.unit_code;
618 END IF;
619
620 RETURN l_Price_Break_rec;
621
622 END Complete_Record;
623
624 -- Function Convert_Miss_To_Null
625
626 FUNCTION Convert_Miss_To_Null
627 ( p_Price_Break_rec IN OE_Pricing_Cont_PUB.Price_Break_Rec_Type
628 ) RETURN OE_Pricing_Cont_PUB.Price_Break_Rec_Type
629 IS
630 l_Price_Break_rec OE_Pricing_Cont_PUB.Price_Break_Rec_Type := p_Price_Break_rec;
631 BEGIN
632
633 IF l_Price_Break_rec.amount = FND_API.G_MISS_NUM THEN
634 l_Price_Break_rec.amount := NULL;
635 END IF;
636
637 IF l_Price_Break_rec.attribute1 = FND_API.G_MISS_CHAR THEN
638 l_Price_Break_rec.attribute1 := NULL;
639 END IF;
640
641 IF l_Price_Break_rec.attribute10 = FND_API.G_MISS_CHAR THEN
642 l_Price_Break_rec.attribute10 := NULL;
643 END IF;
644
645 IF l_Price_Break_rec.attribute11 = FND_API.G_MISS_CHAR THEN
646 l_Price_Break_rec.attribute11 := NULL;
647 END IF;
648
649 IF l_Price_Break_rec.attribute12 = FND_API.G_MISS_CHAR THEN
650 l_Price_Break_rec.attribute12 := NULL;
651 END IF;
652
653 IF l_Price_Break_rec.attribute13 = FND_API.G_MISS_CHAR THEN
654 l_Price_Break_rec.attribute13 := NULL;
655 END IF;
656
657 IF l_Price_Break_rec.attribute14 = FND_API.G_MISS_CHAR THEN
658 l_Price_Break_rec.attribute14 := NULL;
659 END IF;
660
661 IF l_Price_Break_rec.attribute15 = FND_API.G_MISS_CHAR THEN
662 l_Price_Break_rec.attribute15 := NULL;
663 END IF;
664
665 IF l_Price_Break_rec.attribute2 = FND_API.G_MISS_CHAR THEN
666 l_Price_Break_rec.attribute2 := NULL;
667 END IF;
668
669 IF l_Price_Break_rec.attribute3 = FND_API.G_MISS_CHAR THEN
670 l_Price_Break_rec.attribute3 := NULL;
671 END IF;
672
673 IF l_Price_Break_rec.attribute4 = FND_API.G_MISS_CHAR THEN
674 l_Price_Break_rec.attribute4 := NULL;
675 END IF;
676
677 IF l_Price_Break_rec.attribute5 = FND_API.G_MISS_CHAR THEN
678 l_Price_Break_rec.attribute5 := NULL;
679 END IF;
680
681 IF l_Price_Break_rec.attribute6 = FND_API.G_MISS_CHAR THEN
682 l_Price_Break_rec.attribute6 := NULL;
683 END IF;
684
685 IF l_Price_Break_rec.attribute7 = FND_API.G_MISS_CHAR THEN
686 l_Price_Break_rec.attribute7 := NULL;
687 END IF;
688
689 IF l_Price_Break_rec.attribute8 = FND_API.G_MISS_CHAR THEN
690 l_Price_Break_rec.attribute8 := NULL;
691 END IF;
692
693 IF l_Price_Break_rec.attribute9 = FND_API.G_MISS_CHAR THEN
694 l_Price_Break_rec.attribute9 := NULL;
695 END IF;
696
697 IF l_Price_Break_rec.context = FND_API.G_MISS_CHAR THEN
698 l_Price_Break_rec.context := NULL;
699 END IF;
700
701 IF l_Price_Break_rec.created_by = FND_API.G_MISS_NUM THEN
702 l_Price_Break_rec.created_by := NULL;
703 END IF;
704
705 IF l_Price_Break_rec.creation_date = FND_API.G_MISS_DATE THEN
706 l_Price_Break_rec.creation_date := NULL;
707 END IF;
708
709 IF l_Price_Break_rec.discount_line_id = FND_API.G_MISS_NUM THEN
710 l_Price_Break_rec.discount_line_id := NULL;
711 END IF;
712
713 IF l_Price_Break_rec.end_date_active = FND_API.G_MISS_DATE THEN
714 l_Price_Break_rec.end_date_active := NULL;
715 END IF;
716
717 IF l_Price_Break_rec.last_updated_by = FND_API.G_MISS_NUM THEN
718 l_Price_Break_rec.last_updated_by := NULL;
719 END IF;
720
721 IF l_Price_Break_rec.last_update_date = FND_API.G_MISS_DATE THEN
722 l_Price_Break_rec.last_update_date := NULL;
723 END IF;
724
725 IF l_Price_Break_rec.last_update_login = FND_API.G_MISS_NUM THEN
726 l_Price_Break_rec.last_update_login := NULL;
727 END IF;
728
729 IF l_Price_Break_rec.method_type_code = FND_API.G_MISS_CHAR THEN
730 l_Price_Break_rec.method_type_code := NULL;
731 END IF;
732
733 IF l_Price_Break_rec.percent = FND_API.G_MISS_NUM THEN
734 l_Price_Break_rec.percent := NULL;
735 END IF;
736
737 IF l_Price_Break_rec.price = FND_API.G_MISS_NUM THEN
738 l_Price_Break_rec.price := NULL;
739 END IF;
740
741 IF l_Price_Break_rec.price_break_high = FND_API.G_MISS_NUM THEN
742 l_Price_Break_rec.price_break_high := NULL;
743 END IF;
744
745 IF l_Price_Break_rec.price_break_low = FND_API.G_MISS_NUM THEN
746 l_Price_Break_rec.price_break_low := NULL;
747 END IF;
748
749 IF l_Price_Break_rec.program_application_id = FND_API.G_MISS_NUM THEN
750 l_Price_Break_rec.program_application_id := NULL;
751 END IF;
752
753 IF l_Price_Break_rec.program_id = FND_API.G_MISS_NUM THEN
754 l_Price_Break_rec.program_id := NULL;
755 END IF;
756
757 IF l_Price_Break_rec.program_update_date = FND_API.G_MISS_DATE THEN
758 l_Price_Break_rec.program_update_date := NULL;
759 END IF;
760
761 IF l_Price_Break_rec.request_id = FND_API.G_MISS_NUM THEN
762 l_Price_Break_rec.request_id := NULL;
763 END IF;
764
765 IF l_Price_Break_rec.start_date_active = FND_API.G_MISS_DATE THEN
766 l_Price_Break_rec.start_date_active := NULL;
767 END IF;
768
769 IF l_Price_Break_rec.unit_code = FND_API.G_MISS_CHAR THEN
770 l_Price_Break_rec.unit_code := NULL;
771 END IF;
772
773 RETURN l_Price_Break_rec;
774
775 END Convert_Miss_To_Null;
776
777 -- Procedure Update_Row
778
779 PROCEDURE Update_Row
780 ( p_Price_Break_rec IN OE_Pricing_Cont_PUB.Price_Break_Rec_Type
781 )
782 IS
783 BEGIN
784
785 UPDATE OE_PRICE_BREAK_LINES
786 SET AMOUNT = p_Price_Break_rec.amount
787 , ATTRIBUTE1 = p_Price_Break_rec.attribute1
788 , ATTRIBUTE10 = p_Price_Break_rec.attribute10
789 , ATTRIBUTE11 = p_Price_Break_rec.attribute11
790 , ATTRIBUTE12 = p_Price_Break_rec.attribute12
791 , ATTRIBUTE13 = p_Price_Break_rec.attribute13
792 , ATTRIBUTE14 = p_Price_Break_rec.attribute14
793 , ATTRIBUTE15 = p_Price_Break_rec.attribute15
794 , ATTRIBUTE2 = p_Price_Break_rec.attribute2
795 , ATTRIBUTE3 = p_Price_Break_rec.attribute3
796 , ATTRIBUTE4 = p_Price_Break_rec.attribute4
797 , ATTRIBUTE5 = p_Price_Break_rec.attribute5
798 , ATTRIBUTE6 = p_Price_Break_rec.attribute6
799 , ATTRIBUTE7 = p_Price_Break_rec.attribute7
800 , ATTRIBUTE8 = p_Price_Break_rec.attribute8
801 , ATTRIBUTE9 = p_Price_Break_rec.attribute9
802 , CONTEXT = p_Price_Break_rec.context
803 , CREATED_BY = p_Price_Break_rec.created_by
804 , CREATION_DATE = p_Price_Break_rec.creation_date
805 , DISCOUNT_LINE_ID = p_Price_Break_rec.discount_line_id
806 , END_DATE_ACTIVE = p_Price_Break_rec.end_date_active
807 , LAST_UPDATED_BY = p_Price_Break_rec.last_updated_by
808 , LAST_UPDATE_DATE = p_Price_Break_rec.last_update_date
809 , LAST_UPDATE_LOGIN = p_Price_Break_rec.last_update_login
810 , METHOD_TYPE_CODE = p_Price_Break_rec.method_type_code
811 , PERCENT = p_Price_Break_rec.percent
812 , PRICE = p_Price_Break_rec.price
813 , PRICE_BREAK_LINES_HIGH_RANGE = p_Price_Break_rec.price_break_high
814 , PRICE_BREAK_LINES_LOW_RANGE = p_Price_Break_rec.price_break_low
815 , PROGRAM_APPLICATION_ID = p_Price_Break_rec.program_application_id
816 , PROGRAM_ID = p_Price_Break_rec.program_id
817 , PROGRAM_UPDATE_DATE = p_Price_Break_rec.program_update_date
818 , REQUEST_ID = p_Price_Break_rec.request_id
819 , START_DATE_ACTIVE = p_Price_Break_rec.start_date_active
820 , UNIT_CODE = p_Price_Break_rec.unit_code
821 WHERE DISCOUNT_LINE_ID = p_Price_Break_rec.discount_line_id
822 AND METHOD_TYPE_CODE = p_Price_Break_rec.method_type_code
823 AND PRICE_BREAK_LINES_HIGH_RANGE = p_Price_Break_rec.price_break_high
824 AND PRICE_BREAK_LINES_LOW_RANGE = p_Price_Break_rec.price_break_low
825 ;
826
827 EXCEPTION
828
829 WHEN OTHERS THEN
830
831 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
832 THEN
833 OE_MSG_PUB.Add_Exc_Msg
834 ( G_PKG_NAME
835 , 'Update_Row'
836 );
837 END IF;
838
839 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
840
841 END Update_Row;
842
843 -- Procedure Insert_Row
844
845 PROCEDURE Insert_Row
846 ( p_Price_Break_rec IN OE_Pricing_Cont_PUB.Price_Break_Rec_Type
847 )
848 IS
849 BEGIN
850
851 INSERT INTO OE_PRICE_BREAK_LINES
852 ( AMOUNT
853 , ATTRIBUTE1
854 , ATTRIBUTE10
855 , ATTRIBUTE11
856 , ATTRIBUTE12
857 , ATTRIBUTE13
858 , ATTRIBUTE14
859 , ATTRIBUTE15
860 , ATTRIBUTE2
861 , ATTRIBUTE3
862 , ATTRIBUTE4
863 , ATTRIBUTE5
864 , ATTRIBUTE6
865 , ATTRIBUTE7
866 , ATTRIBUTE8
867 , ATTRIBUTE9
868 , CONTEXT
869 , CREATED_BY
870 , CREATION_DATE
871 , DISCOUNT_LINE_ID
872 , END_DATE_ACTIVE
873 , LAST_UPDATED_BY
874 , LAST_UPDATE_DATE
875 , LAST_UPDATE_LOGIN
876 , METHOD_TYPE_CODE
877 , PERCENT
878 , PRICE
879 , PRICE_BREAK_LINES_HIGH_RANGE
880 , PRICE_BREAK_LINES_LOW_RANGE
881 , PROGRAM_APPLICATION_ID
882 , PROGRAM_ID
883 , PROGRAM_UPDATE_DATE
884 , REQUEST_ID
885 , START_DATE_ACTIVE
886 , UNIT_CODE
887 )
888 VALUES
889 ( p_Price_Break_rec.amount
890 , p_Price_Break_rec.attribute1
891 , p_Price_Break_rec.attribute10
892 , p_Price_Break_rec.attribute11
893 , p_Price_Break_rec.attribute12
894 , p_Price_Break_rec.attribute13
895 , p_Price_Break_rec.attribute14
896 , p_Price_Break_rec.attribute15
897 , p_Price_Break_rec.attribute2
898 , p_Price_Break_rec.attribute3
899 , p_Price_Break_rec.attribute4
900 , p_Price_Break_rec.attribute5
901 , p_Price_Break_rec.attribute6
902 , p_Price_Break_rec.attribute7
903 , p_Price_Break_rec.attribute8
904 , p_Price_Break_rec.attribute9
905 , p_Price_Break_rec.context
906 , p_Price_Break_rec.created_by
907 , p_Price_Break_rec.creation_date
908 , p_Price_Break_rec.discount_line_id
909 , p_Price_Break_rec.end_date_active
910 , p_Price_Break_rec.last_updated_by
911 , p_Price_Break_rec.last_update_date
912 , p_Price_Break_rec.last_update_login
913 , p_Price_Break_rec.method_type_code
914 , p_Price_Break_rec.percent
915 , p_Price_Break_rec.price
916 , p_Price_Break_rec.price_break_high
917 , p_Price_Break_rec.price_break_low
918 , p_Price_Break_rec.program_application_id
919 , p_Price_Break_rec.program_id
920 , p_Price_Break_rec.program_update_date
921 , p_Price_Break_rec.request_id
922 , p_Price_Break_rec.start_date_active
923 , p_Price_Break_rec.unit_code
924 );
925
926 EXCEPTION
927
928 WHEN OTHERS THEN
929
930 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
931 THEN
932 OE_MSG_PUB.Add_Exc_Msg
933 ( G_PKG_NAME
934 , 'Insert_Row'
935 );
936 END IF;
937
938 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
939
940 END Insert_Row;
941
942 -- Procedure Delete_Row
943
944 PROCEDURE Delete_Row
945 ( p_discount_line_id IN NUMBER
946 , p_method_type_code IN VARCHAR2
947 , p_price_break_high IN NUMBER
948 , p_price_break_low IN NUMBER
949 )
950 IS
951 BEGIN
952
953 DELETE FROM OE_PRICE_BREAK_LINES
954 WHERE DISCOUNT_LINE_ID = p_discount_line_id
955 AND METHOD_TYPE_CODE = p_method_type_code
956 AND PRICE_BREAK_LINES_HIGH_RANGE = p_price_break_high
957 AND PRICE_BREAK_LINES_LOW_RANGE = p_price_break_low
958 ;
959
960 EXCEPTION
961
962 WHEN OTHERS THEN
963
964 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
965 THEN
966 OE_MSG_PUB.Add_Exc_Msg
967 ( G_PKG_NAME
968 , 'Delete_Row'
969 );
970 END IF;
971
972 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
973
974 END Delete_Row;
975
976 -- Function Query_Row
977
978 FUNCTION Query_Row
979 ( p_discount_line_id IN NUMBER
980 , p_method_type_code IN VARCHAR2
981 , p_price_break_high IN NUMBER
982 , p_price_break_low IN NUMBER
983 ) RETURN OE_Pricing_Cont_PUB.Price_Break_Rec_Type
984 IS
985 BEGIN
986
987 RETURN Query_Rows
988 ( p_discount_line_id => p_discount_line_id
989 , p_method_type_code => p_method_type_code
990 , p_price_break_high => p_price_break_high
991 , p_price_break_low => p_price_break_low
992 )(1);
993
994 END Query_Row;
995
996 -- Function Query_Rows
997
998 --
999
1000 FUNCTION Query_Rows
1001 ( p_discount_line_id IN NUMBER :=
1002 FND_API.G_MISS_NUM
1003 , p_method_type_code IN VARCHAR2 :=
1004 FND_API.G_MISS_CHAR
1005 , p_price_break_high IN NUMBER :=
1006 FND_API.G_MISS_NUM
1007 , p_price_break_low IN NUMBER :=
1008 FND_API.G_MISS_NUM
1009 ) RETURN OE_Pricing_Cont_PUB.Price_Break_Tbl_Type
1010 IS
1011 l_Price_Break_rec OE_Pricing_Cont_PUB.Price_Break_Rec_Type;
1012 l_Price_Break_tbl OE_Pricing_Cont_PUB.Price_Break_Tbl_Type;
1013
1014 CURSOR l_Price_Break_csr IS
1015 SELECT AMOUNT
1016 , ATTRIBUTE1
1017 , ATTRIBUTE10
1018 , ATTRIBUTE11
1019 , ATTRIBUTE12
1020 , ATTRIBUTE13
1021 , ATTRIBUTE14
1022 , ATTRIBUTE15
1023 , ATTRIBUTE2
1024 , ATTRIBUTE3
1025 , ATTRIBUTE4
1026 , ATTRIBUTE5
1027 , ATTRIBUTE6
1028 , ATTRIBUTE7
1029 , ATTRIBUTE8
1030 , ATTRIBUTE9
1031 , CONTEXT
1032 , CREATED_BY
1033 , CREATION_DATE
1034 , DISCOUNT_LINE_ID
1035 , END_DATE_ACTIVE
1036 , LAST_UPDATED_BY
1037 , LAST_UPDATE_DATE
1038 , LAST_UPDATE_LOGIN
1039 , METHOD_TYPE_CODE
1040 , PERCENT
1041 , PRICE
1042 , PRICE_BREAK_LINES_HIGH_RANGE
1043 , PRICE_BREAK_LINES_LOW_RANGE
1044 , PROGRAM_APPLICATION_ID
1045 , PROGRAM_ID
1046 , PROGRAM_UPDATE_DATE
1047 , REQUEST_ID
1048 , START_DATE_ACTIVE
1049 , UNIT_CODE
1050 FROM OE_PRICE_BREAK_LINES
1051 WHERE ( DISCOUNT_LINE_ID = p_discount_line_id
1052 AND METHOD_TYPE_CODE = p_method_type_code
1053 AND PRICE_BREAK_LINES_HIGH_RANGE = p_price_break_high
1054 AND PRICE_BREAK_LINES_LOW_RANGE = p_price_break_low
1055 )
1056 OR ( DISCOUNT_LINE_ID = p_discount_line_id
1057 );
1058
1059 BEGIN
1060
1061 IF
1062 (p_discount_line_id IS NOT NULL
1063 AND
1064 p_discount_line_id <> FND_API.G_MISS_NUM)
1065 AND
1066 (p_method_type_code IS NOT NULL
1067 AND
1068 p_method_type_code <> FND_API.G_MISS_CHAR)
1069 AND
1070 (p_price_break_high IS NOT NULL
1071 AND
1072 p_price_break_high <> FND_API.G_MISS_NUM)
1073 AND
1074 (p_price_break_low IS NOT NULL
1075 AND
1076 p_price_break_low <> FND_API.G_MISS_NUM)
1077 THEN
1078 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1079 THEN
1080 OE_MSG_PUB.Add_Exc_Msg
1081 ( G_PKG_NAME
1082 , 'Query Rows'
1083 , 'Keys are mutually exclusive: discount_line_id = '||
1084 p_discount_line_id ||
1085 ', method_type_code = '|| p_method_type_code ||
1086 ', price_break_high = '|| p_price_break_high ||
1087 ', price_break_low = '|| p_price_break_low ||
1088 ', discount_line_id = '|| p_discount_line_id
1089 );
1090 END IF;
1091
1092 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1093
1094 END IF;
1095
1096
1097 -- Loop over fetched records
1098
1099 FOR l_implicit_rec IN l_Price_Break_csr LOOP
1100
1101 l_Price_Break_rec.amount := l_implicit_rec.AMOUNT;
1102 l_Price_Break_rec.attribute1 := l_implicit_rec.ATTRIBUTE1;
1103 l_Price_Break_rec.attribute10 := l_implicit_rec.ATTRIBUTE10;
1104 l_Price_Break_rec.attribute11 := l_implicit_rec.ATTRIBUTE11;
1105 l_Price_Break_rec.attribute12 := l_implicit_rec.ATTRIBUTE12;
1106 l_Price_Break_rec.attribute13 := l_implicit_rec.ATTRIBUTE13;
1107 l_Price_Break_rec.attribute14 := l_implicit_rec.ATTRIBUTE14;
1108 l_Price_Break_rec.attribute15 := l_implicit_rec.ATTRIBUTE15;
1109 l_Price_Break_rec.attribute2 := l_implicit_rec.ATTRIBUTE2;
1110 l_Price_Break_rec.attribute3 := l_implicit_rec.ATTRIBUTE3;
1111 l_Price_Break_rec.attribute4 := l_implicit_rec.ATTRIBUTE4;
1112 l_Price_Break_rec.attribute5 := l_implicit_rec.ATTRIBUTE5;
1113 l_Price_Break_rec.attribute6 := l_implicit_rec.ATTRIBUTE6;
1114 l_Price_Break_rec.attribute7 := l_implicit_rec.ATTRIBUTE7;
1115 l_Price_Break_rec.attribute8 := l_implicit_rec.ATTRIBUTE8;
1116 l_Price_Break_rec.attribute9 := l_implicit_rec.ATTRIBUTE9;
1117 l_Price_Break_rec.context := l_implicit_rec.CONTEXT;
1118 l_Price_Break_rec.created_by := l_implicit_rec.CREATED_BY;
1119 l_Price_Break_rec.creation_date := l_implicit_rec.CREATION_DATE;
1120 l_Price_Break_rec.discount_line_id := l_implicit_rec.DISCOUNT_LINE_ID;
1121 l_Price_Break_rec.end_date_active := l_implicit_rec.END_DATE_ACTIVE;
1122 l_Price_Break_rec.last_updated_by := l_implicit_rec.LAST_UPDATED_BY;
1123 l_Price_Break_rec.last_update_date := l_implicit_rec.LAST_UPDATE_DATE;
1124 l_Price_Break_rec.last_update_login := l_implicit_rec.LAST_UPDATE_LOGIN;
1125 l_Price_Break_rec.method_type_code := l_implicit_rec.METHOD_TYPE_CODE;
1126 l_Price_Break_rec.percent := l_implicit_rec.PERCENT;
1127 l_Price_Break_rec.price := l_implicit_rec.PRICE;
1128 l_Price_Break_rec.price_break_high := l_implicit_rec.PRICE_BREAK_LINES_HIGH_RANGE;
1129 l_Price_Break_rec.price_break_low := l_implicit_rec.PRICE_BREAK_LINES_LOW_RANGE;
1130 l_Price_Break_rec.program_application_id := l_implicit_rec.PROGRAM_APPLICATION_ID;
1131 l_Price_Break_rec.program_id := l_implicit_rec.PROGRAM_ID;
1132 l_Price_Break_rec.program_update_date := l_implicit_rec.PROGRAM_UPDATE_DATE;
1133 l_Price_Break_rec.request_id := l_implicit_rec.REQUEST_ID;
1134 l_Price_Break_rec.start_date_active := l_implicit_rec.START_DATE_ACTIVE;
1135 l_Price_Break_rec.unit_code := l_implicit_rec.UNIT_CODE;
1136
1137 l_Price_Break_tbl(l_Price_Break_tbl.COUNT + 1) := l_Price_Break_rec;
1138
1139 END LOOP;
1140
1141
1142 -- PK sent and no rows found
1143
1144 IF
1145 (p_discount_line_id IS NOT NULL
1146 AND
1147 p_discount_line_id <> FND_API.G_MISS_NUM)
1148 AND
1149 (p_method_type_code IS NOT NULL
1150 AND
1151 p_method_type_code <> FND_API.G_MISS_CHAR)
1152 AND
1153 (p_price_break_high IS NOT NULL
1154 AND
1155 p_price_break_high <> FND_API.G_MISS_NUM)
1156 AND
1157 (p_price_break_low IS NOT NULL
1158 AND
1159 p_price_break_low <> FND_API.G_MISS_NUM)
1160 AND
1161 (l_Price_Break_tbl.COUNT = 0)
1162 THEN
1163 RAISE NO_DATA_FOUND;
1164 END IF;
1165
1166
1167 -- Return fetched table
1168
1169 RETURN l_Price_Break_tbl;
1170
1171 EXCEPTION
1172
1173 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1174
1175 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1176
1177 WHEN OTHERS THEN
1178
1179 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1180 THEN
1181 OE_MSG_PUB.Add_Exc_Msg
1182 ( G_PKG_NAME
1183 , 'Query_Rows'
1184 );
1185 END IF;
1186
1187 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1188
1189 END Query_Rows;
1190
1191 -- Procedure lock_Row
1192 --
1193
1194 PROCEDURE Lock_Row
1195 ( x_return_status OUT VARCHAR2
1196 , p_Price_Break_rec IN OE_Pricing_Cont_PUB.Price_Break_Rec_Type
1197 , x_Price_Break_rec OUT OE_Pricing_Cont_PUB.Price_Break_Rec_Type
1198 )
1199 IS
1200 l_Price_Break_rec OE_Pricing_Cont_PUB.Price_Break_Rec_Type;
1201 BEGIN
1202
1203 SELECT AMOUNT
1204 , ATTRIBUTE1
1205 , ATTRIBUTE10
1206 , ATTRIBUTE11
1207 , ATTRIBUTE12
1208 , ATTRIBUTE13
1209 , ATTRIBUTE14
1210 , ATTRIBUTE15
1211 , ATTRIBUTE2
1212 , ATTRIBUTE3
1213 , ATTRIBUTE4
1214 , ATTRIBUTE5
1215 , ATTRIBUTE6
1216 , ATTRIBUTE7
1217 , ATTRIBUTE8
1218 , ATTRIBUTE9
1219 , CONTEXT
1220 , CREATED_BY
1221 , CREATION_DATE
1222 , DISCOUNT_LINE_ID
1223 , END_DATE_ACTIVE
1224 , LAST_UPDATED_BY
1225 , LAST_UPDATE_DATE
1226 , LAST_UPDATE_LOGIN
1227 , METHOD_TYPE_CODE
1228 , PERCENT
1229 , PRICE
1230 , PRICE_BREAK_LINES_HIGH_RANGE
1231 , PRICE_BREAK_LINES_LOW_RANGE
1232 , PROGRAM_APPLICATION_ID
1233 , PROGRAM_ID
1234 , PROGRAM_UPDATE_DATE
1235 , REQUEST_ID
1236 , START_DATE_ACTIVE
1237 , UNIT_CODE
1238 INTO l_Price_Break_rec.amount
1239 , l_Price_Break_rec.attribute1
1240 , l_Price_Break_rec.attribute10
1241 , l_Price_Break_rec.attribute11
1242 , l_Price_Break_rec.attribute12
1243 , l_Price_Break_rec.attribute13
1244 , l_Price_Break_rec.attribute14
1245 , l_Price_Break_rec.attribute15
1246 , l_Price_Break_rec.attribute2
1247 , l_Price_Break_rec.attribute3
1248 , l_Price_Break_rec.attribute4
1249 , l_Price_Break_rec.attribute5
1250 , l_Price_Break_rec.attribute6
1251 , l_Price_Break_rec.attribute7
1252 , l_Price_Break_rec.attribute8
1253 , l_Price_Break_rec.attribute9
1254 , l_Price_Break_rec.context
1255 , l_Price_Break_rec.created_by
1256 , l_Price_Break_rec.creation_date
1257 , l_Price_Break_rec.discount_line_id
1258 , l_Price_Break_rec.end_date_active
1259 , l_Price_Break_rec.last_updated_by
1260 , l_Price_Break_rec.last_update_date
1261 , l_Price_Break_rec.last_update_login
1262 , l_Price_Break_rec.method_type_code
1263 , l_Price_Break_rec.percent
1264 , l_Price_Break_rec.price
1265 , l_Price_Break_rec.price_break_high
1266 , l_Price_Break_rec.price_break_low
1267 , l_Price_Break_rec.program_application_id
1268 , l_Price_Break_rec.program_id
1269 , l_Price_Break_rec.program_update_date
1270 , l_Price_Break_rec.request_id
1271 , l_Price_Break_rec.start_date_active
1272 , l_Price_Break_rec.unit_code
1273 FROM OE_PRICE_BREAK_LINES
1274 WHERE DISCOUNT_LINE_ID = p_Price_Break_rec.discount_line_id
1275 AND METHOD_TYPE_CODE = p_Price_Break_rec.method_type_code
1276 AND PRICE_BREAK_LINES_HIGH_RANGE = p_Price_Break_rec.price_break_high
1277 AND PRICE_BREAK_LINES_LOW_RANGE = p_Price_Break_rec.price_break_low
1278 FOR UPDATE NOWAIT;
1279
1280 -- Row locked. Compare IN attributes to DB attributes.
1281
1282 IF ( (l_Price_Break_rec.amount =
1283 p_Price_Break_rec.amount) OR
1284 ((p_Price_Break_rec.amount = FND_API.G_MISS_NUM) OR
1285 ( (l_Price_Break_rec.amount IS NULL) AND
1286 (p_Price_Break_rec.amount IS NULL))))
1287 AND ( (l_Price_Break_rec.attribute1 =
1288 p_Price_Break_rec.attribute1) OR
1289 ((p_Price_Break_rec.attribute1 = FND_API.G_MISS_CHAR) OR
1290 ( (l_Price_Break_rec.attribute1 IS NULL) AND
1291 (p_Price_Break_rec.attribute1 IS NULL))))
1292 AND ( (l_Price_Break_rec.attribute10 =
1293 p_Price_Break_rec.attribute10) OR
1294 ((p_Price_Break_rec.attribute10 = FND_API.G_MISS_CHAR) OR
1295 ( (l_Price_Break_rec.attribute10 IS NULL) AND
1296 (p_Price_Break_rec.attribute10 IS NULL))))
1297 AND ( (l_Price_Break_rec.attribute11 =
1298 p_Price_Break_rec.attribute11) OR
1299 ((p_Price_Break_rec.attribute11 = FND_API.G_MISS_CHAR) OR
1300 ( (l_Price_Break_rec.attribute11 IS NULL) AND
1301 (p_Price_Break_rec.attribute11 IS NULL))))
1302 AND ( (l_Price_Break_rec.attribute12 =
1303 p_Price_Break_rec.attribute12) OR
1304 ((p_Price_Break_rec.attribute12 = FND_API.G_MISS_CHAR) OR
1305 ( (l_Price_Break_rec.attribute12 IS NULL) AND
1306 (p_Price_Break_rec.attribute12 IS NULL))))
1307 AND ( (l_Price_Break_rec.attribute13 =
1308 p_Price_Break_rec.attribute13) OR
1309 ((p_Price_Break_rec.attribute13 = FND_API.G_MISS_CHAR) OR
1310 ( (l_Price_Break_rec.attribute13 IS NULL) AND
1311 (p_Price_Break_rec.attribute13 IS NULL))))
1312 AND ( (l_Price_Break_rec.attribute14 =
1313 p_Price_Break_rec.attribute14) OR
1314 ((p_Price_Break_rec.attribute14 = FND_API.G_MISS_CHAR) OR
1315 ( (l_Price_Break_rec.attribute14 IS NULL) AND
1316 (p_Price_Break_rec.attribute14 IS NULL))))
1317 AND ( (l_Price_Break_rec.attribute15 =
1318 p_Price_Break_rec.attribute15) OR
1319 ((p_Price_Break_rec.attribute15 = FND_API.G_MISS_CHAR) OR
1320 ( (l_Price_Break_rec.attribute15 IS NULL) AND
1321 (p_Price_Break_rec.attribute15 IS NULL))))
1322 AND ( (l_Price_Break_rec.attribute2 =
1323 p_Price_Break_rec.attribute2) OR
1324 ((p_Price_Break_rec.attribute2 = FND_API.G_MISS_CHAR) OR
1325 ( (l_Price_Break_rec.attribute2 IS NULL) AND
1326 (p_Price_Break_rec.attribute2 IS NULL))))
1327 AND ( (l_Price_Break_rec.attribute3 =
1328 p_Price_Break_rec.attribute3) OR
1329 ((p_Price_Break_rec.attribute3 = FND_API.G_MISS_CHAR) OR
1330 ( (l_Price_Break_rec.attribute3 IS NULL) AND
1331 (p_Price_Break_rec.attribute3 IS NULL))))
1332 AND ( (l_Price_Break_rec.attribute4 =
1333 p_Price_Break_rec.attribute4) OR
1334 ((p_Price_Break_rec.attribute4 = FND_API.G_MISS_CHAR) OR
1335 ( (l_Price_Break_rec.attribute4 IS NULL) AND
1336 (p_Price_Break_rec.attribute4 IS NULL))))
1337 AND ( (l_Price_Break_rec.attribute5 =
1338 p_Price_Break_rec.attribute5) OR
1339 ((p_Price_Break_rec.attribute5 = FND_API.G_MISS_CHAR) OR
1340 ( (l_Price_Break_rec.attribute5 IS NULL) AND
1341 (p_Price_Break_rec.attribute5 IS NULL))))
1342 AND ( (l_Price_Break_rec.attribute6 =
1343 p_Price_Break_rec.attribute6) OR
1344 ((p_Price_Break_rec.attribute6 = FND_API.G_MISS_CHAR) OR
1345 ( (l_Price_Break_rec.attribute6 IS NULL) AND
1346 (p_Price_Break_rec.attribute6 IS NULL))))
1347 AND ( (l_Price_Break_rec.attribute7 =
1348 p_Price_Break_rec.attribute7) OR
1349 ((p_Price_Break_rec.attribute7 = FND_API.G_MISS_CHAR) OR
1350 ( (l_Price_Break_rec.attribute7 IS NULL) AND
1351 (p_Price_Break_rec.attribute7 IS NULL))))
1352 AND ( (l_Price_Break_rec.attribute8 =
1353 p_Price_Break_rec.attribute8) OR
1354 ((p_Price_Break_rec.attribute8 = FND_API.G_MISS_CHAR) OR
1355 ( (l_Price_Break_rec.attribute8 IS NULL) AND
1356 (p_Price_Break_rec.attribute8 IS NULL))))
1357 AND ( (l_Price_Break_rec.attribute9 =
1358 p_Price_Break_rec.attribute9) OR
1359 ((p_Price_Break_rec.attribute9 = FND_API.G_MISS_CHAR) OR
1360 ( (l_Price_Break_rec.attribute9 IS NULL) AND
1361 (p_Price_Break_rec.attribute9 IS NULL))))
1362 AND ( (l_Price_Break_rec.context =
1363 p_Price_Break_rec.context) OR
1364 ((p_Price_Break_rec.context = FND_API.G_MISS_CHAR) OR
1365 ( (l_Price_Break_rec.context IS NULL) AND
1366 (p_Price_Break_rec.context IS NULL))))
1367 AND ( (l_Price_Break_rec.created_by =
1368 p_Price_Break_rec.created_by) OR
1369 ((p_Price_Break_rec.created_by = FND_API.G_MISS_NUM) OR
1370 ( (l_Price_Break_rec.created_by IS NULL) AND
1371 (p_Price_Break_rec.created_by IS NULL))))
1372 AND ( (l_Price_Break_rec.creation_date =
1373 p_Price_Break_rec.creation_date) OR
1374 ((p_Price_Break_rec.creation_date = FND_API.G_MISS_DATE) OR
1375 ( (l_Price_Break_rec.creation_date IS NULL) AND
1376 (p_Price_Break_rec.creation_date IS NULL))))
1377 AND ( (l_Price_Break_rec.discount_line_id =
1378 p_Price_Break_rec.discount_line_id) OR
1379 ((p_Price_Break_rec.discount_line_id = FND_API.G_MISS_NUM) OR
1380 ( (l_Price_Break_rec.discount_line_id IS NULL) AND
1381 (p_Price_Break_rec.discount_line_id IS NULL))))
1382 AND ( (l_Price_Break_rec.end_date_active =
1383 p_Price_Break_rec.end_date_active) OR
1384 ((p_Price_Break_rec.end_date_active = FND_API.G_MISS_DATE) OR
1385 ( (l_Price_Break_rec.end_date_active IS NULL) AND
1386 (p_Price_Break_rec.end_date_active IS NULL))))
1387 AND ( (l_Price_Break_rec.last_updated_by =
1388 p_Price_Break_rec.last_updated_by) OR
1389 ((p_Price_Break_rec.last_updated_by = FND_API.G_MISS_NUM) OR
1390 ( (l_Price_Break_rec.last_updated_by IS NULL) AND
1391 (p_Price_Break_rec.last_updated_by IS NULL))))
1392 AND ( (l_Price_Break_rec.last_update_date =
1393 p_Price_Break_rec.last_update_date) OR
1394 ((p_Price_Break_rec.last_update_date = FND_API.G_MISS_DATE) OR
1395 ( (l_Price_Break_rec.last_update_date IS NULL) AND
1396 (p_Price_Break_rec.last_update_date IS NULL))))
1397 AND ( (l_Price_Break_rec.last_update_login =
1398 p_Price_Break_rec.last_update_login) OR
1399 ((p_Price_Break_rec.last_update_login = FND_API.G_MISS_NUM) OR
1400 ( (l_Price_Break_rec.last_update_login IS NULL) AND
1401 (p_Price_Break_rec.last_update_login IS NULL))))
1402 AND ( (l_Price_Break_rec.method_type_code =
1403 p_Price_Break_rec.method_type_code) OR
1404 ((p_Price_Break_rec.method_type_code = FND_API.G_MISS_CHAR) OR
1405 ( (l_Price_Break_rec.method_type_code IS NULL) AND
1406 (p_Price_Break_rec.method_type_code IS NULL))))
1407 AND ( (l_Price_Break_rec.percent =
1408 p_Price_Break_rec.percent) OR
1409 ((p_Price_Break_rec.percent = FND_API.G_MISS_NUM) OR
1410 ( (l_Price_Break_rec.percent IS NULL) AND
1411 (p_Price_Break_rec.percent IS NULL))))
1412 AND ( (l_Price_Break_rec.price =
1413 p_Price_Break_rec.price) OR
1414 ((p_Price_Break_rec.price = FND_API.G_MISS_NUM) OR
1415 ( (l_Price_Break_rec.price IS NULL) AND
1416 (p_Price_Break_rec.price IS NULL))))
1417 AND ( (l_Price_Break_rec.price_break_high =
1418 p_Price_Break_rec.price_break_high) OR
1419 ((p_Price_Break_rec.price_break_high = FND_API.G_MISS_NUM) OR
1420 ( (l_Price_Break_rec.price_break_high IS NULL) AND
1421 (p_Price_Break_rec.price_break_high IS NULL))))
1422 AND ( (l_Price_Break_rec.price_break_low =
1423 p_Price_Break_rec.price_break_low) OR
1424 ((p_Price_Break_rec.price_break_low = FND_API.G_MISS_NUM) OR
1425 ( (l_Price_Break_rec.price_break_low IS NULL) AND
1426 (p_Price_Break_rec.price_break_low IS NULL))))
1427 AND ( (l_Price_Break_rec.program_application_id =
1428 p_Price_Break_rec.program_application_id) OR
1429 ((p_Price_Break_rec.program_application_id = FND_API.G_MISS_NUM) OR
1430 ( (l_Price_Break_rec.program_application_id IS NULL) AND
1431 (p_Price_Break_rec.program_application_id IS NULL))))
1432 AND ( (l_Price_Break_rec.program_id =
1433 p_Price_Break_rec.program_id) OR
1434 ((p_Price_Break_rec.program_id = FND_API.G_MISS_NUM) OR
1435 ( (l_Price_Break_rec.program_id IS NULL) AND
1436 (p_Price_Break_rec.program_id IS NULL))))
1437 AND ( (l_Price_Break_rec.program_update_date =
1438 p_Price_Break_rec.program_update_date) OR
1439 ((p_Price_Break_rec.program_update_date = FND_API.G_MISS_DATE) OR
1440 ( (l_Price_Break_rec.program_update_date IS NULL) AND
1441 (p_Price_Break_rec.program_update_date IS NULL))))
1442 AND ( (l_Price_Break_rec.request_id =
1443 p_Price_Break_rec.request_id) OR
1444 ((p_Price_Break_rec.request_id = FND_API.G_MISS_NUM) OR
1445 ( (l_Price_Break_rec.request_id IS NULL) AND
1446 (p_Price_Break_rec.request_id IS NULL))))
1447 AND ( (l_Price_Break_rec.start_date_active =
1448 p_Price_Break_rec.start_date_active) OR
1449 ((p_Price_Break_rec.start_date_active = FND_API.G_MISS_DATE) OR
1450 ( (l_Price_Break_rec.start_date_active IS NULL) AND
1451 (p_Price_Break_rec.start_date_active IS NULL))))
1452 AND ( (l_Price_Break_rec.unit_code =
1453 p_Price_Break_rec.unit_code) OR
1454 ((p_Price_Break_rec.unit_code = FND_API.G_MISS_CHAR) OR
1455 ( (l_Price_Break_rec.unit_code IS NULL) AND
1456 (p_Price_Break_rec.unit_code IS NULL))))
1457 THEN
1458
1459 -- Row has not changed. Set out parameter.
1460
1461 x_Price_Break_rec := l_Price_Break_rec;
1462
1463 -- Set return status
1464
1465 x_return_status := FND_API.G_RET_STS_SUCCESS;
1466 x_Price_Break_rec.return_status := FND_API.G_RET_STS_SUCCESS;
1467
1468 ELSE
1469
1470 -- Row has changed by another user.
1471
1472 x_return_status := FND_API.G_RET_STS_ERROR;
1473 x_Price_Break_rec.return_status := FND_API.G_RET_STS_ERROR;
1474
1475 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
1476 THEN
1477
1478 FND_MESSAGE.SET_NAME('OE','OE_LOCK_ROW_CHANGED');
1479 OE_MSG_PUB.Add;
1480
1481 END IF;
1482
1483 END IF;
1484
1485 EXCEPTION
1486
1487 WHEN NO_DATA_FOUND THEN
1488
1489 x_return_status := FND_API.G_RET_STS_ERROR;
1490 x_Price_Break_rec.return_status := FND_API.G_RET_STS_ERROR;
1491
1492 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
1493 THEN
1494
1495 FND_MESSAGE.SET_NAME('OE','OE_LOCK_ROW_DELETED');
1496 OE_MSG_PUB.Add;
1497
1498 END IF;
1499 WHEN APP_EXCEPTIONS.RECORD_LOCK_EXCEPTION THEN
1500
1501 x_return_status := FND_API.G_RET_STS_ERROR;
1502 x_Price_Break_rec.return_status := FND_API.G_RET_STS_ERROR;
1503
1504 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_ERROR)
1505 THEN
1506
1507 FND_MESSAGE.SET_NAME('OE','OE_LOCK_ROW_ALREADY_LOCKED');
1508 OE_MSG_PUB.Add;
1509
1510 END IF;
1511 WHEN OTHERS THEN
1512
1513 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1514 x_Price_Break_rec.return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1515
1516 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1517 THEN
1518 OE_MSG_PUB.Add_Exc_Msg
1519 ( G_PKG_NAME
1520 , 'Lock_Row'
1521 );
1522 END IF;
1523
1524 END Lock_Row;
1525
1526 -- Function Get_Values
1527
1528 FUNCTION Get_Values
1529 ( p_Price_Break_rec IN OE_Pricing_Cont_PUB.Price_Break_Rec_Type
1530 , p_old_Price_Break_rec IN OE_Pricing_Cont_PUB.Price_Break_Rec_Type :=
1531 OE_Pricing_Cont_PUB.G_MISS_PRICE_BREAK_REC
1532 ) RETURN OE_Pricing_Cont_PUB.Price_Break_Val_Rec_Type
1533 IS
1534 l_Price_Break_val_rec OE_Pricing_Cont_PUB.Price_Break_Val_Rec_Type;
1535 BEGIN
1536 /*
1537 IF p_Price_Break_rec.discount_line_id IS NOT NULL AND
1538 p_Price_Break_rec.discount_line_id <> FND_API.G_MISS_NUM AND
1539 NOT OE_GLOBALS.Equal(p_Price_Break_rec.discount_line_id,
1540 p_old_Price_Break_rec.discount_line_id)
1541 THEN
1542 l_Price_Break_val_rec.discount_line := OE_Id_To_Value.Discount_Line
1543 ( p_discount_line_id => p_Price_Break_rec.discount_line_id
1544 );
1545 END IF;
1546 */
1547 IF p_Price_Break_rec.method_type_code IS NOT NULL AND
1548 p_Price_Break_rec.method_type_code <> FND_API.G_MISS_CHAR AND
1549 NOT OE_GLOBALS.Equal(p_Price_Break_rec.method_type_code,
1550 p_old_Price_Break_rec.method_type_code)
1551 THEN
1552 l_Price_Break_val_rec.method_type := OE_Id_To_Value.Method_Type
1553 ( p_method_type_code => p_Price_Break_rec.method_type_code
1554 );
1555 END IF;
1556
1557 IF p_Price_Break_rec.unit_code IS NOT NULL AND
1558 p_Price_Break_rec.unit_code <> FND_API.G_MISS_CHAR AND
1559 NOT OE_GLOBALS.Equal(p_Price_Break_rec.unit_code,
1560 p_old_Price_Break_rec.unit_code)
1561 THEN
1562 l_Price_Break_val_rec.unit := OE_Id_To_Value.Unit
1563 ( p_unit_code => p_Price_Break_rec.unit_code
1564 );
1565 END IF;
1566
1567 RETURN l_Price_Break_val_rec;
1568
1569 END Get_Values;
1570
1571 -- Function Get_Ids
1572
1573 FUNCTION Get_Ids
1574 ( p_Price_Break_rec IN OE_Pricing_Cont_PUB.Price_Break_Rec_Type
1575 , p_Price_Break_val_rec IN OE_Pricing_Cont_PUB.Price_Break_Val_Rec_Type
1576 ) RETURN OE_Pricing_Cont_PUB.Price_Break_Rec_Type
1577 IS
1578 l_Price_Break_rec OE_Pricing_Cont_PUB.Price_Break_Rec_Type;
1579 BEGIN
1580
1581 -- initialize return_status.
1582
1583 l_Price_Break_rec.return_status := FND_API.G_RET_STS_SUCCESS;
1584
1585 -- initialize l_Price_Break_rec.
1586
1587 l_Price_Break_rec := p_Price_Break_rec;
1588 /*
1589 IF p_Price_Break_val_rec.discount_line <> FND_API.G_MISS_CHAR
1590 THEN
1591
1592 IF p_Price_Break_rec.discount_line_id <> FND_API.G_MISS_NUM THEN
1593
1594 l_Price_Break_rec.discount_line_id := p_Price_Break_rec.discount_line_id;
1595
1596 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
1597 THEN
1598
1599 FND_MESSAGE.SET_NAME('OE','FND_BOTH_VAL_AND_ID_EXIST');
1600 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','discount_line');
1601 OE_MSG_PUB.Add;
1602
1603 END IF;
1604
1605 ELSE
1606
1607 l_Price_Break_rec.discount_line_id := OE_Value_To_Id.discount_line
1608 ( p_discount_line => p_Price_Break_val_rec.discount_line
1609 );
1610
1611 IF l_Price_Break_rec.discount_line_id = FND_API.G_MISS_NUM THEN
1612 l_Price_Break_rec.return_status := FND_API.G_RET_STS_ERROR;
1613 END IF;
1614
1615 END IF;
1616
1617 END IF;
1618 */
1619 IF p_Price_Break_val_rec.method_type <> FND_API.G_MISS_CHAR
1620 THEN
1621
1622 IF p_Price_Break_rec.method_type_code <> FND_API.G_MISS_CHAR THEN
1623
1624 l_Price_Break_rec.method_type_code := p_Price_Break_rec.method_type_code;
1625
1626 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
1627 THEN
1628
1629 FND_MESSAGE.SET_NAME('OE','FND_BOTH_VAL_AND_ID_EXIST');
1630 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','method_type');
1631 OE_MSG_PUB.Add;
1632
1633 END IF;
1634
1635 ELSE
1636
1637 l_Price_Break_rec.method_type_code := OE_Value_To_Id.method_type
1638 ( p_method_type => p_Price_Break_val_rec.method_type
1639 );
1640
1641 IF l_Price_Break_rec.method_type_code = FND_API.G_MISS_CHAR THEN
1642 l_Price_Break_rec.return_status := FND_API.G_RET_STS_ERROR;
1643 END IF;
1644
1645 END IF;
1646
1647 END IF;
1648
1649 IF p_Price_Break_val_rec.unit <> FND_API.G_MISS_CHAR
1650 THEN
1651
1652 IF p_Price_Break_rec.unit_code <> FND_API.G_MISS_CHAR THEN
1653
1654 l_Price_Break_rec.unit_code := p_Price_Break_rec.unit_code;
1655
1656 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
1657 THEN
1658
1659 FND_MESSAGE.SET_NAME('OE','FND_BOTH_VAL_AND_ID_EXIST');
1660 FND_MESSAGE.SET_TOKEN('ATTRIBUTE','unit');
1661 OE_MSG_PUB.Add;
1662
1663 END IF;
1664
1665 ELSE
1666
1667 l_Price_Break_rec.unit_code := OE_Value_To_Id.unit
1668 ( p_unit => p_Price_Break_val_rec.unit
1669 );
1670
1671 IF l_Price_Break_rec.unit_code = FND_API.G_MISS_CHAR THEN
1672 l_Price_Break_rec.return_status := FND_API.G_RET_STS_ERROR;
1673 END IF;
1674
1675 END IF;
1676
1677 END IF;
1678
1679
1680 RETURN l_Price_Break_rec;
1681
1682 END Get_Ids;
1683
1684 END OE_Price_Break_Util;