DBA Data[Home] [Help]

PACKAGE BODY: APPS.QP_DEFAULT_PRICE_LIST_LINE

Source


1 PACKAGE BODY QP_Default_Price_List_Line AS
2 /* $Header: QPXDPLLB.pls 120.3 2005/11/21 13:29:37 shulin ship $ */
3 
4 --  Global constant holding the package name
5 
6 G_PKG_NAME                    CONSTANT VARCHAR2(30) := 'QP_Default_Price_List_Line';
7 
8 --  Package global used within the package.
9 
10 g_PRICE_LIST_LINE_rec         QP_Price_List_PUB.Price_List_Line_Rec_Type;
11 
12 --  Get functions.
13 
14 FUNCTION Get_Accrual_Qty
15 RETURN NUMBER
16 IS
17 BEGIN
18 
19     RETURN NULL;
20 
21 END Get_Accrual_Qty;
22 
23 FUNCTION Get_Qualification_Ind
24 RETURN NUMBER
25 IS
26 BEGIN
27 
28     RETURN NULL;
29 
30 END Get_Qualification_Ind;
31 
32 FUNCTION Get_Accrual_Uom
33 RETURN VARCHAR2
34 IS
35 BEGIN
36 
37     RETURN NULL;
38 
39 END Get_Accrual_Uom;
40 
41 FUNCTION Get_Arithmetic_Operator
42 RETURN VARCHAR2
43 IS
44 BEGIN
45 
46     RETURN 'UNIT_PRICE';
47 
48 END Get_Arithmetic_Operator;
49 
50 FUNCTION Get_Automatic
51 RETURN VARCHAR2
52 IS
53 BEGIN
54 
55     RETURN 'Y';
56 
57 END Get_Automatic;
58 
59 FUNCTION Get_Base_Qty
60 RETURN NUMBER
61 IS
62 BEGIN
63 
64     RETURN NULL;
65 
66 END Get_Base_Qty;
67 
68 FUNCTION Get_Base_Uom
69 RETURN VARCHAR2
70 IS
71 BEGIN
72 
73     RETURN NULL;
74 
75 END Get_Base_Uom;
76 
77 FUNCTION Get_Comments
78 RETURN VARCHAR2
79 IS
80 BEGIN
81 
82     RETURN NULL;
83 
84 END Get_Comments;
85 
86 FUNCTION Get_Effective_Period_Uom
87 RETURN VARCHAR2
88 IS
89 BEGIN
90 
91     RETURN NULL;
92 
93 END Get_Effective_Period_Uom;
94 
95 FUNCTION Get_End_Date_Active
96 RETURN DATE
97 IS
98 l_end_date date;
99 BEGIN
100 
101     RETURN NULL;
102 
103 END Get_End_Date_Active;
104 
105 FUNCTION Get_Estim_Accrual_Rate
106 RETURN NUMBER
107 IS
108 BEGIN
109 
110     RETURN NULL;
111 
112 END Get_Estim_Accrual_Rate;
113 
114 FUNCTION Get_Generate_Using_Formula
115 RETURN NUMBER
116 IS
117 BEGIN
118 
119     RETURN NULL;
120 
121 END Get_Generate_Using_Formula;
122 
123 FUNCTION Get_Inventory_Item
124 RETURN NUMBER
125 IS
126 BEGIN
127 
128     RETURN NULL;
129 
130 END Get_Inventory_Item;
131 
132 FUNCTION Get_List_Header
133 RETURN NUMBER
134 IS
135 BEGIN
136 
137     RETURN NULL;
138 
139 END Get_List_Header;
140 
141 FUNCTION Get_List_Line_No(a_list_line_no IN VARCHAR2) -- 4751658, 4199398
142 RETURN VARCHAR2
143 IS
144 BEGIN
145 
146   RETURN a_list_line_no;
147 
148 END Get_List_Line_No;
149 
150 FUNCTION Get_List_Line
151 RETURN NUMBER
152 IS
153 l_list_line_id number;
154 BEGIN
155 
156    select qp_list_lines_s.nextval
157    into l_list_line_id
158    from dual;
159 
160    return l_list_line_id;
161 
162 EXCEPTION
163 
164    WHEN OTHERS THEN RETURN NULL;
165 
166 END Get_List_Line;
167 
168 FUNCTION Get_List_Line_Type
169 RETURN VARCHAR2
170 IS
171 BEGIN
172 
173     RETURN 'PLL';
174 
175 END Get_List_Line_Type;
176 
177 FUNCTION Get_List_Price
178 RETURN NUMBER
179 IS
180 BEGIN
181 
182     RETURN NULL;
183 
184 END Get_List_Price;
185 
186 FUNCTION Get_From_Rltd_Modifier_Id
187 RETURN NUMBER
188 IS
189 BEGIN
190 
191     RETURN NULL;
192 
193 END Get_From_Rltd_Modifier_Id;
194 
195 FUNCTION Get_Rltd_Modifier_Group_No
196 RETURN NUMBER
197 IS
198 l_rltd_modifier_grp_no number := NULL;
199 BEGIN
200 
201     SELECT qp_rltd_modifier_grp_no_s.nextval
202     into l_rltd_modifier_grp_no
203     from dual;
204 
205     return l_rltd_modifier_grp_no;
206 
207 EXCEPTION
208 
209     WHEN OTHERS THEN RETURN NULL;
210 
211 END Get_Rltd_Modifier_Group_No;
212 
213 FUNCTION Get_Product_Precedence
214 RETURN NUMBER
215 IS
216 l_prod_precedence number := NULL;
217 BEGIN
218 
219   IF    ( ( g_PRICE_LIST_LINE_rec.from_rltd_modifier_id is not null )
220       and ( g_PRICE_LIST_LINE_rec.from_rltd_modifier_id <> FND_API.G_MISS_NUM ) )
221   THEN
222 
223 	 select product_precedence
224 	 into l_prod_precedence
225 	 from qp_list_lines
226 	 where list_line_id = g_PRICE_LIST_LINE_rec.from_rltd_modifier_id;
227 
228   END IF;
229 
230   return l_prod_precedence;
231 
232  EXCEPTION
233 
234    WHEN OTHERS THEN RETURN NULL;
235 
236 
237 END Get_Product_Precedence;
238 
239 FUNCTION Get_Modifier_Level
240 RETURN VARCHAR2
241 IS
242 BEGIN
243 
244     RETURN 'LINE';
245 
246 END Get_Modifier_Level;
247 
248 FUNCTION Get_Number_Effective_Periods
249 RETURN NUMBER
250 IS
251 BEGIN
252 
253     RETURN NULL;
254 
255 END Get_Number_Effective_Periods;
256 
257 FUNCTION Get_Operand
258 RETURN NUMBER
259 IS
260 BEGIN
261 
262     RETURN NULL;
263 
264 END Get_Operand;
265 
266 FUNCTION Get_Organization
267 RETURN NUMBER
268 IS
269 BEGIN
270 
271     RETURN NULL;
272 
273 END Get_Organization;
274 
275 FUNCTION Get_Override
276 RETURN VARCHAR2
277 IS
278 BEGIN
279 
280     RETURN NULL;
281 
282 END Get_Override;
283 
284 FUNCTION Get_Percent_Price
285 RETURN NUMBER
286 IS
287 BEGIN
288 
289     RETURN NULL;
290 
291 END Get_Percent_Price;
292 
293 FUNCTION Get_Price_Break_Type
294 RETURN VARCHAR2
295 IS
296 l_price_break_type varchar2(30) := NULL;
297 BEGIN
298 
299   select price_break_type_code
300   into l_price_break_type
301   from qp_list_lines
302   where list_line_id = g_price_list_line_rec.from_rltd_modifier_id
303   and rownum < 2;
304 
305   return l_price_break_type;
306 
307 exception
308 
309    when others then return null;
310 
311 END Get_Price_Break_Type;
312 
313 FUNCTION Get_Price_By_Formula
314 RETURN NUMBER
315 IS
316 BEGIN
317 
318     RETURN NULL;
319 
320 END Get_Price_By_Formula;
321 
322 FUNCTION Get_Primary_Uom
323 RETURN VARCHAR2
324 IS
325 BEGIN
326 
327     RETURN NULL;
328 
329 END Get_Primary_Uom;
330 
331 FUNCTION Get_Print_On_Invoice
332 RETURN VARCHAR2
333 IS
334 BEGIN
335 
336     RETURN NULL;
337 
338 END Get_Print_On_Invoice;
339 
340 FUNCTION Get_Rebate_Transaction_Type
341 RETURN VARCHAR2
342 IS
343 BEGIN
344 
345     RETURN NULL;
346 
347 END Get_Rebate_Transaction_Type;
348 
349 -- block pricing
350 FUNCTION Get_Recurring_Value
351 RETURN NUMBER
352 IS
353 BEGIN
354   RETURN NULL;
355 END Get_Recurring_Value;
356 
357 FUNCTION Get_Related_Item
358 RETURN NUMBER
359 IS
360 BEGIN
361 
362     RETURN NULL;
363 
364 END Get_Related_Item;
365 
366 FUNCTION Get_Relationship_Type
367 RETURN NUMBER
368 IS
369 BEGIN
370 
371     RETURN NULL;
372 
373 END Get_Relationship_Type;
374 
375 FUNCTION Get_Reprice
376 RETURN VARCHAR2
377 IS
378 BEGIN
379 
380     RETURN NULL;
381 
382 END Get_Reprice;
383 
384 FUNCTION Get_Revision
385 RETURN VARCHAR2
386 IS
387 BEGIN
388 
389     RETURN NULL;
390 
391 END Get_Revision;
392 
393 FUNCTION Get_Revision_Date
394 RETURN DATE
395 IS
396 BEGIN
397 
398     RETURN SYSDATE;
399 
400 END Get_Revision_Date;
401 
402 FUNCTION Get_Revision_Reason
403 RETURN VARCHAR2
404 IS
405 BEGIN
406 
407     RETURN NULL;
408 
409 END Get_Revision_Reason;
410 
411 FUNCTION Get_Start_Date_Active
412 RETURN DATE
413 IS
414 l_start_date date;
415 BEGIN
416 
417     select start_date_active
418     into l_start_date
419     from qp_list_headers_b
420     where list_header_id = g_PRICE_LIST_LINE_rec.list_header_id;
421 
422     return l_start_date;
423 
424 EXCEPTION
425 
426     WHEN OTHERS THEN RETURN NULL;
427 
428 END Get_Start_Date_Active;
429 
430 FUNCTION Get_Substitution_Attribute
431 RETURN VARCHAR2
432 IS
433 BEGIN
434 
435     RETURN NULL;
436 
437 END Get_Substitution_Attribute;
438 
439 FUNCTION Get_Substitution_Context
440 RETURN VARCHAR2
441 IS
442 BEGIN
443 
444     RETURN NULL;
445 
446 END Get_Substitution_Context;
447 
448 FUNCTION Get_Substitution_Value
449 RETURN VARCHAR2
450 IS
451 BEGIN
452 
453     RETURN NULL;
454 
455 END Get_Substitution_Value;
456 
457 -- Blanket Pricing
458 FUNCTION Get_Customer_Item_Id
459 RETURN VARCHAR2
460 IS BEGIN
461 
462     RETURN NULL;
463 
464 END Get_Customer_Item_Id;
465 
466 -- Break Uom Proration
467 FUNCTION Get_Break_Uom_Code
468 RETURN VARCHAR2
469 IS BEGIN
470 
471     RETURN NULL;
472 
473 END Get_Break_Uom_Code;
474 
475 -- Break Uom Proration
476 FUNCTION Get_Break_Uom_Context
477 RETURN VARCHAR2
478 IS BEGIN
479 
480     RETURN NULL;
481 
482 END Get_Break_Uom_Context;
483 
484 -- Break Uom Proration
485 FUNCTION Get_Break_Uom_Attribute
486 RETURN VARCHAR2
487 IS BEGIN
488 
489     RETURN NULL;
490 
491 END Get_Break_Uom_Attribute;
492 
493 PROCEDURE Get_Flex_Price_List_Line
494 IS
495 BEGIN
496 
497     --  In the future call Flex APIs for defaults
498 
499     IF g_PRICE_LIST_LINE_rec.attribute1 = FND_API.G_MISS_CHAR THEN
500         g_PRICE_LIST_LINE_rec.attribute1 := NULL;
501     END IF;
502 
503     IF g_PRICE_LIST_LINE_rec.attribute10 = FND_API.G_MISS_CHAR THEN
504         g_PRICE_LIST_LINE_rec.attribute10 := NULL;
505     END IF;
506 
507     IF g_PRICE_LIST_LINE_rec.attribute11 = FND_API.G_MISS_CHAR THEN
508         g_PRICE_LIST_LINE_rec.attribute11 := NULL;
509     END IF;
510 
511     IF g_PRICE_LIST_LINE_rec.attribute12 = FND_API.G_MISS_CHAR THEN
512         g_PRICE_LIST_LINE_rec.attribute12 := NULL;
513     END IF;
514 
515     IF g_PRICE_LIST_LINE_rec.attribute13 = FND_API.G_MISS_CHAR THEN
516         g_PRICE_LIST_LINE_rec.attribute13 := NULL;
517     END IF;
518 
519     IF g_PRICE_LIST_LINE_rec.attribute14 = FND_API.G_MISS_CHAR THEN
520         g_PRICE_LIST_LINE_rec.attribute14 := NULL;
521     END IF;
522 
523     IF g_PRICE_LIST_LINE_rec.attribute15 = FND_API.G_MISS_CHAR THEN
524         g_PRICE_LIST_LINE_rec.attribute15 := NULL;
525     END IF;
526 
527     IF g_PRICE_LIST_LINE_rec.attribute2 = FND_API.G_MISS_CHAR THEN
528         g_PRICE_LIST_LINE_rec.attribute2 := NULL;
529     END IF;
530 
531     IF g_PRICE_LIST_LINE_rec.attribute3 = FND_API.G_MISS_CHAR THEN
532         g_PRICE_LIST_LINE_rec.attribute3 := NULL;
533     END IF;
534 
535     IF g_PRICE_LIST_LINE_rec.attribute4 = FND_API.G_MISS_CHAR THEN
536         g_PRICE_LIST_LINE_rec.attribute4 := NULL;
537     END IF;
538 
539     IF g_PRICE_LIST_LINE_rec.attribute5 = FND_API.G_MISS_CHAR THEN
540         g_PRICE_LIST_LINE_rec.attribute5 := NULL;
541     END IF;
542 
543     IF g_PRICE_LIST_LINE_rec.attribute6 = FND_API.G_MISS_CHAR THEN
544         g_PRICE_LIST_LINE_rec.attribute6 := NULL;
545     END IF;
546 
547     IF g_PRICE_LIST_LINE_rec.attribute7 = FND_API.G_MISS_CHAR THEN
548         g_PRICE_LIST_LINE_rec.attribute7 := NULL;
549     END IF;
550 
551     IF g_PRICE_LIST_LINE_rec.attribute8 = FND_API.G_MISS_CHAR THEN
555     IF g_PRICE_LIST_LINE_rec.attribute9 = FND_API.G_MISS_CHAR THEN
552         g_PRICE_LIST_LINE_rec.attribute8 := NULL;
553     END IF;
554 
556         g_PRICE_LIST_LINE_rec.attribute9 := NULL;
557     END IF;
558 
559     IF g_PRICE_LIST_LINE_rec.context = FND_API.G_MISS_CHAR THEN
560         g_PRICE_LIST_LINE_rec.context  := NULL;
561     END IF;
562 
563 END Get_Flex_Price_List_Line;
564 
565 --  Procedure Attributes
566 
567 PROCEDURE Attributes
568 (   p_PRICE_LIST_LINE_rec           IN  QP_Price_List_PUB.Price_List_Line_Rec_Type :=
569                                         QP_Price_List_PUB.G_MISS_PRICE_LIST_LINE_REC
570 ,   p_iteration                     IN  NUMBER := 1
571 ,   x_PRICE_LIST_LINE_rec           OUT NOCOPY /* file.sql.39 change */ QP_Price_List_PUB.Price_List_Line_Rec_Type
572 )
573 IS
574  g_p_PRICE_LIST_LINE_rec        QP_Price_List_PUB.Price_List_Line_Rec_Type;
575 BEGIN
576 
577     oe_debug_pub.add('entering attributes');
578 
579     --  Check number of iterations.
580 
581     IF p_iteration > QP_GLOBALS.G_MAX_DEF_ITERATIONS THEN
582 
583         IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_ERROR)
584         THEN
585 
586             FND_MESSAGE.SET_NAME('QP','OE_DEF_MAX_ITERATION');
587             oe_msg_pub.Add;
588 
589         END IF;
590 
591         RAISE FND_API.G_EXC_ERROR;
592 
593     END IF;
594 
595     --  Initialize g_PRICE_LIST_LINE_rec
596 
597     g_PRICE_LIST_LINE_rec := p_PRICE_LIST_LINE_rec;
598 
599     --  Default missing attributes.
600 
601     IF g_PRICE_LIST_LINE_rec.accrual_qty = FND_API.G_MISS_NUM THEN
602 
603         g_PRICE_LIST_LINE_rec.accrual_qty := Get_Accrual_Qty;
604 
605 	   oe_debug_pub.add('get_accrual_qty');
606 
607 	   /*
608 
609         IF g_PRICE_LIST_LINE_rec.accrual_qty IS NOT NULL THEN
610 
611 	    oe_debug_pub.add('accrual qty');
612 
613             IF QP_Validate.Accrual_Qty(g_PRICE_LIST_LINE_rec.accrual_qty)
614             THEN
615                 QP_Price_List_Line_Util.Clear_Dependent_Attr
616                 (   p_attr_id                     => QP_Price_List_Line_Util.G_ACCRUAL_QTY
617                 ,   p_PRICE_LIST_LINE_rec         => g_PRICE_LIST_LINE_rec
618                 ,   x_PRICE_LIST_LINE_rec         => g_PRICE_LIST_LINE_rec
619                 );
620             ELSE
621                 g_PRICE_LIST_LINE_rec.accrual_qty := NULL;
622             END IF;
623 
624         END IF;
625 
626 	   */
627 
628     END IF;
629 
630 
631     IF g_PRICE_LIST_LINE_rec.accrual_uom_code = FND_API.G_MISS_CHAR THEN
632 
633         g_PRICE_LIST_LINE_rec.accrual_uom_code := Get_Accrual_Uom;
634 
635 	    oe_debug_pub.add('get_accrual_uom');
636 
637        /*
638 
639         IF g_PRICE_LIST_LINE_rec.accrual_uom_code IS NOT NULL THEN
640 
641             IF QP_Validate.Accrual_Uom(g_PRICE_LIST_LINE_rec.accrual_uom_code)
642             THEN
643                 QP_Price_List_Line_Util.Clear_Dependent_Attr
644                 (   p_attr_id                     => QP_Price_List_Line_Util.G_ACCRUAL_UOM
645                 ,   p_PRICE_LIST_LINE_rec         => g_PRICE_LIST_LINE_rec
646                 ,   x_PRICE_LIST_LINE_rec         => g_PRICE_LIST_LINE_rec
647                 );
648             ELSE
649                 g_PRICE_LIST_LINE_rec.accrual_uom_code := NULL;
650             END IF;
651 
652         END IF;
653 
654        */
655 
656     END IF;
657 
658 
659     IF g_PRICE_LIST_LINE_rec.arithmetic_operator = FND_API.G_MISS_CHAR THEN
660 
661         g_PRICE_LIST_LINE_rec.arithmetic_operator := Get_Arithmetic_Operator;
662 
663 	   oe_debug_pub.add('get arithmetic operator');
664 
665         IF g_PRICE_LIST_LINE_rec.arithmetic_operator IS NOT NULL THEN
666 
667             IF QP_Validate.Arithmetic_Operator(g_PRICE_LIST_LINE_rec.arithmetic_operator)
668             THEN
669                 g_p_PRICE_LIST_LINE_rec := g_PRICE_LIST_LINE_rec;
670                 QP_Price_List_Line_Util.Clear_Dependent_Attr
671                 (   p_attr_id                     => QP_Price_List_Line_Util.G_ARITHMETIC_OPERATOR
672                 ,   p_PRICE_LIST_LINE_rec         => g_p_PRICE_LIST_LINE_rec
673                 ,   x_PRICE_LIST_LINE_rec         => g_PRICE_LIST_LINE_rec
674                 );
675             ELSE
676                 g_PRICE_LIST_LINE_rec.arithmetic_operator := NULL;
677             END IF;
678 
679         END IF;
680 
681     END IF;
682 
683     IF g_PRICE_LIST_LINE_rec.automatic_flag = FND_API.G_MISS_CHAR THEN
684 
685         g_PRICE_LIST_LINE_rec.automatic_flag := Get_Automatic;
686 
687 	    oe_debug_pub.add('get automatic');
688 
689         IF g_PRICE_LIST_LINE_rec.automatic_flag IS NOT NULL THEN
690 
691             IF QP_Validate.Automatic(g_PRICE_LIST_LINE_rec.automatic_flag)
692             THEN
693                 g_p_PRICE_LIST_LINE_rec := g_PRICE_LIST_LINE_rec;
694                 QP_Price_List_Line_Util.Clear_Dependent_Attr
695                 (   p_attr_id                     => QP_Price_List_Line_Util.G_AUTOMATIC
696                 ,   p_PRICE_LIST_LINE_rec         => g_p_PRICE_LIST_LINE_rec
697                 ,   x_PRICE_LIST_LINE_rec         => g_PRICE_LIST_LINE_rec
698                 );
699             ELSE
700                 g_PRICE_LIST_LINE_rec.automatic_flag := NULL;
701             END IF;
702 
703         END IF;
704 
705     END IF;
706 
707     IF g_PRICE_LIST_LINE_rec.base_qty = FND_API.G_MISS_NUM THEN
708 
709         g_PRICE_LIST_LINE_rec.base_qty := Get_Base_Qty;
710 
714 
711 	   oe_debug_pub.add('get base qty');
712 
713        /*
715         IF g_PRICE_LIST_LINE_rec.base_qty IS NOT NULL THEN
716 
717             IF QP_Validate.Base_Qty(g_PRICE_LIST_LINE_rec.base_qty)
718             THEN
719                 QP_Price_List_Line_Util.Clear_Dependent_Attr
720                 (   p_attr_id                     => QP_Price_List_Line_Util.G_BASE_QTY
721                 ,   p_PRICE_LIST_LINE_rec         => g_PRICE_LIST_LINE_rec
722                 ,   x_PRICE_LIST_LINE_rec         => g_PRICE_LIST_LINE_rec
723                 );
724             ELSE
725                 g_PRICE_LIST_LINE_rec.base_qty := NULL;
726             END IF;
727 
728         END IF;
729 
730        */
731 
732     END IF;
733 
734     IF g_PRICE_LIST_LINE_rec.base_uom_code = FND_API.G_MISS_CHAR THEN
735 
736         g_PRICE_LIST_LINE_rec.base_uom_code := Get_Base_Uom;
737 
738 	   oe_debug_pub.add('get base uom');
739 
740         /*
741 
742         IF g_PRICE_LIST_LINE_rec.base_uom_code IS NOT NULL THEN
743 
744             IF QP_Validate.Base_Uom(g_PRICE_LIST_LINE_rec.base_uom_code)
745             THEN
746                 QP_Price_List_Line_Util.Clear_Dependent_Attr
747                 (   p_attr_id                     => QP_Price_List_Line_Util.G_BASE_UOM
748                 ,   p_PRICE_LIST_LINE_rec         => g_PRICE_LIST_LINE_rec
749                 ,   x_PRICE_LIST_LINE_rec         => g_PRICE_LIST_LINE_rec
750                 );
751             ELSE
752                 g_PRICE_LIST_LINE_rec.base_uom_code := NULL;
753             END IF;
754 
755         END IF;
756 
757         */
758 
759     END IF;
760 
761     IF g_PRICE_LIST_LINE_rec.comments = FND_API.G_MISS_CHAR THEN
762 
763         g_PRICE_LIST_LINE_rec.comments := Get_Comments;
764 
765 	   oe_debug_pub.add('get comments');
766 
767         IF g_PRICE_LIST_LINE_rec.comments IS NOT NULL THEN
768 
769             IF QP_Validate.Comments(g_PRICE_LIST_LINE_rec.comments)
770             THEN
771                 g_p_PRICE_LIST_LINE_rec := g_PRICE_LIST_LINE_rec;
772                 QP_Price_List_Line_Util.Clear_Dependent_Attr
773                 (   p_attr_id                     => QP_Price_List_Line_Util.G_COMMENTS
774                 ,   p_PRICE_LIST_LINE_rec         => g_p_PRICE_LIST_LINE_rec
775                 ,   x_PRICE_LIST_LINE_rec         => g_PRICE_LIST_LINE_rec
776                 );
777             ELSE
778                 g_PRICE_LIST_LINE_rec.comments := NULL;
779             END IF;
780 
781         END IF;
782 
783     END IF;
784 
785     IF g_PRICE_LIST_LINE_rec.effective_period_uom = FND_API.G_MISS_CHAR THEN
786 
787         g_PRICE_LIST_LINE_rec.effective_period_uom := Get_Effective_Period_Uom;
788 
789 	   oe_debug_pub.add('get effective period uom');
790 
791         IF g_PRICE_LIST_LINE_rec.effective_period_uom IS NOT NULL THEN
792 
793             IF QP_Validate.Effective_Period_Uom(g_PRICE_LIST_LINE_rec.effective_period_uom)
794             THEN
795                 g_p_PRICE_LIST_LINE_rec := g_PRICE_LIST_LINE_rec;
796                 QP_Price_List_Line_Util.Clear_Dependent_Attr
797                 (   p_attr_id                     => QP_Price_List_Line_Util.G_EFFECTIVE_PERIOD_UOM
798                 ,   p_PRICE_LIST_LINE_rec         => g_p_PRICE_LIST_LINE_rec
799                 ,   x_PRICE_LIST_LINE_rec         => g_PRICE_LIST_LINE_rec
800                 );
801             ELSE
802                 g_PRICE_LIST_LINE_rec.effective_period_uom := NULL;
803             END IF;
804 
805         END IF;
806 
807     END IF;
808 
809     IF g_PRICE_LIST_LINE_rec.end_date_active = FND_API.G_MISS_DATE THEN
810 
811         g_PRICE_LIST_LINE_rec.end_date_active := Get_End_Date_Active;
812 
813 	   oe_debug_pub.add('get end_date_active');
814 
815         IF g_PRICE_LIST_LINE_rec.end_date_active IS NOT NULL THEN
816 
817             IF QP_Validate.End_Date_Active(g_PRICE_LIST_LINE_rec.end_date_active)
818             THEN
819                 g_p_PRICE_LIST_LINE_rec := g_PRICE_LIST_LINE_rec;
820                 QP_Price_List_Line_Util.Clear_Dependent_Attr
821                 (   p_attr_id                     => QP_Price_List_Line_Util.G_END_DATE_ACTIVE
822                 ,   p_PRICE_LIST_LINE_rec         => g_p_PRICE_LIST_LINE_rec
823                 ,   x_PRICE_LIST_LINE_rec         => g_PRICE_LIST_LINE_rec
824                 );
825             ELSE
826                 g_PRICE_LIST_LINE_rec.end_date_active := NULL;
827             END IF;
828 
829         END IF;
830 
831     END IF;
832 
833     IF g_PRICE_LIST_LINE_rec.estim_accrual_rate = FND_API.G_MISS_NUM THEN
834 
835         g_PRICE_LIST_LINE_rec.estim_accrual_rate := Get_Estim_Accrual_Rate;
836 
837 	   oe_debug_pub.add('get estim accrual rate');
838 
839         IF g_PRICE_LIST_LINE_rec.estim_accrual_rate IS NOT NULL THEN
840 
841             IF QP_Validate.Estim_Accrual_Rate(g_PRICE_LIST_LINE_rec.estim_accrual_rate)
842             THEN
843                 g_p_PRICE_LIST_LINE_rec := g_PRICE_LIST_LINE_rec;
844                 QP_Price_List_Line_Util.Clear_Dependent_Attr
845                 (   p_attr_id                     => QP_Price_List_Line_Util.G_ESTIM_ACCRUAL_RATE
846                 ,   p_PRICE_LIST_LINE_rec         => g_p_PRICE_LIST_LINE_rec
847                 ,   x_PRICE_LIST_LINE_rec         => g_PRICE_LIST_LINE_rec
848                 );
849             ELSE
850                 g_PRICE_LIST_LINE_rec.estim_accrual_rate := NULL;
851             END IF;
852 
853         END IF;
854 
855     END IF;
856 
857     IF g_PRICE_LIST_LINE_rec.generate_using_formula_id = FND_API.G_MISS_NUM THEN
858 
862         IF g_PRICE_LIST_LINE_rec.generate_using_formula_id IS NOT NULL THEN
859         g_PRICE_LIST_LINE_rec.generate_using_formula_id := Get_Generate_Using_Formula;
860 	   oe_debug_pub.add('get generate using formula');
861 
863 
864             IF QP_Validate.Generate_Using_Formula(g_PRICE_LIST_LINE_rec.generate_using_formula_id)
865             THEN
866                 g_p_PRICE_LIST_LINE_rec := g_PRICE_LIST_LINE_rec;
867                 QP_Price_List_Line_Util.Clear_Dependent_Attr
868                 (   p_attr_id                     => QP_Price_List_Line_Util.G_GENERATE_USING_FORMULA
869                 ,   p_PRICE_LIST_LINE_rec         => g_p_PRICE_LIST_LINE_rec
870                 ,   x_PRICE_LIST_LINE_rec         => g_PRICE_LIST_LINE_rec
871                 );
872             ELSE
873                 g_PRICE_LIST_LINE_rec.generate_using_formula_id := NULL;
874             END IF;
875 
876         END IF;
877 
878     END IF;
879 
880     IF g_PRICE_LIST_LINE_rec.inventory_item_id = FND_API.G_MISS_NUM THEN
881 
882         g_PRICE_LIST_LINE_rec.inventory_item_id := Get_Inventory_Item;
883 
884 	   oe_debug_pub.add('get inventory item');
885 
886         IF g_PRICE_LIST_LINE_rec.inventory_item_id IS NOT NULL THEN
887 
888             IF QP_Validate.Inventory_Item(g_PRICE_LIST_LINE_rec.inventory_item_id)
889             THEN
890                 g_p_PRICE_LIST_LINE_rec := g_PRICE_LIST_LINE_rec;
891                 QP_Price_List_Line_Util.Clear_Dependent_Attr
892                 (   p_attr_id                     => QP_Price_List_Line_Util.G_INVENTORY_ITEM
893                 ,   p_PRICE_LIST_LINE_rec         => g_p_PRICE_LIST_LINE_rec
894                 ,   x_PRICE_LIST_LINE_rec         => g_PRICE_LIST_LINE_rec
895                 );
896             ELSE
897                 g_PRICE_LIST_LINE_rec.inventory_item_id := NULL;
898             END IF;
899 
900         END IF;
901 
902     END IF;
903 
904     IF g_PRICE_LIST_LINE_rec.list_header_id = FND_API.G_MISS_NUM THEN
905 
906         g_PRICE_LIST_LINE_rec.list_header_id := Get_List_Header;
907 
908 	   oe_debug_pub.add('get list header');
909 
910         IF g_PRICE_LIST_LINE_rec.list_header_id IS NOT NULL THEN
911 
912             IF QP_Validate.List_Header(g_PRICE_LIST_LINE_rec.list_header_id)
913             THEN
914                 g_p_PRICE_LIST_LINE_rec := g_PRICE_LIST_LINE_rec;
915                 QP_Price_List_Line_Util.Clear_Dependent_Attr
916                 (   p_attr_id                     => QP_Price_List_Line_Util.G_LIST_HEADER
917                 ,   p_PRICE_LIST_LINE_rec         => g_p_PRICE_LIST_LINE_rec
918                 ,   x_PRICE_LIST_LINE_rec         => g_PRICE_LIST_LINE_rec
919                 );
920             ELSE
921                 g_PRICE_LIST_LINE_rec.list_header_id := NULL;
922             END IF;
923 
924         END IF;
925 
926     END IF;
927 
928     IF g_PRICE_LIST_LINE_rec.list_line_id = FND_API.G_MISS_NUM THEN
929 
930         g_PRICE_LIST_LINE_rec.list_line_id := Get_List_Line;
931 
932         IF g_PRICE_LIST_LINE_rec.list_line_id IS NOT NULL THEN
933 
934             IF QP_Validate.List_Line(g_PRICE_LIST_LINE_rec.list_line_id)
935             THEN
936                 g_p_PRICE_LIST_LINE_rec := g_PRICE_LIST_LINE_rec;
937                 QP_Price_List_Line_Util.Clear_Dependent_Attr
938                 (   p_attr_id                     => QP_Price_List_Line_Util.G_LIST_LINE
939                 ,   p_PRICE_LIST_LINE_rec         => g_p_PRICE_LIST_LINE_rec
940                 ,   x_PRICE_LIST_LINE_rec         => g_PRICE_LIST_LINE_rec
941                 );
942             ELSE
943                 g_PRICE_LIST_LINE_rec.list_line_id := NULL;
944             END IF;
945 
946         END IF;
947 
948     END IF;
949 
950     IF g_PRICE_LIST_LINE_rec.list_line_no = FND_API.G_MISS_CHAR THEN -- 4751658, 4199398
951 
952         g_PRICE_LIST_LINE_rec.list_line_no :=
953 			 Get_List_Line_No(g_PRICE_LIST_LINE_rec.list_line_id);
954 
955 	   oe_debug_pub.add('get list line no');
956 
957     END IF;
958 
959     IF g_PRICE_LIST_LINE_rec.list_line_type_code = FND_API.G_MISS_CHAR THEN
960 
961         g_PRICE_LIST_LINE_rec.list_line_type_code := Get_List_Line_Type;
962 
963 	   oe_debug_pub.add('get list line type');
964 
965         IF g_PRICE_LIST_LINE_rec.list_line_type_code IS NOT NULL THEN
966 
967             IF QP_Validate.List_Line_Type(g_PRICE_LIST_LINE_rec.list_line_type_code)
968             THEN
969                 g_p_PRICE_LIST_LINE_rec := g_PRICE_LIST_LINE_rec;
970                 QP_Price_List_Line_Util.Clear_Dependent_Attr
971                 (   p_attr_id                     => QP_Price_List_Line_Util.G_LIST_LINE_TYPE
972                 ,   p_PRICE_LIST_LINE_rec         => g_p_PRICE_LIST_LINE_rec
973                 ,   x_PRICE_LIST_LINE_rec         => g_PRICE_LIST_LINE_rec
974                 );
975             ELSE
976                 g_PRICE_LIST_LINE_rec.list_line_type_code := NULL;
977             END IF;
978 
979         END IF;
980 
981     END IF;
982 
983     IF g_PRICE_LIST_LINE_rec.list_price = FND_API.G_MISS_NUM THEN
984 
985         g_PRICE_LIST_LINE_rec.list_price := Get_List_Price;
986 
987 	   oe_debug_pub.add('get list price');
988 
989         IF g_PRICE_LIST_LINE_rec.list_price IS NOT NULL THEN
990 
991             IF QP_Validate.List_Price(g_PRICE_LIST_LINE_rec.list_price)
992             THEN
993                 g_p_PRICE_LIST_LINE_rec := g_PRICE_LIST_LINE_rec;
994                 QP_Price_List_Line_Util.Clear_Dependent_Attr
995                 (   p_attr_id                     => QP_Price_List_Line_Util.G_LIST_PRICE
996                 ,   p_PRICE_LIST_LINE_rec         => g_p_PRICE_LIST_LINE_rec
1000                 g_PRICE_LIST_LINE_rec.list_price := NULL;
997                 ,   x_PRICE_LIST_LINE_rec         => g_PRICE_LIST_LINE_rec
998                 );
999             ELSE
1001             END IF;
1002 
1003         END IF;
1004 
1005     END IF;
1006 
1007     IF g_PRICE_LIST_LINE_rec.from_rltd_modifier_id = FND_API.G_MISS_NUM THEN
1008 
1009         g_PRICE_LIST_LINE_rec.from_rltd_modifier_id := Get_From_Rltd_Modifier_Id;
1010 
1011 	   oe_debug_pub.add('get rltd modifier');
1012 
1013        /*
1014 
1015         IF g_PRICE_LIST_LINE_rec.from_rltd_modifier_id IS NOT NULL THEN
1016 
1017             IF QP_Validate.From_Rltd_Modifier_Id(g_PRICE_LIST_LINE_rec.from_rltd_modifier_id)
1018             THEN
1019                 QP_Price_List_Line_Util.Clear_Dependent_Attr
1020                 (   p_attr_id                     => QP_Price_List_Line_Util.G_FROM_RLTD_MODIFIER
1021                 ,   p_PRICE_LIST_LINE_rec         => g_PRICE_LIST_LINE_rec
1022                 ,   x_PRICE_LIST_LINE_rec         => g_PRICE_LIST_LINE_rec
1023                 );
1024             ELSE
1025                 g_PRICE_LIST_LINE_rec.from_rltd_modifier_id := NULL;
1026             END IF;
1027 
1028         END IF;
1029 
1030          */
1031 
1032     END IF;
1033 
1034     IF g_PRICE_LIST_LINE_rec.product_precedence = FND_API.G_MISS_NUM THEN
1035 
1036         g_PRICE_LIST_LINE_rec.product_precedence := Get_Product_Precedence;
1037 
1038 	   oe_debug_Pub.add('get product precedence');
1039 
1040         /*
1041 
1042         IF g_PRICE_LIST_LINE_rec.product_precedence IS NOT NULL THEN
1043 
1044             IF QP_Validate.Product_Precedence(g_PRICE_LIST_LINE_rec.product_precedence)
1045             THEN
1046                 QP_Price_List_Line_Util.Clear_Dependent_Attr
1047                 (   p_attr_id                     => QP_Price_List_Line_Util.G_PRODUCT_PRECEDENCE
1048                 ,   p_PRICE_LIST_LINE_rec         => g_PRICE_LIST_LINE_rec
1049                 ,   x_PRICE_LIST_LINE_rec         => g_PRICE_LIST_LINE_rec
1050                 );
1051             ELSE
1052                 g_PRICE_LIST_LINE_rec.product_precedence := NULL;
1053             END IF;
1054 
1055         END IF;
1056        */
1057 
1058     END IF;
1059 
1060     IF g_PRICE_LIST_LINE_rec.rltd_modifier_group_no = FND_API.G_MISS_NUM THEN
1061 
1062         g_PRICE_LIST_LINE_rec.rltd_modifier_group_no := Get_Rltd_Modifier_Group_No;
1063 
1064 	   oe_debug_pub.add('get rltd modifier group no');
1065        /*
1066 
1067         IF g_PRICE_LIST_LINE_rec.rltd_modifier_group_no IS NOT NULL THEN
1068 
1069             IF QP_Validate.Rltd_Modifier_Group_No(g_PRICE_LIST_LINE_rec.rltd_modifier_group_no)
1070             THEN
1071                 QP_Price_List_Line_Util.Clear_Dependent_Attr
1072                 (   p_attr_id                     => QP_Price_List_Line_Util.G_RLTD_MODIFIER_GROUP_NO
1073                 ,   p_PRICE_LIST_LINE_rec         => g_PRICE_LIST_LINE_rec
1074                 ,   x_PRICE_LIST_LINE_rec         => g_PRICE_LIST_LINE_rec
1075                 );
1076             ELSE
1077                 g_PRICE_LIST_LINE_rec.rltd_modifier_group_no := NULL;
1078             END IF;
1079 
1080         END IF;
1081         */
1082 
1083     END IF;
1084     IF g_PRICE_LIST_LINE_rec.modifier_level_code = FND_API.G_MISS_CHAR THEN
1085 
1086         g_PRICE_LIST_LINE_rec.modifier_level_code := Get_Modifier_Level;
1087 
1088 	   oe_debug_pub.add('get modifier level');
1089 
1090         IF g_PRICE_LIST_LINE_rec.modifier_level_code IS NOT NULL THEN
1091 
1092             IF QP_Validate.Modifier_Level(g_PRICE_LIST_LINE_rec.modifier_level_code)
1093             THEN
1094                 g_p_PRICE_LIST_LINE_rec := g_PRICE_LIST_LINE_rec;
1095                 QP_Price_List_Line_Util.Clear_Dependent_Attr
1096                 (   p_attr_id                     => QP_Price_List_Line_Util.G_MODIFIER_LEVEL
1097                 ,   p_PRICE_LIST_LINE_rec         => g_p_PRICE_LIST_LINE_rec
1098                 ,   x_PRICE_LIST_LINE_rec         => g_PRICE_LIST_LINE_rec
1099                 );
1100             ELSE
1101                 g_PRICE_LIST_LINE_rec.modifier_level_code := NULL;
1102             END IF;
1103 
1104         END IF;
1105 
1106     END IF;
1107 
1108     IF g_PRICE_LIST_LINE_rec.number_effective_periods = FND_API.G_MISS_NUM THEN
1109 
1110         g_PRICE_LIST_LINE_rec.number_effective_periods := Get_Number_Effective_Periods;
1111 
1112 	   oe_debug_pub.add('get number effective periods');
1113 
1114         IF g_PRICE_LIST_LINE_rec.number_effective_periods IS NOT NULL THEN
1115 
1116             IF QP_Validate.Number_Effective_Periods(g_PRICE_LIST_LINE_rec.number_effective_periods)
1117             THEN
1118                 g_p_PRICE_LIST_LINE_rec := g_PRICE_LIST_LINE_rec;
1119                 QP_Price_List_Line_Util.Clear_Dependent_Attr
1120                 (   p_attr_id                     => QP_Price_List_Line_Util.G_NUMBER_EFFECTIVE_PERIODS
1121                 ,   p_PRICE_LIST_LINE_rec         => g_p_PRICE_LIST_LINE_rec
1122                 ,   x_PRICE_LIST_LINE_rec         => g_PRICE_LIST_LINE_rec
1123                 );
1124             ELSE
1125                 g_PRICE_LIST_LINE_rec.number_effective_periods := NULL;
1126             END IF;
1127 
1128         END IF;
1129 
1130     END IF;
1131 
1132     IF g_PRICE_LIST_LINE_rec.operand = FND_API.G_MISS_NUM THEN
1133 
1134         g_PRICE_LIST_LINE_rec.operand := Get_Operand;
1135 
1136 	   oe_debug_pub.add('get operand');
1137 
1138         IF g_PRICE_LIST_LINE_rec.operand IS NOT NULL THEN
1139 
1140             IF QP_Validate.Operand(g_PRICE_LIST_LINE_rec.operand)
1141             THEN
1142                 g_p_PRICE_LIST_LINE_rec := g_PRICE_LIST_LINE_rec;
1146                 ,   x_PRICE_LIST_LINE_rec         => g_PRICE_LIST_LINE_rec
1143                 QP_Price_List_Line_Util.Clear_Dependent_Attr
1144                 (   p_attr_id                     => QP_Price_List_Line_Util.G_OPERAND
1145                 ,   p_PRICE_LIST_LINE_rec         => g_p_PRICE_LIST_LINE_rec
1147                 );
1148             ELSE
1149                 g_PRICE_LIST_LINE_rec.operand := NULL;
1150             END IF;
1151 
1152         END IF;
1153 
1154     END IF;
1155 
1156     IF g_PRICE_LIST_LINE_rec.organization_id = FND_API.G_MISS_NUM THEN
1157 
1158         g_PRICE_LIST_LINE_rec.organization_id := Get_Organization;
1159 
1160 	   oe_debug_pub.add('get organization');
1161 
1162         IF g_PRICE_LIST_LINE_rec.organization_id IS NOT NULL THEN
1163 
1164             IF QP_Validate.Organization(g_PRICE_LIST_LINE_rec.organization_id)
1165             THEN
1166                 g_p_PRICE_LIST_LINE_rec := g_PRICE_LIST_LINE_rec;
1167                 QP_Price_List_Line_Util.Clear_Dependent_Attr
1168                 (   p_attr_id                     => QP_Price_List_Line_Util.G_ORGANIZATION
1169                 ,   p_PRICE_LIST_LINE_rec         => g_p_PRICE_LIST_LINE_rec
1170                 ,   x_PRICE_LIST_LINE_rec         => g_PRICE_LIST_LINE_rec
1171                 );
1172             ELSE
1173                 g_PRICE_LIST_LINE_rec.organization_id := NULL;
1174             END IF;
1175 
1176         END IF;
1177 
1178     END IF;
1179 
1180     IF g_PRICE_LIST_LINE_rec.override_flag = FND_API.G_MISS_CHAR THEN
1181 
1182         g_PRICE_LIST_LINE_rec.override_flag := Get_Override;
1183 
1184 	   oe_debug_pub.add('get override');
1185 
1186         IF g_PRICE_LIST_LINE_rec.override_flag IS NOT NULL THEN
1187 
1188             IF QP_Validate.Override(g_PRICE_LIST_LINE_rec.override_flag)
1189             THEN
1190                 g_p_PRICE_LIST_LINE_rec := g_PRICE_LIST_LINE_rec;
1191                 QP_Price_List_Line_Util.Clear_Dependent_Attr
1192                 (   p_attr_id                     => QP_Price_List_Line_Util.G_OVERRIDE
1193                 ,   p_PRICE_LIST_LINE_rec         => g_p_PRICE_LIST_LINE_rec
1194                 ,   x_PRICE_LIST_LINE_rec         => g_PRICE_LIST_LINE_rec
1195                 );
1196             ELSE
1197                 g_PRICE_LIST_LINE_rec.override_flag := NULL;
1198             END IF;
1199 
1200         END IF;
1201 
1202     END IF;
1203 
1204     IF g_PRICE_LIST_LINE_rec.percent_price = FND_API.G_MISS_NUM THEN
1205 
1206         g_PRICE_LIST_LINE_rec.percent_price := Get_Percent_Price;
1207 
1208 	   oe_debug_pub.add('get percent price');
1209 
1210         IF g_PRICE_LIST_LINE_rec.percent_price IS NOT NULL THEN
1211 
1212             IF QP_Validate.Percent_Price(g_PRICE_LIST_LINE_rec.percent_price)
1213             THEN
1214                 g_p_PRICE_LIST_LINE_rec := g_PRICE_LIST_LINE_rec;
1215                 QP_Price_List_Line_Util.Clear_Dependent_Attr
1216                 (   p_attr_id                     => QP_Price_List_Line_Util.G_PERCENT_PRICE
1217                 ,   p_PRICE_LIST_LINE_rec         => g_p_PRICE_LIST_LINE_rec
1218                 ,   x_PRICE_LIST_LINE_rec         => g_PRICE_LIST_LINE_rec
1219                 );
1220             ELSE
1221                 g_PRICE_LIST_LINE_rec.percent_price := NULL;
1222             END IF;
1223 
1224         END IF;
1225 
1226     END IF;
1227 
1228     IF g_PRICE_LIST_LINE_rec.price_break_type_code = FND_API.G_MISS_CHAR THEN
1229 
1230         g_PRICE_LIST_LINE_rec.price_break_type_code := Get_Price_Break_Type;
1231 
1232 	   oe_debug_pub.add('get price break type');
1233 
1234         IF g_PRICE_LIST_LINE_rec.price_break_type_code IS NOT NULL THEN
1235 
1236             IF QP_Validate.Price_Break_Type(g_PRICE_LIST_LINE_rec.price_break_type_code)
1237             THEN
1238                 g_p_PRICE_LIST_LINE_rec := g_PRICE_LIST_LINE_rec;
1239                 QP_Price_List_Line_Util.Clear_Dependent_Attr
1240                 (   p_attr_id                     => QP_Price_List_Line_Util.G_PRICE_BREAK_TYPE
1241                 ,   p_PRICE_LIST_LINE_rec         => g_p_PRICE_LIST_LINE_rec
1242                 ,   x_PRICE_LIST_LINE_rec         => g_PRICE_LIST_LINE_rec
1243                 );
1244             ELSE
1245                 g_PRICE_LIST_LINE_rec.price_break_type_code := NULL;
1246             END IF;
1247 
1248         END IF;
1249 
1250     END IF;
1251 
1252     IF g_PRICE_LIST_LINE_rec.price_by_formula_id = FND_API.G_MISS_NUM THEN
1253 
1254         g_PRICE_LIST_LINE_rec.price_by_formula_id := Get_Price_By_Formula;
1255 
1256 	   oe_debug_pub.add('get price formula');
1257 
1258         IF g_PRICE_LIST_LINE_rec.price_by_formula_id IS NOT NULL THEN
1259 
1260             IF QP_Validate.Price_By_Formula(g_PRICE_LIST_LINE_rec.price_by_formula_id)
1261             THEN
1262                 g_p_PRICE_LIST_LINE_rec := g_PRICE_LIST_LINE_rec;
1263                 QP_Price_List_Line_Util.Clear_Dependent_Attr
1264                 (   p_attr_id                     => QP_Price_List_Line_Util.G_PRICE_BY_FORMULA
1265                 ,   p_PRICE_LIST_LINE_rec         => g_p_PRICE_LIST_LINE_rec
1266                 ,   x_PRICE_LIST_LINE_rec         => g_PRICE_LIST_LINE_rec
1267                 );
1268             ELSE
1269                 g_PRICE_LIST_LINE_rec.price_by_formula_id := NULL;
1270             END IF;
1271 
1272         END IF;
1273 
1274     END IF;
1275 
1276     IF g_PRICE_LIST_LINE_rec.primary_uom_flag = FND_API.G_MISS_CHAR THEN
1277 
1278         g_PRICE_LIST_LINE_rec.primary_uom_flag := Get_Primary_Uom;
1279 
1280 	   oe_debug_pub.add('get primary uom');
1281 
1282         IF g_PRICE_LIST_LINE_rec.primary_uom_flag IS NOT NULL THEN
1283 
1284             IF QP_Validate.Primary_Uom(g_PRICE_LIST_LINE_rec.primary_uom_flag)
1288                 (   p_attr_id                     => QP_Price_List_Line_Util.G_PRIMARY_UOM
1285             THEN
1286                 g_p_PRICE_LIST_LINE_rec := g_PRICE_LIST_LINE_rec;
1287                 QP_Price_List_Line_Util.Clear_Dependent_Attr
1289                 ,   p_PRICE_LIST_LINE_rec         => g_p_PRICE_LIST_LINE_rec
1290                 ,   x_PRICE_LIST_LINE_rec         => g_PRICE_LIST_LINE_rec
1291                 );
1292             ELSE
1293                 g_PRICE_LIST_LINE_rec.primary_uom_flag := NULL;
1294             END IF;
1295 
1296         END IF;
1297 
1298     END IF;
1299 
1300     IF g_PRICE_LIST_LINE_rec.print_on_invoice_flag = FND_API.G_MISS_CHAR THEN
1301 
1302         g_PRICE_LIST_LINE_rec.print_on_invoice_flag := Get_Print_On_Invoice;
1303 
1304 	   oe_debug_pub.add('get print on invoice');
1305 
1306         IF g_PRICE_LIST_LINE_rec.print_on_invoice_flag IS NOT NULL THEN
1307 
1308             IF QP_Validate.Print_On_Invoice(g_PRICE_LIST_LINE_rec.print_on_invoice_flag)
1309             THEN
1310                 g_p_PRICE_LIST_LINE_rec := g_PRICE_LIST_LINE_rec;
1311                 QP_Price_List_Line_Util.Clear_Dependent_Attr
1312                 (   p_attr_id                     => QP_Price_List_Line_Util.G_PRINT_ON_INVOICE
1313                 ,   p_PRICE_LIST_LINE_rec         => g_p_PRICE_LIST_LINE_rec
1314                 ,   x_PRICE_LIST_LINE_rec         => g_PRICE_LIST_LINE_rec
1315                 );
1316             ELSE
1317                 g_PRICE_LIST_LINE_rec.print_on_invoice_flag := NULL;
1318             END IF;
1319 
1320         END IF;
1321 
1322     END IF;
1323 
1324 
1325     IF g_PRICE_LIST_LINE_rec.rebate_trxn_type_code = FND_API.G_MISS_CHAR THEN
1326 
1327         g_PRICE_LIST_LINE_rec.rebate_trxn_type_code := Get_Rebate_Transaction_Type;
1328 
1329 	   oe_debug_pub.add('get rebate trxn type');
1330 
1331         IF g_PRICE_LIST_LINE_rec.rebate_trxn_type_code IS NOT NULL THEN
1332 
1333             IF QP_Validate.Rebate_Transaction_Type(g_PRICE_LIST_LINE_rec.rebate_trxn_type_code)
1334             THEN
1335                 g_p_PRICE_LIST_LINE_rec := g_PRICE_LIST_LINE_rec;
1336                 QP_Price_List_Line_Util.Clear_Dependent_Attr
1337                 (   p_attr_id                     => QP_Price_List_Line_Util.G_REBATE_TRANSACTION_TYPE
1338                 ,   p_PRICE_LIST_LINE_rec         => g_p_PRICE_LIST_LINE_rec
1339                 ,   x_PRICE_LIST_LINE_rec         => g_PRICE_LIST_LINE_rec
1340                 );
1341             ELSE
1342                 g_PRICE_LIST_LINE_rec.rebate_trxn_type_code := NULL;
1343             END IF;
1344 
1345         END IF;
1346 
1347     END IF;
1348 
1349     -- block pricing
1350     IF g_PRICE_LIST_LINE_rec.recurring_value = FND_API.G_MISS_NUM THEN
1351       g_PRICE_LIST_LINE_rec.recurring_value := Get_Recurring_Value;
1352       IF g_PRICE_LIST_LINE_rec.recurring_value IS NOT NULL THEN
1353         IF QP_Validate.recurring_value(g_PRICE_LIST_LINE_rec.recurring_value)
1354         THEN
1355                 g_p_PRICE_LIST_LINE_rec := g_PRICE_LIST_LINE_rec;
1356           QP_Price_List_Line_Util.Clear_Dependent_Attr
1357             (p_attr_id             => QP_Price_List_Line_Util.G_RECURRING_VALUE,
1358              p_PRICE_LIST_LINE_rec => g_p_PRICE_LIST_LINE_rec,
1359              x_PRICE_LIST_LINE_rec => g_PRICE_LIST_LINE_rec);
1360         ELSE
1361           g_PRICE_LIST_LINE_rec.related_item_id := NULL;
1362         END IF;
1363       END IF;
1364     END IF;
1365 
1366     IF g_PRICE_LIST_LINE_rec.related_item_id = FND_API.G_MISS_NUM THEN
1367 
1368         g_PRICE_LIST_LINE_rec.related_item_id := Get_Related_Item;
1369 
1370 	   oe_debug_pub.add('get related item');
1371 
1372         IF g_PRICE_LIST_LINE_rec.related_item_id IS NOT NULL THEN
1373 
1374             IF QP_Validate.Related_Item(g_PRICE_LIST_LINE_rec.related_item_id)
1375             THEN
1376                 g_p_PRICE_LIST_LINE_rec := g_PRICE_LIST_LINE_rec;
1377                 QP_Price_List_Line_Util.Clear_Dependent_Attr
1378                 (   p_attr_id                     => QP_Price_List_Line_Util.G_RELATED_ITEM
1379                 ,   p_PRICE_LIST_LINE_rec         => g_p_PRICE_LIST_LINE_rec
1380                 ,   x_PRICE_LIST_LINE_rec         => g_PRICE_LIST_LINE_rec
1381                 );
1382             ELSE
1383                 g_PRICE_LIST_LINE_rec.related_item_id := NULL;
1384             END IF;
1385 
1386         END IF;
1387 
1388     END IF;
1389 
1390     IF g_PRICE_LIST_LINE_rec.relationship_type_id = FND_API.G_MISS_NUM THEN
1391 
1392         g_PRICE_LIST_LINE_rec.relationship_type_id := Get_Relationship_Type;
1393 
1394 	   oe_debug_pub.add('get relationship type');
1395 
1396         IF g_PRICE_LIST_LINE_rec.relationship_type_id IS NOT NULL THEN
1397 
1398             IF QP_Validate.Relationship_Type(g_PRICE_LIST_LINE_rec.relationship_type_id)
1399             THEN
1400                 g_p_PRICE_LIST_LINE_rec := g_PRICE_LIST_LINE_rec;
1401                 QP_Price_List_Line_Util.Clear_Dependent_Attr
1402                 (   p_attr_id                     => QP_Price_List_Line_Util.G_RELATIONSHIP_TYPE
1403                 ,   p_PRICE_LIST_LINE_rec         => g_p_PRICE_LIST_LINE_rec
1404                 ,   x_PRICE_LIST_LINE_rec         => g_PRICE_LIST_LINE_rec
1405                 );
1406             ELSE
1407                 g_PRICE_LIST_LINE_rec.relationship_type_id := NULL;
1408             END IF;
1409 
1410         END IF;
1411 
1412     END IF;
1413 
1414     IF g_PRICE_LIST_LINE_rec.reprice_flag = FND_API.G_MISS_CHAR THEN
1415 
1416         g_PRICE_LIST_LINE_rec.reprice_flag := Get_Reprice;
1417 
1418 	   oe_debug_pub.add('get reprice');
1419 
1420         IF g_PRICE_LIST_LINE_rec.reprice_flag IS NOT NULL THEN
1421 
1425                 QP_Price_List_Line_Util.Clear_Dependent_Attr
1422             IF QP_Validate.Reprice(g_PRICE_LIST_LINE_rec.reprice_flag)
1423             THEN
1424                 g_p_PRICE_LIST_LINE_rec := g_PRICE_LIST_LINE_rec;
1426                 (   p_attr_id                     => QP_Price_List_Line_Util.G_REPRICE
1427                 ,   p_PRICE_LIST_LINE_rec         => g_p_PRICE_LIST_LINE_rec
1428                 ,   x_PRICE_LIST_LINE_rec         => g_PRICE_LIST_LINE_rec
1429                 );
1430             ELSE
1431                 g_PRICE_LIST_LINE_rec.reprice_flag := NULL;
1432             END IF;
1433 
1434         END IF;
1435 
1436     END IF;
1437 
1438     IF g_PRICE_LIST_LINE_rec.revision = FND_API.G_MISS_CHAR THEN
1439 
1440         g_PRICE_LIST_LINE_rec.revision := Get_Revision;
1441 
1442 	   oe_debug_pub.add('get revision');
1443 
1444         IF g_PRICE_LIST_LINE_rec.revision IS NOT NULL THEN
1445 
1446             IF QP_Validate.Revision(g_PRICE_LIST_LINE_rec.revision)
1447             THEN
1448                 g_p_PRICE_LIST_LINE_rec := g_PRICE_LIST_LINE_rec;
1449                 QP_Price_List_Line_Util.Clear_Dependent_Attr
1450                 (   p_attr_id                     => QP_Price_List_Line_Util.G_REVISION
1451                 ,   p_PRICE_LIST_LINE_rec         => g_p_PRICE_LIST_LINE_rec
1452                 ,   x_PRICE_LIST_LINE_rec         => g_PRICE_LIST_LINE_rec
1453                 );
1454             ELSE
1455                 g_PRICE_LIST_LINE_rec.revision := NULL;
1456             END IF;
1457 
1458         END IF;
1459 
1460     END IF;
1461 
1462     IF g_PRICE_LIST_LINE_rec.revision_date = FND_API.G_MISS_DATE THEN
1463 
1464         g_PRICE_LIST_LINE_rec.revision_date := Get_Revision_Date;
1465 
1466 	   oe_debug_pub.add('get revision date');
1467 
1468         IF g_PRICE_LIST_LINE_rec.revision_date IS NOT NULL THEN
1469 
1470             IF QP_Validate.Revision_Date(g_PRICE_LIST_LINE_rec.revision_date)
1471             THEN
1472                 g_p_PRICE_LIST_LINE_rec := g_PRICE_LIST_LINE_rec;
1473                 QP_Price_List_Line_Util.Clear_Dependent_Attr
1474                 (   p_attr_id                     => QP_Price_List_Line_Util.G_REVISION_DATE
1475                 ,   p_PRICE_LIST_LINE_rec         => g_p_PRICE_LIST_LINE_rec
1476                 ,   x_PRICE_LIST_LINE_rec         => g_PRICE_LIST_LINE_rec
1477                 );
1478             ELSE
1479                 g_PRICE_LIST_LINE_rec.revision_date := NULL;
1480             END IF;
1481 
1482         END IF;
1483 
1484     END IF;
1485 
1486     IF g_PRICE_LIST_LINE_rec.revision_reason_code = FND_API.G_MISS_CHAR THEN
1487 
1488         g_PRICE_LIST_LINE_rec.revision_reason_code := Get_Revision_Reason;
1489 
1490 	   oe_debug_pub.add('get revision reason');
1491 
1492         IF g_PRICE_LIST_LINE_rec.revision_reason_code IS NOT NULL THEN
1493 
1494             IF QP_Validate.Revision_Reason(g_PRICE_LIST_LINE_rec.revision_reason_code)
1495             THEN
1496                 g_p_PRICE_LIST_LINE_rec := g_PRICE_LIST_LINE_rec;
1497                 QP_Price_List_Line_Util.Clear_Dependent_Attr
1498                 (   p_attr_id                     => QP_Price_List_Line_Util.G_REVISION_REASON
1499                 ,   p_PRICE_LIST_LINE_rec         => g_p_PRICE_LIST_LINE_rec
1500                 ,   x_PRICE_LIST_LINE_rec         => g_PRICE_LIST_LINE_rec
1501                 );
1502             ELSE
1503                 g_PRICE_LIST_LINE_rec.revision_reason_code := NULL;
1504             END IF;
1505 
1506         END IF;
1507 
1508     END IF;
1509 
1510     IF g_PRICE_LIST_LINE_rec.start_date_active = FND_API.G_MISS_DATE THEN
1511 
1512         g_PRICE_LIST_LINE_rec.start_date_active := Get_Start_Date_Active;
1513 
1514 	   oe_debug_pub.add('get start date active');
1515 
1516         IF g_PRICE_LIST_LINE_rec.start_date_active IS NOT NULL THEN
1517 
1518             IF QP_Validate.Start_Date_Active(g_PRICE_LIST_LINE_rec.start_date_active)
1519             THEN
1520                 g_p_PRICE_LIST_LINE_rec := g_PRICE_LIST_LINE_rec;
1521                 QP_Price_List_Line_Util.Clear_Dependent_Attr
1522                 (   p_attr_id                     => QP_Price_List_Line_Util.G_START_DATE_ACTIVE
1523                 ,   p_PRICE_LIST_LINE_rec         => g_p_PRICE_LIST_LINE_rec
1524                 ,   x_PRICE_LIST_LINE_rec         => g_PRICE_LIST_LINE_rec
1525                 );
1526             ELSE
1527                 g_PRICE_LIST_LINE_rec.start_date_active := NULL;
1528             END IF;
1529 
1530         END IF;
1531 
1532     END IF;
1533 
1534     IF g_PRICE_LIST_LINE_rec.substitution_attribute = FND_API.G_MISS_CHAR THEN
1535 
1536         g_PRICE_LIST_LINE_rec.substitution_attribute := Get_Substitution_Attribute;
1537 
1538 	   oe_debug_pub.add('get substitution');
1539 
1540         IF g_PRICE_LIST_LINE_rec.substitution_attribute IS NOT NULL THEN
1541 
1542             IF QP_Validate.Substitution_Attribute(g_PRICE_LIST_LINE_rec.substitution_attribute)
1543             THEN
1544                 g_p_PRICE_LIST_LINE_rec := g_PRICE_LIST_LINE_rec;
1545                 QP_Price_List_Line_Util.Clear_Dependent_Attr
1546                 (   p_attr_id                     => QP_Price_List_Line_Util.G_SUBSTITUTION_ATTRIBUTE
1547                 ,   p_PRICE_LIST_LINE_rec         => g_p_PRICE_LIST_LINE_rec
1548                 ,   x_PRICE_LIST_LINE_rec         => g_PRICE_LIST_LINE_rec
1549                 );
1550             ELSE
1551                 g_PRICE_LIST_LINE_rec.substitution_attribute := NULL;
1552             END IF;
1553 
1554         END IF;
1555 
1556     END IF;
1557 
1558     IF g_PRICE_LIST_LINE_rec.substitution_context = FND_API.G_MISS_CHAR THEN
1559 
1560         g_PRICE_LIST_LINE_rec.substitution_context := Get_Substitution_Context;
1561 
1565 
1562 	   oe_debug_pub.add('get substitution context');
1563 
1564         IF g_PRICE_LIST_LINE_rec.substitution_context IS NOT NULL THEN
1566             IF QP_Validate.Substitution_Context(g_PRICE_LIST_LINE_rec.substitution_context)
1567             THEN
1568                 g_p_PRICE_LIST_LINE_rec := g_PRICE_LIST_LINE_rec;
1569                 QP_Price_List_Line_Util.Clear_Dependent_Attr
1570                 (   p_attr_id                     => QP_Price_List_Line_Util.G_SUBSTITUTION_CONTEXT
1571                 ,   p_PRICE_LIST_LINE_rec         => g_p_PRICE_LIST_LINE_rec
1572                 ,   x_PRICE_LIST_LINE_rec         => g_PRICE_LIST_LINE_rec
1573                 );
1574             ELSE
1575                 g_PRICE_LIST_LINE_rec.substitution_context := NULL;
1576             END IF;
1577 
1578         END IF;
1579 
1580     END IF;
1581 
1582     IF g_PRICE_LIST_LINE_rec.substitution_value = FND_API.G_MISS_CHAR THEN
1583 
1584         g_PRICE_LIST_LINE_rec.substitution_value := Get_Substitution_Value;
1585 
1586 	   oe_debug_pub.add('get substitution value');
1587 
1588         IF g_PRICE_LIST_LINE_rec.substitution_value IS NOT NULL THEN
1589 
1590             IF QP_Validate.Substitution_Value(g_PRICE_LIST_LINE_rec.substitution_value)
1591             THEN
1592                 g_p_PRICE_LIST_LINE_rec := g_PRICE_LIST_LINE_rec;
1593                 QP_Price_List_Line_Util.Clear_Dependent_Attr
1594                 (   p_attr_id                     => QP_Price_List_Line_Util.G_SUBSTITUTION_VALUE
1595                 ,   p_PRICE_LIST_LINE_rec         => g_p_PRICE_LIST_LINE_rec
1596                 ,   x_PRICE_LIST_LINE_rec         => g_PRICE_LIST_LINE_rec
1597                 );
1598             ELSE
1599                 g_PRICE_LIST_LINE_rec.substitution_value := NULL;
1600             END IF;
1601 
1602         END IF;
1603 
1604     END IF;
1605 
1606     -- Blanket Pricing
1607     IF g_PRICE_LIST_LINE_rec.customer_item_id = FND_API.G_MISS_NUM THEN
1608 
1609         g_PRICE_LIST_LINE_rec.customer_item_id := Get_Customer_Item_Id;
1610 
1611 	   oe_debug_pub.add('get customer item id');
1612 
1613         IF g_PRICE_LIST_LINE_rec.customer_item_id IS NOT NULL THEN
1614 
1615             IF QP_Validate.Customer_Item_Id(g_PRICE_LIST_LINE_rec.customer_item_id)
1616             THEN
1617                 g_p_PRICE_LIST_LINE_rec := g_PRICE_LIST_LINE_rec;
1618                 QP_Price_List_Line_Util.Clear_Dependent_Attr
1619                 (   p_attr_id                     => QP_Price_List_Line_Util.G_CUSTOMER_ITEM_ID
1620                 ,   p_PRICE_LIST_LINE_rec         => g_p_PRICE_LIST_LINE_rec
1621                 ,   x_PRICE_LIST_LINE_rec         => g_PRICE_LIST_LINE_rec
1622                 );
1623             ELSE
1624                 g_PRICE_LIST_LINE_rec.customer_item_id := NULL;
1625             END IF;
1626 
1627         END IF;
1628 
1629     END IF;
1630 
1631     -- Break Uom Proration
1632     IF g_PRICE_LIST_LINE_rec.break_uom_code = FND_API.G_MISS_CHAR THEN
1633 
1634         g_PRICE_LIST_LINE_rec.break_uom_code := Get_break_uom_code;
1635 
1636 	   oe_debug_pub.add('get break_uom_code ');
1637 
1638         IF g_PRICE_LIST_LINE_rec.break_uom_code IS NOT NULL THEN
1639 
1640             IF QP_Validate.break_uom_code(g_PRICE_LIST_LINE_rec.break_uom_code)
1641             THEN
1642                 g_p_PRICE_LIST_LINE_rec := g_PRICE_LIST_LINE_rec;
1643                 QP_Price_List_Line_Util.Clear_Dependent_Attr
1644                 (   p_attr_id                     => QP_Price_List_Line_Util.G_BREAK_UOM_CODE
1645                 ,   p_PRICE_LIST_LINE_rec         => g_p_PRICE_LIST_LINE_rec
1646                 ,   x_PRICE_LIST_LINE_rec         => g_PRICE_LIST_LINE_rec
1647                 );
1648             ELSE
1649                 g_PRICE_LIST_LINE_rec.break_uom_code := NULL;
1650             END IF;
1651 
1652         END IF;
1653 
1654     END IF;
1655 
1656     -- Break Uom Proration
1657     IF g_PRICE_LIST_LINE_rec.break_uom_context = FND_API.G_MISS_CHAR THEN
1658 
1659         g_PRICE_LIST_LINE_rec.break_uom_context := Get_break_uom_context;
1660 
1661 	   oe_debug_pub.add('get break_uom_context ');
1662 
1663         IF g_PRICE_LIST_LINE_rec.break_uom_context IS NOT NULL THEN
1664 
1665             IF QP_Validate.break_uom_context(g_PRICE_LIST_LINE_rec.break_uom_context)
1666             THEN
1667                 g_p_PRICE_LIST_LINE_rec := g_PRICE_LIST_LINE_rec;
1668                 QP_Price_List_Line_Util.Clear_Dependent_Attr
1669                 (   p_attr_id                     => QP_Price_List_Line_Util.G_BREAK_UOM_CONTEXT
1670                 ,   p_PRICE_LIST_LINE_rec         => g_p_PRICE_LIST_LINE_rec
1671                 ,   x_PRICE_LIST_LINE_rec         => g_PRICE_LIST_LINE_rec
1672                 );
1673             ELSE
1674                 g_PRICE_LIST_LINE_rec.break_uom_context := NULL;
1675             END IF;
1676 
1677         END IF;
1678 
1679     END IF;
1680 
1681     -- Break Uom Proration
1682     IF g_PRICE_LIST_LINE_rec.break_uom_attribute = FND_API.G_MISS_CHAR THEN
1683 
1684         g_PRICE_LIST_LINE_rec.break_uom_attribute := Get_break_uom_attribute;
1685 
1686 	   oe_debug_pub.add('get break_uom_attribute ');
1687 
1688         IF g_PRICE_LIST_LINE_rec.break_uom_attribute IS NOT NULL THEN
1689 
1690             IF QP_Validate.break_uom_attribute(g_PRICE_LIST_LINE_rec.break_uom_attribute)
1691             THEN
1692                 g_p_PRICE_LIST_LINE_rec := g_PRICE_LIST_LINE_rec;
1693                 QP_Price_List_Line_Util.Clear_Dependent_Attr
1694                 (   p_attr_id                     => QP_Price_List_Line_Util.G_BREAK_UOM_ATTRIBUTE
1695                 ,   p_PRICE_LIST_LINE_rec         => g_p_PRICE_LIST_LINE_rec
1696                 ,   x_PRICE_LIST_LINE_rec         => g_PRICE_LIST_LINE_rec
1697                 );
1698             ELSE
1702         END IF;
1699                 g_PRICE_LIST_LINE_rec.break_uom_attribute := NULL;
1700             END IF;
1701 
1703 
1704     END IF;
1705 
1706     IF g_PRICE_LIST_LINE_rec.qualification_ind = FND_API.G_MISS_NUM THEN
1707 
1708         g_PRICE_LIST_LINE_rec.qualification_ind := Get_Qualification_Ind;
1709 
1710 	oe_debug_pub.add('get_qualification_ind');
1711 
1712     END IF;
1713 
1714 
1715     IF g_PRICE_LIST_LINE_rec.attribute1 = FND_API.G_MISS_CHAR
1716     OR  g_PRICE_LIST_LINE_rec.attribute10 = FND_API.G_MISS_CHAR
1717     OR  g_PRICE_LIST_LINE_rec.attribute11 = FND_API.G_MISS_CHAR
1718     OR  g_PRICE_LIST_LINE_rec.attribute12 = FND_API.G_MISS_CHAR
1719     OR  g_PRICE_LIST_LINE_rec.attribute13 = FND_API.G_MISS_CHAR
1720     OR  g_PRICE_LIST_LINE_rec.attribute14 = FND_API.G_MISS_CHAR
1721     OR  g_PRICE_LIST_LINE_rec.attribute15 = FND_API.G_MISS_CHAR
1722     OR  g_PRICE_LIST_LINE_rec.attribute2 = FND_API.G_MISS_CHAR
1723     OR  g_PRICE_LIST_LINE_rec.attribute3 = FND_API.G_MISS_CHAR
1724     OR  g_PRICE_LIST_LINE_rec.attribute4 = FND_API.G_MISS_CHAR
1725     OR  g_PRICE_LIST_LINE_rec.attribute5 = FND_API.G_MISS_CHAR
1726     OR  g_PRICE_LIST_LINE_rec.attribute6 = FND_API.G_MISS_CHAR
1727     OR  g_PRICE_LIST_LINE_rec.attribute7 = FND_API.G_MISS_CHAR
1728     OR  g_PRICE_LIST_LINE_rec.attribute8 = FND_API.G_MISS_CHAR
1729     OR  g_PRICE_LIST_LINE_rec.attribute9 = FND_API.G_MISS_CHAR
1730     OR  g_PRICE_LIST_LINE_rec.context = FND_API.G_MISS_CHAR
1731     THEN
1732 
1733 	   oe_debug_pub.add('get flex price list');
1734 
1735         Get_Flex_Price_List_Line;
1736 
1737 	   oe_debug_pub.add('after get flex price list line');
1738 
1739     END IF;
1740 
1741     IF g_PRICE_LIST_LINE_rec.created_by = FND_API.G_MISS_NUM THEN
1742 
1743         g_PRICE_LIST_LINE_rec.created_by := NULL;
1744 
1745     END IF;
1746 
1747     IF g_PRICE_LIST_LINE_rec.creation_date = FND_API.G_MISS_DATE THEN
1748 
1749         g_PRICE_LIST_LINE_rec.creation_date := NULL;
1750 
1751     END IF;
1752 
1753     IF g_PRICE_LIST_LINE_rec.last_updated_by = FND_API.G_MISS_NUM THEN
1754 
1755         g_PRICE_LIST_LINE_rec.last_updated_by := NULL;
1756 
1757     END IF;
1758 
1759     IF g_PRICE_LIST_LINE_rec.last_update_date = FND_API.G_MISS_DATE THEN
1760 
1761         g_PRICE_LIST_LINE_rec.last_update_date := NULL;
1762 
1763     END IF;
1764 
1765     IF g_PRICE_LIST_LINE_rec.last_update_login = FND_API.G_MISS_NUM THEN
1766 
1767         g_PRICE_LIST_LINE_rec.last_update_login := NULL;
1768 
1769     END IF;
1770 
1771     IF g_PRICE_LIST_LINE_rec.program_application_id = FND_API.G_MISS_NUM THEN
1772 
1773         g_PRICE_LIST_LINE_rec.program_application_id := NULL;
1774 
1775     END IF;
1776 
1777     IF g_PRICE_LIST_LINE_rec.program_id = FND_API.G_MISS_NUM THEN
1778 
1779         g_PRICE_LIST_LINE_rec.program_id := NULL;
1780 
1781     END IF;
1782 
1783     IF g_PRICE_LIST_LINE_rec.program_update_date = FND_API.G_MISS_DATE THEN
1784 
1785         g_PRICE_LIST_LINE_rec.program_update_date := NULL;
1786 
1787     END IF;
1788 
1789     IF g_PRICE_LIST_LINE_rec.request_id = FND_API.G_MISS_NUM THEN
1790 
1791         g_PRICE_LIST_LINE_rec.request_id := NULL;
1792 
1793     END IF;
1794 
1795     --  Redefault if there are any missing attributes.
1796 
1797     IF  g_PRICE_LIST_LINE_rec.accrual_qty = FND_API.G_MISS_NUM
1798     OR  g_PRICE_LIST_LINE_rec.accrual_uom_code = FND_API.G_MISS_CHAR
1799     OR  g_PRICE_LIST_LINE_rec.arithmetic_operator = FND_API.G_MISS_CHAR
1800     OR  g_PRICE_LIST_LINE_rec.attribute1 = FND_API.G_MISS_CHAR
1801     OR  g_PRICE_LIST_LINE_rec.attribute10 = FND_API.G_MISS_CHAR
1802     OR  g_PRICE_LIST_LINE_rec.attribute11 = FND_API.G_MISS_CHAR
1803     OR  g_PRICE_LIST_LINE_rec.attribute12 = FND_API.G_MISS_CHAR
1804     OR  g_PRICE_LIST_LINE_rec.attribute13 = FND_API.G_MISS_CHAR
1805     OR  g_PRICE_LIST_LINE_rec.attribute14 = FND_API.G_MISS_CHAR
1806     OR  g_PRICE_LIST_LINE_rec.attribute15 = FND_API.G_MISS_CHAR
1807     OR  g_PRICE_LIST_LINE_rec.attribute2 = FND_API.G_MISS_CHAR
1808     OR  g_PRICE_LIST_LINE_rec.attribute3 = FND_API.G_MISS_CHAR
1809     OR  g_PRICE_LIST_LINE_rec.attribute4 = FND_API.G_MISS_CHAR
1810     OR  g_PRICE_LIST_LINE_rec.attribute5 = FND_API.G_MISS_CHAR
1811     OR  g_PRICE_LIST_LINE_rec.attribute6 = FND_API.G_MISS_CHAR
1812     OR  g_PRICE_LIST_LINE_rec.attribute7 = FND_API.G_MISS_CHAR
1813     OR  g_PRICE_LIST_LINE_rec.attribute8 = FND_API.G_MISS_CHAR
1814     OR  g_PRICE_LIST_LINE_rec.attribute9 = FND_API.G_MISS_CHAR
1815     OR  g_PRICE_LIST_LINE_rec.automatic_flag = FND_API.G_MISS_CHAR
1816     OR  g_PRICE_LIST_LINE_rec.base_qty = FND_API.G_MISS_NUM
1817     OR  g_PRICE_LIST_LINE_rec.base_uom_code = FND_API.G_MISS_CHAR
1818     OR  g_PRICE_LIST_LINE_rec.comments = FND_API.G_MISS_CHAR
1819     OR  g_PRICE_LIST_LINE_rec.context = FND_API.G_MISS_CHAR
1820     OR  g_PRICE_LIST_LINE_rec.created_by = FND_API.G_MISS_NUM
1821     OR  g_PRICE_LIST_LINE_rec.creation_date = FND_API.G_MISS_DATE
1822     OR  g_PRICE_LIST_LINE_rec.effective_period_uom = FND_API.G_MISS_CHAR
1823     OR  g_PRICE_LIST_LINE_rec.end_date_active = FND_API.G_MISS_DATE
1824     OR  g_PRICE_LIST_LINE_rec.estim_accrual_rate = FND_API.G_MISS_NUM
1825     OR  g_PRICE_LIST_LINE_rec.generate_using_formula_id = FND_API.G_MISS_NUM
1826     OR  g_PRICE_LIST_LINE_rec.inventory_item_id = FND_API.G_MISS_NUM
1827     OR  g_PRICE_LIST_LINE_rec.last_updated_by = FND_API.G_MISS_NUM
1828     OR  g_PRICE_LIST_LINE_rec.last_update_date = FND_API.G_MISS_DATE
1829     OR  g_PRICE_LIST_LINE_rec.last_update_login = FND_API.G_MISS_NUM
1830     OR  g_PRICE_LIST_LINE_rec.list_header_id = FND_API.G_MISS_NUM
1831     OR  g_PRICE_LIST_LINE_rec.list_line_id = FND_API.G_MISS_NUM
1832     OR  g_PRICE_LIST_LINE_rec.list_line_type_code = FND_API.G_MISS_CHAR
1833     OR  g_PRICE_LIST_LINE_rec.list_price = FND_API.G_MISS_NUM
1837     OR  g_PRICE_LIST_LINE_rec.modifier_level_code = FND_API.G_MISS_CHAR
1834     OR  g_PRICE_LIST_LINE_rec.from_rltd_modifier_id = FND_API.G_MISS_NUM
1835     OR  g_PRICE_LIST_LINE_rec.rltd_modifier_group_no = FND_API.G_MISS_NUM
1836     OR  g_PRICE_LIST_LINE_rec.product_precedence = FND_API.G_MISS_NUM
1838     OR  g_PRICE_LIST_LINE_rec.number_effective_periods = FND_API.G_MISS_NUM
1839     OR  g_PRICE_LIST_LINE_rec.operand = FND_API.G_MISS_NUM
1840     OR  g_PRICE_LIST_LINE_rec.organization_id = FND_API.G_MISS_NUM
1841     OR  g_PRICE_LIST_LINE_rec.override_flag = FND_API.G_MISS_CHAR
1842     OR  g_PRICE_LIST_LINE_rec.percent_price = FND_API.G_MISS_NUM
1843     OR  g_PRICE_LIST_LINE_rec.price_break_type_code = FND_API.G_MISS_CHAR
1844     OR  g_PRICE_LIST_LINE_rec.price_by_formula_id = FND_API.G_MISS_NUM
1845     OR  g_PRICE_LIST_LINE_rec.primary_uom_flag = FND_API.G_MISS_CHAR
1846     OR  g_PRICE_LIST_LINE_rec.print_on_invoice_flag = FND_API.G_MISS_CHAR
1847     OR  g_PRICE_LIST_LINE_rec.program_application_id = FND_API.G_MISS_NUM
1848     OR  g_PRICE_LIST_LINE_rec.program_id = FND_API.G_MISS_NUM
1849     OR  g_PRICE_LIST_LINE_rec.program_update_date = FND_API.G_MISS_DATE
1850     OR  g_PRICE_LIST_LINE_rec.rebate_trxn_type_code = FND_API.G_MISS_CHAR
1851     OR  g_PRICE_LIST_LINE_rec.related_item_id = FND_API.G_MISS_NUM
1852     OR  g_PRICE_LIST_LINE_rec.relationship_type_id = FND_API.G_MISS_NUM
1853     OR  g_PRICE_LIST_LINE_rec.reprice_flag = FND_API.G_MISS_CHAR
1854     OR  g_PRICE_LIST_LINE_rec.request_id = FND_API.G_MISS_NUM
1855     OR  g_PRICE_LIST_LINE_rec.revision = FND_API.G_MISS_CHAR
1856     OR  g_PRICE_LIST_LINE_rec.revision_date = FND_API.G_MISS_DATE
1857     OR  g_PRICE_LIST_LINE_rec.revision_reason_code = FND_API.G_MISS_CHAR
1858     OR  g_PRICE_LIST_LINE_rec.start_date_active = FND_API.G_MISS_DATE
1859     OR  g_PRICE_LIST_LINE_rec.substitution_attribute = FND_API.G_MISS_CHAR
1860     OR  g_PRICE_LIST_LINE_rec.substitution_context = FND_API.G_MISS_CHAR
1861     OR  g_PRICE_LIST_LINE_rec.substitution_value = FND_API.G_MISS_CHAR
1862     THEN
1863 
1864 	 oe_debug_pub.add('default attributes');
1865 
1866         QP_Default_Price_List_Line.Attributes
1867         (   p_PRICE_LIST_LINE_rec         => g_PRICE_LIST_LINE_rec
1868         ,   p_iteration                   => p_iteration + 1
1869         ,   x_PRICE_LIST_LINE_rec         => x_PRICE_LIST_LINE_rec
1870         );
1871 
1872     ELSE
1873 
1874         --  Done defaulting attributes
1875 
1876         x_PRICE_LIST_LINE_rec := g_PRICE_LIST_LINE_rec;
1877 
1878 
1879  oe_debug_pub.add('exiting attributes of list line');
1880 
1881 
1882     END IF;
1883 
1884     oe_debug_pub.add('after executing everything in attributes');
1885 
1886 END Attributes;
1887 
1888 END QP_Default_Price_List_Line;