745: and ql.list_line_type_code IN ('SUR', 'DIS', 'PLL')
746: and qrm.to_rltd_modifier_id = ql.list_line_id
747: and qrm.rltd_modifier_grp_type = 'PRICE BREAK'
748: and qrm.from_rltd_modifier_id = p_list_line_id
749: order by qp_number.canonical_to_number(qpa.PRICING_ATTR_VALUE_FROM);
750:
751: BEGIN
752: x_return_status := FND_API.G_RET_STS_SUCCESS;
753:
755:
756: FOR c_break_lines_attr_val_rec in c_break_lines_attr_values(p_list_line_id)
757: LOOP
758:
759: IF qp_number.canonical_to_number(c_break_lines_attr_val_rec.PRICING_ATTR_VALUE_FROM) >=
760: qp_number.canonical_to_number(c_break_lines_attr_val_rec.PRICING_ATTR_VALUE_TO)
761: THEN
762: l_status := 'FROM_NOT_LESS_THAN_TO';
763: EXIT;
756: FOR c_break_lines_attr_val_rec in c_break_lines_attr_values(p_list_line_id)
757: LOOP
758:
759: IF qp_number.canonical_to_number(c_break_lines_attr_val_rec.PRICING_ATTR_VALUE_FROM) >=
760: qp_number.canonical_to_number(c_break_lines_attr_val_rec.PRICING_ATTR_VALUE_TO)
761: THEN
762: l_status := 'FROM_NOT_LESS_THAN_TO';
763: EXIT;
764: END IF;
763: EXIT;
764: END IF;
765:
766: IF l_break_count = 0 THEN
767: IF qp_number.canonical_to_number(c_break_lines_attr_val_rec.PRICING_ATTR_VALUE_FROM) <> 0
768: THEN
769: l_status := 'NON_ZERO_FIRST_VALUE';
770: EXIT;
771: END IF;
769: l_status := 'NON_ZERO_FIRST_VALUE';
770: EXIT;
771: END IF;
772: ELSE
773: IF qp_number.canonical_to_number(c_break_lines_attr_val_rec.PRICING_ATTR_VALUE_FROM) > l_old_value_to
774: THEN
775: l_status := 'GAP';
776: EXIT;
777: ELSIF qp_number.canonical_to_number(c_break_lines_attr_val_rec.PRICING_ATTR_VALUE_FROM) < l_old_value_to
773: IF qp_number.canonical_to_number(c_break_lines_attr_val_rec.PRICING_ATTR_VALUE_FROM) > l_old_value_to
774: THEN
775: l_status := 'GAP';
776: EXIT;
777: ELSIF qp_number.canonical_to_number(c_break_lines_attr_val_rec.PRICING_ATTR_VALUE_FROM) < l_old_value_to
778: THEN
779: l_status := 'OVERLAP';
780: EXIT;
781: END IF;
780: EXIT;
781: END IF;
782: END IF;
783:
784: l_old_value_from := qp_number.canonical_to_number(c_break_lines_attr_val_rec.PRICING_ATTR_VALUE_FROM);
785: l_old_value_to := qp_number.canonical_to_number(c_break_lines_attr_val_rec.PRICING_ATTR_VALUE_TO);
786:
787:
788: l_break_count := l_break_count+1;
781: END IF;
782: END IF;
783:
784: l_old_value_from := qp_number.canonical_to_number(c_break_lines_attr_val_rec.PRICING_ATTR_VALUE_FROM);
785: l_old_value_to := qp_number.canonical_to_number(c_break_lines_attr_val_rec.PRICING_ATTR_VALUE_TO);
786:
787:
788: l_break_count := l_break_count+1;
789: END LOOP;