DBA Data[Home] [Help]

APPS.QP_CALCULATE_PRICE_PUB dependencies on QP_PREQ_GRP

Line 24: l_debug := QP_PREQ_GRP.G_DEBUG_ENGINE;

20: , p_modifier_level_code VARCHAR2)
21: RETURN NUMBER IS
22: x_lumpsum_qty NUMBER;
23: BEGIN
24: l_debug := QP_PREQ_GRP.G_DEBUG_ENGINE;
25: IF l_debug = FND_API.G_TRUE THEN
26: QP_PREQ_GRP.engine_debug('In Get_Lumpsum_Qty ..., QPXPCLPB.pls');
27: QP_PREQ_GRP.engine_debug('line_index '|| p_line_index
28: ||' line_dtl_index '|| p_line_detail_index

Line 26: QP_PREQ_GRP.engine_debug('In Get_Lumpsum_Qty ..., QPXPCLPB.pls');

22: x_lumpsum_qty NUMBER;
23: BEGIN
24: l_debug := QP_PREQ_GRP.G_DEBUG_ENGINE;
25: IF l_debug = FND_API.G_TRUE THEN
26: QP_PREQ_GRP.engine_debug('In Get_Lumpsum_Qty ..., QPXPCLPB.pls');
27: QP_PREQ_GRP.engine_debug('line_index '|| p_line_index
28: ||' line_dtl_index '|| p_line_detail_index
29: ||' level '|| p_modifier_level_code);
30: IF QP_PREQ_GRP.G_service_line_qty_tbl.EXISTS(p_line_index) THEN

Line 27: QP_PREQ_GRP.engine_debug('line_index '|| p_line_index

23: BEGIN
24: l_debug := QP_PREQ_GRP.G_DEBUG_ENGINE;
25: IF l_debug = FND_API.G_TRUE THEN
26: QP_PREQ_GRP.engine_debug('In Get_Lumpsum_Qty ..., QPXPCLPB.pls');
27: QP_PREQ_GRP.engine_debug('line_index '|| p_line_index
28: ||' line_dtl_index '|| p_line_detail_index
29: ||' level '|| p_modifier_level_code);
30: IF QP_PREQ_GRP.G_service_line_qty_tbl.EXISTS(p_line_index) THEN
31: QP_PREQ_GRP.engine_debug('line_index qty '

Line 30: IF QP_PREQ_GRP.G_service_line_qty_tbl.EXISTS(p_line_index) THEN

26: QP_PREQ_GRP.engine_debug('In Get_Lumpsum_Qty ..., QPXPCLPB.pls');
27: QP_PREQ_GRP.engine_debug('line_index '|| p_line_index
28: ||' line_dtl_index '|| p_line_detail_index
29: ||' level '|| p_modifier_level_code);
30: IF QP_PREQ_GRP.G_service_line_qty_tbl.EXISTS(p_line_index) THEN
31: QP_PREQ_GRP.engine_debug('line_index qty '
32: || QP_PREQ_GRP.G_service_line_qty_tbl(p_line_index));
33: END IF; --QP_PREQ_GRP.G_service_line_qty_tbl
34: IF QP_PREQ_GRP.G_service_line_qty_tbl.EXISTS(p_line_detail_index) THEN

Line 31: QP_PREQ_GRP.engine_debug('line_index qty '

27: QP_PREQ_GRP.engine_debug('line_index '|| p_line_index
28: ||' line_dtl_index '|| p_line_detail_index
29: ||' level '|| p_modifier_level_code);
30: IF QP_PREQ_GRP.G_service_line_qty_tbl.EXISTS(p_line_index) THEN
31: QP_PREQ_GRP.engine_debug('line_index qty '
32: || QP_PREQ_GRP.G_service_line_qty_tbl(p_line_index));
33: END IF; --QP_PREQ_GRP.G_service_line_qty_tbl
34: IF QP_PREQ_GRP.G_service_line_qty_tbl.EXISTS(p_line_detail_index) THEN
35: QP_PREQ_GRP.engine_debug('line_detail_index qty '

Line 32: || QP_PREQ_GRP.G_service_line_qty_tbl(p_line_index));

28: ||' line_dtl_index '|| p_line_detail_index
29: ||' level '|| p_modifier_level_code);
30: IF QP_PREQ_GRP.G_service_line_qty_tbl.EXISTS(p_line_index) THEN
31: QP_PREQ_GRP.engine_debug('line_index qty '
32: || QP_PREQ_GRP.G_service_line_qty_tbl(p_line_index));
33: END IF; --QP_PREQ_GRP.G_service_line_qty_tbl
34: IF QP_PREQ_GRP.G_service_line_qty_tbl.EXISTS(p_line_detail_index) THEN
35: QP_PREQ_GRP.engine_debug('line_detail_index qty '
36: || QP_PREQ_GRP.G_service_line_qty_tbl(p_line_detail_index));

Line 33: END IF; --QP_PREQ_GRP.G_service_line_qty_tbl

29: ||' level '|| p_modifier_level_code);
30: IF QP_PREQ_GRP.G_service_line_qty_tbl.EXISTS(p_line_index) THEN
31: QP_PREQ_GRP.engine_debug('line_index qty '
32: || QP_PREQ_GRP.G_service_line_qty_tbl(p_line_index));
33: END IF; --QP_PREQ_GRP.G_service_line_qty_tbl
34: IF QP_PREQ_GRP.G_service_line_qty_tbl.EXISTS(p_line_detail_index) THEN
35: QP_PREQ_GRP.engine_debug('line_detail_index qty '
36: || QP_PREQ_GRP.G_service_line_qty_tbl(p_line_detail_index));
37: END IF; --QP_PREQ_GRP.G_service_line_qty_tbl

Line 34: IF QP_PREQ_GRP.G_service_line_qty_tbl.EXISTS(p_line_detail_index) THEN

30: IF QP_PREQ_GRP.G_service_line_qty_tbl.EXISTS(p_line_index) THEN
31: QP_PREQ_GRP.engine_debug('line_index qty '
32: || QP_PREQ_GRP.G_service_line_qty_tbl(p_line_index));
33: END IF; --QP_PREQ_GRP.G_service_line_qty_tbl
34: IF QP_PREQ_GRP.G_service_line_qty_tbl.EXISTS(p_line_detail_index) THEN
35: QP_PREQ_GRP.engine_debug('line_detail_index qty '
36: || QP_PREQ_GRP.G_service_line_qty_tbl(p_line_detail_index));
37: END IF; --QP_PREQ_GRP.G_service_line_qty_tbl
38: END IF;

Line 35: QP_PREQ_GRP.engine_debug('line_detail_index qty '

31: QP_PREQ_GRP.engine_debug('line_index qty '
32: || QP_PREQ_GRP.G_service_line_qty_tbl(p_line_index));
33: END IF; --QP_PREQ_GRP.G_service_line_qty_tbl
34: IF QP_PREQ_GRP.G_service_line_qty_tbl.EXISTS(p_line_detail_index) THEN
35: QP_PREQ_GRP.engine_debug('line_detail_index qty '
36: || QP_PREQ_GRP.G_service_line_qty_tbl(p_line_detail_index));
37: END IF; --QP_PREQ_GRP.G_service_line_qty_tbl
38: END IF;
39: --4900095

Line 36: || QP_PREQ_GRP.G_service_line_qty_tbl(p_line_detail_index));

32: || QP_PREQ_GRP.G_service_line_qty_tbl(p_line_index));
33: END IF; --QP_PREQ_GRP.G_service_line_qty_tbl
34: IF QP_PREQ_GRP.G_service_line_qty_tbl.EXISTS(p_line_detail_index) THEN
35: QP_PREQ_GRP.engine_debug('line_detail_index qty '
36: || QP_PREQ_GRP.G_service_line_qty_tbl(p_line_detail_index));
37: END IF; --QP_PREQ_GRP.G_service_line_qty_tbl
38: END IF;
39: --4900095
40: IF (QP_PREQ_GRP.G_service_line_qty_tbl.EXISTS(p_line_index)

Line 37: END IF; --QP_PREQ_GRP.G_service_line_qty_tbl

33: END IF; --QP_PREQ_GRP.G_service_line_qty_tbl
34: IF QP_PREQ_GRP.G_service_line_qty_tbl.EXISTS(p_line_detail_index) THEN
35: QP_PREQ_GRP.engine_debug('line_detail_index qty '
36: || QP_PREQ_GRP.G_service_line_qty_tbl(p_line_detail_index));
37: END IF; --QP_PREQ_GRP.G_service_line_qty_tbl
38: END IF;
39: --4900095
40: IF (QP_PREQ_GRP.G_service_line_qty_tbl.EXISTS(p_line_index)
41: OR QP_PREQ_GRP.G_service_ldet_qty_tbl.EXISTS(p_line_detail_index)) THEN

Line 40: IF (QP_PREQ_GRP.G_service_line_qty_tbl.EXISTS(p_line_index)

36: || QP_PREQ_GRP.G_service_line_qty_tbl(p_line_detail_index));
37: END IF; --QP_PREQ_GRP.G_service_line_qty_tbl
38: END IF;
39: --4900095
40: IF (QP_PREQ_GRP.G_service_line_qty_tbl.EXISTS(p_line_index)
41: OR QP_PREQ_GRP.G_service_ldet_qty_tbl.EXISTS(p_line_detail_index)) THEN
42: IF p_modifier_level_code = QP_PREQ_GRP.G_LINE_GROUP THEN
43: x_lumpsum_qty :=
44: nvl(QP_PREQ_PUB.G_Service_pbh_lg_amt_qty(p_line_detail_index),

Line 41: OR QP_PREQ_GRP.G_service_ldet_qty_tbl.EXISTS(p_line_detail_index)) THEN

37: END IF; --QP_PREQ_GRP.G_service_line_qty_tbl
38: END IF;
39: --4900095
40: IF (QP_PREQ_GRP.G_service_line_qty_tbl.EXISTS(p_line_index)
41: OR QP_PREQ_GRP.G_service_ldet_qty_tbl.EXISTS(p_line_detail_index)) THEN
42: IF p_modifier_level_code = QP_PREQ_GRP.G_LINE_GROUP THEN
43: x_lumpsum_qty :=
44: nvl(QP_PREQ_PUB.G_Service_pbh_lg_amt_qty(p_line_detail_index),
45: QP_PREQ_GRP.G_service_ldet_qty_tbl(p_line_detail_index));

Line 42: IF p_modifier_level_code = QP_PREQ_GRP.G_LINE_GROUP THEN

38: END IF;
39: --4900095
40: IF (QP_PREQ_GRP.G_service_line_qty_tbl.EXISTS(p_line_index)
41: OR QP_PREQ_GRP.G_service_ldet_qty_tbl.EXISTS(p_line_detail_index)) THEN
42: IF p_modifier_level_code = QP_PREQ_GRP.G_LINE_GROUP THEN
43: x_lumpsum_qty :=
44: nvl(QP_PREQ_PUB.G_Service_pbh_lg_amt_qty(p_line_detail_index),
45: QP_PREQ_GRP.G_service_ldet_qty_tbl(p_line_detail_index));
46: ELSIF p_modifier_level_code = QP_PREQ_GRP.G_LINE_LEVEL THEN

Line 45: QP_PREQ_GRP.G_service_ldet_qty_tbl(p_line_detail_index));

41: OR QP_PREQ_GRP.G_service_ldet_qty_tbl.EXISTS(p_line_detail_index)) THEN
42: IF p_modifier_level_code = QP_PREQ_GRP.G_LINE_GROUP THEN
43: x_lumpsum_qty :=
44: nvl(QP_PREQ_PUB.G_Service_pbh_lg_amt_qty(p_line_detail_index),
45: QP_PREQ_GRP.G_service_ldet_qty_tbl(p_line_detail_index));
46: ELSIF p_modifier_level_code = QP_PREQ_GRP.G_LINE_LEVEL THEN
47: x_lumpsum_qty :=
48: QP_PREQ_GRP.G_service_line_qty_tbl(p_line_index);
49: END IF; --p_modifier_level_code

Line 46: ELSIF p_modifier_level_code = QP_PREQ_GRP.G_LINE_LEVEL THEN

42: IF p_modifier_level_code = QP_PREQ_GRP.G_LINE_GROUP THEN
43: x_lumpsum_qty :=
44: nvl(QP_PREQ_PUB.G_Service_pbh_lg_amt_qty(p_line_detail_index),
45: QP_PREQ_GRP.G_service_ldet_qty_tbl(p_line_detail_index));
46: ELSIF p_modifier_level_code = QP_PREQ_GRP.G_LINE_LEVEL THEN
47: x_lumpsum_qty :=
48: QP_PREQ_GRP.G_service_line_qty_tbl(p_line_index);
49: END IF; --p_modifier_level_code
50: END IF; --QP_PREQ_GRP.G_service_line_qty_tbl

Line 48: QP_PREQ_GRP.G_service_line_qty_tbl(p_line_index);

44: nvl(QP_PREQ_PUB.G_Service_pbh_lg_amt_qty(p_line_detail_index),
45: QP_PREQ_GRP.G_service_ldet_qty_tbl(p_line_detail_index));
46: ELSIF p_modifier_level_code = QP_PREQ_GRP.G_LINE_LEVEL THEN
47: x_lumpsum_qty :=
48: QP_PREQ_GRP.G_service_line_qty_tbl(p_line_index);
49: END IF; --p_modifier_level_code
50: END IF; --QP_PREQ_GRP.G_service_line_qty_tbl
51:
52: IF l_debug = FND_API.G_TRUE THEN

Line 50: END IF; --QP_PREQ_GRP.G_service_line_qty_tbl

46: ELSIF p_modifier_level_code = QP_PREQ_GRP.G_LINE_LEVEL THEN
47: x_lumpsum_qty :=
48: QP_PREQ_GRP.G_service_line_qty_tbl(p_line_index);
49: END IF; --p_modifier_level_code
50: END IF; --QP_PREQ_GRP.G_service_line_qty_tbl
51:
52: IF l_debug = FND_API.G_TRUE THEN
53: QP_PREQ_GRP.engine_debug('Get_Lumpsum_Qty '|| x_lumpsum_qty);
54: END IF;

Line 53: QP_PREQ_GRP.engine_debug('Get_Lumpsum_Qty '|| x_lumpsum_qty);

49: END IF; --p_modifier_level_code
50: END IF; --QP_PREQ_GRP.G_service_line_qty_tbl
51:
52: IF l_debug = FND_API.G_TRUE THEN
53: QP_PREQ_GRP.engine_debug('Get_Lumpsum_Qty '|| x_lumpsum_qty);
54: END IF;
55:
56: RETURN x_lumpsum_qty;
57: EXCEPTION

Line 80: l_debug := QP_PREQ_GRP.G_DEBUG_ENGINE;

76: v_routine_name CONSTANT VARCHAR2(240) := 'Routine:QP_Calculate_Price_PUB.Calculate_List_Price';
77: v_price_round_options VARCHAR2(30) := NULL; --shu, new rounding
78:
79: BEGIN
80: l_debug := QP_PREQ_GRP.G_DEBUG_ENGINE;
81: x_return_status := FND_API.G_RET_STS_SUCCESS;
82: IF l_debug = FND_API.G_TRUE THEN
83: QP_PREQ_GRP.engine_debug('In Calculate_List_Price ..., QPXPCLPB.pls');
84: END IF;

Line 83: QP_PREQ_GRP.engine_debug('In Calculate_List_Price ..., QPXPCLPB.pls');

79: BEGIN
80: l_debug := QP_PREQ_GRP.G_DEBUG_ENGINE;
81: x_return_status := FND_API.G_RET_STS_SUCCESS;
82: IF l_debug = FND_API.G_TRUE THEN
83: QP_PREQ_GRP.engine_debug('In Calculate_List_Price ..., QPXPCLPB.pls');
84: END IF;
85: IF (p_operand_calc_code = QP_PREQ_GRP.G_UNIT_PRICE) THEN
86: x_list_price := p_operand_value * p_service_duration;
87: ELSIF(p_operand_calc_code = QP_PREQ_GRP.G_BLOCK_PRICE) THEN -- block pricing

Line 85: IF (p_operand_calc_code = QP_PREQ_GRP.G_UNIT_PRICE) THEN

81: x_return_status := FND_API.G_RET_STS_SUCCESS;
82: IF l_debug = FND_API.G_TRUE THEN
83: QP_PREQ_GRP.engine_debug('In Calculate_List_Price ..., QPXPCLPB.pls');
84: END IF;
85: IF (p_operand_calc_code = QP_PREQ_GRP.G_UNIT_PRICE) THEN
86: x_list_price := p_operand_value * p_service_duration;
87: ELSIF(p_operand_calc_code = QP_PREQ_GRP.G_BLOCK_PRICE) THEN -- block pricing
88: IF (p_request_qty = 0) THEN
89: x_list_price := 0;

Line 87: ELSIF(p_operand_calc_code = QP_PREQ_GRP.G_BLOCK_PRICE) THEN -- block pricing

83: QP_PREQ_GRP.engine_debug('In Calculate_List_Price ..., QPXPCLPB.pls');
84: END IF;
85: IF (p_operand_calc_code = QP_PREQ_GRP.G_UNIT_PRICE) THEN
86: x_list_price := p_operand_value * p_service_duration;
87: ELSIF(p_operand_calc_code = QP_PREQ_GRP.G_BLOCK_PRICE) THEN -- block pricing
88: IF (p_request_qty = 0) THEN
89: x_list_price := 0;
90: ELSE
91: IF l_debug = FND_API.G_TRUE THEN

Line 92: qp_preq_grp.engine_debug('In Calculate_List_Price #1');

88: IF (p_request_qty = 0) THEN
89: x_list_price := 0;
90: ELSE
91: IF l_debug = FND_API.G_TRUE THEN
92: qp_preq_grp.engine_debug('In Calculate_List_Price #1');
93: END IF;
94: x_list_price := (p_operand_value / p_request_qty);
95: IF l_debug = FND_API.G_TRUE THEN
96: qp_preq_grp.engine_debug('Request Qty: ' || p_request_qty);

Line 96: qp_preq_grp.engine_debug('Request Qty: ' || p_request_qty);

92: qp_preq_grp.engine_debug('In Calculate_List_Price #1');
93: END IF;
94: x_list_price := (p_operand_value / p_request_qty);
95: IF l_debug = FND_API.G_TRUE THEN
96: qp_preq_grp.engine_debug('Request Qty: ' || p_request_qty);
97: qp_preq_grp.engine_debug('List Price: ' || x_list_price);
98: END IF;
99: END IF;
100: ELSIF(p_operand_calc_code = QP_PREQ_GRP.G_PERCENT_PRICE) THEN

Line 97: qp_preq_grp.engine_debug('List Price: ' || x_list_price);

93: END IF;
94: x_list_price := (p_operand_value / p_request_qty);
95: IF l_debug = FND_API.G_TRUE THEN
96: qp_preq_grp.engine_debug('Request Qty: ' || p_request_qty);
97: qp_preq_grp.engine_debug('List Price: ' || x_list_price);
98: END IF;
99: END IF;
100: ELSIF(p_operand_calc_code = QP_PREQ_GRP.G_PERCENT_PRICE) THEN
101: x_list_price := (p_operand_value / 100) * p_rltd_item_price * p_service_duration;

Line 100: ELSIF(p_operand_calc_code = QP_PREQ_GRP.G_PERCENT_PRICE) THEN

96: qp_preq_grp.engine_debug('Request Qty: ' || p_request_qty);
97: qp_preq_grp.engine_debug('List Price: ' || x_list_price);
98: END IF;
99: END IF;
100: ELSIF(p_operand_calc_code = QP_PREQ_GRP.G_PERCENT_PRICE) THEN
101: x_list_price := (p_operand_value / 100) * p_rltd_item_price * p_service_duration;
102: x_percent_price := p_operand_value; -- service duration is not applicable here.Discussion with Alison
103: END IF;
104:

Line 108: QP_PREQ_GRP.engine_debug('In procedure Calculate_List_Price ...');

104:
105: -- ravi passed (-1)*request_line.rounding_factor when calling this procedure, therefore needs to *(-1)
106: -- to print the original rounding_factor
107: IF l_debug = FND_API.G_TRUE THEN
108: QP_PREQ_GRP.engine_debug('In procedure Calculate_List_Price ...');
109: QP_PREQ_GRP.engine_debug('G_ROUNDING_FLAG: '|| QP_PREQ_GRP.G_ROUNDING_FLAG); -- aso rounding, shu, 2457629
110: QP_PREQ_GRP.engine_debug('rounding_factor: '|| ( - 1) * p_rounding_factor); -- ravi passed (-1)*request_line.rounding_factor
111:
112: END IF;

Line 109: QP_PREQ_GRP.engine_debug('G_ROUNDING_FLAG: '|| QP_PREQ_GRP.G_ROUNDING_FLAG); -- aso rounding, shu, 2457629

105: -- ravi passed (-1)*request_line.rounding_factor when calling this procedure, therefore needs to *(-1)
106: -- to print the original rounding_factor
107: IF l_debug = FND_API.G_TRUE THEN
108: QP_PREQ_GRP.engine_debug('In procedure Calculate_List_Price ...');
109: QP_PREQ_GRP.engine_debug('G_ROUNDING_FLAG: '|| QP_PREQ_GRP.G_ROUNDING_FLAG); -- aso rounding, shu, 2457629
110: QP_PREQ_GRP.engine_debug('rounding_factor: '|| ( - 1) * p_rounding_factor); -- ravi passed (-1)*request_line.rounding_factor
111:
112: END IF;
113: IF (nvl(QP_PREQ_GRP.G_ROUNDING_FLAG, QP_PREQ_GRP.G_YES) = QP_PREQ_GRP.G_YES AND p_rounding_factor IS NOT NULL) THEN

Line 110: QP_PREQ_GRP.engine_debug('rounding_factor: '|| ( - 1) * p_rounding_factor); -- ravi passed (-1)*request_line.rounding_factor

106: -- to print the original rounding_factor
107: IF l_debug = FND_API.G_TRUE THEN
108: QP_PREQ_GRP.engine_debug('In procedure Calculate_List_Price ...');
109: QP_PREQ_GRP.engine_debug('G_ROUNDING_FLAG: '|| QP_PREQ_GRP.G_ROUNDING_FLAG); -- aso rounding, shu, 2457629
110: QP_PREQ_GRP.engine_debug('rounding_factor: '|| ( - 1) * p_rounding_factor); -- ravi passed (-1)*request_line.rounding_factor
111:
112: END IF;
113: IF (nvl(QP_PREQ_GRP.G_ROUNDING_FLAG, QP_PREQ_GRP.G_YES) = QP_PREQ_GRP.G_YES AND p_rounding_factor IS NOT NULL) THEN
114:

Line 113: IF (nvl(QP_PREQ_GRP.G_ROUNDING_FLAG, QP_PREQ_GRP.G_YES) = QP_PREQ_GRP.G_YES AND p_rounding_factor IS NOT NULL) THEN

109: QP_PREQ_GRP.engine_debug('G_ROUNDING_FLAG: '|| QP_PREQ_GRP.G_ROUNDING_FLAG); -- aso rounding, shu, 2457629
110: QP_PREQ_GRP.engine_debug('rounding_factor: '|| ( - 1) * p_rounding_factor); -- ravi passed (-1)*request_line.rounding_factor
111:
112: END IF;
113: IF (nvl(QP_PREQ_GRP.G_ROUNDING_FLAG, QP_PREQ_GRP.G_YES) = QP_PREQ_GRP.G_YES AND p_rounding_factor IS NOT NULL) THEN
114:
115: x_list_price := ROUND(x_list_price, p_rounding_factor);
116: x_percent_price := ROUND(x_percent_price, p_rounding_factor);
117:

Line 118: ELSIF (QP_PREQ_GRP.G_ROUNDING_FLAG = G_CHAR_Q) THEN -- check v_selling_price_rounding_options profile

114:
115: x_list_price := ROUND(x_list_price, p_rounding_factor);
116: x_percent_price := ROUND(x_percent_price, p_rounding_factor);
117:
118: ELSIF (QP_PREQ_GRP.G_ROUNDING_FLAG = G_CHAR_Q) THEN -- check v_selling_price_rounding_options profile
119: IF l_debug = FND_API.G_TRUE THEN
120: QP_PREQ_GRP.engine_debug('are we here 2?');
121: END IF;
122: v_price_round_options := nvl(FND_PROFILE.VALUE('QP_SELLING_PRICE_ROUNDING_OPTIONS'), QP_Calculate_Price_PUB.G_NO_ROUND); --shu, new rounding

Line 120: QP_PREQ_GRP.engine_debug('are we here 2?');

116: x_percent_price := ROUND(x_percent_price, p_rounding_factor);
117:
118: ELSIF (QP_PREQ_GRP.G_ROUNDING_FLAG = G_CHAR_Q) THEN -- check v_selling_price_rounding_options profile
119: IF l_debug = FND_API.G_TRUE THEN
120: QP_PREQ_GRP.engine_debug('are we here 2?');
121: END IF;
122: v_price_round_options := nvl(FND_PROFILE.VALUE('QP_SELLING_PRICE_ROUNDING_OPTIONS'), QP_Calculate_Price_PUB.G_NO_ROUND); --shu, new rounding
123: IF l_debug = FND_API.G_TRUE THEN
124: QP_PREQ_GRP.engine_debug('selling_price_rounding_options: '|| v_price_round_options );

Line 124: QP_PREQ_GRP.engine_debug('selling_price_rounding_options: '|| v_price_round_options );

120: QP_PREQ_GRP.engine_debug('are we here 2?');
121: END IF;
122: v_price_round_options := nvl(FND_PROFILE.VALUE('QP_SELLING_PRICE_ROUNDING_OPTIONS'), QP_Calculate_Price_PUB.G_NO_ROUND); --shu, new rounding
123: IF l_debug = FND_API.G_TRUE THEN
124: QP_PREQ_GRP.engine_debug('selling_price_rounding_options: '|| v_price_round_options );
125: END IF;
126: IF (v_price_round_options = G_ROUND_ADJ AND p_rounding_factor IS NOT NULL) THEN
127: x_list_price := ROUND(x_list_price, p_rounding_factor);
128: x_percent_price := ROUND(x_percent_price, p_rounding_factor);

Line 133: QP_PREQ_GRP.engine_debug('x_list_price' || x_list_price);

129: END IF;
130: END IF;
131:
132: IF l_debug = FND_API.G_TRUE THEN
133: QP_PREQ_GRP.engine_debug('x_list_price' || x_list_price);
134: END IF;
135: -- end shu new rounding
136: EXCEPTION
137: WHEN OTHERS THEN

Line 139: QP_PREQ_GRP.engine_debug(v_routine_name || ' ' || SQLERRM);

135: -- end shu new rounding
136: EXCEPTION
137: WHEN OTHERS THEN
138: IF l_debug = FND_API.G_TRUE THEN
139: QP_PREQ_GRP.engine_debug(v_routine_name || ' ' || SQLERRM);
140: END IF;
141: x_return_status := FND_API.G_RET_STS_ERROR;
142: x_return_status_txt := v_routine_name || ' ' || SQLERRM;
143: END Calculate_List_Price;

Line 165: l_debug := QP_PREQ_GRP.G_DEBUG_ENGINE;

161: v_routine_name CONSTANT VARCHAR2(240) := 'Routine:QP_Calculate_Price_PUB.Calculate_List_Price_PVT';
162: v_price_round_options VARCHAR2(30) := NULL; --shu, new rounding
163:
164: BEGIN
165: l_debug := QP_PREQ_GRP.G_DEBUG_ENGINE;
166: x_return_status := FND_API.G_RET_STS_SUCCESS;
167: IF l_debug = FND_API.G_TRUE THEN
168: QP_PREQ_GRP.engine_debug('In Calculate_List_Price_PVT..., QPXPCLPB.pls');
169: END IF;

Line 168: QP_PREQ_GRP.engine_debug('In Calculate_List_Price_PVT..., QPXPCLPB.pls');

164: BEGIN
165: l_debug := QP_PREQ_GRP.G_DEBUG_ENGINE;
166: x_return_status := FND_API.G_RET_STS_SUCCESS;
167: IF l_debug = FND_API.G_TRUE THEN
168: QP_PREQ_GRP.engine_debug('In Calculate_List_Price_PVT..., QPXPCLPB.pls');
169: END IF;
170: IF (p_operand_calc_code IN (QP_PREQ_GRP.G_UNIT_PRICE, QP_PREQ_GRP.G_BREAKUNIT_PRICE)) THEN
171: x_list_price := p_operand_value * p_service_duration;
172: ELSIF(p_operand_calc_code = QP_PREQ_GRP.G_BLOCK_PRICE) THEN -- block pricing

Line 170: IF (p_operand_calc_code IN (QP_PREQ_GRP.G_UNIT_PRICE, QP_PREQ_GRP.G_BREAKUNIT_PRICE)) THEN

166: x_return_status := FND_API.G_RET_STS_SUCCESS;
167: IF l_debug = FND_API.G_TRUE THEN
168: QP_PREQ_GRP.engine_debug('In Calculate_List_Price_PVT..., QPXPCLPB.pls');
169: END IF;
170: IF (p_operand_calc_code IN (QP_PREQ_GRP.G_UNIT_PRICE, QP_PREQ_GRP.G_BREAKUNIT_PRICE)) THEN
171: x_list_price := p_operand_value * p_service_duration;
172: ELSIF(p_operand_calc_code = QP_PREQ_GRP.G_BLOCK_PRICE) THEN -- block pricing
173: IF (p_request_qty = 0) THEN
174: x_list_price := 0;

Line 172: ELSIF(p_operand_calc_code = QP_PREQ_GRP.G_BLOCK_PRICE) THEN -- block pricing

168: QP_PREQ_GRP.engine_debug('In Calculate_List_Price_PVT..., QPXPCLPB.pls');
169: END IF;
170: IF (p_operand_calc_code IN (QP_PREQ_GRP.G_UNIT_PRICE, QP_PREQ_GRP.G_BREAKUNIT_PRICE)) THEN
171: x_list_price := p_operand_value * p_service_duration;
172: ELSIF(p_operand_calc_code = QP_PREQ_GRP.G_BLOCK_PRICE) THEN -- block pricing
173: IF (p_request_qty = 0) THEN
174: x_list_price := 0;
175: x_extended_price := p_operand_value;
176: ELSE

Line 179: qp_preq_grp.engine_debug('In Calculate_List_Price_PVT #1');

175: x_extended_price := p_operand_value;
176: ELSE
177: IF (p_recurring_value IS NULL) THEN
178: IF l_debug = FND_API.G_TRUE THEN
179: qp_preq_grp.engine_debug('In Calculate_List_Price_PVT #1');
180: END IF;
181: x_list_price := (p_operand_value / p_request_qty);
182: x_extended_price := p_operand_value;
183: IF l_debug = FND_API.G_TRUE THEN

Line 184: qp_preq_grp.engine_debug('Extended Price #1 : ' || x_extended_price);

180: END IF;
181: x_list_price := (p_operand_value / p_request_qty);
182: x_extended_price := p_operand_value;
183: IF l_debug = FND_API.G_TRUE THEN
184: qp_preq_grp.engine_debug('Extended Price #1 : ' || x_extended_price);
185: qp_preq_grp.engine_debug('Request Qty: ' || p_request_qty);
186: qp_preq_grp.engine_debug('List Price: ' || x_list_price);
187: END IF;
188: ELSE

Line 185: qp_preq_grp.engine_debug('Request Qty: ' || p_request_qty);

181: x_list_price := (p_operand_value / p_request_qty);
182: x_extended_price := p_operand_value;
183: IF l_debug = FND_API.G_TRUE THEN
184: qp_preq_grp.engine_debug('Extended Price #1 : ' || x_extended_price);
185: qp_preq_grp.engine_debug('Request Qty: ' || p_request_qty);
186: qp_preq_grp.engine_debug('List Price: ' || x_list_price);
187: END IF;
188: ELSE
189: IF l_debug = FND_API.G_TRUE THEN

Line 186: qp_preq_grp.engine_debug('List Price: ' || x_list_price);

182: x_extended_price := p_operand_value;
183: IF l_debug = FND_API.G_TRUE THEN
184: qp_preq_grp.engine_debug('Extended Price #1 : ' || x_extended_price);
185: qp_preq_grp.engine_debug('Request Qty: ' || p_request_qty);
186: qp_preq_grp.engine_debug('List Price: ' || x_list_price);
187: END IF;
188: ELSE
189: IF l_debug = FND_API.G_TRUE THEN
190: qp_preq_grp.engine_debug('In Calculate_List_Price_PVT #2');

Line 190: qp_preq_grp.engine_debug('In Calculate_List_Price_PVT #2');

186: qp_preq_grp.engine_debug('List Price: ' || x_list_price);
187: END IF;
188: ELSE
189: IF l_debug = FND_API.G_TRUE THEN
190: qp_preq_grp.engine_debug('In Calculate_List_Price_PVT #2');
191: END IF;
192: x_list_price := p_operand_value / p_recurring_value;
193: x_extended_price := x_list_price * p_request_qty;
194: IF l_debug = FND_API.G_TRUE THEN

Line 195: qp_preq_grp.engine_debug('Extended Price #2: ' || x_extended_price);

191: END IF;
192: x_list_price := p_operand_value / p_recurring_value;
193: x_extended_price := x_list_price * p_request_qty;
194: IF l_debug = FND_API.G_TRUE THEN
195: qp_preq_grp.engine_debug('Extended Price #2: ' || x_extended_price);
196: END IF;
197: END IF;
198: END IF;
199: ELSIF(p_operand_calc_code = QP_PREQ_GRP.G_PERCENT_PRICE) THEN

Line 199: ELSIF(p_operand_calc_code = QP_PREQ_GRP.G_PERCENT_PRICE) THEN

195: qp_preq_grp.engine_debug('Extended Price #2: ' || x_extended_price);
196: END IF;
197: END IF;
198: END IF;
199: ELSIF(p_operand_calc_code = QP_PREQ_GRP.G_PERCENT_PRICE) THEN
200: x_list_price := (p_operand_value / 100) * p_rltd_item_price * p_service_duration;
201: x_percent_price := p_operand_value; -- service duration is not applicable here.Discussion with Alison
202: END IF;
203:

Line 207: QP_PREQ_GRP.engine_debug('In procedure Calculate_List_Price_PVT...');

203:
204: -- ravi passed (-1)*request_line.rounding_factor when calling this procedure, therefore needs to *(-1)
205: -- to print the original rounding_factor
206: IF l_debug = FND_API.G_TRUE THEN
207: QP_PREQ_GRP.engine_debug('In procedure Calculate_List_Price_PVT...');
208: QP_PREQ_GRP.engine_debug('G_ROUNDING_FLAG: '|| QP_PREQ_GRP.G_ROUNDING_FLAG); -- aso rounding, shu, 2457629
209: QP_PREQ_GRP.engine_debug('rounding_factor: '|| ( - 1) * p_rounding_factor); -- ravi passed (-1)*request_line.rounding_factor
210:
211: END IF;

Line 208: QP_PREQ_GRP.engine_debug('G_ROUNDING_FLAG: '|| QP_PREQ_GRP.G_ROUNDING_FLAG); -- aso rounding, shu, 2457629

204: -- ravi passed (-1)*request_line.rounding_factor when calling this procedure, therefore needs to *(-1)
205: -- to print the original rounding_factor
206: IF l_debug = FND_API.G_TRUE THEN
207: QP_PREQ_GRP.engine_debug('In procedure Calculate_List_Price_PVT...');
208: QP_PREQ_GRP.engine_debug('G_ROUNDING_FLAG: '|| QP_PREQ_GRP.G_ROUNDING_FLAG); -- aso rounding, shu, 2457629
209: QP_PREQ_GRP.engine_debug('rounding_factor: '|| ( - 1) * p_rounding_factor); -- ravi passed (-1)*request_line.rounding_factor
210:
211: END IF;
212: IF (nvl(QP_PREQ_GRP.G_ROUNDING_FLAG, QP_PREQ_GRP.G_YES) = QP_PREQ_GRP.G_YES AND p_rounding_factor IS NOT NULL) THEN

Line 209: QP_PREQ_GRP.engine_debug('rounding_factor: '|| ( - 1) * p_rounding_factor); -- ravi passed (-1)*request_line.rounding_factor

205: -- to print the original rounding_factor
206: IF l_debug = FND_API.G_TRUE THEN
207: QP_PREQ_GRP.engine_debug('In procedure Calculate_List_Price_PVT...');
208: QP_PREQ_GRP.engine_debug('G_ROUNDING_FLAG: '|| QP_PREQ_GRP.G_ROUNDING_FLAG); -- aso rounding, shu, 2457629
209: QP_PREQ_GRP.engine_debug('rounding_factor: '|| ( - 1) * p_rounding_factor); -- ravi passed (-1)*request_line.rounding_factor
210:
211: END IF;
212: IF (nvl(QP_PREQ_GRP.G_ROUNDING_FLAG, QP_PREQ_GRP.G_YES) = QP_PREQ_GRP.G_YES AND p_rounding_factor IS NOT NULL) THEN
213:

Line 212: IF (nvl(QP_PREQ_GRP.G_ROUNDING_FLAG, QP_PREQ_GRP.G_YES) = QP_PREQ_GRP.G_YES AND p_rounding_factor IS NOT NULL) THEN

208: QP_PREQ_GRP.engine_debug('G_ROUNDING_FLAG: '|| QP_PREQ_GRP.G_ROUNDING_FLAG); -- aso rounding, shu, 2457629
209: QP_PREQ_GRP.engine_debug('rounding_factor: '|| ( - 1) * p_rounding_factor); -- ravi passed (-1)*request_line.rounding_factor
210:
211: END IF;
212: IF (nvl(QP_PREQ_GRP.G_ROUNDING_FLAG, QP_PREQ_GRP.G_YES) = QP_PREQ_GRP.G_YES AND p_rounding_factor IS NOT NULL) THEN
213:
214: x_list_price := ROUND(x_list_price, p_rounding_factor);
215: x_percent_price := ROUND(x_percent_price, p_rounding_factor);
216:

Line 217: ELSIF (QP_PREQ_GRP.G_ROUNDING_FLAG = G_CHAR_Q) THEN -- check v_selling_price_rounding_options profile

213:
214: x_list_price := ROUND(x_list_price, p_rounding_factor);
215: x_percent_price := ROUND(x_percent_price, p_rounding_factor);
216:
217: ELSIF (QP_PREQ_GRP.G_ROUNDING_FLAG = G_CHAR_Q) THEN -- check v_selling_price_rounding_options profile
218:
219: v_price_round_options := nvl(FND_PROFILE.VALUE('QP_SELLING_PRICE_ROUNDING_OPTIONS'), QP_Calculate_Price_PUB.G_NO_ROUND); --shu, new rounding
220: IF l_debug = FND_API.G_TRUE THEN
221: QP_PREQ_GRP.engine_debug('selling_price_rounding_options: '|| v_price_round_options );

Line 221: QP_PREQ_GRP.engine_debug('selling_price_rounding_options: '|| v_price_round_options );

217: ELSIF (QP_PREQ_GRP.G_ROUNDING_FLAG = G_CHAR_Q) THEN -- check v_selling_price_rounding_options profile
218:
219: v_price_round_options := nvl(FND_PROFILE.VALUE('QP_SELLING_PRICE_ROUNDING_OPTIONS'), QP_Calculate_Price_PUB.G_NO_ROUND); --shu, new rounding
220: IF l_debug = FND_API.G_TRUE THEN
221: QP_PREQ_GRP.engine_debug('selling_price_rounding_options: '|| v_price_round_options );
222: END IF;
223:
224: IF (v_price_round_options = G_ROUND_ADJ AND p_rounding_factor IS NOT NULL) THEN
225: x_list_price := ROUND(x_list_price, p_rounding_factor);

Line 231: QP_PREQ_GRP.engine_debug('x_list_price' || x_list_price);

227: END IF;
228: END IF; -- end rounding stuff
229:
230: IF l_debug = FND_API.G_TRUE THEN
231: QP_PREQ_GRP.engine_debug('x_list_price' || x_list_price);
232: END IF;
233: -- end shu new rounding
234: EXCEPTION
235: WHEN OTHERS THEN

Line 237: QP_PREQ_GRP.engine_debug(v_routine_name || ' ' || SQLERRM);

233: -- end shu new rounding
234: EXCEPTION
235: WHEN OTHERS THEN
236: IF l_debug = FND_API.G_TRUE THEN
237: QP_PREQ_GRP.engine_debug(v_routine_name || ' ' || SQLERRM);
238: END IF;
239: x_return_status := FND_API.G_RET_STS_ERROR;
240: x_return_status_txt := v_routine_name || ' ' || SQLERRM;
241: END Calculate_List_Price_PVT;

Line 267: l_debug := QP_PREQ_GRP.G_DEBUG_ENGINE;

263: v_routine_name CONSTANT VARCHAR2(240) := 'Routine:QP_Calculate_Price_PUB.Calculate_Adjusted_Price';
264: v_price_round_options VARCHAR2(30) := NULL; --shu, new rounding
265:
266: BEGIN
267: l_debug := QP_PREQ_GRP.G_DEBUG_ENGINE;
268: IF l_debug = FND_API.G_TRUE THEN
269: QP_PREQ_GRP.engine_debug('In Calculate_Adjusted_Price...');
270: END IF;
271: v_price_round_options := FND_PROFILE.VALUE('QP_SELLING_PRICE_ROUNDING_OPTIONS'); --shu, new rounding

Line 269: QP_PREQ_GRP.engine_debug('In Calculate_Adjusted_Price...');

265:
266: BEGIN
267: l_debug := QP_PREQ_GRP.G_DEBUG_ENGINE;
268: IF l_debug = FND_API.G_TRUE THEN
269: QP_PREQ_GRP.engine_debug('In Calculate_Adjusted_Price...');
270: END IF;
271: v_price_round_options := FND_PROFILE.VALUE('QP_SELLING_PRICE_ROUNDING_OPTIONS'); --shu, new rounding
272: IF l_debug = FND_API.G_TRUE THEN
273: QP_PREQ_GRP.engine_debug('selling_price_rounding_options: '|| v_price_round_options );

Line 273: QP_PREQ_GRP.engine_debug('selling_price_rounding_options: '|| v_price_round_options );

269: QP_PREQ_GRP.engine_debug('In Calculate_Adjusted_Price...');
270: END IF;
271: v_price_round_options := FND_PROFILE.VALUE('QP_SELLING_PRICE_ROUNDING_OPTIONS'); --shu, new rounding
272: IF l_debug = FND_API.G_TRUE THEN
273: QP_PREQ_GRP.engine_debug('selling_price_rounding_options: '|| v_price_round_options );
274: QP_PREQ_GRP.engine_debug('G_ROUNDING_FLAG: '|| QP_PREQ_GRP.G_ROUNDING_FLAG); -- aso rounding, shu, 2457629
275: END IF;
276: -- ravi passed (-1)*request_line.rounding_factor when calling this procedure, therefore needs to *(-1)
277: -- to print the original rounding_factor

Line 274: QP_PREQ_GRP.engine_debug('G_ROUNDING_FLAG: '|| QP_PREQ_GRP.G_ROUNDING_FLAG); -- aso rounding, shu, 2457629

270: END IF;
271: v_price_round_options := FND_PROFILE.VALUE('QP_SELLING_PRICE_ROUNDING_OPTIONS'); --shu, new rounding
272: IF l_debug = FND_API.G_TRUE THEN
273: QP_PREQ_GRP.engine_debug('selling_price_rounding_options: '|| v_price_round_options );
274: QP_PREQ_GRP.engine_debug('G_ROUNDING_FLAG: '|| QP_PREQ_GRP.G_ROUNDING_FLAG); -- aso rounding, shu, 2457629
275: END IF;
276: -- ravi passed (-1)*request_line.rounding_factor when calling this procedure, therefore needs to *(-1)
277: -- to print the original rounding_factor
278: IF l_debug = FND_API.G_TRUE THEN

Line 279: QP_PREQ_GRP.engine_debug('rounding_factor: '|| ( - 1) * p_rounding_factor); -- ravi passed (-1)*request_line.rounding_factor

275: END IF;
276: -- ravi passed (-1)*request_line.rounding_factor when calling this procedure, therefore needs to *(-1)
277: -- to print the original rounding_factor
278: IF l_debug = FND_API.G_TRUE THEN
279: QP_PREQ_GRP.engine_debug('rounding_factor: '|| ( - 1) * p_rounding_factor); -- ravi passed (-1)*request_line.rounding_factor
280: END IF;
281:
282: x_return_status := FND_API.G_RET_STS_SUCCESS;
283: IF (p_old_pricing_sequence = p_new_pricing_sequence AND p_new_pricing_sequence IS NOT NULL) THEN

Line 285: QP_PREQ_GRP.engine_debug('I am in Calculate Adjusted Price');

281:
282: x_return_status := FND_API.G_RET_STS_SUCCESS;
283: IF (p_old_pricing_sequence = p_new_pricing_sequence AND p_new_pricing_sequence IS NOT NULL) THEN
284: IF l_debug = FND_API.G_TRUE THEN
285: QP_PREQ_GRP.engine_debug('I am in Calculate Adjusted Price');
286: END IF;
287:
288: -- G_BREAKUNIT_PRICE added for FTE breakunit
289: IF (p_operand_calc_code IN (QP_PREQ_GRP.G_AMOUNT_DISCOUNT, QP_PREQ_GRP.G_BREAKUNIT_PRICE)) THEN

Line 289: IF (p_operand_calc_code IN (QP_PREQ_GRP.G_AMOUNT_DISCOUNT, QP_PREQ_GRP.G_BREAKUNIT_PRICE)) THEN

285: QP_PREQ_GRP.engine_debug('I am in Calculate Adjusted Price');
286: END IF;
287:
288: -- G_BREAKUNIT_PRICE added for FTE breakunit
289: IF (p_operand_calc_code IN (QP_PREQ_GRP.G_AMOUNT_DISCOUNT, QP_PREQ_GRP.G_BREAKUNIT_PRICE)) THEN
290:
291: IF (p_list_line_type = QP_PREQ_GRP.G_DISCOUNT) THEN
292: x_adjusted_amount := - (p_operand_value);
293: IF (p_accrual_flag = QP_PREQ_GRP.G_YES) THEN

Line 291: IF (p_list_line_type = QP_PREQ_GRP.G_DISCOUNT) THEN

287:
288: -- G_BREAKUNIT_PRICE added for FTE breakunit
289: IF (p_operand_calc_code IN (QP_PREQ_GRP.G_AMOUNT_DISCOUNT, QP_PREQ_GRP.G_BREAKUNIT_PRICE)) THEN
290:
291: IF (p_list_line_type = QP_PREQ_GRP.G_DISCOUNT) THEN
292: x_adjusted_amount := - (p_operand_value);
293: IF (p_accrual_flag = QP_PREQ_GRP.G_YES) THEN
294: x_discounted_price := p_discounted_price;
295: ELSE

Line 293: IF (p_accrual_flag = QP_PREQ_GRP.G_YES) THEN

289: IF (p_operand_calc_code IN (QP_PREQ_GRP.G_AMOUNT_DISCOUNT, QP_PREQ_GRP.G_BREAKUNIT_PRICE)) THEN
290:
291: IF (p_list_line_type = QP_PREQ_GRP.G_DISCOUNT) THEN
292: x_adjusted_amount := - (p_operand_value);
293: IF (p_accrual_flag = QP_PREQ_GRP.G_YES) THEN
294: x_discounted_price := p_discounted_price;
295: ELSE
296: x_discounted_price := p_discounted_price - p_operand_value;
297: END IF; -- end if p_accrual_flag

Line 299: ELSIF (p_list_line_type = QP_PREQ_GRP.G_SURCHARGE) THEN

295: ELSE
296: x_discounted_price := p_discounted_price - p_operand_value;
297: END IF; -- end if p_accrual_flag
298:
299: ELSIF (p_list_line_type = QP_PREQ_GRP.G_SURCHARGE) THEN
300: x_adjusted_amount := p_operand_value;
301: x_discounted_price := p_discounted_price + p_operand_value;
302:
303: ELSIF (p_list_line_type = QP_PREQ_GRP.G_FREIGHT_CHARGE) THEN

Line 303: ELSIF (p_list_line_type = QP_PREQ_GRP.G_FREIGHT_CHARGE) THEN

299: ELSIF (p_list_line_type = QP_PREQ_GRP.G_SURCHARGE) THEN
300: x_adjusted_amount := p_operand_value;
301: x_discounted_price := p_discounted_price + p_operand_value;
302:
303: ELSIF (p_list_line_type = QP_PREQ_GRP.G_FREIGHT_CHARGE) THEN
304: x_discounted_price := p_discounted_price;
305: x_adjusted_amount := p_operand_value;
306: END IF; -- end if p_list_line_type
307:

Line 308: ELSIF (p_operand_calc_code = QP_PREQ_GRP.G_PERCENT_DISCOUNT) THEN

304: x_discounted_price := p_discounted_price;
305: x_adjusted_amount := p_operand_value;
306: END IF; -- end if p_list_line_type
307:
308: ELSIF (p_operand_calc_code = QP_PREQ_GRP.G_PERCENT_DISCOUNT) THEN
309:
310: IF (p_list_line_type = QP_PREQ_GRP.G_DISCOUNT) THEN
311: IF (p_accrual_flag = QP_PREQ_GRP.G_YES) THEN
312: x_discounted_price := p_discounted_price;

Line 310: IF (p_list_line_type = QP_PREQ_GRP.G_DISCOUNT) THEN

306: END IF; -- end if p_list_line_type
307:
308: ELSIF (p_operand_calc_code = QP_PREQ_GRP.G_PERCENT_DISCOUNT) THEN
309:
310: IF (p_list_line_type = QP_PREQ_GRP.G_DISCOUNT) THEN
311: IF (p_accrual_flag = QP_PREQ_GRP.G_YES) THEN
312: x_discounted_price := p_discounted_price;
313: x_adjusted_amount := - (abs(p_list_price) * (p_operand_value / 100));
314: ELSE

Line 311: IF (p_accrual_flag = QP_PREQ_GRP.G_YES) THEN

307:
308: ELSIF (p_operand_calc_code = QP_PREQ_GRP.G_PERCENT_DISCOUNT) THEN
309:
310: IF (p_list_line_type = QP_PREQ_GRP.G_DISCOUNT) THEN
311: IF (p_accrual_flag = QP_PREQ_GRP.G_YES) THEN
312: x_discounted_price := p_discounted_price;
313: x_adjusted_amount := - (abs(p_list_price) * (p_operand_value / 100));
314: ELSE
315: --IF (v_round_individual_adj_flag = QP_PREQ_GRP.G_YES AND p_rounding_factor IS NOT NULL) THEN -- shu

Line 315: --IF (v_round_individual_adj_flag = QP_PREQ_GRP.G_YES AND p_rounding_factor IS NOT NULL) THEN -- shu

311: IF (p_accrual_flag = QP_PREQ_GRP.G_YES) THEN
312: x_discounted_price := p_discounted_price;
313: x_adjusted_amount := - (abs(p_list_price) * (p_operand_value / 100));
314: ELSE
315: --IF (v_round_individual_adj_flag = QP_PREQ_GRP.G_YES AND p_rounding_factor IS NOT NULL) THEN -- shu
316: IF (nvl(QP_PREQ_GRP.G_ROUNDING_FLAG, QP_PREQ_GRP.G_YES) = QP_PREQ_GRP.G_YES AND p_rounding_factor IS NOT NULL) THEN -- shu, new rounding
317: x_discounted_price := p_discounted_price - ROUND((abs(p_list_price) * (p_operand_value / 100)), p_rounding_factor);
318: ELSIF (QP_PREQ_GRP.G_ROUNDING_FLAG = G_CHAR_Q) THEN -- check qp_selling_price_rounding_options profile
319: IF (v_price_round_options = G_ROUND_ADJ AND p_rounding_factor IS NOT NULL) THEN -- do not round if profile is null

Line 316: IF (nvl(QP_PREQ_GRP.G_ROUNDING_FLAG, QP_PREQ_GRP.G_YES) = QP_PREQ_GRP.G_YES AND p_rounding_factor IS NOT NULL) THEN -- shu, new rounding

312: x_discounted_price := p_discounted_price;
313: x_adjusted_amount := - (abs(p_list_price) * (p_operand_value / 100));
314: ELSE
315: --IF (v_round_individual_adj_flag = QP_PREQ_GRP.G_YES AND p_rounding_factor IS NOT NULL) THEN -- shu
316: IF (nvl(QP_PREQ_GRP.G_ROUNDING_FLAG, QP_PREQ_GRP.G_YES) = QP_PREQ_GRP.G_YES AND p_rounding_factor IS NOT NULL) THEN -- shu, new rounding
317: x_discounted_price := p_discounted_price - ROUND((abs(p_list_price) * (p_operand_value / 100)), p_rounding_factor);
318: ELSIF (QP_PREQ_GRP.G_ROUNDING_FLAG = G_CHAR_Q) THEN -- check qp_selling_price_rounding_options profile
319: IF (v_price_round_options = G_ROUND_ADJ AND p_rounding_factor IS NOT NULL) THEN -- do not round if profile is null
320: x_discounted_price := p_discounted_price - ROUND((abs(p_list_price) * (p_operand_value / 100)), p_rounding_factor);

Line 318: ELSIF (QP_PREQ_GRP.G_ROUNDING_FLAG = G_CHAR_Q) THEN -- check qp_selling_price_rounding_options profile

314: ELSE
315: --IF (v_round_individual_adj_flag = QP_PREQ_GRP.G_YES AND p_rounding_factor IS NOT NULL) THEN -- shu
316: IF (nvl(QP_PREQ_GRP.G_ROUNDING_FLAG, QP_PREQ_GRP.G_YES) = QP_PREQ_GRP.G_YES AND p_rounding_factor IS NOT NULL) THEN -- shu, new rounding
317: x_discounted_price := p_discounted_price - ROUND((abs(p_list_price) * (p_operand_value / 100)), p_rounding_factor);
318: ELSIF (QP_PREQ_GRP.G_ROUNDING_FLAG = G_CHAR_Q) THEN -- check qp_selling_price_rounding_options profile
319: IF (v_price_round_options = G_ROUND_ADJ AND p_rounding_factor IS NOT NULL) THEN -- do not round if profile is null
320: x_discounted_price := p_discounted_price - ROUND((abs(p_list_price) * (p_operand_value / 100)), p_rounding_factor);
321: END IF;
322: ELSE -- QP_PREQ_GRP.G_ROUNDING_FLAG ='N' or 'U', un-round adjs

Line 322: ELSE -- QP_PREQ_GRP.G_ROUNDING_FLAG ='N' or 'U', un-round adjs

318: ELSIF (QP_PREQ_GRP.G_ROUNDING_FLAG = G_CHAR_Q) THEN -- check qp_selling_price_rounding_options profile
319: IF (v_price_round_options = G_ROUND_ADJ AND p_rounding_factor IS NOT NULL) THEN -- do not round if profile is null
320: x_discounted_price := p_discounted_price - ROUND((abs(p_list_price) * (p_operand_value / 100)), p_rounding_factor);
321: END IF;
322: ELSE -- QP_PREQ_GRP.G_ROUNDING_FLAG ='N' or 'U', un-round adjs
323: x_discounted_price := p_discounted_price - (abs(p_list_price) * (p_operand_value / 100));
324: END IF; -- end if QP_PREQ_GRP.G_ROUNDING_FLAG
325:
326: x_adjusted_amount := - (abs(p_list_price) * (p_operand_value / 100));

Line 324: END IF; -- end if QP_PREQ_GRP.G_ROUNDING_FLAG

320: x_discounted_price := p_discounted_price - ROUND((abs(p_list_price) * (p_operand_value / 100)), p_rounding_factor);
321: END IF;
322: ELSE -- QP_PREQ_GRP.G_ROUNDING_FLAG ='N' or 'U', un-round adjs
323: x_discounted_price := p_discounted_price - (abs(p_list_price) * (p_operand_value / 100));
324: END IF; -- end if QP_PREQ_GRP.G_ROUNDING_FLAG
325:
326: x_adjusted_amount := - (abs(p_list_price) * (p_operand_value / 100));
327: END IF; -- end if p_accrual_flag
328:

Line 329: ELSIF (p_list_line_type = QP_PREQ_GRP.G_SURCHARGE) THEN

325:
326: x_adjusted_amount := - (abs(p_list_price) * (p_operand_value / 100));
327: END IF; -- end if p_accrual_flag
328:
329: ELSIF (p_list_line_type = QP_PREQ_GRP.G_SURCHARGE) THEN
330:
331: --IF (v_round_individual_adj_flag = QP_PREQ_GRP.G_YES AND p_rounding_factor IS NOT NULL) THEN -- shu
332: IF (nvl(QP_PREQ_GRP.G_ROUNDING_FLAG, QP_PREQ_GRP.G_YES) = QP_PREQ_GRP.G_YES AND p_rounding_factor IS NOT NULL) THEN -- shu, new rounding
333: x_discounted_price := p_discounted_price + ROUND((abs(p_list_price) * (p_operand_value / 100)), p_rounding_factor);

Line 331: --IF (v_round_individual_adj_flag = QP_PREQ_GRP.G_YES AND p_rounding_factor IS NOT NULL) THEN -- shu

327: END IF; -- end if p_accrual_flag
328:
329: ELSIF (p_list_line_type = QP_PREQ_GRP.G_SURCHARGE) THEN
330:
331: --IF (v_round_individual_adj_flag = QP_PREQ_GRP.G_YES AND p_rounding_factor IS NOT NULL) THEN -- shu
332: IF (nvl(QP_PREQ_GRP.G_ROUNDING_FLAG, QP_PREQ_GRP.G_YES) = QP_PREQ_GRP.G_YES AND p_rounding_factor IS NOT NULL) THEN -- shu, new rounding
333: x_discounted_price := p_discounted_price + ROUND((abs(p_list_price) * (p_operand_value / 100)), p_rounding_factor);
334: ELSIF (QP_PREQ_GRP.G_ROUNDING_FLAG = G_CHAR_Q) THEN -- check qp_selling_price_rounding_options profile
335: IF (v_price_round_options = G_ROUND_ADJ AND p_rounding_factor IS NOT NULL) THEN -- do not round if profile is null

Line 332: IF (nvl(QP_PREQ_GRP.G_ROUNDING_FLAG, QP_PREQ_GRP.G_YES) = QP_PREQ_GRP.G_YES AND p_rounding_factor IS NOT NULL) THEN -- shu, new rounding

328:
329: ELSIF (p_list_line_type = QP_PREQ_GRP.G_SURCHARGE) THEN
330:
331: --IF (v_round_individual_adj_flag = QP_PREQ_GRP.G_YES AND p_rounding_factor IS NOT NULL) THEN -- shu
332: IF (nvl(QP_PREQ_GRP.G_ROUNDING_FLAG, QP_PREQ_GRP.G_YES) = QP_PREQ_GRP.G_YES AND p_rounding_factor IS NOT NULL) THEN -- shu, new rounding
333: x_discounted_price := p_discounted_price + ROUND((abs(p_list_price) * (p_operand_value / 100)), p_rounding_factor);
334: ELSIF (QP_PREQ_GRP.G_ROUNDING_FLAG = G_CHAR_Q) THEN -- check qp_selling_price_rounding_options profile
335: IF (v_price_round_options = G_ROUND_ADJ AND p_rounding_factor IS NOT NULL) THEN -- do not round if profile is null
336: x_discounted_price := p_discounted_price + ROUND((abs(p_list_price) * (p_operand_value / 100)), p_rounding_factor);

Line 334: ELSIF (QP_PREQ_GRP.G_ROUNDING_FLAG = G_CHAR_Q) THEN -- check qp_selling_price_rounding_options profile

330:
331: --IF (v_round_individual_adj_flag = QP_PREQ_GRP.G_YES AND p_rounding_factor IS NOT NULL) THEN -- shu
332: IF (nvl(QP_PREQ_GRP.G_ROUNDING_FLAG, QP_PREQ_GRP.G_YES) = QP_PREQ_GRP.G_YES AND p_rounding_factor IS NOT NULL) THEN -- shu, new rounding
333: x_discounted_price := p_discounted_price + ROUND((abs(p_list_price) * (p_operand_value / 100)), p_rounding_factor);
334: ELSIF (QP_PREQ_GRP.G_ROUNDING_FLAG = G_CHAR_Q) THEN -- check qp_selling_price_rounding_options profile
335: IF (v_price_round_options = G_ROUND_ADJ AND p_rounding_factor IS NOT NULL) THEN -- do not round if profile is null
336: x_discounted_price := p_discounted_price + ROUND((abs(p_list_price) * (p_operand_value / 100)), p_rounding_factor);
337: END IF;
338: ELSE -- QP_PREQ_GRP.G_ROUNDING_FLAG ='N' or 'U', un-round adjs

Line 338: ELSE -- QP_PREQ_GRP.G_ROUNDING_FLAG ='N' or 'U', un-round adjs

334: ELSIF (QP_PREQ_GRP.G_ROUNDING_FLAG = G_CHAR_Q) THEN -- check qp_selling_price_rounding_options profile
335: IF (v_price_round_options = G_ROUND_ADJ AND p_rounding_factor IS NOT NULL) THEN -- do not round if profile is null
336: x_discounted_price := p_discounted_price + ROUND((abs(p_list_price) * (p_operand_value / 100)), p_rounding_factor);
337: END IF;
338: ELSE -- QP_PREQ_GRP.G_ROUNDING_FLAG ='N' or 'U', un-round adjs
339: x_discounted_price := p_discounted_price + (abs(p_list_price) * (p_operand_value / 100));
340: END IF; -- end if QP_PREQ_GRP.G_ROUNDING_FLAG
341:
342: x_adjusted_amount := abs(p_list_price) * (p_operand_value / 100);

Line 340: END IF; -- end if QP_PREQ_GRP.G_ROUNDING_FLAG

336: x_discounted_price := p_discounted_price + ROUND((abs(p_list_price) * (p_operand_value / 100)), p_rounding_factor);
337: END IF;
338: ELSE -- QP_PREQ_GRP.G_ROUNDING_FLAG ='N' or 'U', un-round adjs
339: x_discounted_price := p_discounted_price + (abs(p_list_price) * (p_operand_value / 100));
340: END IF; -- end if QP_PREQ_GRP.G_ROUNDING_FLAG
341:
342: x_adjusted_amount := abs(p_list_price) * (p_operand_value / 100);
343:
344: ELSIF (p_list_line_type = QP_PREQ_GRP.G_FREIGHT_CHARGE) THEN

Line 344: ELSIF (p_list_line_type = QP_PREQ_GRP.G_FREIGHT_CHARGE) THEN

340: END IF; -- end if QP_PREQ_GRP.G_ROUNDING_FLAG
341:
342: x_adjusted_amount := abs(p_list_price) * (p_operand_value / 100);
343:
344: ELSIF (p_list_line_type = QP_PREQ_GRP.G_FREIGHT_CHARGE) THEN
345: x_discounted_price := p_discounted_price;
346: x_adjusted_amount := abs(p_list_price) * (p_operand_value / 100);
347: END IF; -- end if p_list_line_type
348:

Line 349: ELSIF(p_operand_calc_code = QP_PREQ_GRP.G_NEWPRICE_DISCOUNT) THEN

345: x_discounted_price := p_discounted_price;
346: x_adjusted_amount := abs(p_list_price) * (p_operand_value / 100);
347: END IF; -- end if p_list_line_type
348:
349: ELSIF(p_operand_calc_code = QP_PREQ_GRP.G_NEWPRICE_DISCOUNT) THEN
350:
351: -- For NewPrice Calculation is same for Discount and Surcharge
352: IF (p_list_line_type IN (QP_PREQ_GRP.G_DISCOUNT, QP_PREQ_GRP.G_SURCHARGE)) THEN
353: x_discounted_price := p_operand_value;

Line 352: IF (p_list_line_type IN (QP_PREQ_GRP.G_DISCOUNT, QP_PREQ_GRP.G_SURCHARGE)) THEN

348:
349: ELSIF(p_operand_calc_code = QP_PREQ_GRP.G_NEWPRICE_DISCOUNT) THEN
350:
351: -- For NewPrice Calculation is same for Discount and Surcharge
352: IF (p_list_line_type IN (QP_PREQ_GRP.G_DISCOUNT, QP_PREQ_GRP.G_SURCHARGE)) THEN
353: x_discounted_price := p_operand_value;
354: x_adjusted_amount := - (p_list_price - p_operand_value);
355: --fix bug 2353905
356: --Negative list price can get correct adjusted_amount

Line 359: ELSIF (p_operand_calc_code = QP_PREQ_GRP.G_LUMPSUM_DISCOUNT) THEN

355: --fix bug 2353905
356: --Negative list price can get correct adjusted_amount
357: END IF;
358:
359: ELSIF (p_operand_calc_code = QP_PREQ_GRP.G_LUMPSUM_DISCOUNT) THEN
360:
361: IF (p_list_line_type = QP_PREQ_GRP.G_DISCOUNT) THEN
362:
363: IF (p_accrual_flag = QP_PREQ_GRP.G_YES) THEN

Line 361: IF (p_list_line_type = QP_PREQ_GRP.G_DISCOUNT) THEN

357: END IF;
358:
359: ELSIF (p_operand_calc_code = QP_PREQ_GRP.G_LUMPSUM_DISCOUNT) THEN
360:
361: IF (p_list_line_type = QP_PREQ_GRP.G_DISCOUNT) THEN
362:
363: IF (p_accrual_flag = QP_PREQ_GRP.G_YES) THEN
364: x_discounted_price := p_discounted_price;
365: IF (p_request_qty <> 0) THEN -- ask ravi, how about null?

Line 363: IF (p_accrual_flag = QP_PREQ_GRP.G_YES) THEN

359: ELSIF (p_operand_calc_code = QP_PREQ_GRP.G_LUMPSUM_DISCOUNT) THEN
360:
361: IF (p_list_line_type = QP_PREQ_GRP.G_DISCOUNT) THEN
362:
363: IF (p_accrual_flag = QP_PREQ_GRP.G_YES) THEN
364: x_discounted_price := p_discounted_price;
365: IF (p_request_qty <> 0) THEN -- ask ravi, how about null?
366: x_adjusted_amount := - (p_operand_value / p_request_qty);
367: ELSE

Line 377: --IF (v_round_individual_adj_flag = QP_PREQ_GRP.G_YES AND p_rounding_factor IS NOT NULL) THEN -- shu

373: x_discounted_price := p_discounted_price;
374: x_adjusted_amount := 0; --bug2385874, should be 0 instead of p_operand_value
375: ELSE
376:
377: --IF (v_round_individual_adj_flag = QP_PREQ_GRP.G_YES AND p_rounding_factor IS NOT NULL) THEN -- shu
378: IF (nvl(QP_PREQ_GRP.G_ROUNDING_FLAG, QP_PREQ_GRP.G_YES) = QP_PREQ_GRP.G_YES AND p_rounding_factor IS NOT NULL) THEN -- shu, new rounding
379: --4900095 added nvl to G_Lumpsum_qty
380: x_discounted_price := p_discounted_price - ROUND((p_operand_value / nvl(G_Lumpsum_qty, p_request_qty)), p_rounding_factor);
381: ELSIF (QP_PREQ_GRP.G_ROUNDING_FLAG = G_CHAR_Q) THEN -- check qp_selling_price_rounding_options profile

Line 378: IF (nvl(QP_PREQ_GRP.G_ROUNDING_FLAG, QP_PREQ_GRP.G_YES) = QP_PREQ_GRP.G_YES AND p_rounding_factor IS NOT NULL) THEN -- shu, new rounding

374: x_adjusted_amount := 0; --bug2385874, should be 0 instead of p_operand_value
375: ELSE
376:
377: --IF (v_round_individual_adj_flag = QP_PREQ_GRP.G_YES AND p_rounding_factor IS NOT NULL) THEN -- shu
378: IF (nvl(QP_PREQ_GRP.G_ROUNDING_FLAG, QP_PREQ_GRP.G_YES) = QP_PREQ_GRP.G_YES AND p_rounding_factor IS NOT NULL) THEN -- shu, new rounding
379: --4900095 added nvl to G_Lumpsum_qty
380: x_discounted_price := p_discounted_price - ROUND((p_operand_value / nvl(G_Lumpsum_qty, p_request_qty)), p_rounding_factor);
381: ELSIF (QP_PREQ_GRP.G_ROUNDING_FLAG = G_CHAR_Q) THEN -- check qp_selling_price_rounding_options profile
382: IF (v_price_round_options = G_ROUND_ADJ AND p_rounding_factor IS NOT NULL) THEN -- do not round if profile is null

Line 381: ELSIF (QP_PREQ_GRP.G_ROUNDING_FLAG = G_CHAR_Q) THEN -- check qp_selling_price_rounding_options profile

377: --IF (v_round_individual_adj_flag = QP_PREQ_GRP.G_YES AND p_rounding_factor IS NOT NULL) THEN -- shu
378: IF (nvl(QP_PREQ_GRP.G_ROUNDING_FLAG, QP_PREQ_GRP.G_YES) = QP_PREQ_GRP.G_YES AND p_rounding_factor IS NOT NULL) THEN -- shu, new rounding
379: --4900095 added nvl to G_Lumpsum_qty
380: x_discounted_price := p_discounted_price - ROUND((p_operand_value / nvl(G_Lumpsum_qty, p_request_qty)), p_rounding_factor);
381: ELSIF (QP_PREQ_GRP.G_ROUNDING_FLAG = G_CHAR_Q) THEN -- check qp_selling_price_rounding_options profile
382: IF (v_price_round_options = G_ROUND_ADJ AND p_rounding_factor IS NOT NULL) THEN -- do not round if profile is null
383: --4900095 added nvl to G_Lumpsum_qty
384: x_discounted_price := p_discounted_price - ROUND((p_operand_value / nvl(G_Lumpsum_qty, p_request_qty)), p_rounding_factor);
385: END IF;

Line 386: ELSE -- QP_PREQ_GRP.G_ROUNDING_FLAG ='N' or 'U', un-round adjs

382: IF (v_price_round_options = G_ROUND_ADJ AND p_rounding_factor IS NOT NULL) THEN -- do not round if profile is null
383: --4900095 added nvl to G_Lumpsum_qty
384: x_discounted_price := p_discounted_price - ROUND((p_operand_value / nvl(G_Lumpsum_qty, p_request_qty)), p_rounding_factor);
385: END IF;
386: ELSE -- QP_PREQ_GRP.G_ROUNDING_FLAG ='N' or 'U', un-round adjs
387: --4900095 added nvl to G_Lumpsum_qty
388: x_discounted_price := p_discounted_price - (p_operand_value / nvl(G_Lumpsum_Qty, p_request_qty));
389: END IF; -- end if QP_PREQ_GRP.G_ROUNDING_FLAG
390: --4900095 added nvl to G_Lumpsum_qty

Line 389: END IF; -- end if QP_PREQ_GRP.G_ROUNDING_FLAG

385: END IF;
386: ELSE -- QP_PREQ_GRP.G_ROUNDING_FLAG ='N' or 'U', un-round adjs
387: --4900095 added nvl to G_Lumpsum_qty
388: x_discounted_price := p_discounted_price - (p_operand_value / nvl(G_Lumpsum_Qty, p_request_qty));
389: END IF; -- end if QP_PREQ_GRP.G_ROUNDING_FLAG
390: --4900095 added nvl to G_Lumpsum_qty
391: x_adjusted_amount := - (p_operand_value / nvl(G_Lumpsum_qty, p_request_qty));
392:
393: END IF; -- end if p_request_qty

Line 396: ELSIF (p_list_line_type = QP_PREQ_GRP.G_SURCHARGE) THEN

392:
393: END IF; -- end if p_request_qty
394: END IF; -- end if p_accural_flag
395:
396: ELSIF (p_list_line_type = QP_PREQ_GRP.G_SURCHARGE) THEN
397:
398: IF (p_accrual_flag = QP_PREQ_GRP.G_YES) THEN
399:
400: x_discounted_price := p_discounted_price;

Line 398: IF (p_accrual_flag = QP_PREQ_GRP.G_YES) THEN

394: END IF; -- end if p_accural_flag
395:
396: ELSIF (p_list_line_type = QP_PREQ_GRP.G_SURCHARGE) THEN
397:
398: IF (p_accrual_flag = QP_PREQ_GRP.G_YES) THEN
399:
400: x_discounted_price := p_discounted_price;
401: IF (p_request_qty <> 0) THEN -- ask ravi, how about null?
402: --4900095 added nvl to G_Lumpsum_qty

Line 416: --IF (v_round_individual_adj_flag = QP_PREQ_GRP.G_YES AND p_rounding_factor IS NOT NULL) THEN -- shu

412: x_discounted_price := p_discounted_price;
413: --x_adjusted_amount := p_operand_value;
414: x_adjusted_amount := 0; --bug2385874, should be 0 instead of p_operand_value
415: ELSE
416: --IF (v_round_individual_adj_flag = QP_PREQ_GRP.G_YES AND p_rounding_factor IS NOT NULL) THEN -- shu
417: IF (nvl(QP_PREQ_GRP.G_ROUNDING_FLAG, QP_PREQ_GRP.G_YES) = QP_PREQ_GRP.G_YES AND p_rounding_factor IS NOT NULL) THEN -- shu, new rounding
418: --4900095 added nvl to G_Lumpsum_qty
419: x_discounted_price := p_discounted_price + ROUND((p_operand_value / nvl(G_Lumpsum_qty, p_request_qty)), p_rounding_factor);
420: ELSIF (QP_PREQ_GRP.G_ROUNDING_FLAG = G_CHAR_Q) THEN -- check qp_selling_price_rounding_options profile

Line 417: IF (nvl(QP_PREQ_GRP.G_ROUNDING_FLAG, QP_PREQ_GRP.G_YES) = QP_PREQ_GRP.G_YES AND p_rounding_factor IS NOT NULL) THEN -- shu, new rounding

413: --x_adjusted_amount := p_operand_value;
414: x_adjusted_amount := 0; --bug2385874, should be 0 instead of p_operand_value
415: ELSE
416: --IF (v_round_individual_adj_flag = QP_PREQ_GRP.G_YES AND p_rounding_factor IS NOT NULL) THEN -- shu
417: IF (nvl(QP_PREQ_GRP.G_ROUNDING_FLAG, QP_PREQ_GRP.G_YES) = QP_PREQ_GRP.G_YES AND p_rounding_factor IS NOT NULL) THEN -- shu, new rounding
418: --4900095 added nvl to G_Lumpsum_qty
419: x_discounted_price := p_discounted_price + ROUND((p_operand_value / nvl(G_Lumpsum_qty, p_request_qty)), p_rounding_factor);
420: ELSIF (QP_PREQ_GRP.G_ROUNDING_FLAG = G_CHAR_Q) THEN -- check qp_selling_price_rounding_options profile
421: IF (v_price_round_options = G_ROUND_ADJ AND p_rounding_factor IS NOT NULL) THEN -- do not round if profile is null

Line 420: ELSIF (QP_PREQ_GRP.G_ROUNDING_FLAG = G_CHAR_Q) THEN -- check qp_selling_price_rounding_options profile

416: --IF (v_round_individual_adj_flag = QP_PREQ_GRP.G_YES AND p_rounding_factor IS NOT NULL) THEN -- shu
417: IF (nvl(QP_PREQ_GRP.G_ROUNDING_FLAG, QP_PREQ_GRP.G_YES) = QP_PREQ_GRP.G_YES AND p_rounding_factor IS NOT NULL) THEN -- shu, new rounding
418: --4900095 added nvl to G_Lumpsum_qty
419: x_discounted_price := p_discounted_price + ROUND((p_operand_value / nvl(G_Lumpsum_qty, p_request_qty)), p_rounding_factor);
420: ELSIF (QP_PREQ_GRP.G_ROUNDING_FLAG = G_CHAR_Q) THEN -- check qp_selling_price_rounding_options profile
421: IF (v_price_round_options = G_ROUND_ADJ AND p_rounding_factor IS NOT NULL) THEN -- do not round if profile is null
422: --4900095 added nvl to G_Lumpsum_qty
423: x_discounted_price := p_discounted_price + ROUND((p_operand_value / nvl(G_Lumpsum_Qty, p_request_qty)), p_rounding_factor);
424: END IF;

Line 425: ELSE -- QP_PREQ_GRP.G_ROUNDING_FLAG ='N' or 'U', un-round adjs

421: IF (v_price_round_options = G_ROUND_ADJ AND p_rounding_factor IS NOT NULL) THEN -- do not round if profile is null
422: --4900095 added nvl to G_Lumpsum_qty
423: x_discounted_price := p_discounted_price + ROUND((p_operand_value / nvl(G_Lumpsum_Qty, p_request_qty)), p_rounding_factor);
424: END IF;
425: ELSE -- QP_PREQ_GRP.G_ROUNDING_FLAG ='N' or 'U', un-round adjs
426: --4900095 added nvl to G_Lumpsum_qty
427: x_discounted_price := p_discounted_price + (p_operand_value / nvl(G_Lumpsum_Qty, p_request_qty));
428: END IF; -- end if QP_PREQ_GRP.G_ROUNDING_FLAG
429:

Line 428: END IF; -- end if QP_PREQ_GRP.G_ROUNDING_FLAG

424: END IF;
425: ELSE -- QP_PREQ_GRP.G_ROUNDING_FLAG ='N' or 'U', un-round adjs
426: --4900095 added nvl to G_Lumpsum_qty
427: x_discounted_price := p_discounted_price + (p_operand_value / nvl(G_Lumpsum_Qty, p_request_qty));
428: END IF; -- end if QP_PREQ_GRP.G_ROUNDING_FLAG
429:
430: --4900095 added nvl to G_Lumpsum_qty
431: x_adjusted_amount := (p_operand_value / nvl(G_Lumpsum_Qty, p_request_qty));
432: END IF; -- end if p_request_qty

Line 435: ELSIF (p_list_line_type = QP_PREQ_GRP.G_FREIGHT_CHARGE) THEN

431: x_adjusted_amount := (p_operand_value / nvl(G_Lumpsum_Qty, p_request_qty));
432: END IF; -- end if p_request_qty
433: END IF; -- end if p_accrual_flag
434:
435: ELSIF (p_list_line_type = QP_PREQ_GRP.G_FREIGHT_CHARGE) THEN
436:
437: IF l_debug = FND_API.G_TRUE THEN
438: QP_PREQ_GRP.engine_debug('Freight Charge');
439: QP_PREQ_GRP.engine_debug('Discounted Price : ' || p_discounted_price);

Line 438: QP_PREQ_GRP.engine_debug('Freight Charge');

434:
435: ELSIF (p_list_line_type = QP_PREQ_GRP.G_FREIGHT_CHARGE) THEN
436:
437: IF l_debug = FND_API.G_TRUE THEN
438: QP_PREQ_GRP.engine_debug('Freight Charge');
439: QP_PREQ_GRP.engine_debug('Discounted Price : ' || p_discounted_price);
440: END IF;
441: x_discounted_price := p_discounted_price;
442:

Line 439: QP_PREQ_GRP.engine_debug('Discounted Price : ' || p_discounted_price);

435: ELSIF (p_list_line_type = QP_PREQ_GRP.G_FREIGHT_CHARGE) THEN
436:
437: IF l_debug = FND_API.G_TRUE THEN
438: QP_PREQ_GRP.engine_debug('Freight Charge');
439: QP_PREQ_GRP.engine_debug('Discounted Price : ' || p_discounted_price);
440: END IF;
441: x_discounted_price := p_discounted_price;
442:
443: IF (p_request_qty = 0) THEN

Line 449: QP_PREQ_GRP.engine_debug('Adjusted Amount: ' || x_adjusted_amount);

445: ELSE
446: --4900095 added nvl to G_Lumpsum_qty
447: x_adjusted_amount := p_operand_value / nvl(G_Lumpsum_Qty, p_request_qty);
448: IF l_debug = FND_API.G_TRUE THEN
449: QP_PREQ_GRP.engine_debug('Adjusted Amount: ' || x_adjusted_amount);
450: END IF;
451: END IF; -- end IF p_request_qty
452:
453: END IF; -- end if p_list_line_type = G_FREIGHT_CHARGE

Line 469: IF (p_operand_calc_code IN (QP_PREQ_GRP.G_AMOUNT_DISCOUNT, QP_PREQ_GRP.G_BREAKUNIT_PRICE)) THEN

465: v_list_price := p_discounted_price;
466: END IF;
467:
468: -- G_BREAKUNIT_PRICE added for FTE breakunit
469: IF (p_operand_calc_code IN (QP_PREQ_GRP.G_AMOUNT_DISCOUNT, QP_PREQ_GRP.G_BREAKUNIT_PRICE)) THEN
470:
471: IF (p_list_line_type = QP_PREQ_GRP.G_DISCOUNT) THEN
472:
473: IF(p_accrual_flag = QP_PREQ_GRP.G_YES) THEN

Line 471: IF (p_list_line_type = QP_PREQ_GRP.G_DISCOUNT) THEN

467:
468: -- G_BREAKUNIT_PRICE added for FTE breakunit
469: IF (p_operand_calc_code IN (QP_PREQ_GRP.G_AMOUNT_DISCOUNT, QP_PREQ_GRP.G_BREAKUNIT_PRICE)) THEN
470:
471: IF (p_list_line_type = QP_PREQ_GRP.G_DISCOUNT) THEN
472:
473: IF(p_accrual_flag = QP_PREQ_GRP.G_YES) THEN
474: x_discounted_price := p_discounted_price;
475: x_adjusted_amount := - (p_operand_value) ;

Line 473: IF(p_accrual_flag = QP_PREQ_GRP.G_YES) THEN

469: IF (p_operand_calc_code IN (QP_PREQ_GRP.G_AMOUNT_DISCOUNT, QP_PREQ_GRP.G_BREAKUNIT_PRICE)) THEN
470:
471: IF (p_list_line_type = QP_PREQ_GRP.G_DISCOUNT) THEN
472:
473: IF(p_accrual_flag = QP_PREQ_GRP.G_YES) THEN
474: x_discounted_price := p_discounted_price;
475: x_adjusted_amount := - (p_operand_value) ;
476: ELSE
477: x_discounted_price := p_discounted_price - p_operand_value;

Line 481: ELSIF (p_list_line_type = QP_PREQ_GRP.G_SURCHARGE) THEN

477: x_discounted_price := p_discounted_price - p_operand_value;
478: x_adjusted_amount := - (p_operand_value) ;
479: END IF; -- end if p_accrual_flag
480:
481: ELSIF (p_list_line_type = QP_PREQ_GRP.G_SURCHARGE) THEN
482:
483: x_discounted_price := p_discounted_price + p_operand_value;
484: x_adjusted_amount := p_operand_value;
485:

Line 486: ELSIF (p_list_line_type = QP_PREQ_GRP.G_FREIGHT_CHARGE) THEN

482:
483: x_discounted_price := p_discounted_price + p_operand_value;
484: x_adjusted_amount := p_operand_value;
485:
486: ELSIF (p_list_line_type = QP_PREQ_GRP.G_FREIGHT_CHARGE) THEN
487: x_discounted_price := p_discounted_price;
488: x_adjusted_amount := p_operand_value;
489: END IF; -- end if p_list_line_type
490:

Line 491: ELSIF (p_operand_calc_code = QP_PREQ_GRP.G_PERCENT_DISCOUNT) THEN

487: x_discounted_price := p_discounted_price;
488: x_adjusted_amount := p_operand_value;
489: END IF; -- end if p_list_line_type
490:
491: ELSIF (p_operand_calc_code = QP_PREQ_GRP.G_PERCENT_DISCOUNT) THEN
492:
493: IF (p_list_line_type = QP_PREQ_GRP.G_DISCOUNT) THEN
494:
495: IF(p_accrual_flag = QP_PREQ_GRP.G_YES) THEN

Line 493: IF (p_list_line_type = QP_PREQ_GRP.G_DISCOUNT) THEN

489: END IF; -- end if p_list_line_type
490:
491: ELSIF (p_operand_calc_code = QP_PREQ_GRP.G_PERCENT_DISCOUNT) THEN
492:
493: IF (p_list_line_type = QP_PREQ_GRP.G_DISCOUNT) THEN
494:
495: IF(p_accrual_flag = QP_PREQ_GRP.G_YES) THEN
496: x_discounted_price := p_discounted_price;
497: x_adjusted_amount := - (abs(v_list_price) * (p_operand_value / 100));

Line 495: IF(p_accrual_flag = QP_PREQ_GRP.G_YES) THEN

491: ELSIF (p_operand_calc_code = QP_PREQ_GRP.G_PERCENT_DISCOUNT) THEN
492:
493: IF (p_list_line_type = QP_PREQ_GRP.G_DISCOUNT) THEN
494:
495: IF(p_accrual_flag = QP_PREQ_GRP.G_YES) THEN
496: x_discounted_price := p_discounted_price;
497: x_adjusted_amount := - (abs(v_list_price) * (p_operand_value / 100));
498: ELSE
499: --IF (v_round_individual_adj_flag = QP_PREQ_GRP.G_YES AND p_rounding_factor IS NOT NULL) THEN -- shu

Line 499: --IF (v_round_individual_adj_flag = QP_PREQ_GRP.G_YES AND p_rounding_factor IS NOT NULL) THEN -- shu

495: IF(p_accrual_flag = QP_PREQ_GRP.G_YES) THEN
496: x_discounted_price := p_discounted_price;
497: x_adjusted_amount := - (abs(v_list_price) * (p_operand_value / 100));
498: ELSE
499: --IF (v_round_individual_adj_flag = QP_PREQ_GRP.G_YES AND p_rounding_factor IS NOT NULL) THEN -- shu
500: IF (nvl(QP_PREQ_GRP.G_ROUNDING_FLAG, QP_PREQ_GRP.G_YES) = QP_PREQ_GRP.G_YES AND p_rounding_factor IS NOT NULL) THEN -- shu, new rounding
501: x_discounted_price := p_discounted_price - ROUND((abs(v_list_price) * (p_operand_value / 100)), p_rounding_factor);
502: ELSIF (QP_PREQ_GRP.G_ROUNDING_FLAG = G_CHAR_Q) THEN -- check qp_selling_price_rounding_options profile
503: IF (v_price_round_options = G_ROUND_ADJ AND p_rounding_factor IS NOT NULL) THEN -- do not round if profile is null

Line 500: IF (nvl(QP_PREQ_GRP.G_ROUNDING_FLAG, QP_PREQ_GRP.G_YES) = QP_PREQ_GRP.G_YES AND p_rounding_factor IS NOT NULL) THEN -- shu, new rounding

496: x_discounted_price := p_discounted_price;
497: x_adjusted_amount := - (abs(v_list_price) * (p_operand_value / 100));
498: ELSE
499: --IF (v_round_individual_adj_flag = QP_PREQ_GRP.G_YES AND p_rounding_factor IS NOT NULL) THEN -- shu
500: IF (nvl(QP_PREQ_GRP.G_ROUNDING_FLAG, QP_PREQ_GRP.G_YES) = QP_PREQ_GRP.G_YES AND p_rounding_factor IS NOT NULL) THEN -- shu, new rounding
501: x_discounted_price := p_discounted_price - ROUND((abs(v_list_price) * (p_operand_value / 100)), p_rounding_factor);
502: ELSIF (QP_PREQ_GRP.G_ROUNDING_FLAG = G_CHAR_Q) THEN -- check qp_selling_price_rounding_options profile
503: IF (v_price_round_options = G_ROUND_ADJ AND p_rounding_factor IS NOT NULL) THEN -- do not round if profile is null
504: x_discounted_price := p_discounted_price - ROUND((abs(v_list_price) * (p_operand_value / 100)), p_rounding_factor);

Line 502: ELSIF (QP_PREQ_GRP.G_ROUNDING_FLAG = G_CHAR_Q) THEN -- check qp_selling_price_rounding_options profile

498: ELSE
499: --IF (v_round_individual_adj_flag = QP_PREQ_GRP.G_YES AND p_rounding_factor IS NOT NULL) THEN -- shu
500: IF (nvl(QP_PREQ_GRP.G_ROUNDING_FLAG, QP_PREQ_GRP.G_YES) = QP_PREQ_GRP.G_YES AND p_rounding_factor IS NOT NULL) THEN -- shu, new rounding
501: x_discounted_price := p_discounted_price - ROUND((abs(v_list_price) * (p_operand_value / 100)), p_rounding_factor);
502: ELSIF (QP_PREQ_GRP.G_ROUNDING_FLAG = G_CHAR_Q) THEN -- check qp_selling_price_rounding_options profile
503: IF (v_price_round_options = G_ROUND_ADJ AND p_rounding_factor IS NOT NULL) THEN -- do not round if profile is null
504: x_discounted_price := p_discounted_price - ROUND((abs(v_list_price) * (p_operand_value / 100)), p_rounding_factor);
505: END IF;
506: ELSE -- QP_PREQ_GRP.G_ROUNDING_FLAG ='N' or 'U', un-round adjs

Line 506: ELSE -- QP_PREQ_GRP.G_ROUNDING_FLAG ='N' or 'U', un-round adjs

502: ELSIF (QP_PREQ_GRP.G_ROUNDING_FLAG = G_CHAR_Q) THEN -- check qp_selling_price_rounding_options profile
503: IF (v_price_round_options = G_ROUND_ADJ AND p_rounding_factor IS NOT NULL) THEN -- do not round if profile is null
504: x_discounted_price := p_discounted_price - ROUND((abs(v_list_price) * (p_operand_value / 100)), p_rounding_factor);
505: END IF;
506: ELSE -- QP_PREQ_GRP.G_ROUNDING_FLAG ='N' or 'U', un-round adjs
507: x_discounted_price := p_discounted_price - (abs(v_list_price) * (p_operand_value / 100));
508: END IF; -- end if QP_PREQ_GRP.G_ROUNDING_FLAG
509:
510: --x_discounted_price := p_discounted_price - (abs(v_list_price) *(p_operand_value/100));

Line 508: END IF; -- end if QP_PREQ_GRP.G_ROUNDING_FLAG

504: x_discounted_price := p_discounted_price - ROUND((abs(v_list_price) * (p_operand_value / 100)), p_rounding_factor);
505: END IF;
506: ELSE -- QP_PREQ_GRP.G_ROUNDING_FLAG ='N' or 'U', un-round adjs
507: x_discounted_price := p_discounted_price - (abs(v_list_price) * (p_operand_value / 100));
508: END IF; -- end if QP_PREQ_GRP.G_ROUNDING_FLAG
509:
510: --x_discounted_price := p_discounted_price - (abs(v_list_price) *(p_operand_value/100));
511: x_adjusted_amount := - (abs(v_list_price) * (p_operand_value / 100));
512:

Line 515: ELSIF (p_list_line_type = QP_PREQ_GRP.G_SURCHARGE) THEN -- the sign along with value

511: x_adjusted_amount := - (abs(v_list_price) * (p_operand_value / 100));
512:
513: END IF; -- end if p_accrual_flag
514:
515: ELSIF (p_list_line_type = QP_PREQ_GRP.G_SURCHARGE) THEN -- the sign along with value
516:
517: --IF (v_round_individual_adj_flag = QP_PREQ_GRP.G_YES AND p_rounding_factor IS NOT NULL) THEN -- shu
518: IF (nvl(QP_PREQ_GRP.G_ROUNDING_FLAG, QP_PREQ_GRP.G_YES) = QP_PREQ_GRP.G_YES AND p_rounding_factor IS NOT NULL) THEN -- shu, new rounding
519: x_discounted_price := p_discounted_price + ROUND((abs(v_list_price) * (p_operand_value / 100)), p_rounding_factor);

Line 517: --IF (v_round_individual_adj_flag = QP_PREQ_GRP.G_YES AND p_rounding_factor IS NOT NULL) THEN -- shu

513: END IF; -- end if p_accrual_flag
514:
515: ELSIF (p_list_line_type = QP_PREQ_GRP.G_SURCHARGE) THEN -- the sign along with value
516:
517: --IF (v_round_individual_adj_flag = QP_PREQ_GRP.G_YES AND p_rounding_factor IS NOT NULL) THEN -- shu
518: IF (nvl(QP_PREQ_GRP.G_ROUNDING_FLAG, QP_PREQ_GRP.G_YES) = QP_PREQ_GRP.G_YES AND p_rounding_factor IS NOT NULL) THEN -- shu, new rounding
519: x_discounted_price := p_discounted_price + ROUND((abs(v_list_price) * (p_operand_value / 100)), p_rounding_factor);
520: ELSIF (QP_PREQ_GRP.G_ROUNDING_FLAG = G_CHAR_Q) THEN -- check qp_selling_price_rounding_options profile
521: IF (v_price_round_options = G_ROUND_ADJ AND p_rounding_factor IS NOT NULL) THEN -- do not round if profile is null

Line 518: IF (nvl(QP_PREQ_GRP.G_ROUNDING_FLAG, QP_PREQ_GRP.G_YES) = QP_PREQ_GRP.G_YES AND p_rounding_factor IS NOT NULL) THEN -- shu, new rounding

514:
515: ELSIF (p_list_line_type = QP_PREQ_GRP.G_SURCHARGE) THEN -- the sign along with value
516:
517: --IF (v_round_individual_adj_flag = QP_PREQ_GRP.G_YES AND p_rounding_factor IS NOT NULL) THEN -- shu
518: IF (nvl(QP_PREQ_GRP.G_ROUNDING_FLAG, QP_PREQ_GRP.G_YES) = QP_PREQ_GRP.G_YES AND p_rounding_factor IS NOT NULL) THEN -- shu, new rounding
519: x_discounted_price := p_discounted_price + ROUND((abs(v_list_price) * (p_operand_value / 100)), p_rounding_factor);
520: ELSIF (QP_PREQ_GRP.G_ROUNDING_FLAG = G_CHAR_Q) THEN -- check qp_selling_price_rounding_options profile
521: IF (v_price_round_options = G_ROUND_ADJ AND p_rounding_factor IS NOT NULL) THEN -- do not round if profile is null
522: x_discounted_price := p_discounted_price + ROUND((abs(v_list_price) * (p_operand_value / 100)), p_rounding_factor);

Line 520: ELSIF (QP_PREQ_GRP.G_ROUNDING_FLAG = G_CHAR_Q) THEN -- check qp_selling_price_rounding_options profile

516:
517: --IF (v_round_individual_adj_flag = QP_PREQ_GRP.G_YES AND p_rounding_factor IS NOT NULL) THEN -- shu
518: IF (nvl(QP_PREQ_GRP.G_ROUNDING_FLAG, QP_PREQ_GRP.G_YES) = QP_PREQ_GRP.G_YES AND p_rounding_factor IS NOT NULL) THEN -- shu, new rounding
519: x_discounted_price := p_discounted_price + ROUND((abs(v_list_price) * (p_operand_value / 100)), p_rounding_factor);
520: ELSIF (QP_PREQ_GRP.G_ROUNDING_FLAG = G_CHAR_Q) THEN -- check qp_selling_price_rounding_options profile
521: IF (v_price_round_options = G_ROUND_ADJ AND p_rounding_factor IS NOT NULL) THEN -- do not round if profile is null
522: x_discounted_price := p_discounted_price + ROUND((abs(v_list_price) * (p_operand_value / 100)), p_rounding_factor);
523: END IF;
524: ELSE -- QP_PREQ_GRP.G_ROUNDING_FLAG ='N' or 'U', un-round adjs

Line 524: ELSE -- QP_PREQ_GRP.G_ROUNDING_FLAG ='N' or 'U', un-round adjs

520: ELSIF (QP_PREQ_GRP.G_ROUNDING_FLAG = G_CHAR_Q) THEN -- check qp_selling_price_rounding_options profile
521: IF (v_price_round_options = G_ROUND_ADJ AND p_rounding_factor IS NOT NULL) THEN -- do not round if profile is null
522: x_discounted_price := p_discounted_price + ROUND((abs(v_list_price) * (p_operand_value / 100)), p_rounding_factor);
523: END IF;
524: ELSE -- QP_PREQ_GRP.G_ROUNDING_FLAG ='N' or 'U', un-round adjs
525: x_discounted_price := p_discounted_price + (abs(v_list_price) * (p_operand_value / 100));
526: END IF;
527:
528: --x_discounted_price := p_discounted_price + (abs(v_list_price) *(p_operand_value/100));

Line 531: ELSIF (p_list_line_type = QP_PREQ_GRP.G_FREIGHT_CHARGE) THEN

527:
528: --x_discounted_price := p_discounted_price + (abs(v_list_price) *(p_operand_value/100));
529: x_adjusted_amount := abs(v_list_price) * (p_operand_value / 100);
530:
531: ELSIF (p_list_line_type = QP_PREQ_GRP.G_FREIGHT_CHARGE) THEN
532: x_discounted_price := p_discounted_price;
533: x_adjusted_amount := abs(v_list_price) * (p_operand_value / 100);
534: END IF; -- end if p_list_line_type
535:

Line 536: ELSIF (p_operand_calc_code = QP_PREQ_GRP.G_NEWPRICE_DISCOUNT) THEN

532: x_discounted_price := p_discounted_price;
533: x_adjusted_amount := abs(v_list_price) * (p_operand_value / 100);
534: END IF; -- end if p_list_line_type
535:
536: ELSIF (p_operand_calc_code = QP_PREQ_GRP.G_NEWPRICE_DISCOUNT) THEN
537:
538: IF (p_list_line_type IN (QP_PREQ_GRP.G_DISCOUNT, QP_PREQ_GRP.G_SURCHARGE)) THEN
539: x_discounted_price := p_operand_value;
540: x_adjusted_amount := - (v_list_price - p_operand_value);

Line 538: IF (p_list_line_type IN (QP_PREQ_GRP.G_DISCOUNT, QP_PREQ_GRP.G_SURCHARGE)) THEN

534: END IF; -- end if p_list_line_type
535:
536: ELSIF (p_operand_calc_code = QP_PREQ_GRP.G_NEWPRICE_DISCOUNT) THEN
537:
538: IF (p_list_line_type IN (QP_PREQ_GRP.G_DISCOUNT, QP_PREQ_GRP.G_SURCHARGE)) THEN
539: x_discounted_price := p_operand_value;
540: x_adjusted_amount := - (v_list_price - p_operand_value);
541: --fix bug 2353905
542: --Negative list price can get correct adjusted_amount

Line 545: ELSIF (p_operand_calc_code = QP_PREQ_GRP.G_LUMPSUM_DISCOUNT) THEN

541: --fix bug 2353905
542: --Negative list price can get correct adjusted_amount
543: END IF;
544:
545: ELSIF (p_operand_calc_code = QP_PREQ_GRP.G_LUMPSUM_DISCOUNT) THEN
546:
547: IF (p_list_line_type = QP_PREQ_GRP.G_DISCOUNT) THEN
548:
549: IF(p_accrual_flag = QP_PREQ_GRP.G_YES) THEN

Line 547: IF (p_list_line_type = QP_PREQ_GRP.G_DISCOUNT) THEN

543: END IF;
544:
545: ELSIF (p_operand_calc_code = QP_PREQ_GRP.G_LUMPSUM_DISCOUNT) THEN
546:
547: IF (p_list_line_type = QP_PREQ_GRP.G_DISCOUNT) THEN
548:
549: IF(p_accrual_flag = QP_PREQ_GRP.G_YES) THEN
550: x_discounted_price := p_discounted_price;
551: IF (p_request_qty = 0) THEN

Line 549: IF(p_accrual_flag = QP_PREQ_GRP.G_YES) THEN

545: ELSIF (p_operand_calc_code = QP_PREQ_GRP.G_LUMPSUM_DISCOUNT) THEN
546:
547: IF (p_list_line_type = QP_PREQ_GRP.G_DISCOUNT) THEN
548:
549: IF(p_accrual_flag = QP_PREQ_GRP.G_YES) THEN
550: x_discounted_price := p_discounted_price;
551: IF (p_request_qty = 0) THEN
552: --x_adjusted_amount := p_operand_value;
553: x_adjusted_amount := 0; --bug2385874, should be 0 instead of p_operand_value

Line 564: --IF (v_round_individual_adj_flag = QP_PREQ_GRP.G_YES AND p_rounding_factor IS NOT NULL) THEN -- shu

560: x_discounted_price := p_discounted_price;
561: --x_adjusted_amount := p_operand_value;
562: x_adjusted_amount := 0; --bug2385874, should be 0 instead of p_operand_value
563: ELSE
564: --IF (v_round_individual_adj_flag = QP_PREQ_GRP.G_YES AND p_rounding_factor IS NOT NULL) THEN -- shu
565: IF (nvl(QP_PREQ_GRP.G_ROUNDING_FLAG, QP_PREQ_GRP.G_YES) = QP_PREQ_GRP.G_YES AND p_rounding_factor IS NOT NULL) THEN -- shu, new rounding
566: --4900095 added nvl to G_Lumpsum_qty
567: x_discounted_price := p_discounted_price - ROUND((p_operand_value / nvl(G_Lumpsum_Qty, p_request_qty)), p_rounding_factor);
568: ELSIF (QP_PREQ_GRP.G_ROUNDING_FLAG = G_CHAR_Q) THEN -- check qp_selling_price_rounding_options profile

Line 565: IF (nvl(QP_PREQ_GRP.G_ROUNDING_FLAG, QP_PREQ_GRP.G_YES) = QP_PREQ_GRP.G_YES AND p_rounding_factor IS NOT NULL) THEN -- shu, new rounding

561: --x_adjusted_amount := p_operand_value;
562: x_adjusted_amount := 0; --bug2385874, should be 0 instead of p_operand_value
563: ELSE
564: --IF (v_round_individual_adj_flag = QP_PREQ_GRP.G_YES AND p_rounding_factor IS NOT NULL) THEN -- shu
565: IF (nvl(QP_PREQ_GRP.G_ROUNDING_FLAG, QP_PREQ_GRP.G_YES) = QP_PREQ_GRP.G_YES AND p_rounding_factor IS NOT NULL) THEN -- shu, new rounding
566: --4900095 added nvl to G_Lumpsum_qty
567: x_discounted_price := p_discounted_price - ROUND((p_operand_value / nvl(G_Lumpsum_Qty, p_request_qty)), p_rounding_factor);
568: ELSIF (QP_PREQ_GRP.G_ROUNDING_FLAG = G_CHAR_Q) THEN -- check qp_selling_price_rounding_options profile
569: IF (v_price_round_options = G_ROUND_ADJ AND p_rounding_factor IS NOT NULL) THEN -- do not round if profile is null

Line 568: ELSIF (QP_PREQ_GRP.G_ROUNDING_FLAG = G_CHAR_Q) THEN -- check qp_selling_price_rounding_options profile

564: --IF (v_round_individual_adj_flag = QP_PREQ_GRP.G_YES AND p_rounding_factor IS NOT NULL) THEN -- shu
565: IF (nvl(QP_PREQ_GRP.G_ROUNDING_FLAG, QP_PREQ_GRP.G_YES) = QP_PREQ_GRP.G_YES AND p_rounding_factor IS NOT NULL) THEN -- shu, new rounding
566: --4900095 added nvl to G_Lumpsum_qty
567: x_discounted_price := p_discounted_price - ROUND((p_operand_value / nvl(G_Lumpsum_Qty, p_request_qty)), p_rounding_factor);
568: ELSIF (QP_PREQ_GRP.G_ROUNDING_FLAG = G_CHAR_Q) THEN -- check qp_selling_price_rounding_options profile
569: IF (v_price_round_options = G_ROUND_ADJ AND p_rounding_factor IS NOT NULL) THEN -- do not round if profile is null
570: --4900095 added nvl to G_Lumpsum_qty
571: x_discounted_price := p_discounted_price - ROUND((p_operand_value / nvl(G_Lumpsum_Qty, p_request_qty)), p_rounding_factor);
572: END IF;

Line 573: ELSE -- QP_PREQ_GRP.G_ROUNDING_FLAG ='N' or 'U', un-round adjs

569: IF (v_price_round_options = G_ROUND_ADJ AND p_rounding_factor IS NOT NULL) THEN -- do not round if profile is null
570: --4900095 added nvl to G_Lumpsum_qty
571: x_discounted_price := p_discounted_price - ROUND((p_operand_value / nvl(G_Lumpsum_Qty, p_request_qty)), p_rounding_factor);
572: END IF;
573: ELSE -- QP_PREQ_GRP.G_ROUNDING_FLAG ='N' or 'U', un-round adjs
574: --4900095 added nvl to G_Lumpsum_qty
575: x_discounted_price := p_discounted_price - (p_operand_value / nvl(G_Lumpsum_Qty, p_request_qty));
576: END IF;
577:

Line 586: ELSIF (p_list_line_type = QP_PREQ_GRP.G_SURCHARGE) THEN

582: END IF; -- end if p_request_qty
583:
584: END IF; -- end if p_accrual_flag
585:
586: ELSIF (p_list_line_type = QP_PREQ_GRP.G_SURCHARGE) THEN
587:
588: IF (p_request_qty = 0) THEN
589: x_discounted_price := p_discounted_price;
590: --x_adjusted_amount := p_operand_value;

Line 593: --IF (v_round_individual_adj_flag = QP_PREQ_GRP.G_YES AND p_rounding_factor IS NOT NULL) THEN -- shu

589: x_discounted_price := p_discounted_price;
590: --x_adjusted_amount := p_operand_value;
591: x_adjusted_amount := 0; --bug2385874, should be 0 instead of p_operand_value
592: ELSE
593: --IF (v_round_individual_adj_flag = QP_PREQ_GRP.G_YES AND p_rounding_factor IS NOT NULL) THEN -- shu
594: IF (nvl(QP_PREQ_GRP.G_ROUNDING_FLAG, QP_PREQ_GRP.G_YES) = QP_PREQ_GRP.G_YES AND p_rounding_factor IS NOT NULL) THEN -- shu, new rounding
595: --4900095 added nvl to G_Lumpsum_qty
596: x_discounted_price := p_discounted_price + ROUND((p_operand_value / nvl(G_Lumpsum_Qty, p_request_qty)), p_rounding_factor);
597: ELSIF (QP_PREQ_GRP.G_ROUNDING_FLAG = G_CHAR_Q) THEN -- check qp_selling_price_rounding_options profile

Line 594: IF (nvl(QP_PREQ_GRP.G_ROUNDING_FLAG, QP_PREQ_GRP.G_YES) = QP_PREQ_GRP.G_YES AND p_rounding_factor IS NOT NULL) THEN -- shu, new rounding

590: --x_adjusted_amount := p_operand_value;
591: x_adjusted_amount := 0; --bug2385874, should be 0 instead of p_operand_value
592: ELSE
593: --IF (v_round_individual_adj_flag = QP_PREQ_GRP.G_YES AND p_rounding_factor IS NOT NULL) THEN -- shu
594: IF (nvl(QP_PREQ_GRP.G_ROUNDING_FLAG, QP_PREQ_GRP.G_YES) = QP_PREQ_GRP.G_YES AND p_rounding_factor IS NOT NULL) THEN -- shu, new rounding
595: --4900095 added nvl to G_Lumpsum_qty
596: x_discounted_price := p_discounted_price + ROUND((p_operand_value / nvl(G_Lumpsum_Qty, p_request_qty)), p_rounding_factor);
597: ELSIF (QP_PREQ_GRP.G_ROUNDING_FLAG = G_CHAR_Q) THEN -- check qp_selling_price_rounding_options profile
598: IF (v_price_round_options = G_ROUND_ADJ AND p_rounding_factor IS NOT NULL) THEN -- do not round if profile is null

Line 597: ELSIF (QP_PREQ_GRP.G_ROUNDING_FLAG = G_CHAR_Q) THEN -- check qp_selling_price_rounding_options profile

593: --IF (v_round_individual_adj_flag = QP_PREQ_GRP.G_YES AND p_rounding_factor IS NOT NULL) THEN -- shu
594: IF (nvl(QP_PREQ_GRP.G_ROUNDING_FLAG, QP_PREQ_GRP.G_YES) = QP_PREQ_GRP.G_YES AND p_rounding_factor IS NOT NULL) THEN -- shu, new rounding
595: --4900095 added nvl to G_Lumpsum_qty
596: x_discounted_price := p_discounted_price + ROUND((p_operand_value / nvl(G_Lumpsum_Qty, p_request_qty)), p_rounding_factor);
597: ELSIF (QP_PREQ_GRP.G_ROUNDING_FLAG = G_CHAR_Q) THEN -- check qp_selling_price_rounding_options profile
598: IF (v_price_round_options = G_ROUND_ADJ AND p_rounding_factor IS NOT NULL) THEN -- do not round if profile is null
599: --4900095 added nvl to G_Lumpsum_qty
600: x_discounted_price := p_discounted_price + ROUND((p_operand_value / nvl(G_Lumpsum_Qty, p_request_qty)), p_rounding_factor);
601: END IF;

Line 602: ELSE -- QP_PREQ_GRP.G_ROUNDING_FLAG ='N' or 'U', un-round adjs

598: IF (v_price_round_options = G_ROUND_ADJ AND p_rounding_factor IS NOT NULL) THEN -- do not round if profile is null
599: --4900095 added nvl to G_Lumpsum_qty
600: x_discounted_price := p_discounted_price + ROUND((p_operand_value / nvl(G_Lumpsum_Qty, p_request_qty)), p_rounding_factor);
601: END IF;
602: ELSE -- QP_PREQ_GRP.G_ROUNDING_FLAG ='N' or 'U', un-round adjs
603: --4900095 added nvl to G_Lumpsum_qty
604: x_discounted_price := p_discounted_price + (p_operand_value / nvl(G_Lumpsum_Qty, p_request_qty));
605: END IF; -- end if p_request_qty
606:

Line 613: ELSIF (p_list_line_type = QP_PREQ_GRP.G_FREIGHT_CHARGE) THEN

609: x_adjusted_amount := p_operand_value / nvl(G_Lumpsum_Qty, p_request_qty);
610:
611: END IF; -- end if p_request_qty
612:
613: ELSIF (p_list_line_type = QP_PREQ_GRP.G_FREIGHT_CHARGE) THEN
614: x_discounted_price := p_discounted_price;
615:
616: IF (p_request_qty = 0) THEN
617: x_adjusted_amount := p_operand_value;

Line 630: -- IF (v_round_individual_adj_flag = QP_PREQ_GRP.G_YES AND p_rounding_factor IS NOT NULL) THEN -- shu

626:
627: END IF; -- end IF (p_old_pricing_sequence = p_new_pricing_sequence AND p_new_pricing_sequence IS NOT NULL)
628:
629: -- round it all
630: -- IF (v_round_individual_adj_flag = QP_PREQ_GRP.G_YES AND p_rounding_factor IS NOT NULL) THEN -- shu
631: IF (nvl(QP_PREQ_GRP.G_ROUNDING_FLAG, QP_PREQ_GRP.G_YES) = QP_PREQ_GRP.G_YES AND p_rounding_factor IS NOT NULL) THEN -- shu, new rounding
632: x_adjusted_amount := ROUND(x_adjusted_amount, p_rounding_factor);
633: ELSIF (QP_PREQ_GRP.G_ROUNDING_FLAG = G_CHAR_Q) THEN -- check qp_selling_price_rounding_options profile
634: IF (v_price_round_options = G_ROUND_ADJ AND p_rounding_factor IS NOT NULL) THEN -- do not round if profile is null

Line 631: IF (nvl(QP_PREQ_GRP.G_ROUNDING_FLAG, QP_PREQ_GRP.G_YES) = QP_PREQ_GRP.G_YES AND p_rounding_factor IS NOT NULL) THEN -- shu, new rounding

627: END IF; -- end IF (p_old_pricing_sequence = p_new_pricing_sequence AND p_new_pricing_sequence IS NOT NULL)
628:
629: -- round it all
630: -- IF (v_round_individual_adj_flag = QP_PREQ_GRP.G_YES AND p_rounding_factor IS NOT NULL) THEN -- shu
631: IF (nvl(QP_PREQ_GRP.G_ROUNDING_FLAG, QP_PREQ_GRP.G_YES) = QP_PREQ_GRP.G_YES AND p_rounding_factor IS NOT NULL) THEN -- shu, new rounding
632: x_adjusted_amount := ROUND(x_adjusted_amount, p_rounding_factor);
633: ELSIF (QP_PREQ_GRP.G_ROUNDING_FLAG = G_CHAR_Q) THEN -- check qp_selling_price_rounding_options profile
634: IF (v_price_round_options = G_ROUND_ADJ AND p_rounding_factor IS NOT NULL) THEN -- do not round if profile is null
635: x_adjusted_amount := ROUND(x_adjusted_amount, p_rounding_factor);

Line 633: ELSIF (QP_PREQ_GRP.G_ROUNDING_FLAG = G_CHAR_Q) THEN -- check qp_selling_price_rounding_options profile

629: -- round it all
630: -- IF (v_round_individual_adj_flag = QP_PREQ_GRP.G_YES AND p_rounding_factor IS NOT NULL) THEN -- shu
631: IF (nvl(QP_PREQ_GRP.G_ROUNDING_FLAG, QP_PREQ_GRP.G_YES) = QP_PREQ_GRP.G_YES AND p_rounding_factor IS NOT NULL) THEN -- shu, new rounding
632: x_adjusted_amount := ROUND(x_adjusted_amount, p_rounding_factor);
633: ELSIF (QP_PREQ_GRP.G_ROUNDING_FLAG = G_CHAR_Q) THEN -- check qp_selling_price_rounding_options profile
634: IF (v_price_round_options = G_ROUND_ADJ AND p_rounding_factor IS NOT NULL) THEN -- do not round if profile is null
635: x_adjusted_amount := ROUND(x_adjusted_amount, p_rounding_factor);
636: END IF;
637: END IF;

Line 643: QP_PREQ_GRP.engine_debug(v_routine_name || ' ' || SQLERRM);

639: EXCEPTION
640:
641: WHEN OTHERS THEN
642: IF l_debug = FND_API.G_TRUE THEN
643: QP_PREQ_GRP.engine_debug(v_routine_name || ' ' || SQLERRM);
644: END IF;
645: x_return_status := FND_API.G_RET_STS_ERROR;
646: x_return_status_txt := v_routine_name || ' ' || SQLERRM;
647: END Calculate_Adjusted_Price;

Line 714: l_debug := QP_PREQ_GRP.G_DEBUG_ENGINE;

710: v_routine_name CONSTANT VARCHAR2(240) := 'Routine:QP_Calculate_Price_PUB.Process_Price_Break';
711:
712: BEGIN
713:
714: l_debug := QP_PREQ_GRP.G_DEBUG_ENGINE;
715: x_return_status := FND_API.G_RET_STS_SUCCESS;
716: v_related_request_lines := p_related_request_lines;
717: v_old_pricing_sequence := p_old_pricing_grp_seq;
718:

Line 730: QP_PREQ_GRP.engine_debug ('<-------- CONTINUOUS PRICE BREAK -------->');

726: LOOP
727: IF (p_related_request_lines(k).LINE_DETAIL_INDEX = p_list_line_index) THEN
728: IF l_debug = FND_API.G_TRUE THEN
729: IF l_continuous_flag = 'Y' THEN
730: QP_PREQ_GRP.engine_debug ('<-------- CONTINUOUS PRICE BREAK -------->');
731: ELSE
732: QP_PREQ_GRP.engine_debug ('<---------------------------------------->');
733: END IF;
734: QP_PREQ_GRP.engine_debug ('p_list_line_id: '|| p_list_line_id);

Line 732: QP_PREQ_GRP.engine_debug ('<---------------------------------------->');

728: IF l_debug = FND_API.G_TRUE THEN
729: IF l_continuous_flag = 'Y' THEN
730: QP_PREQ_GRP.engine_debug ('<-------- CONTINUOUS PRICE BREAK -------->');
731: ELSE
732: QP_PREQ_GRP.engine_debug ('<---------------------------------------->');
733: END IF;
734: QP_PREQ_GRP.engine_debug ('p_list_line_id: '|| p_list_line_id);
735: QP_PREQ_GRP.engine_debug ('p_list_line_index: '|| p_list_line_index);
736: END IF; -- END IF l_debug = FND_API.G_TRUE

Line 734: QP_PREQ_GRP.engine_debug ('p_list_line_id: '|| p_list_line_id);

730: QP_PREQ_GRP.engine_debug ('<-------- CONTINUOUS PRICE BREAK -------->');
731: ELSE
732: QP_PREQ_GRP.engine_debug ('<---------------------------------------->');
733: END IF;
734: QP_PREQ_GRP.engine_debug ('p_list_line_id: '|| p_list_line_id);
735: QP_PREQ_GRP.engine_debug ('p_list_line_index: '|| p_list_line_index);
736: END IF; -- END IF l_debug = FND_API.G_TRUE
737:
738: -- 4061138

Line 735: QP_PREQ_GRP.engine_debug ('p_list_line_index: '|| p_list_line_index);

731: ELSE
732: QP_PREQ_GRP.engine_debug ('<---------------------------------------->');
733: END IF;
734: QP_PREQ_GRP.engine_debug ('p_list_line_id: '|| p_list_line_id);
735: QP_PREQ_GRP.engine_debug ('p_list_line_index: '|| p_list_line_index);
736: END IF; -- END IF l_debug = FND_API.G_TRUE
737:
738: -- 4061138
739: -- check if PBH is prorated, important for continuous processing later

Line 740: IF l_continuous_flag = 'Y' AND QP_PREQ_GRP.G_BREAK_UOM_PRORATION = 'Y'

736: END IF; -- END IF l_debug = FND_API.G_TRUE
737:
738: -- 4061138
739: -- check if PBH is prorated, important for continuous processing later
740: IF l_continuous_flag = 'Y' AND QP_PREQ_GRP.G_BREAK_UOM_PRORATION = 'Y'
741: THEN
742: BEGIN
743: SELECT 'Y' INTO l_prorated_flag
744: FROM qp_npreq_ldets_tmp

Line 753: IF (p_related_request_lines(k).PRICE_BREAK_TYPE_CODE = QP_PREQ_GRP.G_POINT_BREAK) THEN

749: l_prorated_flag := 'N';
750: END;
751: END IF;
752:
753: IF (p_related_request_lines(k).PRICE_BREAK_TYPE_CODE = QP_PREQ_GRP.G_POINT_BREAK) THEN
754: IF l_debug = FND_API.G_TRUE THEN
755: QP_PREQ_GRP.engine_debug ('i am in Point break'); -- shu dbg 2388011
756: QP_PREQ_GRP.engine_debug ('p_group_value: '|| p_group_value); -- shu dbg 2388011
757: QP_PREQ_GRP.engine_debug ('p_list_line_qty: '|| p_list_line_qty); -- shu dbg 2388011

Line 755: QP_PREQ_GRP.engine_debug ('i am in Point break'); -- shu dbg 2388011

751: END IF;
752:
753: IF (p_related_request_lines(k).PRICE_BREAK_TYPE_CODE = QP_PREQ_GRP.G_POINT_BREAK) THEN
754: IF l_debug = FND_API.G_TRUE THEN
755: QP_PREQ_GRP.engine_debug ('i am in Point break'); -- shu dbg 2388011
756: QP_PREQ_GRP.engine_debug ('p_group_value: '|| p_group_value); -- shu dbg 2388011
757: QP_PREQ_GRP.engine_debug ('p_list_line_qty: '|| p_list_line_qty); -- shu dbg 2388011
758: END IF; -- END IF l_debug = FND_API.G_TRUE
759:

Line 756: QP_PREQ_GRP.engine_debug ('p_group_value: '|| p_group_value); -- shu dbg 2388011

752:
753: IF (p_related_request_lines(k).PRICE_BREAK_TYPE_CODE = QP_PREQ_GRP.G_POINT_BREAK) THEN
754: IF l_debug = FND_API.G_TRUE THEN
755: QP_PREQ_GRP.engine_debug ('i am in Point break'); -- shu dbg 2388011
756: QP_PREQ_GRP.engine_debug ('p_group_value: '|| p_group_value); -- shu dbg 2388011
757: QP_PREQ_GRP.engine_debug ('p_list_line_qty: '|| p_list_line_qty); -- shu dbg 2388011
758: END IF; -- END IF l_debug = FND_API.G_TRUE
759:
760: -- 2388011, Applicable for group of lines based PBH

Line 757: QP_PREQ_GRP.engine_debug ('p_list_line_qty: '|| p_list_line_qty); -- shu dbg 2388011

753: IF (p_related_request_lines(k).PRICE_BREAK_TYPE_CODE = QP_PREQ_GRP.G_POINT_BREAK) THEN
754: IF l_debug = FND_API.G_TRUE THEN
755: QP_PREQ_GRP.engine_debug ('i am in Point break'); -- shu dbg 2388011
756: QP_PREQ_GRP.engine_debug ('p_group_value: '|| p_group_value); -- shu dbg 2388011
757: QP_PREQ_GRP.engine_debug ('p_list_line_qty: '|| p_list_line_qty); -- shu dbg 2388011
758: END IF; -- END IF l_debug = FND_API.G_TRUE
759:
760: -- 2388011, Applicable for group of lines based PBH
761: v_ord_qty := p_list_line_qty; -- Store the ordered qty

Line 770: QP_PREQ_GRP.engine_debug ('v_temp, for evaluation (either p_group_value or p_list_line_qty): '|| v_temp); -- shu dbg 2388011

766: v_temp := p_list_line_qty;
767: END IF;
768:
769: IF l_debug = FND_API.G_TRUE THEN
770: QP_PREQ_GRP.engine_debug ('v_temp, for evaluation (either p_group_value or p_list_line_qty): '|| v_temp); -- shu dbg 2388011
771: END IF; -- END IF l_debug = FND_API.G_TRUE
772:
773: -- If it falls in the range
774: /* rewritten for 4061138

Line 788: QP_PREQ_GRP.engine_debug ('PBH operand Calc Code : ' || p_operand_calc_code);

784: THEN
785: v_related_request_lines(k).LINE_QTY := v_temp; -- PBH line qty/v_ord_qty, 2388011
786:
787: IF l_debug = FND_API.G_TRUE THEN
788: QP_PREQ_GRP.engine_debug ('PBH operand Calc Code : ' || p_operand_calc_code);
789: END IF;
790:
791: -- Do not calculate per unit satisfied value if it is BLOCK_PRICING
792: IF (p_pbh_type IN (QP_PREQ_GRP.G_PRICE_LIST_HEADER, QP_PREQ_GRP.G_AGR_LIST_HEADER)) THEN

Line 792: IF (p_pbh_type IN (QP_PREQ_GRP.G_PRICE_LIST_HEADER, QP_PREQ_GRP.G_AGR_LIST_HEADER)) THEN

788: QP_PREQ_GRP.engine_debug ('PBH operand Calc Code : ' || p_operand_calc_code);
789: END IF;
790:
791: -- Do not calculate per unit satisfied value if it is BLOCK_PRICING
792: IF (p_pbh_type IN (QP_PREQ_GRP.G_PRICE_LIST_HEADER, QP_PREQ_GRP.G_AGR_LIST_HEADER)) THEN
793: IF (p_operand_calc_code = 'BLOCK_PRICE') THEN
794: v_calculate_per_unit_flag := 'N';
795: ELSE
796: v_calculate_per_unit_flag := 'Y';

Line 803: IF (p_related_request_lines(k).OPERAND_CALCULATION_CODE = QP_PREQ_GRP.G_BREAKUNIT_PRICE) THEN

799: v_calculate_per_unit_flag := 'Y';
800: END IF;
801: -- for FTE breakunit
802: -- also do not calculate per unit value if line is BREAKUNIT_PRICE
803: IF (p_related_request_lines(k).OPERAND_CALCULATION_CODE = QP_PREQ_GRP.G_BREAKUNIT_PRICE) THEN
804: v_calculate_per_unit_flag := 'N';
805: END IF;
806:
807: IF l_debug = FND_API.G_TRUE THEN

Line 808: QP_PREQ_GRP.engine_debug ('Calculate Per Unit Flag : ' || v_calculate_per_unit_flag);

804: v_calculate_per_unit_flag := 'N';
805: END IF;
806:
807: IF l_debug = FND_API.G_TRUE THEN
808: QP_PREQ_GRP.engine_debug ('Calculate Per Unit Flag : ' || v_calculate_per_unit_flag);
809: END IF;
810:
811: -- This happens only if it is line group based Applicable for both Linegroup Amount and Item Amount
812: -- 2388011_new

Line 822: QP_PREQ_GRP.engine_debug('List Line Quantity: ' || v_related_request_lines(k).LINE_QTY );

818: END IF;
819:
820:
821: IF l_debug = FND_API.G_TRUE THEN
822: QP_PREQ_GRP.engine_debug('List Line Quantity: ' || v_related_request_lines(k).LINE_QTY );
823: QP_PREQ_GRP.engine_debug('PBH Type: ' || p_pbh_type);
824: END IF; -- END IF l_debug = FND_API.G_TRUE
825:
826: -- Call the Calculate List Price Function

Line 823: QP_PREQ_GRP.engine_debug('PBH Type: ' || p_pbh_type);

819:
820:
821: IF l_debug = FND_API.G_TRUE THEN
822: QP_PREQ_GRP.engine_debug('List Line Quantity: ' || v_related_request_lines(k).LINE_QTY );
823: QP_PREQ_GRP.engine_debug('PBH Type: ' || p_pbh_type);
824: END IF; -- END IF l_debug = FND_API.G_TRUE
825:
826: -- Call the Calculate List Price Function
827: IF (p_pbh_type IN (QP_PREQ_GRP.G_PRICE_LIST_HEADER, QP_PREQ_GRP.G_AGR_LIST_HEADER)) THEN

Line 827: IF (p_pbh_type IN (QP_PREQ_GRP.G_PRICE_LIST_HEADER, QP_PREQ_GRP.G_AGR_LIST_HEADER)) THEN

823: QP_PREQ_GRP.engine_debug('PBH Type: ' || p_pbh_type);
824: END IF; -- END IF l_debug = FND_API.G_TRUE
825:
826: -- Call the Calculate List Price Function
827: IF (p_pbh_type IN (QP_PREQ_GRP.G_PRICE_LIST_HEADER, QP_PREQ_GRP.G_AGR_LIST_HEADER)) THEN
828: Calculate_List_Price_PVT(
829: p_related_request_lines(k).OPERAND_CALCULATION_CODE,
830: p_related_request_lines(k).OPERAND_VALUE,
831: p_related_request_lines(k).RECURRING_VALUE, -- block pricing

Line 835: QP_PREQ_GRP.G_ROUNDING_FLAG,

831: p_related_request_lines(k).RECURRING_VALUE, -- block pricing
832: v_ord_qty, -- 2388011_new, for calculation
833: p_related_item_price,
834: p_service_duration,
835: QP_PREQ_GRP.G_ROUNDING_FLAG,
836: p_rounding_factor,
837: x_list_price,
838: x_percent_price,
839: x_extended_price,

Line 849: IF (p_related_request_lines(k).OPERAND_CALCULATION_CODE = qp_preq_grp.G_BLOCK_PRICE) THEN

845: END IF;
846:
847: -- This is the final list price after break evaluation
848: -- changed for block pricing
849: IF (p_related_request_lines(k).OPERAND_CALCULATION_CODE = qp_preq_grp.G_BLOCK_PRICE) THEN
850: v_related_request_lines(k).ADJUSTMENT_AMOUNT := x_extended_price;
851: ELSE
852: v_related_request_lines(k).ADJUSTMENT_AMOUNT := x_list_price;
853: END IF;

Line 859: QP_PREQ_GRP.engine_debug('final list price after break evaluation..');

855: x_pbh_list_price := x_list_price;
856: x_pbh_extended_price := x_extended_price; -- block pricing
857:
858: IF l_debug = FND_API.G_TRUE THEN
859: QP_PREQ_GRP.engine_debug('final list price after break evaluation..');
860: QP_PREQ_GRP.engine_debug('List Line Price: ' || v_related_request_lines(k).ADJUSTMENT_AMOUNT );
861: QP_PREQ_GRP.engine_debug('List Line Price: ' || x_pbh_list_price );
862: END IF; -- END IF l_debug = FND_API.G_TRUE
863:

Line 860: QP_PREQ_GRP.engine_debug('List Line Price: ' || v_related_request_lines(k).ADJUSTMENT_AMOUNT );

856: x_pbh_extended_price := x_extended_price; -- block pricing
857:
858: IF l_debug = FND_API.G_TRUE THEN
859: QP_PREQ_GRP.engine_debug('final list price after break evaluation..');
860: QP_PREQ_GRP.engine_debug('List Line Price: ' || v_related_request_lines(k).ADJUSTMENT_AMOUNT );
861: QP_PREQ_GRP.engine_debug('List Line Price: ' || x_pbh_list_price );
862: END IF; -- END IF l_debug = FND_API.G_TRUE
863:
864: ELSE -- DIS/SUR/FREIGHT_CHARGE

Line 861: QP_PREQ_GRP.engine_debug('List Line Price: ' || x_pbh_list_price );

857:
858: IF l_debug = FND_API.G_TRUE THEN
859: QP_PREQ_GRP.engine_debug('final list price after break evaluation..');
860: QP_PREQ_GRP.engine_debug('List Line Price: ' || v_related_request_lines(k).ADJUSTMENT_AMOUNT );
861: QP_PREQ_GRP.engine_debug('List Line Price: ' || x_pbh_list_price );
862: END IF; -- END IF l_debug = FND_API.G_TRUE
863:
864: ELSE -- DIS/SUR/FREIGHT_CHARGE
865:

Line 867: QP_PREQ_GRP.engine_debug('I am in Discount Break');

863:
864: ELSE -- DIS/SUR/FREIGHT_CHARGE
865:
866: IF l_debug = FND_API.G_TRUE THEN
867: QP_PREQ_GRP.engine_debug('I am in Discount Break');
868: QP_PREQ_GRP.engine_debug('List Price: ' || p_list_price);
869: QP_PREQ_GRP.engine_debug('Discounted Price: ' || p_discounted_price);
870: QP_PREQ_GRP.engine_debug('Old Pricing Seq: ' || v_old_pricing_sequence);
871: QP_PREQ_GRP.engine_debug('New Pricing Seq: ' || v_related_request_lines(k).PRICING_GROUP_SEQUENCE);

Line 868: QP_PREQ_GRP.engine_debug('List Price: ' || p_list_price);

864: ELSE -- DIS/SUR/FREIGHT_CHARGE
865:
866: IF l_debug = FND_API.G_TRUE THEN
867: QP_PREQ_GRP.engine_debug('I am in Discount Break');
868: QP_PREQ_GRP.engine_debug('List Price: ' || p_list_price);
869: QP_PREQ_GRP.engine_debug('Discounted Price: ' || p_discounted_price);
870: QP_PREQ_GRP.engine_debug('Old Pricing Seq: ' || v_old_pricing_sequence);
871: QP_PREQ_GRP.engine_debug('New Pricing Seq: ' || v_related_request_lines(k).PRICING_GROUP_SEQUENCE);
872: END IF; -- END IF l_debug = FND_API.G_TRUE

Line 869: QP_PREQ_GRP.engine_debug('Discounted Price: ' || p_discounted_price);

865:
866: IF l_debug = FND_API.G_TRUE THEN
867: QP_PREQ_GRP.engine_debug('I am in Discount Break');
868: QP_PREQ_GRP.engine_debug('List Price: ' || p_list_price);
869: QP_PREQ_GRP.engine_debug('Discounted Price: ' || p_discounted_price);
870: QP_PREQ_GRP.engine_debug('Old Pricing Seq: ' || v_old_pricing_sequence);
871: QP_PREQ_GRP.engine_debug('New Pricing Seq: ' || v_related_request_lines(k).PRICING_GROUP_SEQUENCE);
872: END IF; -- END IF l_debug = FND_API.G_TRUE
873:

Line 870: QP_PREQ_GRP.engine_debug('Old Pricing Seq: ' || v_old_pricing_sequence);

866: IF l_debug = FND_API.G_TRUE THEN
867: QP_PREQ_GRP.engine_debug('I am in Discount Break');
868: QP_PREQ_GRP.engine_debug('List Price: ' || p_list_price);
869: QP_PREQ_GRP.engine_debug('Discounted Price: ' || p_discounted_price);
870: QP_PREQ_GRP.engine_debug('Old Pricing Seq: ' || v_old_pricing_sequence);
871: QP_PREQ_GRP.engine_debug('New Pricing Seq: ' || v_related_request_lines(k).PRICING_GROUP_SEQUENCE);
872: END IF; -- END IF l_debug = FND_API.G_TRUE
873:
874: Calculate_Adjusted_Price(p_list_price => p_list_price, -- List Price

Line 871: QP_PREQ_GRP.engine_debug('New Pricing Seq: ' || v_related_request_lines(k).PRICING_GROUP_SEQUENCE);

867: QP_PREQ_GRP.engine_debug('I am in Discount Break');
868: QP_PREQ_GRP.engine_debug('List Price: ' || p_list_price);
869: QP_PREQ_GRP.engine_debug('Discounted Price: ' || p_discounted_price);
870: QP_PREQ_GRP.engine_debug('Old Pricing Seq: ' || v_old_pricing_sequence);
871: QP_PREQ_GRP.engine_debug('New Pricing Seq: ' || v_related_request_lines(k).PRICING_GROUP_SEQUENCE);
872: END IF; -- END IF l_debug = FND_API.G_TRUE
873:
874: Calculate_Adjusted_Price(p_list_price => p_list_price, -- List Price
875: p_discounted_price => p_discounted_price,

Line 885: p_rounding_flag => QP_PREQ_GRP.G_ROUNDING_FLAG,

881: p_list_line_type => v_related_request_lines(k).RELATED_LIST_LINE_TYPE,
882: --p_request_qty => v_related_request_lines(k).LINE_QTY, -- 2388011,
883: p_request_qty => p_list_line_qty, -- 2388011_new
884: p_accrual_flag => v_related_request_lines(k).ACCRUAL_FLAG,
885: p_rounding_flag => QP_PREQ_GRP.G_ROUNDING_FLAG,
886: p_rounding_factor => p_rounding_factor,
887: p_orig_unit_price => p_list_price,
888: x_discounted_price => x_discounted_price, -- Output Discounted Price
889: x_adjusted_amount => x_adjusted_amount, -- Discount amount for this line

Line 904: QP_PREQ_GRP.engine_debug('Adjusted Line Amount: ' || v_related_request_lines(k).ADJUSTMENT_AMOUNT);

900: -- This is the final selling price after break evaluation for this discount line
901: v_related_request_lines(k).ADJUSTMENT_AMOUNT := x_adjusted_amount;
902:
903: IF l_debug = FND_API.G_TRUE THEN
904: QP_PREQ_GRP.engine_debug('Adjusted Line Amount: ' || v_related_request_lines(k).ADJUSTMENT_AMOUNT);
905: END IF; -- END IF l_debug = FND_API.G_TRUE
906: END IF; -- END IF (p_pbh_type in (QP_PREQ_GRP.G_PRICE_LIST_HEADER,QP_PREQ_GRP.G_AGR_LIST_HEADER))
907:
908: -- ELSE IF (v_temp >= p_related_request_lines(k).VALUE_FROM AND...

Line 906: END IF; -- END IF (p_pbh_type in (QP_PREQ_GRP.G_PRICE_LIST_HEADER,QP_PREQ_GRP.G_AGR_LIST_HEADER))

902:
903: IF l_debug = FND_API.G_TRUE THEN
904: QP_PREQ_GRP.engine_debug('Adjusted Line Amount: ' || v_related_request_lines(k).ADJUSTMENT_AMOUNT);
905: END IF; -- END IF l_debug = FND_API.G_TRUE
906: END IF; -- END IF (p_pbh_type in (QP_PREQ_GRP.G_PRICE_LIST_HEADER,QP_PREQ_GRP.G_AGR_LIST_HEADER))
907:
908: -- ELSE IF (v_temp >= p_related_request_lines(k).VALUE_FROM AND...
909: ELSE -- Store the break line which did not satisfy with qty 0,for other related lines
910: v_related_request_lines(k).LINE_QTY := 0;

Line 912: IF (p_pbh_type IN (QP_PREQ_GRP.G_PRICE_LIST_HEADER, QP_PREQ_GRP.G_AGR_LIST_HEADER)) THEN

908: -- ELSE IF (v_temp >= p_related_request_lines(k).VALUE_FROM AND...
909: ELSE -- Store the break line which did not satisfy with qty 0,for other related lines
910: v_related_request_lines(k).LINE_QTY := 0;
911: -- This is the final list price or selling price after break evaluation
912: IF (p_pbh_type IN (QP_PREQ_GRP.G_PRICE_LIST_HEADER, QP_PREQ_GRP.G_AGR_LIST_HEADER)) THEN
913:
914: Calculate_List_Price_PVT(
915: p_related_request_lines(k).OPERAND_CALCULATION_CODE,
916: p_related_request_lines(k).OPERAND_VALUE,

Line 921: QP_PREQ_GRP.G_ROUNDING_FLAG,

917: p_related_request_lines(k).RECURRING_VALUE, -- block pricing
918: 0, -- p_request_qty = 0
919: p_related_item_price,
920: p_service_duration,
921: QP_PREQ_GRP.G_ROUNDING_FLAG,
922: p_rounding_factor,
923: x_list_price,
924: x_percent_price,
925: x_extended_price, -- block pricing

Line 931: QP_PREQ_GRP.engine_debug(v_routine_name || ' ' || x_ret_status_txt);

927: x_ret_status_txt);
928:
929: IF(x_ret_status = FND_API.G_RET_STS_ERROR) THEN
930: IF l_debug = FND_API.G_TRUE THEN
931: QP_PREQ_GRP.engine_debug(v_routine_name || ' ' || x_ret_status_txt);
932: END IF;
933: RAISE FND_API.G_EXC_ERROR;
934: END IF; -- END IF(x_ret_status = FND_API.G_RET_STS_ERROR)
935:

Line 938: IF (p_related_request_lines(k).OPERAND_CALCULATION_CODE = qp_preq_grp.G_BLOCK_PRICE) THEN

934: END IF; -- END IF(x_ret_status = FND_API.G_RET_STS_ERROR)
935:
936: -- This is the final list price after break evaluation
937: -- modified for block pricing
938: IF (p_related_request_lines(k).OPERAND_CALCULATION_CODE = qp_preq_grp.G_BLOCK_PRICE) THEN
939: v_related_request_lines(k).ADJUSTMENT_AMOUNT := x_extended_price;
940: ELSE
941: v_related_request_lines(k).ADJUSTMENT_AMOUNT := x_list_price;
942: END IF;

Line 945: QP_PREQ_GRP.engine_debug('List Line Price: ' || v_related_request_lines(k).ADJUSTMENT_AMOUNT );

941: v_related_request_lines(k).ADJUSTMENT_AMOUNT := x_list_price;
942: END IF;
943:
944: IF l_debug = FND_API.G_TRUE THEN
945: QP_PREQ_GRP.engine_debug('List Line Price: ' || v_related_request_lines(k).ADJUSTMENT_AMOUNT );
946: END IF;
947:
948: ELSE --DIS/SUR/FREIGHT_CHARGE
949:

Line 960: p_rounding_flag => QP_PREQ_GRP.G_ROUNDING_FLAG,

956: p_operand_value => v_related_request_lines(k).OPERAND_VALUE,
957: p_list_line_type => v_related_request_lines(k).RELATED_LIST_LINE_TYPE,
958: p_request_qty => 0, -- p_request_qty
959: p_accrual_flag => v_related_request_lines(k).ACCRUAL_FLAG,
960: p_rounding_flag => QP_PREQ_GRP.G_ROUNDING_FLAG,
961: p_rounding_factor => p_rounding_factor,
962: p_orig_unit_price => p_list_price,
963: x_discounted_price => x_discounted_price, -- Output Discounted Price
964: x_adjusted_amount => x_adjusted_amount, -- Discount amount for this line

Line 979: QP_PREQ_GRP.engine_debug('Adjusted Line Amount: ' || x_adjustment_amount);

975: -- This is the final selling price after break evaluation for this discount line
976: v_related_request_lines(k).ADJUSTMENT_AMOUNT := x_adjusted_amount;
977:
978: IF l_debug = FND_API.G_TRUE THEN
979: QP_PREQ_GRP.engine_debug('Adjusted Line Amount: ' || x_adjustment_amount);
980: END IF; -- END IF l_debug = FND_API.G_TRUE
981: END IF; -- END IF (p_pbh_type in (QP_PREQ_GRP.G_PRICE_LIST_HEADER
982: END IF; -- END IF (v_temp >= p_related_request_lines(k).VALUE_FROM AND
983:

Line 981: END IF; -- END IF (p_pbh_type in (QP_PREQ_GRP.G_PRICE_LIST_HEADER

977:
978: IF l_debug = FND_API.G_TRUE THEN
979: QP_PREQ_GRP.engine_debug('Adjusted Line Amount: ' || x_adjustment_amount);
980: END IF; -- END IF l_debug = FND_API.G_TRUE
981: END IF; -- END IF (p_pbh_type in (QP_PREQ_GRP.G_PRICE_LIST_HEADER
982: END IF; -- END IF (v_temp >= p_related_request_lines(k).VALUE_FROM AND
983:
984: -- RANGE BREAK
985: ELSIF (p_related_request_lines(k).PRICE_BREAK_TYPE_CODE = QP_PREQ_GRP.G_RANGE_BREAK) THEN

Line 985: ELSIF (p_related_request_lines(k).PRICE_BREAK_TYPE_CODE = QP_PREQ_GRP.G_RANGE_BREAK) THEN

981: END IF; -- END IF (p_pbh_type in (QP_PREQ_GRP.G_PRICE_LIST_HEADER
982: END IF; -- END IF (v_temp >= p_related_request_lines(k).VALUE_FROM AND
983:
984: -- RANGE BREAK
985: ELSIF (p_related_request_lines(k).PRICE_BREAK_TYPE_CODE = QP_PREQ_GRP.G_RANGE_BREAK) THEN
986:
987: IF l_debug = FND_API.G_TRUE THEN
988: QP_PREQ_GRP.engine_debug('I am in Range Break');
989: QP_PREQ_GRP.engine_debug('The value of v_count is:' || v_count );

Line 988: QP_PREQ_GRP.engine_debug('I am in Range Break');

984: -- RANGE BREAK
985: ELSIF (p_related_request_lines(k).PRICE_BREAK_TYPE_CODE = QP_PREQ_GRP.G_RANGE_BREAK) THEN
986:
987: IF l_debug = FND_API.G_TRUE THEN
988: QP_PREQ_GRP.engine_debug('I am in Range Break');
989: QP_PREQ_GRP.engine_debug('The value of v_count is:' || v_count );
990: END IF;
991:
992: IF (v_count = 0) THEN

Line 989: QP_PREQ_GRP.engine_debug('The value of v_count is:' || v_count );

985: ELSIF (p_related_request_lines(k).PRICE_BREAK_TYPE_CODE = QP_PREQ_GRP.G_RANGE_BREAK) THEN
986:
987: IF l_debug = FND_API.G_TRUE THEN
988: QP_PREQ_GRP.engine_debug('I am in Range Break');
989: QP_PREQ_GRP.engine_debug('The value of v_count is:' || v_count );
990: END IF;
991:
992: IF (v_count = 0) THEN
993: -- begin 2388011, grp_lines_pbh

Line 1006: QP_PREQ_GRP.engine_debug('p_group_value: ' || p_group_value); -- shu debug, 2388011

1002: v_ord_qty := p_list_line_qty;
1003: END IF; -- end IF (v_count = 0)
1004:
1005: IF l_debug = FND_API.G_TRUE THEN
1006: QP_PREQ_GRP.engine_debug('p_group_value: ' || p_group_value); -- shu debug, 2388011
1007: QP_PREQ_GRP.engine_debug('p_list_line_qty (v_ord_qty): ' || p_list_line_qty); -- shu debug, 2388011
1008: QP_PREQ_GRP.engine_debug('l_qualifier_value (either p_group_value or p_list_line_qty): ' || l_qualifier_value); -- shu debug, 2388011
1009: QP_PREQ_GRP.engine_debug('v_temp (either p_group_value or p_list_line_qty): ' || v_temp); -- shu debug, 2388011
1010: END IF; -- END IF l_debug = FND_API.G_TRUE

Line 1007: QP_PREQ_GRP.engine_debug('p_list_line_qty (v_ord_qty): ' || p_list_line_qty); -- shu debug, 2388011

1003: END IF; -- end IF (v_count = 0)
1004:
1005: IF l_debug = FND_API.G_TRUE THEN
1006: QP_PREQ_GRP.engine_debug('p_group_value: ' || p_group_value); -- shu debug, 2388011
1007: QP_PREQ_GRP.engine_debug('p_list_line_qty (v_ord_qty): ' || p_list_line_qty); -- shu debug, 2388011
1008: QP_PREQ_GRP.engine_debug('l_qualifier_value (either p_group_value or p_list_line_qty): ' || l_qualifier_value); -- shu debug, 2388011
1009: QP_PREQ_GRP.engine_debug('v_temp (either p_group_value or p_list_line_qty): ' || v_temp); -- shu debug, 2388011
1010: END IF; -- END IF l_debug = FND_API.G_TRUE
1011:

Line 1008: QP_PREQ_GRP.engine_debug('l_qualifier_value (either p_group_value or p_list_line_qty): ' || l_qualifier_value); -- shu debug, 2388011

1004:
1005: IF l_debug = FND_API.G_TRUE THEN
1006: QP_PREQ_GRP.engine_debug('p_group_value: ' || p_group_value); -- shu debug, 2388011
1007: QP_PREQ_GRP.engine_debug('p_list_line_qty (v_ord_qty): ' || p_list_line_qty); -- shu debug, 2388011
1008: QP_PREQ_GRP.engine_debug('l_qualifier_value (either p_group_value or p_list_line_qty): ' || l_qualifier_value); -- shu debug, 2388011
1009: QP_PREQ_GRP.engine_debug('v_temp (either p_group_value or p_list_line_qty): ' || v_temp); -- shu debug, 2388011
1010: END IF; -- END IF l_debug = FND_API.G_TRUE
1011:
1012: -- The check to see if the ordered quantity falls in the range needs to be done only once

Line 1009: QP_PREQ_GRP.engine_debug('v_temp (either p_group_value or p_list_line_qty): ' || v_temp); -- shu debug, 2388011

1005: IF l_debug = FND_API.G_TRUE THEN
1006: QP_PREQ_GRP.engine_debug('p_group_value: ' || p_group_value); -- shu debug, 2388011
1007: QP_PREQ_GRP.engine_debug('p_list_line_qty (v_ord_qty): ' || p_list_line_qty); -- shu debug, 2388011
1008: QP_PREQ_GRP.engine_debug('l_qualifier_value (either p_group_value or p_list_line_qty): ' || l_qualifier_value); -- shu debug, 2388011
1009: QP_PREQ_GRP.engine_debug('v_temp (either p_group_value or p_list_line_qty): ' || v_temp); -- shu debug, 2388011
1010: END IF; -- END IF l_debug = FND_API.G_TRUE
1011:
1012: -- The check to see if the ordered quantity falls in the range needs to be done only once
1013: -- Ex: If Ord Qty = 50 and 100-null then u do not get it

Line 1026: QP_PREQ_GRP.engine_debug('C100# value from: ' || p_related_request_lines(k).value_from);

1022: IF (p_related_request_lines(k).VALUE_TO IS NULL) THEN
1023: v_related_request_lines(k).LINE_QTY := v_temp;
1024: ELSE
1025: IF l_debug = FND_API.G_TRUE THEN
1026: QP_PREQ_GRP.engine_debug('C100# value from: ' || p_related_request_lines(k).value_from);
1027: QP_PREQ_GRP.engine_debug('C200# value to: ' || p_related_request_lines(k).value_to);
1028: QP_PREQ_GRP.engine_debug('C300# Qualifier Value: ' || l_qualifier_value); --2388011
1029: QP_PREQ_GRP.engine_debug('C400# Group Amount: ' || p_group_value); --2388011
1030: END IF; -- END IF l_debug = FND_API.G_TRUE

Line 1027: QP_PREQ_GRP.engine_debug('C200# value to: ' || p_related_request_lines(k).value_to);

1023: v_related_request_lines(k).LINE_QTY := v_temp;
1024: ELSE
1025: IF l_debug = FND_API.G_TRUE THEN
1026: QP_PREQ_GRP.engine_debug('C100# value from: ' || p_related_request_lines(k).value_from);
1027: QP_PREQ_GRP.engine_debug('C200# value to: ' || p_related_request_lines(k).value_to);
1028: QP_PREQ_GRP.engine_debug('C300# Qualifier Value: ' || l_qualifier_value); --2388011
1029: QP_PREQ_GRP.engine_debug('C400# Group Amount: ' || p_group_value); --2388011
1030: END IF; -- END IF l_debug = FND_API.G_TRUE
1031:

Line 1028: QP_PREQ_GRP.engine_debug('C300# Qualifier Value: ' || l_qualifier_value); --2388011

1024: ELSE
1025: IF l_debug = FND_API.G_TRUE THEN
1026: QP_PREQ_GRP.engine_debug('C100# value from: ' || p_related_request_lines(k).value_from);
1027: QP_PREQ_GRP.engine_debug('C200# value to: ' || p_related_request_lines(k).value_to);
1028: QP_PREQ_GRP.engine_debug('C300# Qualifier Value: ' || l_qualifier_value); --2388011
1029: QP_PREQ_GRP.engine_debug('C400# Group Amount: ' || p_group_value); --2388011
1030: END IF; -- END IF l_debug = FND_API.G_TRUE
1031:
1032: Get_Satisfied_Range(

Line 1029: QP_PREQ_GRP.engine_debug('C400# Group Amount: ' || p_group_value); --2388011

1025: IF l_debug = FND_API.G_TRUE THEN
1026: QP_PREQ_GRP.engine_debug('C100# value from: ' || p_related_request_lines(k).value_from);
1027: QP_PREQ_GRP.engine_debug('C200# value to: ' || p_related_request_lines(k).value_to);
1028: QP_PREQ_GRP.engine_debug('C300# Qualifier Value: ' || l_qualifier_value); --2388011
1029: QP_PREQ_GRP.engine_debug('C400# Group Amount: ' || p_group_value); --2388011
1030: END IF; -- END IF l_debug = FND_API.G_TRUE
1031:
1032: Get_Satisfied_Range(
1033: p_related_request_lines(k).value_from,

Line 1042: QP_PREQ_GRP.engine_debug('C500#: ' || l_satisfied_value);

1038: l_prorated_flag, -- 4061138
1039: l_satisfied_value);
1040:
1041: IF l_debug = FND_API.G_TRUE THEN
1042: QP_PREQ_GRP.engine_debug('C500#: ' || l_satisfied_value);
1043: QP_PREQ_GRP.engine_debug('C600# list price : ' || p_list_price);
1044: END IF; -- END IF l_debug = FND_API.G_TRUE
1045:
1046: IF l_debug = FND_API.G_TRUE THEN

Line 1043: QP_PREQ_GRP.engine_debug('C600# list price : ' || p_list_price);

1039: l_satisfied_value);
1040:
1041: IF l_debug = FND_API.G_TRUE THEN
1042: QP_PREQ_GRP.engine_debug('C500#: ' || l_satisfied_value);
1043: QP_PREQ_GRP.engine_debug('C600# list price : ' || p_list_price);
1044: END IF; -- END IF l_debug = FND_API.G_TRUE
1045:
1046: IF l_debug = FND_API.G_TRUE THEN
1047: QP_PREQ_GRP.engine_debug ('PBH operand Calc Code : ' || p_operand_calc_code);

Line 1047: QP_PREQ_GRP.engine_debug ('PBH operand Calc Code : ' || p_operand_calc_code);

1043: QP_PREQ_GRP.engine_debug('C600# list price : ' || p_list_price);
1044: END IF; -- END IF l_debug = FND_API.G_TRUE
1045:
1046: IF l_debug = FND_API.G_TRUE THEN
1047: QP_PREQ_GRP.engine_debug ('PBH operand Calc Code : ' || p_operand_calc_code);
1048: END IF;
1049:
1050: -- Do not calculate the per unit satisfied value if it is BLOCK_PRICING
1051: IF (p_pbh_type IN (QP_PREQ_GRP.G_PRICE_LIST_HEADER, QP_PREQ_GRP.G_AGR_LIST_HEADER)) THEN

Line 1051: IF (p_pbh_type IN (QP_PREQ_GRP.G_PRICE_LIST_HEADER, QP_PREQ_GRP.G_AGR_LIST_HEADER)) THEN

1047: QP_PREQ_GRP.engine_debug ('PBH operand Calc Code : ' || p_operand_calc_code);
1048: END IF;
1049:
1050: -- Do not calculate the per unit satisfied value if it is BLOCK_PRICING
1051: IF (p_pbh_type IN (QP_PREQ_GRP.G_PRICE_LIST_HEADER, QP_PREQ_GRP.G_AGR_LIST_HEADER)) THEN
1052: IF (p_operand_calc_code = 'BLOCK_PRICE') THEN
1053: v_calculate_per_unit_flag := 'N';
1054: ELSE
1055: v_calculate_per_unit_flag := 'Y';

Line 1062: IF (p_related_request_lines(k).OPERAND_CALCULATION_CODE = QP_PREQ_GRP.G_BREAKUNIT_PRICE) THEN

1058: v_calculate_per_unit_flag := 'Y';
1059: END IF;
1060: -- for FTE breakunit
1061: -- also do not calculate per unit value if line is BREAKUNIT_PRICE
1062: IF (p_related_request_lines(k).OPERAND_CALCULATION_CODE = QP_PREQ_GRP.G_BREAKUNIT_PRICE) THEN
1063: v_calculate_per_unit_flag := 'N';
1064: END IF;
1065:
1066: IF l_debug = FND_API.G_TRUE THEN

Line 1067: QP_PREQ_GRP.engine_debug ('Calculate Per Unit Flag : ' || v_calculate_per_unit_flag);

1063: v_calculate_per_unit_flag := 'N';
1064: END IF;
1065:
1066: IF l_debug = FND_API.G_TRUE THEN
1067: QP_PREQ_GRP.engine_debug ('Calculate Per Unit Flag : ' || v_calculate_per_unit_flag);
1068: END IF;
1069:
1070: -- 2388011_new
1071: -- Ravi Change Applicable for both linegroup Group Amount and Line Item Amt

Line 1098: QP_PREQ_GRP.engine_debug('List Line Quantity: ' || v_related_request_lines(k).LINE_QTY );

1094:
1095: END IF; -- END IF (p_related_request_lines(k).VALUE_TO IS NULL)
1096:
1097: IF l_debug = FND_API.G_TRUE THEN
1098: QP_PREQ_GRP.engine_debug('List Line Quantity: ' || v_related_request_lines(k).LINE_QTY );
1099: QP_PREQ_GRP.engine_debug('Temp: ' || v_temp );
1100: END IF;
1101:
1102: IF (p_pbh_type IN (QP_PREQ_GRP.G_PRICE_LIST_HEADER, QP_PREQ_GRP.G_AGR_LIST_HEADER)) THEN

Line 1099: QP_PREQ_GRP.engine_debug('Temp: ' || v_temp );

1095: END IF; -- END IF (p_related_request_lines(k).VALUE_TO IS NULL)
1096:
1097: IF l_debug = FND_API.G_TRUE THEN
1098: QP_PREQ_GRP.engine_debug('List Line Quantity: ' || v_related_request_lines(k).LINE_QTY );
1099: QP_PREQ_GRP.engine_debug('Temp: ' || v_temp );
1100: END IF;
1101:
1102: IF (p_pbh_type IN (QP_PREQ_GRP.G_PRICE_LIST_HEADER, QP_PREQ_GRP.G_AGR_LIST_HEADER)) THEN
1103: -- Call the Calculate List Price Function

Line 1102: IF (p_pbh_type IN (QP_PREQ_GRP.G_PRICE_LIST_HEADER, QP_PREQ_GRP.G_AGR_LIST_HEADER)) THEN

1098: QP_PREQ_GRP.engine_debug('List Line Quantity: ' || v_related_request_lines(k).LINE_QTY );
1099: QP_PREQ_GRP.engine_debug('Temp: ' || v_temp );
1100: END IF;
1101:
1102: IF (p_pbh_type IN (QP_PREQ_GRP.G_PRICE_LIST_HEADER, QP_PREQ_GRP.G_AGR_LIST_HEADER)) THEN
1103: -- Call the Calculate List Price Function
1104: Calculate_List_Price_PVT(
1105: p_related_request_lines(k).OPERAND_CALCULATION_CODE,
1106: p_related_request_lines(k).OPERAND_VALUE,

Line 1112: QP_PREQ_GRP.G_ROUNDING_FLAG,

1108: --v_ord_qty, -- 2388011_new
1109: v_related_request_lines(k).LINE_QTY, -- new fix, error found in block pricing
1110: p_related_item_price,
1111: p_service_duration,
1112: QP_PREQ_GRP.G_ROUNDING_FLAG,
1113: NULL, -- fix bug 2724697, null rounding_factor so operand does not get rounded, it will be rounded later at Average Out PBH Lines
1114: x_list_price,
1115: x_percent_price,
1116: x_extended_price, -- block pricing

Line 1126: IF (p_related_request_lines(k).OPERAND_CALCULATION_CODE = qp_preq_grp.G_BLOCK_PRICE) THEN

1122: END IF;
1123:
1124: -- This is the final list price after break evaluation
1125: -- modified for block pricing
1126: IF (p_related_request_lines(k).OPERAND_CALCULATION_CODE = qp_preq_grp.G_BLOCK_PRICE) THEN
1127: v_related_request_lines(k).ADJUSTMENT_AMOUNT := x_extended_price;
1128: ELSE
1129: v_related_request_lines(k).ADJUSTMENT_AMOUNT := x_list_price;
1130: END IF;

Line 1134: QP_PREQ_GRP.engine_debug('I am in Discount Break (RANGE BLOCK)');

1130: END IF;
1131:
1132: ELSE -- DIS/SUR/FREIGHT_CHARGE
1133: IF l_debug = FND_API.G_TRUE THEN
1134: QP_PREQ_GRP.engine_debug('I am in Discount Break (RANGE BLOCK)');
1135: QP_PREQ_GRP.engine_debug('OPERAND_VALUE: '|| v_related_request_lines(k).OPERAND_VALUE); --shu debug 2388011
1136: QP_PREQ_GRP.engine_debug('LINE_QTY: '|| v_related_request_lines(k).LINE_QTY); --shu debug 2388011
1137: QP_PREQ_GRP.engine_debug('l_qualifier_value (p_request_qty)'|| l_qualifier_value); --shu debug 2388011
1138: END IF;

Line 1135: QP_PREQ_GRP.engine_debug('OPERAND_VALUE: '|| v_related_request_lines(k).OPERAND_VALUE); --shu debug 2388011

1131:
1132: ELSE -- DIS/SUR/FREIGHT_CHARGE
1133: IF l_debug = FND_API.G_TRUE THEN
1134: QP_PREQ_GRP.engine_debug('I am in Discount Break (RANGE BLOCK)');
1135: QP_PREQ_GRP.engine_debug('OPERAND_VALUE: '|| v_related_request_lines(k).OPERAND_VALUE); --shu debug 2388011
1136: QP_PREQ_GRP.engine_debug('LINE_QTY: '|| v_related_request_lines(k).LINE_QTY); --shu debug 2388011
1137: QP_PREQ_GRP.engine_debug('l_qualifier_value (p_request_qty)'|| l_qualifier_value); --shu debug 2388011
1138: END IF;
1139:

Line 1136: QP_PREQ_GRP.engine_debug('LINE_QTY: '|| v_related_request_lines(k).LINE_QTY); --shu debug 2388011

1132: ELSE -- DIS/SUR/FREIGHT_CHARGE
1133: IF l_debug = FND_API.G_TRUE THEN
1134: QP_PREQ_GRP.engine_debug('I am in Discount Break (RANGE BLOCK)');
1135: QP_PREQ_GRP.engine_debug('OPERAND_VALUE: '|| v_related_request_lines(k).OPERAND_VALUE); --shu debug 2388011
1136: QP_PREQ_GRP.engine_debug('LINE_QTY: '|| v_related_request_lines(k).LINE_QTY); --shu debug 2388011
1137: QP_PREQ_GRP.engine_debug('l_qualifier_value (p_request_qty)'|| l_qualifier_value); --shu debug 2388011
1138: END IF;
1139:
1140: --p_request_qty => l_qualifier_value,

Line 1137: QP_PREQ_GRP.engine_debug('l_qualifier_value (p_request_qty)'|| l_qualifier_value); --shu debug 2388011

1133: IF l_debug = FND_API.G_TRUE THEN
1134: QP_PREQ_GRP.engine_debug('I am in Discount Break (RANGE BLOCK)');
1135: QP_PREQ_GRP.engine_debug('OPERAND_VALUE: '|| v_related_request_lines(k).OPERAND_VALUE); --shu debug 2388011
1136: QP_PREQ_GRP.engine_debug('LINE_QTY: '|| v_related_request_lines(k).LINE_QTY); --shu debug 2388011
1137: QP_PREQ_GRP.engine_debug('l_qualifier_value (p_request_qty)'|| l_qualifier_value); --shu debug 2388011
1138: END IF;
1139:
1140: --p_request_qty => l_qualifier_value,
1141: -- 2388011, range break should be total amount not l_satisfied_value

Line 1156: p_rounding_flag => QP_PREQ_GRP.G_ROUNDING_FLAG,

1152: p_operand_value => v_related_request_lines(k).OPERAND_VALUE,
1153: p_list_line_type => v_related_request_lines(k).RELATED_LIST_LINE_TYPE,
1154: p_request_qty => v_related_request_lines(k).LINE_QTY, --always satisfied qty
1155: p_accrual_flag => v_related_request_lines(k).ACCRUAL_FLAG,
1156: p_rounding_flag => QP_PREQ_GRP.G_ROUNDING_FLAG,
1157: p_rounding_factor => p_rounding_factor,
1158: p_orig_unit_price => p_list_price,
1159: x_discounted_price => x_discounted_price, -- Output Discounted Price
1160: x_adjusted_amount => x_adjusted_amount, -- Discount amount for this line

Line 1174: QP_PREQ_GRP.engine_debug('Adjusted Line Amount: ' || x_adjusted_amount);

1170:
1171: -- This is the final list price after break evaluation
1172: v_related_request_lines(k).ADJUSTMENT_AMOUNT := x_adjusted_amount;
1173: IF l_debug = FND_API.G_TRUE THEN
1174: QP_PREQ_GRP.engine_debug('Adjusted Line Amount: ' || x_adjusted_amount);
1175: END IF;
1176: END IF;
1177:
1178: v_count := v_count + 1;

Line 1184: IF (p_pbh_type IN (QP_PREQ_GRP.G_PRICE_LIST_HEADER, QP_PREQ_GRP.G_AGR_LIST_HEADER)) THEN

1180:
1181: -- Store the break line which did not satisfy with qty 0
1182: v_related_request_lines(k).LINE_QTY := 0;
1183: -- This is the final list price or selling price after break evaluation
1184: IF (p_pbh_type IN (QP_PREQ_GRP.G_PRICE_LIST_HEADER, QP_PREQ_GRP.G_AGR_LIST_HEADER)) THEN
1185:
1186: Calculate_List_Price_PVT(p_related_request_lines(k).OPERAND_CALCULATION_CODE,
1187: p_related_request_lines(k).OPERAND_VALUE,
1188: p_related_request_lines(k).RECURRING_VALUE, -- block pricing

Line 1192: QP_PREQ_GRP.G_ROUNDING_FLAG,

1188: p_related_request_lines(k).RECURRING_VALUE, -- block pricing
1189: 0,
1190: p_related_item_price,
1191: p_service_duration,
1192: QP_PREQ_GRP.G_ROUNDING_FLAG,
1193: NULL, -- fix bug 2724697, null rounding_factor so operand does not get rounded, it will be rounded later at Average Out PBH Lines
1194: x_list_price,
1195: x_percent_price,
1196: x_extended_price,

Line 1206: IF (p_related_request_lines(k).OPERAND_CALCULATION_CODE = qp_preq_grp.G_BLOCK_PRICE) THEN

1202: END IF;
1203:
1204: -- This is the final list price after break evaluation
1205: -- modified for block pricing
1206: IF (p_related_request_lines(k).OPERAND_CALCULATION_CODE = qp_preq_grp.G_BLOCK_PRICE) THEN
1207: v_related_request_lines(k).ADJUSTMENT_AMOUNT := x_extended_price;
1208: ELSE
1209: v_related_request_lines(k).ADJUSTMENT_AMOUNT := x_list_price;
1210: END IF;

Line 1213: QP_PREQ_GRP.engine_debug('List Line Price: ' || x_list_price);

1209: v_related_request_lines(k).ADJUSTMENT_AMOUNT := x_list_price;
1210: END IF;
1211:
1212: IF l_debug = FND_API.G_TRUE THEN
1213: QP_PREQ_GRP.engine_debug('List Line Price: ' || x_list_price);
1214: END IF;
1215:
1216: ELSE -- DIS/SUR/FREIGHT_CHARGE
1217:

Line 1230: p_rounding_flag => QP_PREQ_GRP.G_ROUNDING_FLAG,

1226: p_operand_value => v_related_request_lines(k).OPERAND_VALUE,
1227: p_list_line_type => v_related_request_lines(k).RELATED_LIST_LINE_TYPE,
1228: p_request_qty => 0,
1229: p_accrual_flag => v_related_request_lines(k).ACCRUAL_FLAG,
1230: p_rounding_flag => QP_PREQ_GRP.G_ROUNDING_FLAG,
1231: p_rounding_factor => p_rounding_factor,
1232: p_orig_unit_price => p_list_price,
1233: x_discounted_price => x_discounted_price, -- Output Discounted Price
1234: x_adjusted_amount => x_adjusted_amount, -- Discount amount for this line

Line 1248: QP_PREQ_GRP.engine_debug('Adjusted Line Amount: ' || x_adjusted_amount);

1244:
1245: -- This is the final list price after break evaluation
1246: v_related_request_lines(k).ADJUSTMENT_AMOUNT := x_adjusted_amount;
1247: IF l_debug = FND_API.G_TRUE THEN
1248: QP_PREQ_GRP.engine_debug('Adjusted Line Amount: ' || x_adjusted_amount);
1249: END IF;
1250: END IF;
1251:
1252: v_count := v_count + 1;

Line 1264: QP_PREQ_GRP.engine_debug('.........Average out value for the PBH line........ ' );

1260:
1261: -- This needs to be done only to get the averaged out value for the PBH Line
1262: IF (v_related_request_lines.COUNT > 0) THEN
1263: IF l_debug = FND_API.G_TRUE THEN
1264: QP_PREQ_GRP.engine_debug('.........Average out value for the PBH line........ ' );
1265: END IF;
1266: v_index := v_related_request_lines.FIRST;
1267: WHILE (v_index IS NOT NULL)
1268: LOOP

Line 1271: QP_PREQ_GRP.engine_debug('p_list_line_index '|| p_list_line_index ); -- shu debug 2388011

1267: WHILE (v_index IS NOT NULL)
1268: LOOP
1269: IF (v_related_request_lines(v_index).LINE_DETAIL_INDEX = p_list_line_index) THEN
1270: IF l_debug = FND_API.G_TRUE THEN
1271: QP_PREQ_GRP.engine_debug('p_list_line_index '|| p_list_line_index ); -- shu debug 2388011
1272: QP_PREQ_GRP.engine_debug('p_list_line_qty: '|| p_list_line_qty ); -- shu debug 2388011
1273: QP_PREQ_GRP.engine_debug('p_actual_line_qty: '|| p_actual_line_qty ); -- shu debug 2388011
1274: END IF;
1275:

Line 1272: QP_PREQ_GRP.engine_debug('p_list_line_qty: '|| p_list_line_qty ); -- shu debug 2388011

1268: LOOP
1269: IF (v_related_request_lines(v_index).LINE_DETAIL_INDEX = p_list_line_index) THEN
1270: IF l_debug = FND_API.G_TRUE THEN
1271: QP_PREQ_GRP.engine_debug('p_list_line_index '|| p_list_line_index ); -- shu debug 2388011
1272: QP_PREQ_GRP.engine_debug('p_list_line_qty: '|| p_list_line_qty ); -- shu debug 2388011
1273: QP_PREQ_GRP.engine_debug('p_actual_line_qty: '|| p_actual_line_qty ); -- shu debug 2388011
1274: END IF;
1275:
1276: IF (p_pbh_type IN (QP_PREQ_GRP.G_PRICE_LIST_HEADER, QP_PREQ_GRP.G_AGR_LIST_HEADER)) THEN

Line 1273: QP_PREQ_GRP.engine_debug('p_actual_line_qty: '|| p_actual_line_qty ); -- shu debug 2388011

1269: IF (v_related_request_lines(v_index).LINE_DETAIL_INDEX = p_list_line_index) THEN
1270: IF l_debug = FND_API.G_TRUE THEN
1271: QP_PREQ_GRP.engine_debug('p_list_line_index '|| p_list_line_index ); -- shu debug 2388011
1272: QP_PREQ_GRP.engine_debug('p_list_line_qty: '|| p_list_line_qty ); -- shu debug 2388011
1273: QP_PREQ_GRP.engine_debug('p_actual_line_qty: '|| p_actual_line_qty ); -- shu debug 2388011
1274: END IF;
1275:
1276: IF (p_pbh_type IN (QP_PREQ_GRP.G_PRICE_LIST_HEADER, QP_PREQ_GRP.G_AGR_LIST_HEADER)) THEN
1277: -- modified for block pricing

Line 1276: IF (p_pbh_type IN (QP_PREQ_GRP.G_PRICE_LIST_HEADER, QP_PREQ_GRP.G_AGR_LIST_HEADER)) THEN

1272: QP_PREQ_GRP.engine_debug('p_list_line_qty: '|| p_list_line_qty ); -- shu debug 2388011
1273: QP_PREQ_GRP.engine_debug('p_actual_line_qty: '|| p_actual_line_qty ); -- shu debug 2388011
1274: END IF;
1275:
1276: IF (p_pbh_type IN (QP_PREQ_GRP.G_PRICE_LIST_HEADER, QP_PREQ_GRP.G_AGR_LIST_HEADER)) THEN
1277: -- modified for block pricing
1278: IF (v_related_request_lines(v_index).OPERAND_CALCULATION_CODE = QP_PREQ_GRP.G_BLOCK_PRICE) THEN
1279: IF (v_related_request_lines(v_index).LINE_QTY <> 0) THEN
1280: v_total_amount := v_total_amount + v_related_request_lines(v_index).ADJUSTMENT_AMOUNT;

Line 1278: IF (v_related_request_lines(v_index).OPERAND_CALCULATION_CODE = QP_PREQ_GRP.G_BLOCK_PRICE) THEN

1274: END IF;
1275:
1276: IF (p_pbh_type IN (QP_PREQ_GRP.G_PRICE_LIST_HEADER, QP_PREQ_GRP.G_AGR_LIST_HEADER)) THEN
1277: -- modified for block pricing
1278: IF (v_related_request_lines(v_index).OPERAND_CALCULATION_CODE = QP_PREQ_GRP.G_BLOCK_PRICE) THEN
1279: IF (v_related_request_lines(v_index).LINE_QTY <> 0) THEN
1280: v_total_amount := v_total_amount + v_related_request_lines(v_index).ADJUSTMENT_AMOUNT;
1281:
1282: -- fix for OM Pricing/Availability

Line 1314: IF (nvl(QP_PREQ_GRP.G_ROUNDING_FLAG, QP_PREQ_GRP.G_YES) = QP_PREQ_GRP.G_YES AND p_rounding_factor IS NOT NULL) THEN

1310: x_pbh_extended_price := 0; -- block pricing
1311:
1312: END IF;
1313:
1314: IF (nvl(QP_PREQ_GRP.G_ROUNDING_FLAG, QP_PREQ_GRP.G_YES) = QP_PREQ_GRP.G_YES AND p_rounding_factor IS NOT NULL) THEN
1315: x_pbh_list_price := ROUND (x_pbh_list_price, p_rounding_factor); -- Divide by grp amount/unit or group quantity
1316: ELSIF (QP_PREQ_GRP.G_ROUNDING_FLAG = G_CHAR_Q) THEN -- check v_selling_price_rounding_options profile
1317: l_price_round_options := nvl(FND_PROFILE.VALUE('QP_SELLING_PRICE_ROUNDING_OPTIONS'), QP_Calculate_Price_PUB.G_NO_ROUND);
1318: IF (l_price_round_options = G_ROUND_ADJ AND p_rounding_factor IS NOT NULL) THEN

Line 1316: ELSIF (QP_PREQ_GRP.G_ROUNDING_FLAG = G_CHAR_Q) THEN -- check v_selling_price_rounding_options profile

1312: END IF;
1313:
1314: IF (nvl(QP_PREQ_GRP.G_ROUNDING_FLAG, QP_PREQ_GRP.G_YES) = QP_PREQ_GRP.G_YES AND p_rounding_factor IS NOT NULL) THEN
1315: x_pbh_list_price := ROUND (x_pbh_list_price, p_rounding_factor); -- Divide by grp amount/unit or group quantity
1316: ELSIF (QP_PREQ_GRP.G_ROUNDING_FLAG = G_CHAR_Q) THEN -- check v_selling_price_rounding_options profile
1317: l_price_round_options := nvl(FND_PROFILE.VALUE('QP_SELLING_PRICE_ROUNDING_OPTIONS'), QP_Calculate_Price_PUB.G_NO_ROUND);
1318: IF (l_price_round_options = G_ROUND_ADJ AND p_rounding_factor IS NOT NULL) THEN
1319: x_pbh_list_price := ROUND (x_pbh_list_price, p_rounding_factor); -- Divide by grp amount/unit or group quantity
1320: END IF; -- end if G_ROUND_ADJ

Line 1324: QP_PREQ_GRP.engine_debug('x_pbh_list_price: '|| x_pbh_list_price);

1320: END IF; -- end if G_ROUND_ADJ
1321: END IF; --end if rounding stuff
1322:
1323: IF l_debug = FND_API.G_TRUE THEN
1324: QP_PREQ_GRP.engine_debug('x_pbh_list_price: '|| x_pbh_list_price);
1325: END IF; -- END IF l_debug
1326:
1327:
1328: ELSE

Line 1332: QP_PREQ_GRP.engine_debug ('v_index: '|| v_index); --2388011

1328: ELSE
1329: v_total_amount := v_total_amount + (v_related_request_lines(v_index).LINE_QTY *
1330: v_related_request_lines(v_index).ADJUSTMENT_AMOUNT);
1331: IF l_debug = FND_API.G_TRUE THEN
1332: QP_PREQ_GRP.engine_debug ('v_index: '|| v_index); --2388011
1333: QP_PREQ_GRP.engine_debug ('LINE_QTY : '|| v_related_request_lines(v_index).LINE_QTY ); --2388011
1334: QP_PREQ_GRP.engine_debug ('ADJUSTMENT_AMOUNT for the line: '|| v_related_request_lines(v_index).ADJUSTMENT_AMOUNT); --2388011
1335: QP_PREQ_GRP.engine_debug ('v_total_amount for now: '|| v_total_amount); --2388011
1336: END IF; -- END IF l_debug = FND_API.G_TRUE

Line 1333: QP_PREQ_GRP.engine_debug ('LINE_QTY : '|| v_related_request_lines(v_index).LINE_QTY ); --2388011

1329: v_total_amount := v_total_amount + (v_related_request_lines(v_index).LINE_QTY *
1330: v_related_request_lines(v_index).ADJUSTMENT_AMOUNT);
1331: IF l_debug = FND_API.G_TRUE THEN
1332: QP_PREQ_GRP.engine_debug ('v_index: '|| v_index); --2388011
1333: QP_PREQ_GRP.engine_debug ('LINE_QTY : '|| v_related_request_lines(v_index).LINE_QTY ); --2388011
1334: QP_PREQ_GRP.engine_debug ('ADJUSTMENT_AMOUNT for the line: '|| v_related_request_lines(v_index).ADJUSTMENT_AMOUNT); --2388011
1335: QP_PREQ_GRP.engine_debug ('v_total_amount for now: '|| v_total_amount); --2388011
1336: END IF; -- END IF l_debug = FND_API.G_TRUE
1337:

Line 1334: QP_PREQ_GRP.engine_debug ('ADJUSTMENT_AMOUNT for the line: '|| v_related_request_lines(v_index).ADJUSTMENT_AMOUNT); --2388011

1330: v_related_request_lines(v_index).ADJUSTMENT_AMOUNT);
1331: IF l_debug = FND_API.G_TRUE THEN
1332: QP_PREQ_GRP.engine_debug ('v_index: '|| v_index); --2388011
1333: QP_PREQ_GRP.engine_debug ('LINE_QTY : '|| v_related_request_lines(v_index).LINE_QTY ); --2388011
1334: QP_PREQ_GRP.engine_debug ('ADJUSTMENT_AMOUNT for the line: '|| v_related_request_lines(v_index).ADJUSTMENT_AMOUNT); --2388011
1335: QP_PREQ_GRP.engine_debug ('v_total_amount for now: '|| v_total_amount); --2388011
1336: END IF; -- END IF l_debug = FND_API.G_TRUE
1337:
1338: -- begin 2388011_new, grp_lines_pbh,

Line 1335: QP_PREQ_GRP.engine_debug ('v_total_amount for now: '|| v_total_amount); --2388011

1331: IF l_debug = FND_API.G_TRUE THEN
1332: QP_PREQ_GRP.engine_debug ('v_index: '|| v_index); --2388011
1333: QP_PREQ_GRP.engine_debug ('LINE_QTY : '|| v_related_request_lines(v_index).LINE_QTY ); --2388011
1334: QP_PREQ_GRP.engine_debug ('ADJUSTMENT_AMOUNT for the line: '|| v_related_request_lines(v_index).ADJUSTMENT_AMOUNT); --2388011
1335: QP_PREQ_GRP.engine_debug ('v_total_amount for now: '|| v_total_amount); --2388011
1336: END IF; -- END IF l_debug = FND_API.G_TRUE
1337:
1338: -- begin 2388011_new, grp_lines_pbh,
1339:

Line 1352: QP_PREQ_GRP.engine_debug ('p_list_line_qty: '|| p_list_line_qty); --2388011

1348:
1349: END IF;
1350:
1351: IF l_debug = FND_API.G_TRUE THEN
1352: QP_PREQ_GRP.engine_debug ('p_list_line_qty: '|| p_list_line_qty); --2388011
1353: QP_PREQ_GRP.engine_debug ('x_adjustment_amount: '|| x_adjustment_amount); --2388011
1354: END IF; -- END IF l_debug = FND_API.G_TRUE
1355: -- end 2388011, grp_lines_pbh
1356:

Line 1353: QP_PREQ_GRP.engine_debug ('x_adjustment_amount: '|| x_adjustment_amount); --2388011

1349: END IF;
1350:
1351: IF l_debug = FND_API.G_TRUE THEN
1352: QP_PREQ_GRP.engine_debug ('p_list_line_qty: '|| p_list_line_qty); --2388011
1353: QP_PREQ_GRP.engine_debug ('x_adjustment_amount: '|| x_adjustment_amount); --2388011
1354: END IF; -- END IF l_debug = FND_API.G_TRUE
1355: -- end 2388011, grp_lines_pbh
1356:
1357: END IF; -- END IF (p_pbh_type in (QP_PREQ_GRP.G_PRICE_LIST_HEADER...

Line 1357: END IF; -- END IF (p_pbh_type in (QP_PREQ_GRP.G_PRICE_LIST_HEADER...

1353: QP_PREQ_GRP.engine_debug ('x_adjustment_amount: '|| x_adjustment_amount); --2388011
1354: END IF; -- END IF l_debug = FND_API.G_TRUE
1355: -- end 2388011, grp_lines_pbh
1356:
1357: END IF; -- END IF (p_pbh_type in (QP_PREQ_GRP.G_PRICE_LIST_HEADER...
1358:
1359: IF l_debug = FND_API.G_TRUE THEN
1360: QP_PREQ_GRP.engine_debug ('Total Amount : ' || v_total_amount);
1361: QP_PREQ_GRP.engine_debug ('Total Qty : ' || v_ord_qty);

Line 1360: QP_PREQ_GRP.engine_debug ('Total Amount : ' || v_total_amount);

1356:
1357: END IF; -- END IF (p_pbh_type in (QP_PREQ_GRP.G_PRICE_LIST_HEADER...
1358:
1359: IF l_debug = FND_API.G_TRUE THEN
1360: QP_PREQ_GRP.engine_debug ('Total Amount : ' || v_total_amount);
1361: QP_PREQ_GRP.engine_debug ('Total Qty : ' || v_ord_qty);
1362: QP_PREQ_GRP.engine_debug ('Total Adjustment : ' || x_adjustment_amount);
1363: END IF; -- END IF l_debug = FND_API.G_TRUE THEN
1364: END IF;

Line 1361: QP_PREQ_GRP.engine_debug ('Total Qty : ' || v_ord_qty);

1357: END IF; -- END IF (p_pbh_type in (QP_PREQ_GRP.G_PRICE_LIST_HEADER...
1358:
1359: IF l_debug = FND_API.G_TRUE THEN
1360: QP_PREQ_GRP.engine_debug ('Total Amount : ' || v_total_amount);
1361: QP_PREQ_GRP.engine_debug ('Total Qty : ' || v_ord_qty);
1362: QP_PREQ_GRP.engine_debug ('Total Adjustment : ' || x_adjustment_amount);
1363: END IF; -- END IF l_debug = FND_API.G_TRUE THEN
1364: END IF;
1365:

Line 1362: QP_PREQ_GRP.engine_debug ('Total Adjustment : ' || x_adjustment_amount);

1358:
1359: IF l_debug = FND_API.G_TRUE THEN
1360: QP_PREQ_GRP.engine_debug ('Total Amount : ' || v_total_amount);
1361: QP_PREQ_GRP.engine_debug ('Total Qty : ' || v_ord_qty);
1362: QP_PREQ_GRP.engine_debug ('Total Adjustment : ' || x_adjustment_amount);
1363: END IF; -- END IF l_debug = FND_API.G_TRUE THEN
1364: END IF;
1365:
1366: EXIT WHEN v_index = v_related_request_lines.LAST;

Line 1374: QP_PREQ_GRP.engine_debug(v_routine_name || ' ' || x_ret_status_txt);

1370: x_related_request_lines_tbl := v_related_request_lines;
1371: EXCEPTION
1372: WHEN FND_API.G_EXC_ERROR THEN
1373: IF l_debug = FND_API.G_TRUE THEN
1374: QP_PREQ_GRP.engine_debug(v_routine_name || ' ' || x_ret_status_txt);
1375: END IF;
1376: x_return_status := FND_API.G_RET_STS_ERROR;
1377: x_return_status_txt := x_ret_status_txt;
1378: WHEN OTHERS THEN

Line 1380: QP_PREQ_GRP.engine_debug(v_routine_name || ' ' || SQLERRM);

1376: x_return_status := FND_API.G_RET_STS_ERROR;
1377: x_return_status_txt := x_ret_status_txt;
1378: WHEN OTHERS THEN
1379: IF l_debug = FND_API.G_TRUE THEN
1380: QP_PREQ_GRP.engine_debug(v_routine_name || ' ' || SQLERRM);
1381: END IF;
1382: x_return_status := FND_API.G_RET_STS_ERROR;
1383: x_return_status_txt := v_routine_name || ' ' || SQLERRM;
1384: END Process_Price_Break;

Line 1397: l_debug := QP_PREQ_GRP.G_DEBUG_ENGINE;

1393:
1394: l_routine VARCHAR2(50) := 'QP_Calculate_Price_PUB.Calculate_Adjustment';
1395:
1396: BEGIN
1397: l_debug := QP_PREQ_GRP.G_DEBUG_ENGINE;
1398: IF l_debug = FND_API.G_TRUE THEN
1399: QP_PREQ_GRP.ENGINE_DEBUG('In Routine: ' || l_routine);
1400:
1401: -- begin 2892848

Line 1399: QP_PREQ_GRP.ENGINE_DEBUG('In Routine: ' || l_routine);

1395:
1396: BEGIN
1397: l_debug := QP_PREQ_GRP.G_DEBUG_ENGINE;
1398: IF l_debug = FND_API.G_TRUE THEN
1399: QP_PREQ_GRP.ENGINE_DEBUG('In Routine: ' || l_routine);
1400:
1401: -- begin 2892848
1402: QP_PREQ_GRP.ENGINE_DEBUG('p_price: ' || p_price);
1403: QP_PREQ_GRP.ENGINE_DEBUG('p_operand_calculation_code: ' || p_operand_calculation_code);

Line 1402: QP_PREQ_GRP.ENGINE_DEBUG('p_price: ' || p_price);

1398: IF l_debug = FND_API.G_TRUE THEN
1399: QP_PREQ_GRP.ENGINE_DEBUG('In Routine: ' || l_routine);
1400:
1401: -- begin 2892848
1402: QP_PREQ_GRP.ENGINE_DEBUG('p_price: ' || p_price);
1403: QP_PREQ_GRP.ENGINE_DEBUG('p_operand_calculation_code: ' || p_operand_calculation_code);
1404: QP_PREQ_GRP.ENGINE_DEBUG('p_operand_value: ' || p_operand_value);
1405: QP_PREQ_GRP.ENGINE_DEBUG('p_priced_quantity: ' || p_priced_quantity);
1406: -- end 2892848

Line 1403: QP_PREQ_GRP.ENGINE_DEBUG('p_operand_calculation_code: ' || p_operand_calculation_code);

1399: QP_PREQ_GRP.ENGINE_DEBUG('In Routine: ' || l_routine);
1400:
1401: -- begin 2892848
1402: QP_PREQ_GRP.ENGINE_DEBUG('p_price: ' || p_price);
1403: QP_PREQ_GRP.ENGINE_DEBUG('p_operand_calculation_code: ' || p_operand_calculation_code);
1404: QP_PREQ_GRP.ENGINE_DEBUG('p_operand_value: ' || p_operand_value);
1405: QP_PREQ_GRP.ENGINE_DEBUG('p_priced_quantity: ' || p_priced_quantity);
1406: -- end 2892848
1407:

Line 1404: QP_PREQ_GRP.ENGINE_DEBUG('p_operand_value: ' || p_operand_value);

1400:
1401: -- begin 2892848
1402: QP_PREQ_GRP.ENGINE_DEBUG('p_price: ' || p_price);
1403: QP_PREQ_GRP.ENGINE_DEBUG('p_operand_calculation_code: ' || p_operand_calculation_code);
1404: QP_PREQ_GRP.ENGINE_DEBUG('p_operand_value: ' || p_operand_value);
1405: QP_PREQ_GRP.ENGINE_DEBUG('p_priced_quantity: ' || p_priced_quantity);
1406: -- end 2892848
1407:
1408: END IF;

Line 1405: QP_PREQ_GRP.ENGINE_DEBUG('p_priced_quantity: ' || p_priced_quantity);

1401: -- begin 2892848
1402: QP_PREQ_GRP.ENGINE_DEBUG('p_price: ' || p_price);
1403: QP_PREQ_GRP.ENGINE_DEBUG('p_operand_calculation_code: ' || p_operand_calculation_code);
1404: QP_PREQ_GRP.ENGINE_DEBUG('p_operand_value: ' || p_operand_value);
1405: QP_PREQ_GRP.ENGINE_DEBUG('p_priced_quantity: ' || p_priced_quantity);
1406: -- end 2892848
1407:
1408: END IF;
1409: IF p_operand_calculation_code = QP_PREQ_GRP.G_PERCENT_DISCOUNT THEN

Line 1409: IF p_operand_calculation_code = QP_PREQ_GRP.G_PERCENT_DISCOUNT THEN

1405: QP_PREQ_GRP.ENGINE_DEBUG('p_priced_quantity: ' || p_priced_quantity);
1406: -- end 2892848
1407:
1408: END IF;
1409: IF p_operand_calculation_code = QP_PREQ_GRP.G_PERCENT_DISCOUNT THEN
1410: -- x_calc_adjustment := abs(p_price) * p_operand_value / 100; -- bug 6122488
1411: x_calc_adjustment := p_price * p_operand_value / 100;
1412: ELSIF p_operand_calculation_code = QP_PREQ_GRP.G_AMOUNT_DISCOUNT THEN
1413: x_calc_adjustment := p_operand_value;

Line 1412: ELSIF p_operand_calculation_code = QP_PREQ_GRP.G_AMOUNT_DISCOUNT THEN

1408: END IF;
1409: IF p_operand_calculation_code = QP_PREQ_GRP.G_PERCENT_DISCOUNT THEN
1410: -- x_calc_adjustment := abs(p_price) * p_operand_value / 100; -- bug 6122488
1411: x_calc_adjustment := p_price * p_operand_value / 100;
1412: ELSIF p_operand_calculation_code = QP_PREQ_GRP.G_AMOUNT_DISCOUNT THEN
1413: x_calc_adjustment := p_operand_value;
1414: ELSIF p_operand_calculation_code = QP_PREQ_GRP.G_NEWPRICE_DISCOUNT THEN
1415: x_calc_adjustment := (abs(p_price) - p_operand_value);
1416: ELSIF p_operand_calculation_code = QP_PREQ_GRP.G_LUMPSUM_DISCOUNT THEN

Line 1414: ELSIF p_operand_calculation_code = QP_PREQ_GRP.G_NEWPRICE_DISCOUNT THEN

1410: -- x_calc_adjustment := abs(p_price) * p_operand_value / 100; -- bug 6122488
1411: x_calc_adjustment := p_price * p_operand_value / 100;
1412: ELSIF p_operand_calculation_code = QP_PREQ_GRP.G_AMOUNT_DISCOUNT THEN
1413: x_calc_adjustment := p_operand_value;
1414: ELSIF p_operand_calculation_code = QP_PREQ_GRP.G_NEWPRICE_DISCOUNT THEN
1415: x_calc_adjustment := (abs(p_price) - p_operand_value);
1416: ELSIF p_operand_calculation_code = QP_PREQ_GRP.G_LUMPSUM_DISCOUNT THEN
1417: -- [julin/4571612/4671446] explicitly set FND_API.G_NULL_NUM qty means infinity; this qty and zero qty yield no adj
1418: IF (p_priced_quantity = FND_API.G_NULL_NUM OR p_priced_quantity = 0) THEN

Line 1416: ELSIF p_operand_calculation_code = QP_PREQ_GRP.G_LUMPSUM_DISCOUNT THEN

1412: ELSIF p_operand_calculation_code = QP_PREQ_GRP.G_AMOUNT_DISCOUNT THEN
1413: x_calc_adjustment := p_operand_value;
1414: ELSIF p_operand_calculation_code = QP_PREQ_GRP.G_NEWPRICE_DISCOUNT THEN
1415: x_calc_adjustment := (abs(p_price) - p_operand_value);
1416: ELSIF p_operand_calculation_code = QP_PREQ_GRP.G_LUMPSUM_DISCOUNT THEN
1417: -- [julin/4571612/4671446] explicitly set FND_API.G_NULL_NUM qty means infinity; this qty and zero qty yield no adj
1418: IF (p_priced_quantity = FND_API.G_NULL_NUM OR p_priced_quantity = 0) THEN
1419: x_calc_adjustment := 0;
1420: ELSE

Line 1423: ELSIF p_operand_calculation_code = QP_PREQ_GRP.G_BREAKUNIT_PRICE THEN

1419: x_calc_adjustment := 0;
1420: ELSE
1421: x_calc_adjustment := p_operand_value / p_priced_quantity;
1422: END IF;
1423: ELSIF p_operand_calculation_code = QP_PREQ_GRP.G_BREAKUNIT_PRICE THEN
1424: x_calc_adjustment := p_operand_value; -- FTE breakunit
1425: END IF;
1426:
1427: x_return_status := FND_API.G_RET_STS_SUCCESS;

Line 1431: QP_PREQ_GRP.ENGINE_DEBUG('Out of Routine: ' || l_routine);

1427: x_return_status := FND_API.G_RET_STS_SUCCESS;
1428: x_return_status_text := l_routine ||' SUCCESS';
1429:
1430: IF l_debug = FND_API.G_TRUE THEN
1431: QP_PREQ_GRP.ENGINE_DEBUG('Out of Routine: ' || l_routine);
1432:
1433: END IF;
1434: EXCEPTION
1435: WHEN OTHERS THEN

Line 1437: QP_PREQ_GRP.ENGINE_DEBUG('Error in calculating bucket price '|| SQLERRM);

1433: END IF;
1434: EXCEPTION
1435: WHEN OTHERS THEN
1436: IF l_debug = FND_API.G_TRUE THEN
1437: QP_PREQ_GRP.ENGINE_DEBUG('Error in calculating bucket price '|| SQLERRM);
1438: END IF;
1439: x_return_status := FND_API.G_RET_STS_ERROR;
1440: x_return_status_text := l_routine ||' '|| SQLERRM;
1441: END Calculate_Adjustment;

Line 1476: AND pricing_status_code = QP_PREQ_GRP.G_STATUS_NEW;

1472: CURSOR l_req_line_attrs_cur(p_list_line_id NUMBER) IS
1473: SELECT line_index, attribute_type, context, attribute, value_from, grouping_number
1474: FROM qp_npreq_line_attrs_tmp
1475: WHERE list_line_id = p_list_line_id
1476: AND pricing_status_code = QP_PREQ_GRP.G_STATUS_NEW;
1477:
1478: BEGIN
1479:
1480: l_debug := QP_PREQ_GRP.G_DEBUG_ENGINE;

Line 1480: l_debug := QP_PREQ_GRP.G_DEBUG_ENGINE;

1476: AND pricing_status_code = QP_PREQ_GRP.G_STATUS_NEW;
1477:
1478: BEGIN
1479:
1480: l_debug := QP_PREQ_GRP.G_DEBUG_ENGINE;
1481: IF l_debug = FND_API.G_TRUE THEN
1482: QP_PREQ_GRP.engine_debug('In Procedure : Get_Satisfied_Range');
1483: QP_PREQ_GRP.engine_debug(' continuous_flag = '|| p_continuous_flag);
1484: QP_PREQ_GRP.engine_debug(' prorated_flag = '|| p_prorated_flag);

Line 1482: QP_PREQ_GRP.engine_debug('In Procedure : Get_Satisfied_Range');

1478: BEGIN
1479:
1480: l_debug := QP_PREQ_GRP.G_DEBUG_ENGINE;
1481: IF l_debug = FND_API.G_TRUE THEN
1482: QP_PREQ_GRP.engine_debug('In Procedure : Get_Satisfied_Range');
1483: QP_PREQ_GRP.engine_debug(' continuous_flag = '|| p_continuous_flag);
1484: QP_PREQ_GRP.engine_debug(' prorated_flag = '|| p_prorated_flag);
1485: END IF;
1486: l_value_from_precision := power(10, - (length(to_char(abs(p_value_from) - trunc(abs(p_value_from)))) - 1));

Line 1483: QP_PREQ_GRP.engine_debug(' continuous_flag = '|| p_continuous_flag);

1479:
1480: l_debug := QP_PREQ_GRP.G_DEBUG_ENGINE;
1481: IF l_debug = FND_API.G_TRUE THEN
1482: QP_PREQ_GRP.engine_debug('In Procedure : Get_Satisfied_Range');
1483: QP_PREQ_GRP.engine_debug(' continuous_flag = '|| p_continuous_flag);
1484: QP_PREQ_GRP.engine_debug(' prorated_flag = '|| p_prorated_flag);
1485: END IF;
1486: l_value_from_precision := power(10, - (length(to_char(abs(p_value_from) - trunc(abs(p_value_from)))) - 1));
1487:

Line 1484: QP_PREQ_GRP.engine_debug(' prorated_flag = '|| p_prorated_flag);

1480: l_debug := QP_PREQ_GRP.G_DEBUG_ENGINE;
1481: IF l_debug = FND_API.G_TRUE THEN
1482: QP_PREQ_GRP.engine_debug('In Procedure : Get_Satisfied_Range');
1483: QP_PREQ_GRP.engine_debug(' continuous_flag = '|| p_continuous_flag);
1484: QP_PREQ_GRP.engine_debug(' prorated_flag = '|| p_prorated_flag);
1485: END IF;
1486: l_value_from_precision := power(10, - (length(to_char(abs(p_value_from) - trunc(abs(p_value_from)))) - 1));
1487:
1488: l_value_to_precision := power(10, - (length(to_char(abs(p_value_to) - trunc(abs(p_value_to)))) - 1));

Line 1511: IF (nvl(FND_PROFILE.VALUE('QP_ACCUM_ATTR_ENABLED'), QP_PREQ_GRP.G_NO) = QP_PREQ_GRP.G_YES AND

1507: ELSE
1508: l_value_from := p_value_from;
1509: END IF;
1510:
1511: IF (nvl(FND_PROFILE.VALUE('QP_ACCUM_ATTR_ENABLED'), QP_PREQ_GRP.G_NO) = QP_PREQ_GRP.G_YES AND
1512: p_list_line_id IS NOT NULL AND
1513: nvl(QP_PREQ_PUB.G_CALL_FROM_PRICE_BOOK, QP_PREQ_GRP.G_NO) <> QP_PREQ_GRP.G_YES) -- price book
1514: THEN
1515: -- fetch accumulation attribute

Line 1513: nvl(QP_PREQ_PUB.G_CALL_FROM_PRICE_BOOK, QP_PREQ_GRP.G_NO) <> QP_PREQ_GRP.G_YES) -- price book

1509: END IF;
1510:
1511: IF (nvl(FND_PROFILE.VALUE('QP_ACCUM_ATTR_ENABLED'), QP_PREQ_GRP.G_NO) = QP_PREQ_GRP.G_YES AND
1512: p_list_line_id IS NOT NULL AND
1513: nvl(QP_PREQ_PUB.G_CALL_FROM_PRICE_BOOK, QP_PREQ_GRP.G_NO) <> QP_PREQ_GRP.G_YES) -- price book
1514: THEN
1515: -- fetch accumulation attribute
1516: -- these are "cached" on the basis of list_line_id
1517: -- if list_line_id changes, then need to retrieve values from temp table

Line 1521: QP_PREQ_GRP.engine_debug(' list_line_id = '|| p_list_line_id ||', prev = '|| l_prev_list_line_id);

1517: -- if list_line_id changes, then need to retrieve values from temp table
1518: -- else use previously cached values
1519: IF (p_list_line_id = l_prev_list_line_id) THEN
1520: IF l_debug = FND_API.G_TRUE THEN
1521: QP_PREQ_GRP.engine_debug(' list_line_id = '|| p_list_line_id ||', prev = '|| l_prev_list_line_id);
1522: END IF;
1523: l_accum_context := l_accum_context_cache;
1524: l_accum_attrib := l_accum_attrib_cache;
1525: l_accum_flag := l_accum_flag_cache;

Line 1528: QP_PREQ_GRP.engine_debug(' using cached values for accum context, attribute, etc.');

1524: l_accum_attrib := l_accum_attrib_cache;
1525: l_accum_flag := l_accum_flag_cache;
1526: v_list_line_no := l_accum_list_line_no_cache;
1527: IF l_debug = FND_API.G_TRUE THEN
1528: QP_PREQ_GRP.engine_debug(' using cached values for accum context, attribute, etc.');
1529: END IF;
1530: ELSE
1531: BEGIN
1532: SELECT accum_context, accum_attribute, accum_attr_run_src_flag, list_line_no

Line 1542: QP_PREQ_GRP.engine_debug(' No rows returned for list line ID '|| p_list_line_id);

1538: -- and rownum = 1;
1539: EXCEPTION
1540: WHEN NO_DATA_FOUND THEN
1541: IF l_debug = FND_API.G_TRUE THEN
1542: QP_PREQ_GRP.engine_debug(' No rows returned for list line ID '|| p_list_line_id);
1543: END IF;
1544: END;
1545:
1546: IF l_debug = FND_API.G_TRUE THEN

Line 1547: QP_PREQ_GRP.engine_debug(' accum context, attribute, etc. not cached');

1543: END IF;
1544: END;
1545:
1546: IF l_debug = FND_API.G_TRUE THEN
1547: QP_PREQ_GRP.engine_debug(' accum context, attribute, etc. not cached');
1548: END IF;
1549: -- cache the values
1550: l_accum_context_cache := l_accum_context;
1551: l_accum_attrib_cache := l_accum_attrib;

Line 1561: QP_PREQ_GRP.engine_debug(' no accum attribute specified.');

1557: -- conceptually, this means no accumulation processing
1558: -- in this code, we set accum=0 and let accumulation processing fall through
1559: l_accum := 0;
1560: IF l_debug = FND_API.G_TRUE THEN
1561: QP_PREQ_GRP.engine_debug(' no accum attribute specified.');
1562: END IF;
1563: ELSE
1564: IF l_debug = FND_API.G_TRUE THEN
1565: QP_PREQ_GRP.engine_debug(' accum attribute = '|| l_accum_attrib);

Line 1565: QP_PREQ_GRP.engine_debug(' accum attribute = '|| l_accum_attrib);

1561: QP_PREQ_GRP.engine_debug(' no accum attribute specified.');
1562: END IF;
1563: ELSE
1564: IF l_debug = FND_API.G_TRUE THEN
1565: QP_PREQ_GRP.engine_debug(' accum attribute = '|| l_accum_attrib);
1566: QP_PREQ_GRP.engine_debug(' line index = '|| l_line_index);
1567: END IF;
1568:
1569: -- try to get accum value from request line

Line 1566: QP_PREQ_GRP.engine_debug(' line index = '|| l_line_index);

1562: END IF;
1563: ELSE
1564: IF l_debug = FND_API.G_TRUE THEN
1565: QP_PREQ_GRP.engine_debug(' accum attribute = '|| l_accum_attrib);
1566: QP_PREQ_GRP.engine_debug(' line index = '|| l_line_index);
1567: END IF;
1568:
1569: -- try to get accum value from request line
1570: BEGIN

Line 1577: AND pricing_status_code = QP_PREQ_GRP.G_STATUS_UNCHANGED;

1573: FROM qp_npreq_line_attrs_tmp
1574: WHERE line_index = l_line_index -- (l_line_index is a global package variable)
1575: AND context = l_accum_context
1576: AND attribute = l_accum_attrib
1577: AND pricing_status_code = QP_PREQ_GRP.G_STATUS_UNCHANGED;
1578:
1579: IF l_debug = FND_API.G_TRUE THEN
1580: QP_PREQ_GRP.engine_debug(' accum value '|| l_accum ||' passed on request line.');
1581: END IF;

Line 1580: QP_PREQ_GRP.engine_debug(' accum value '|| l_accum ||' passed on request line.');

1576: AND attribute = l_accum_attrib
1577: AND pricing_status_code = QP_PREQ_GRP.G_STATUS_UNCHANGED;
1578:
1579: IF l_debug = FND_API.G_TRUE THEN
1580: QP_PREQ_GRP.engine_debug(' accum value '|| l_accum ||' passed on request line.');
1581: END IF;
1582: EXCEPTION
1583: WHEN NO_DATA_FOUND THEN
1584: IF l_debug = FND_API.G_TRUE THEN

Line 1585: QP_PREQ_GRP.engine_debug(' accum value not passed on request line.');

1581: END IF;
1582: EXCEPTION
1583: WHEN NO_DATA_FOUND THEN
1584: IF l_debug = FND_API.G_TRUE THEN
1585: QP_PREQ_GRP.engine_debug(' accum value not passed on request line.');
1586: END IF;
1587: -- accum value was not passed on request line
1588: IF l_accum_flag = 'Y'
1589: THEN

Line 1602: QP_PREQ_GRP.engine_debug(' * Calling Custom API for accumulation *');

1598: -- Another select needed for steps 2 and 3.
1599: -- Last select needed to get order id.
1600: ------------------------------------------------------
1601: IF l_debug = FND_API.G_TRUE THEN
1602: QP_PREQ_GRP.engine_debug(' * Calling Custom API for accumulation *');
1603: QP_PREQ_GRP.engine_debug(' request line attr(s):');
1604: END IF;
1605: FOR attrs IN l_req_line_attrs_cur(p_list_line_id) LOOP
1606: l_req_attrs_tbl(counter).line_index := attrs.line_index;

Line 1603: QP_PREQ_GRP.engine_debug(' request line attr(s):');

1599: -- Last select needed to get order id.
1600: ------------------------------------------------------
1601: IF l_debug = FND_API.G_TRUE THEN
1602: QP_PREQ_GRP.engine_debug(' * Calling Custom API for accumulation *');
1603: QP_PREQ_GRP.engine_debug(' request line attr(s):');
1604: END IF;
1605: FOR attrs IN l_req_line_attrs_cur(p_list_line_id) LOOP
1606: l_req_attrs_tbl(counter).line_index := attrs.line_index;
1607: l_req_attrs_tbl(counter).attribute_type := attrs.attribute_type;

Line 1613: QP_PREQ_GRP.engine_debug(' '|| counter ||': line index '|| attrs.line_index ||', '|| attrs.attribute_type

1609: l_req_attrs_tbl(counter).attribute := attrs.attribute;
1610: l_req_attrs_tbl(counter).VALUE := attrs.value_from;
1611: l_req_attrs_tbl(counter).grouping_no := attrs.grouping_number;
1612: IF l_debug = FND_API.G_TRUE THEN
1613: QP_PREQ_GRP.engine_debug(' '|| counter ||': line index '|| attrs.line_index ||', '|| attrs.attribute_type
1614: ||', '|| attrs.context ||', '|| attrs.attribute ||', '|| attrs.value_from
1615: ||', '|| attrs.grouping_number);
1616: END IF;
1617: counter := counter + 1;

Line 1622: IF QP_PREQ_GRP.G_ORDER_ID IS NULL THEN

1618: END LOOP;
1619:
1620: -- get the order (header) ID if it's null
1621: -- this should never happen, though
1622: IF QP_PREQ_GRP.G_ORDER_ID IS NULL THEN
1623: BEGIN
1624: SELECT line_id
1625: INTO QP_PREQ_GRP.G_ORDER_ID
1626: FROM qp_npreq_lines_tmp

Line 1625: INTO QP_PREQ_GRP.G_ORDER_ID

1621: -- this should never happen, though
1622: IF QP_PREQ_GRP.G_ORDER_ID IS NULL THEN
1623: BEGIN
1624: SELECT line_id
1625: INTO QP_PREQ_GRP.G_ORDER_ID
1626: FROM qp_npreq_lines_tmp
1627: WHERE line_type_code = QP_PREQ_GRP.G_ORDER_LEVEL;
1628: EXCEPTION
1629: WHEN NO_DATA_FOUND THEN

Line 1627: WHERE line_type_code = QP_PREQ_GRP.G_ORDER_LEVEL;

1623: BEGIN
1624: SELECT line_id
1625: INTO QP_PREQ_GRP.G_ORDER_ID
1626: FROM qp_npreq_lines_tmp
1627: WHERE line_type_code = QP_PREQ_GRP.G_ORDER_LEVEL;
1628: EXCEPTION
1629: WHEN NO_DATA_FOUND THEN
1630: IF l_debug = FND_API.G_TRUE THEN
1631: QP_PREQ_GRP.engine_debug(' - summary line not present; cannot get order ID');

Line 1631: QP_PREQ_GRP.engine_debug(' - summary line not present; cannot get order ID');

1627: WHERE line_type_code = QP_PREQ_GRP.G_ORDER_LEVEL;
1628: EXCEPTION
1629: WHEN NO_DATA_FOUND THEN
1630: IF l_debug = FND_API.G_TRUE THEN
1631: QP_PREQ_GRP.engine_debug(' - summary line not present; cannot get order ID');
1632: END IF;
1633: END;
1634: IF l_debug = FND_API.G_TRUE THEN
1635: QP_PREQ_GRP.engine_debug(' ^ G_ORDER_ID was null, select statement got value '|| QP_PREQ_GRP.G_ORDER_ID);

Line 1635: QP_PREQ_GRP.engine_debug(' ^ G_ORDER_ID was null, select statement got value '|| QP_PREQ_GRP.G_ORDER_ID);

1631: QP_PREQ_GRP.engine_debug(' - summary line not present; cannot get order ID');
1632: END IF;
1633: END;
1634: IF l_debug = FND_API.G_TRUE THEN
1635: QP_PREQ_GRP.engine_debug(' ^ G_ORDER_ID was null, select statement got value '|| QP_PREQ_GRP.G_ORDER_ID);
1636: END IF;
1637: END IF;
1638:
1639: -- get order line ID and pricing effective date

Line 1643: IF (QP_PREQ_GRP.G_LINE_ID IS NULL OR

1639: -- get order line ID and pricing effective date
1640: -- these values are "cached" on the basis of order_id and line_index
1641: -- if the composite line_index+order_id changes, then need to retrieve new line_id/eff date
1642: -- else use the previously cached values
1643: IF (QP_PREQ_GRP.G_LINE_ID IS NULL OR
1644: QP_PREQ_GRP.G_PRICE_EFF_DATE IS NULL OR
1645: -- 4613884 bugfix
1646: TO_CHAR(l_line_index || QP_PREQ_GRP.G_ORDER_ID) <> TO_CHAR(l_prev_line_index || l_prev_order_id))
1647: THEN

Line 1644: QP_PREQ_GRP.G_PRICE_EFF_DATE IS NULL OR

1640: -- these values are "cached" on the basis of order_id and line_index
1641: -- if the composite line_index+order_id changes, then need to retrieve new line_id/eff date
1642: -- else use the previously cached values
1643: IF (QP_PREQ_GRP.G_LINE_ID IS NULL OR
1644: QP_PREQ_GRP.G_PRICE_EFF_DATE IS NULL OR
1645: -- 4613884 bugfix
1646: TO_CHAR(l_line_index || QP_PREQ_GRP.G_ORDER_ID) <> TO_CHAR(l_prev_line_index || l_prev_order_id))
1647: THEN
1648: IF l_debug = FND_API.G_TRUE THEN

Line 1646: TO_CHAR(l_line_index || QP_PREQ_GRP.G_ORDER_ID) <> TO_CHAR(l_prev_line_index || l_prev_order_id))

1642: -- else use the previously cached values
1643: IF (QP_PREQ_GRP.G_LINE_ID IS NULL OR
1644: QP_PREQ_GRP.G_PRICE_EFF_DATE IS NULL OR
1645: -- 4613884 bugfix
1646: TO_CHAR(l_line_index || QP_PREQ_GRP.G_ORDER_ID) <> TO_CHAR(l_prev_line_index || l_prev_order_id))
1647: THEN
1648: IF l_debug = FND_API.G_TRUE THEN
1649: QP_PREQ_GRP.engine_debug(' need to cache line_id, price_eff_date!');
1650: QP_PREQ_GRP.engine_debug(' - order_id ('|| qp_preq_grp.G_ORDER_ID ||'), prev_order_id ('|| l_prev_order_id || ')');

Line 1649: QP_PREQ_GRP.engine_debug(' need to cache line_id, price_eff_date!');

1645: -- 4613884 bugfix
1646: TO_CHAR(l_line_index || QP_PREQ_GRP.G_ORDER_ID) <> TO_CHAR(l_prev_line_index || l_prev_order_id))
1647: THEN
1648: IF l_debug = FND_API.G_TRUE THEN
1649: QP_PREQ_GRP.engine_debug(' need to cache line_id, price_eff_date!');
1650: QP_PREQ_GRP.engine_debug(' - order_id ('|| qp_preq_grp.G_ORDER_ID ||'), prev_order_id ('|| l_prev_order_id || ')');
1651: QP_PREQ_GRP.engine_debug(' - line_index ('|| l_line_index ||'), prev_line_index ('|| l_prev_line_index || ')');
1652: END IF;
1653: SELECT lines.line_id, lines.pricing_effective_date

Line 1650: QP_PREQ_GRP.engine_debug(' - order_id ('|| qp_preq_grp.G_ORDER_ID ||'), prev_order_id ('|| l_prev_order_id || ')');

1646: TO_CHAR(l_line_index || QP_PREQ_GRP.G_ORDER_ID) <> TO_CHAR(l_prev_line_index || l_prev_order_id))
1647: THEN
1648: IF l_debug = FND_API.G_TRUE THEN
1649: QP_PREQ_GRP.engine_debug(' need to cache line_id, price_eff_date!');
1650: QP_PREQ_GRP.engine_debug(' - order_id ('|| qp_preq_grp.G_ORDER_ID ||'), prev_order_id ('|| l_prev_order_id || ')');
1651: QP_PREQ_GRP.engine_debug(' - line_index ('|| l_line_index ||'), prev_line_index ('|| l_prev_line_index || ')');
1652: END IF;
1653: SELECT lines.line_id, lines.pricing_effective_date
1654: INTO v_line_id, v_price_eff_date

Line 1651: QP_PREQ_GRP.engine_debug(' - line_index ('|| l_line_index ||'), prev_line_index ('|| l_prev_line_index || ')');

1647: THEN
1648: IF l_debug = FND_API.G_TRUE THEN
1649: QP_PREQ_GRP.engine_debug(' need to cache line_id, price_eff_date!');
1650: QP_PREQ_GRP.engine_debug(' - order_id ('|| qp_preq_grp.G_ORDER_ID ||'), prev_order_id ('|| l_prev_order_id || ')');
1651: QP_PREQ_GRP.engine_debug(' - line_index ('|| l_line_index ||'), prev_line_index ('|| l_prev_line_index || ')');
1652: END IF;
1653: SELECT lines.line_id, lines.pricing_effective_date
1654: INTO v_line_id, v_price_eff_date
1655: FROM qp_npreq_lines_tmp lines

Line 1658: QP_PREQ_GRP.G_LINE_ID := v_line_id;

1654: INTO v_line_id, v_price_eff_date
1655: FROM qp_npreq_lines_tmp lines
1656: WHERE lines.line_index = l_line_index;
1657:
1658: QP_PREQ_GRP.G_LINE_ID := v_line_id;
1659: QP_PREQ_GRP.G_PRICE_EFF_DATE := v_price_eff_date;
1660: l_prev_order_id := QP_PREQ_GRP.G_ORDER_ID;
1661: l_prev_line_index := l_line_index;
1662: ELSE

Line 1659: QP_PREQ_GRP.G_PRICE_EFF_DATE := v_price_eff_date;

1655: FROM qp_npreq_lines_tmp lines
1656: WHERE lines.line_index = l_line_index;
1657:
1658: QP_PREQ_GRP.G_LINE_ID := v_line_id;
1659: QP_PREQ_GRP.G_PRICE_EFF_DATE := v_price_eff_date;
1660: l_prev_order_id := QP_PREQ_GRP.G_ORDER_ID;
1661: l_prev_line_index := l_line_index;
1662: ELSE
1663: IF l_debug = FND_API.G_TRUE THEN

Line 1660: l_prev_order_id := QP_PREQ_GRP.G_ORDER_ID;

1656: WHERE lines.line_index = l_line_index;
1657:
1658: QP_PREQ_GRP.G_LINE_ID := v_line_id;
1659: QP_PREQ_GRP.G_PRICE_EFF_DATE := v_price_eff_date;
1660: l_prev_order_id := QP_PREQ_GRP.G_ORDER_ID;
1661: l_prev_line_index := l_line_index;
1662: ELSE
1663: IF l_debug = FND_API.G_TRUE THEN
1664: QP_PREQ_GRP.engine_debug(' using cached line_id, price_eff_date');

Line 1664: QP_PREQ_GRP.engine_debug(' using cached line_id, price_eff_date');

1660: l_prev_order_id := QP_PREQ_GRP.G_ORDER_ID;
1661: l_prev_line_index := l_line_index;
1662: ELSE
1663: IF l_debug = FND_API.G_TRUE THEN
1664: QP_PREQ_GRP.engine_debug(' using cached line_id, price_eff_date');
1665: END IF;
1666: v_line_id := QP_PREQ_GRP.G_LINE_ID;
1667: v_price_eff_date := QP_PREQ_GRP.G_PRICE_EFF_DATE;
1668: END IF;

Line 1666: v_line_id := QP_PREQ_GRP.G_LINE_ID;

1662: ELSE
1663: IF l_debug = FND_API.G_TRUE THEN
1664: QP_PREQ_GRP.engine_debug(' using cached line_id, price_eff_date');
1665: END IF;
1666: v_line_id := QP_PREQ_GRP.G_LINE_ID;
1667: v_price_eff_date := QP_PREQ_GRP.G_PRICE_EFF_DATE;
1668: END IF;
1669:
1670: IF l_debug = FND_API.G_TRUE THEN

Line 1667: v_price_eff_date := QP_PREQ_GRP.G_PRICE_EFF_DATE;

1663: IF l_debug = FND_API.G_TRUE THEN
1664: QP_PREQ_GRP.engine_debug(' using cached line_id, price_eff_date');
1665: END IF;
1666: v_line_id := QP_PREQ_GRP.G_LINE_ID;
1667: v_price_eff_date := QP_PREQ_GRP.G_PRICE_EFF_DATE;
1668: END IF;
1669:
1670: IF l_debug = FND_API.G_TRUE THEN
1671: QP_PREQ_GRP.engine_debug(' order ID '|| QP_PREQ_GRP.G_ORDER_ID ||

Line 1671: QP_PREQ_GRP.engine_debug(' order ID '|| QP_PREQ_GRP.G_ORDER_ID ||

1667: v_price_eff_date := QP_PREQ_GRP.G_PRICE_EFF_DATE;
1668: END IF;
1669:
1670: IF l_debug = FND_API.G_TRUE THEN
1671: QP_PREQ_GRP.engine_debug(' order ID '|| QP_PREQ_GRP.G_ORDER_ID ||
1672: ', line ID '|| QP_PREQ_GRP.G_LINE_ID);
1673: END IF;
1674:
1675: l_accum_rec.p_request_type_code := QP_PREQ_GRP.G_REQUEST_TYPE_CODE;

Line 1672: ', line ID '|| QP_PREQ_GRP.G_LINE_ID);

1668: END IF;
1669:
1670: IF l_debug = FND_API.G_TRUE THEN
1671: QP_PREQ_GRP.engine_debug(' order ID '|| QP_PREQ_GRP.G_ORDER_ID ||
1672: ', line ID '|| QP_PREQ_GRP.G_LINE_ID);
1673: END IF;
1674:
1675: l_accum_rec.p_request_type_code := QP_PREQ_GRP.G_REQUEST_TYPE_CODE;
1676: l_accum_rec.context := l_accum_context;

Line 1675: l_accum_rec.p_request_type_code := QP_PREQ_GRP.G_REQUEST_TYPE_CODE;

1671: QP_PREQ_GRP.engine_debug(' order ID '|| QP_PREQ_GRP.G_ORDER_ID ||
1672: ', line ID '|| QP_PREQ_GRP.G_LINE_ID);
1673: END IF;
1674:
1675: l_accum_rec.p_request_type_code := QP_PREQ_GRP.G_REQUEST_TYPE_CODE;
1676: l_accum_rec.context := l_accum_context;
1677: l_accum_rec.attribute := l_accum_attrib;
1678: IF (l_accum_context = 'VOLUME' AND l_accum_attrib = 'PRICING_ATTRIBUTE19') THEN
1679: l_accum := QP_TM_RUNTIME_SOURCE.Get_numeric_attribute_value(p_list_line_id,

Line 1681: QP_PREQ_GRP.G_ORDER_ID,

1677: l_accum_rec.attribute := l_accum_attrib;
1678: IF (l_accum_context = 'VOLUME' AND l_accum_attrib = 'PRICING_ATTRIBUTE19') THEN
1679: l_accum := QP_TM_RUNTIME_SOURCE.Get_numeric_attribute_value(p_list_line_id,
1680: v_list_line_no,
1681: QP_PREQ_GRP.G_ORDER_ID,
1682: v_line_id,
1683: v_price_eff_date,
1684: l_req_attrs_tbl,
1685: l_accum_rec

Line 1690: QP_PREQ_GRP.G_ORDER_ID,

1686: );
1687: ELSE
1688: l_accum := QP_RUNTIME_SOURCE.Get_numeric_attribute_value(p_list_line_id,
1689: v_list_line_no,
1690: QP_PREQ_GRP.G_ORDER_ID,
1691: v_line_id,
1692: v_price_eff_date,
1693: l_req_attrs_tbl,
1694: l_accum_rec

Line 1698: QP_PREQ_GRP.engine_debug(' accum value returned from custom API = '|| l_accum);

1694: l_accum_rec
1695: );
1696: END IF;
1697: IF l_debug = FND_API.G_TRUE THEN
1698: QP_PREQ_GRP.engine_debug(' accum value returned from custom API = '|| l_accum);
1699: END IF;
1700: ELSE
1701: -- this case should almost never happen, but if it does, set accum=0
1702: IF l_debug = FND_API.G_TRUE THEN

Line 1703: QP_PREQ_GRP.engine_debug('***oops. this should not be here!');

1699: END IF;
1700: ELSE
1701: -- this case should almost never happen, but if it does, set accum=0
1702: IF l_debug = FND_API.G_TRUE THEN
1703: QP_PREQ_GRP.engine_debug('***oops. this should not be here!');
1704: QP_PREQ_GRP.engine_debug(' Profile Value = '|| FND_PROFILE.VALUE('QP_ACCUM_ATTR_ENABLED'));
1705: END IF;
1706: l_accum := 0;
1707: END IF;

Line 1704: QP_PREQ_GRP.engine_debug(' Profile Value = '|| FND_PROFILE.VALUE('QP_ACCUM_ATTR_ENABLED'));

1700: ELSE
1701: -- this case should almost never happen, but if it does, set accum=0
1702: IF l_debug = FND_API.G_TRUE THEN
1703: QP_PREQ_GRP.engine_debug('***oops. this should not be here!');
1704: QP_PREQ_GRP.engine_debug(' Profile Value = '|| FND_PROFILE.VALUE('QP_ACCUM_ATTR_ENABLED'));
1705: END IF;
1706: l_accum := 0;
1707: END IF;
1708: END;

Line 1713: QP_PREQ_GRP.engine_debug(' - Accumulation Profile is not enabled');

1709:
1710: END IF; -- if (l_accum_attrib is null)
1711: ELSE
1712: IF l_debug = FND_API.G_TRUE THEN
1713: QP_PREQ_GRP.engine_debug(' - Accumulation Profile is not enabled');
1714: END IF;
1715: l_accum := 0;
1716: END IF; -- if ACCUM_ATTR_ENABLED profile...
1717:

Line 1724: QP_PREQ_GRP.engine_debug(' * begin accumulation processing (if necessary) *');

1720:
1721: -- accumulation processing:
1722: -- if accumulation value, then remap the value_from and offset qualifier value as necessary
1723: IF l_debug = FND_API.G_TRUE THEN
1724: QP_PREQ_GRP.engine_debug(' * begin accumulation processing (if necessary) *');
1725: END IF;
1726: IF p_value_to <= l_accum THEN
1727: -- skip this break because no quantity is satisfied
1728: x_satisfied_value := 0;

Line 1731: QP_PREQ_GRP.engine_debug(' - skipping this break');

1727: -- skip this break because no quantity is satisfied
1728: x_satisfied_value := 0;
1729: l_accum_global := nvl(l_accum_global, 0);
1730: IF l_debug = FND_API.G_TRUE THEN
1731: QP_PREQ_GRP.engine_debug(' - skipping this break');
1732: END IF;
1733: RETURN;
1734: ELSE
1735: IF l_accum <> 0 THEN

Line 1747: QP_PREQ_GRP.engine_debug(' l_accum = '|| l_accum);

1743: END IF;
1744: -- offset qualifier value if necessary
1745: l_new_qualifier := l_accum + p_qualifier_value;
1746: IF l_debug = FND_API.G_TRUE THEN
1747: QP_PREQ_GRP.engine_debug(' l_accum = '|| l_accum);
1748: QP_PREQ_GRP.engine_debug(' l_value_from = '|| l_value_from);
1749: QP_PREQ_GRP.engine_debug(' l_new_qualifier = '|| l_new_qualifier);
1750: END IF;
1751:

Line 1748: QP_PREQ_GRP.engine_debug(' l_value_from = '|| l_value_from);

1744: -- offset qualifier value if necessary
1745: l_new_qualifier := l_accum + p_qualifier_value;
1746: IF l_debug = FND_API.G_TRUE THEN
1747: QP_PREQ_GRP.engine_debug(' l_accum = '|| l_accum);
1748: QP_PREQ_GRP.engine_debug(' l_value_from = '|| l_value_from);
1749: QP_PREQ_GRP.engine_debug(' l_new_qualifier = '|| l_new_qualifier);
1750: END IF;
1751:
1752: -- shulin, fix bug 2372064

Line 1749: QP_PREQ_GRP.engine_debug(' l_new_qualifier = '|| l_new_qualifier);

1745: l_new_qualifier := l_accum + p_qualifier_value;
1746: IF l_debug = FND_API.G_TRUE THEN
1747: QP_PREQ_GRP.engine_debug(' l_accum = '|| l_accum);
1748: QP_PREQ_GRP.engine_debug(' l_value_from = '|| l_value_from);
1749: QP_PREQ_GRP.engine_debug(' l_new_qualifier = '|| l_new_qualifier);
1750: END IF;
1751:
1752: -- shulin, fix bug 2372064
1753: -- 4999377, restrict shulin's fix to only 0-0 case

Line 1756: QP_PREQ_GRP.engine_debug('value_from is the same as value_to, x_satisfied_value is 0');

1752: -- shulin, fix bug 2372064
1753: -- 4999377, restrict shulin's fix to only 0-0 case
1754: IF (p_value_from = p_value_to AND p_value_from = 0) THEN -- for cases like 0-0, 2-2, 0.5-0.5
1755: IF l_debug = FND_API.G_TRUE THEN
1756: QP_PREQ_GRP.engine_debug('value_from is the same as value_to, x_satisfied_value is 0');
1757: END IF;
1758: x_satisfied_value := 0;
1759: ELSIF (l_new_qualifier - l_value_from + l_precision > 0) THEN
1760: x_satisfied_value := least(l_new_qualifier - l_value_from + l_precision, p_value_to - l_value_from + l_precision);

Line 1766: QP_PREQ_GRP.engine_debug('Out of Procedure : Get_Satisfied_Range');

1762: x_satisfied_value := 0;
1763: END IF;
1764:
1765: IF l_debug = FND_API.G_TRUE THEN
1766: QP_PREQ_GRP.engine_debug('Out of Procedure : Get_Satisfied_Range');
1767:
1768: END IF;
1769: END Get_Satisfied_Range;
1770:

Line 1810: AND rltd.pricing_status_code = QP_PREQ_GRP.G_STATUS_NEW

1806: FROM qp_npreq_rltd_lines_tmp rltd, qp_npreq_lines_tmp line
1807: WHERE rltd.list_line_id = p_list_line_id
1808: AND rltd.line_index = p_line_index
1809: AND line.line_index = p_line_index
1810: AND rltd.pricing_status_code = QP_PREQ_GRP.G_STATUS_NEW
1811: AND rltd.line_index = line.line_index -- sql repos
1812: UNION
1813: SELECT rltd.related_line_detail_index
1814: , rltd.list_line_id -- for accum range break

Line 1829: WHERE QP_PREQ_GRP.G_PUBLIC_API_CALL_FLAG = QP_PREQ_GRP.G_YES

1825: , line.priced_quantity priced_qty
1826: , line.catchweight_qty catchweight_qty
1827: , line.actual_order_quantity actual_order_qty
1828: FROM qp_npreq_rltd_lines_tmp rltd, qp_npreq_lines_tmp line
1829: WHERE QP_PREQ_GRP.G_PUBLIC_API_CALL_FLAG = QP_PREQ_GRP.G_YES
1830: AND rltd.line_index = p_line_index
1831: AND line_detail_index = p_list_line_id
1832: AND line.line_index = p_line_index
1833: AND rltd.pricing_status_code = QP_PREQ_GRP.G_STATUS_NEW

Line 1833: AND rltd.pricing_status_code = QP_PREQ_GRP.G_STATUS_NEW

1829: WHERE QP_PREQ_GRP.G_PUBLIC_API_CALL_FLAG = QP_PREQ_GRP.G_YES
1830: AND rltd.line_index = p_line_index
1831: AND line_detail_index = p_list_line_id
1832: AND line.line_index = p_line_index
1833: AND rltd.pricing_status_code = QP_PREQ_GRP.G_STATUS_NEW
1834: AND rltd.line_index = line.line_index -- sql repos
1835: ORDER BY 7, 9;
1836: -- 5169222 added order by 9 to sort breaks by ascending value from
1837:

Line 1875: AND rltd.pricing_status_code = QP_PREQ_GRP.G_STATUS_NEW

1871: SELECT nvl(qpll.continuous_price_break_flag, 'N')
1872: FROM qp_list_lines qpll, qp_npreq_rltd_lines_tmp rltd
1873: WHERE rltd.line_index = p_line_index
1874: AND rltd.line_detail_index = p_list_line_id
1875: AND rltd.pricing_status_code = QP_PREQ_GRP.G_STATUS_NEW
1876: AND rltd.list_line_id = qpll.list_line_id
1877: AND ROWNUM = 1;
1878:
1879: l_continuous_flag VARCHAR2(1) := 'N';

Line 1881: l_del_index_tbl QP_PREQ_GRP.NUMBER_TYPE;

1877: AND ROWNUM = 1;
1878:
1879: l_continuous_flag VARCHAR2(1) := 'N';
1880: l_break_qualified VARCHAR2(1) := 'N';
1881: l_del_index_tbl QP_PREQ_GRP.NUMBER_TYPE;
1882:
1883: BEGIN
1884:
1885: x_adjustment_amount := 0;

Line 1894: QP_PREQ_GRP.engine_debug('In Procedure '|| l_routine || '...');

1890: FETCH get_continuous_flag_cur INTO l_continuous_flag;
1891: CLOSE get_continuous_flag_cur;
1892:
1893: IF l_debug = FND_API.G_TRUE THEN
1894: QP_PREQ_GRP.engine_debug('In Procedure '|| l_routine || '...');
1895: IF l_continuous_flag = 'Y' THEN
1896: QP_PREQ_GRP.engine_debug('---------- CONTINUOUS PRICE BREAK ----------');
1897: END IF;
1898: QP_PREQ_GRP.engine_debug('SL with net_amt changes.'); -- 2892848

Line 1896: QP_PREQ_GRP.engine_debug('---------- CONTINUOUS PRICE BREAK ----------');

1892:
1893: IF l_debug = FND_API.G_TRUE THEN
1894: QP_PREQ_GRP.engine_debug('In Procedure '|| l_routine || '...');
1895: IF l_continuous_flag = 'Y' THEN
1896: QP_PREQ_GRP.engine_debug('---------- CONTINUOUS PRICE BREAK ----------');
1897: END IF;
1898: QP_PREQ_GRP.engine_debug('SL with net_amt changes.'); -- 2892848
1899: QP_PREQ_GRP.engine_debug('p_list_line_id: '|| p_list_line_id);
1900: QP_PREQ_GRP.engine_debug('p_line_index: '|| p_line_index);

Line 1898: QP_PREQ_GRP.engine_debug('SL with net_amt changes.'); -- 2892848

1894: QP_PREQ_GRP.engine_debug('In Procedure '|| l_routine || '...');
1895: IF l_continuous_flag = 'Y' THEN
1896: QP_PREQ_GRP.engine_debug('---------- CONTINUOUS PRICE BREAK ----------');
1897: END IF;
1898: QP_PREQ_GRP.engine_debug('SL with net_amt changes.'); -- 2892848
1899: QP_PREQ_GRP.engine_debug('p_list_line_id: '|| p_list_line_id);
1900: QP_PREQ_GRP.engine_debug('p_line_index: '|| p_line_index);
1901: QP_PREQ_GRP.engine_debug('p_req_value_per_unit: '|| p_req_value_per_unit);
1902: QP_PREQ_GRP.engine_debug('p_total_value: '|| p_total_value);

Line 1899: QP_PREQ_GRP.engine_debug('p_list_line_id: '|| p_list_line_id);

1895: IF l_continuous_flag = 'Y' THEN
1896: QP_PREQ_GRP.engine_debug('---------- CONTINUOUS PRICE BREAK ----------');
1897: END IF;
1898: QP_PREQ_GRP.engine_debug('SL with net_amt changes.'); -- 2892848
1899: QP_PREQ_GRP.engine_debug('p_list_line_id: '|| p_list_line_id);
1900: QP_PREQ_GRP.engine_debug('p_line_index: '|| p_line_index);
1901: QP_PREQ_GRP.engine_debug('p_req_value_per_unit: '|| p_req_value_per_unit);
1902: QP_PREQ_GRP.engine_debug('p_total_value: '|| p_total_value);
1903: QP_PREQ_GRP.engine_debug('p_list_price: '|| p_list_price); -- 2892848

Line 1900: QP_PREQ_GRP.engine_debug('p_line_index: '|| p_line_index);

1896: QP_PREQ_GRP.engine_debug('---------- CONTINUOUS PRICE BREAK ----------');
1897: END IF;
1898: QP_PREQ_GRP.engine_debug('SL with net_amt changes.'); -- 2892848
1899: QP_PREQ_GRP.engine_debug('p_list_line_id: '|| p_list_line_id);
1900: QP_PREQ_GRP.engine_debug('p_line_index: '|| p_line_index);
1901: QP_PREQ_GRP.engine_debug('p_req_value_per_unit: '|| p_req_value_per_unit);
1902: QP_PREQ_GRP.engine_debug('p_total_value: '|| p_total_value);
1903: QP_PREQ_GRP.engine_debug('p_list_price: '|| p_list_price); -- 2892848
1904: QP_PREQ_GRP.engine_debug('p_line_quantity: '|| p_line_quantity);

Line 1901: QP_PREQ_GRP.engine_debug('p_req_value_per_unit: '|| p_req_value_per_unit);

1897: END IF;
1898: QP_PREQ_GRP.engine_debug('SL with net_amt changes.'); -- 2892848
1899: QP_PREQ_GRP.engine_debug('p_list_line_id: '|| p_list_line_id);
1900: QP_PREQ_GRP.engine_debug('p_line_index: '|| p_line_index);
1901: QP_PREQ_GRP.engine_debug('p_req_value_per_unit: '|| p_req_value_per_unit);
1902: QP_PREQ_GRP.engine_debug('p_total_value: '|| p_total_value);
1903: QP_PREQ_GRP.engine_debug('p_list_price: '|| p_list_price); -- 2892848
1904: QP_PREQ_GRP.engine_debug('p_line_quantity: '|| p_line_quantity);
1905: QP_PREQ_GRP.engine_debug('p_bucketed_adjustment: '|| p_bucketed_adjustment);

Line 1902: QP_PREQ_GRP.engine_debug('p_total_value: '|| p_total_value);

1898: QP_PREQ_GRP.engine_debug('SL with net_amt changes.'); -- 2892848
1899: QP_PREQ_GRP.engine_debug('p_list_line_id: '|| p_list_line_id);
1900: QP_PREQ_GRP.engine_debug('p_line_index: '|| p_line_index);
1901: QP_PREQ_GRP.engine_debug('p_req_value_per_unit: '|| p_req_value_per_unit);
1902: QP_PREQ_GRP.engine_debug('p_total_value: '|| p_total_value);
1903: QP_PREQ_GRP.engine_debug('p_list_price: '|| p_list_price); -- 2892848
1904: QP_PREQ_GRP.engine_debug('p_line_quantity: '|| p_line_quantity);
1905: QP_PREQ_GRP.engine_debug('p_bucketed_adjustment: '|| p_bucketed_adjustment);
1906: QP_PREQ_GRP.engine_debug('p_bucketed_flag: '|| p_bucketed_flag);

Line 1903: QP_PREQ_GRP.engine_debug('p_list_price: '|| p_list_price); -- 2892848

1899: QP_PREQ_GRP.engine_debug('p_list_line_id: '|| p_list_line_id);
1900: QP_PREQ_GRP.engine_debug('p_line_index: '|| p_line_index);
1901: QP_PREQ_GRP.engine_debug('p_req_value_per_unit: '|| p_req_value_per_unit);
1902: QP_PREQ_GRP.engine_debug('p_total_value: '|| p_total_value);
1903: QP_PREQ_GRP.engine_debug('p_list_price: '|| p_list_price); -- 2892848
1904: QP_PREQ_GRP.engine_debug('p_line_quantity: '|| p_line_quantity);
1905: QP_PREQ_GRP.engine_debug('p_bucketed_adjustment: '|| p_bucketed_adjustment);
1906: QP_PREQ_GRP.engine_debug('p_bucketed_flag: '|| p_bucketed_flag);
1907: END IF;

Line 1904: QP_PREQ_GRP.engine_debug('p_line_quantity: '|| p_line_quantity);

1900: QP_PREQ_GRP.engine_debug('p_line_index: '|| p_line_index);
1901: QP_PREQ_GRP.engine_debug('p_req_value_per_unit: '|| p_req_value_per_unit);
1902: QP_PREQ_GRP.engine_debug('p_total_value: '|| p_total_value);
1903: QP_PREQ_GRP.engine_debug('p_list_price: '|| p_list_price); -- 2892848
1904: QP_PREQ_GRP.engine_debug('p_line_quantity: '|| p_line_quantity);
1905: QP_PREQ_GRP.engine_debug('p_bucketed_adjustment: '|| p_bucketed_adjustment);
1906: QP_PREQ_GRP.engine_debug('p_bucketed_flag: '|| p_bucketed_flag);
1907: END IF;
1908:

Line 1905: QP_PREQ_GRP.engine_debug('p_bucketed_adjustment: '|| p_bucketed_adjustment);

1901: QP_PREQ_GRP.engine_debug('p_req_value_per_unit: '|| p_req_value_per_unit);
1902: QP_PREQ_GRP.engine_debug('p_total_value: '|| p_total_value);
1903: QP_PREQ_GRP.engine_debug('p_list_price: '|| p_list_price); -- 2892848
1904: QP_PREQ_GRP.engine_debug('p_line_quantity: '|| p_line_quantity);
1905: QP_PREQ_GRP.engine_debug('p_bucketed_adjustment: '|| p_bucketed_adjustment);
1906: QP_PREQ_GRP.engine_debug('p_bucketed_flag: '|| p_bucketed_flag);
1907: END IF;
1908:
1909: OPEN get_price_break_details;

Line 1906: QP_PREQ_GRP.engine_debug('p_bucketed_flag: '|| p_bucketed_flag);

1902: QP_PREQ_GRP.engine_debug('p_total_value: '|| p_total_value);
1903: QP_PREQ_GRP.engine_debug('p_list_price: '|| p_list_price); -- 2892848
1904: QP_PREQ_GRP.engine_debug('p_line_quantity: '|| p_line_quantity);
1905: QP_PREQ_GRP.engine_debug('p_bucketed_adjustment: '|| p_bucketed_adjustment);
1906: QP_PREQ_GRP.engine_debug('p_bucketed_flag: '|| p_bucketed_flag);
1907: END IF;
1908:
1909: OPEN get_price_break_details;
1910:

Line 1929: QP_PREQ_GRP.engine_debug('PBH Qualifier Value : ' || pbh_child_rec.qualifier_value);

1925: END IF;
1926: END IF;
1927:
1928: IF l_debug = FND_API.G_TRUE THEN
1929: QP_PREQ_GRP.engine_debug('PBH Qualifier Value : ' || pbh_child_rec.qualifier_value);
1930: QP_PREQ_GRP.engine_debug('PBH Value From : ' || pbh_child_rec.value_from);
1931: QP_PREQ_GRP.engine_debug('PBH Value To : ' || pbh_child_rec.value_to);
1932: QP_PREQ_GRP.engine_debug('PBH Break Type : ' || p_break_type);
1933: END IF;

Line 1930: QP_PREQ_GRP.engine_debug('PBH Value From : ' || pbh_child_rec.value_from);

1926: END IF;
1927:
1928: IF l_debug = FND_API.G_TRUE THEN
1929: QP_PREQ_GRP.engine_debug('PBH Qualifier Value : ' || pbh_child_rec.qualifier_value);
1930: QP_PREQ_GRP.engine_debug('PBH Value From : ' || pbh_child_rec.value_from);
1931: QP_PREQ_GRP.engine_debug('PBH Value To : ' || pbh_child_rec.value_to);
1932: QP_PREQ_GRP.engine_debug('PBH Break Type : ' || p_break_type);
1933: END IF;
1934:

Line 1931: QP_PREQ_GRP.engine_debug('PBH Value To : ' || pbh_child_rec.value_to);

1927:
1928: IF l_debug = FND_API.G_TRUE THEN
1929: QP_PREQ_GRP.engine_debug('PBH Qualifier Value : ' || pbh_child_rec.qualifier_value);
1930: QP_PREQ_GRP.engine_debug('PBH Value From : ' || pbh_child_rec.value_from);
1931: QP_PREQ_GRP.engine_debug('PBH Value To : ' || pbh_child_rec.value_to);
1932: QP_PREQ_GRP.engine_debug('PBH Break Type : ' || p_break_type);
1933: END IF;
1934:
1935: IF (p_break_type = QP_PREQ_GRP.G_POINT_BREAK) THEN

Line 1932: QP_PREQ_GRP.engine_debug('PBH Break Type : ' || p_break_type);

1928: IF l_debug = FND_API.G_TRUE THEN
1929: QP_PREQ_GRP.engine_debug('PBH Qualifier Value : ' || pbh_child_rec.qualifier_value);
1930: QP_PREQ_GRP.engine_debug('PBH Value From : ' || pbh_child_rec.value_from);
1931: QP_PREQ_GRP.engine_debug('PBH Value To : ' || pbh_child_rec.value_to);
1932: QP_PREQ_GRP.engine_debug('PBH Break Type : ' || p_break_type);
1933: END IF;
1934:
1935: IF (p_break_type = QP_PREQ_GRP.G_POINT_BREAK) THEN
1936: IF l_debug = FND_API.G_TRUE THEN

Line 1935: IF (p_break_type = QP_PREQ_GRP.G_POINT_BREAK) THEN

1931: QP_PREQ_GRP.engine_debug('PBH Value To : ' || pbh_child_rec.value_to);
1932: QP_PREQ_GRP.engine_debug('PBH Break Type : ' || p_break_type);
1933: END IF;
1934:
1935: IF (p_break_type = QP_PREQ_GRP.G_POINT_BREAK) THEN
1936: IF l_debug = FND_API.G_TRUE THEN
1937: QP_PREQ_GRP.engine_debug('i am in POINT block...');
1938: QP_PREQ_GRP.engine_debug('Before PBH List Line Type : ' || pbh_child_rec.related_list_line_type);
1939: END IF;

Line 1937: QP_PREQ_GRP.engine_debug('i am in POINT block...');

1933: END IF;
1934:
1935: IF (p_break_type = QP_PREQ_GRP.G_POINT_BREAK) THEN
1936: IF l_debug = FND_API.G_TRUE THEN
1937: QP_PREQ_GRP.engine_debug('i am in POINT block...');
1938: QP_PREQ_GRP.engine_debug('Before PBH List Line Type : ' || pbh_child_rec.related_list_line_type);
1939: END IF;
1940:
1941: -- rewritten for 4061138

Line 1938: QP_PREQ_GRP.engine_debug('Before PBH List Line Type : ' || pbh_child_rec.related_list_line_type);

1934:
1935: IF (p_break_type = QP_PREQ_GRP.G_POINT_BREAK) THEN
1936: IF l_debug = FND_API.G_TRUE THEN
1937: QP_PREQ_GRP.engine_debug('i am in POINT block...');
1938: QP_PREQ_GRP.engine_debug('Before PBH List Line Type : ' || pbh_child_rec.related_list_line_type);
1939: END IF;
1940:
1941: -- rewritten for 4061138
1942: IF ((l_continuous_flag <> 'Y' AND

Line 1952: IF (pbh_child_rec.related_list_line_type = QP_PREQ_GRP.G_DISCOUNT) THEN

1948: THEN
1949:
1950: l_break_qualified := 'Y'; --[julin/4671446]
1951:
1952: IF (pbh_child_rec.related_list_line_type = QP_PREQ_GRP.G_DISCOUNT) THEN
1953: l_sign := 1;
1954: ELSIF (pbh_child_rec.related_list_line_type = QP_PREQ_GRP.G_SURCHARGE) THEN
1955: l_sign := - 1;
1956: END IF;

Line 1954: ELSIF (pbh_child_rec.related_list_line_type = QP_PREQ_GRP.G_SURCHARGE) THEN

1950: l_break_qualified := 'Y'; --[julin/4671446]
1951:
1952: IF (pbh_child_rec.related_list_line_type = QP_PREQ_GRP.G_DISCOUNT) THEN
1953: l_sign := 1;
1954: ELSIF (pbh_child_rec.related_list_line_type = QP_PREQ_GRP.G_SURCHARGE) THEN
1955: l_sign := - 1;
1956: END IF;
1957:
1958: IF (pbh_child_rec.operand_calculation_code = QP_PREQ_GRP.G_NEWPRICE_DISCOUNT) THEN

Line 1958: IF (pbh_child_rec.operand_calculation_code = QP_PREQ_GRP.G_NEWPRICE_DISCOUNT) THEN

1954: ELSIF (pbh_child_rec.related_list_line_type = QP_PREQ_GRP.G_SURCHARGE) THEN
1955: l_sign := - 1;
1956: END IF;
1957:
1958: IF (pbh_child_rec.operand_calculation_code = QP_PREQ_GRP.G_NEWPRICE_DISCOUNT) THEN
1959: l_sign := 1; -- new price discount/surcharge are the same
1960: END IF;
1961:
1962: IF l_debug = FND_API.G_TRUE THEN

Line 1963: QP_PREQ_GRP.engine_debug('l sign: '|| l_sign);

1959: l_sign := 1; -- new price discount/surcharge are the same
1960: END IF;
1961:
1962: IF l_debug = FND_API.G_TRUE THEN
1963: QP_PREQ_GRP.engine_debug('l sign: '|| l_sign);
1964: END IF;
1965: -- fte breakunit
1966: IF (pbh_child_rec.operand_calculation_code = QP_PREQ_GRP.G_BREAKUNIT_PRICE AND
1967: p_total_value > 0)

Line 1966: IF (pbh_child_rec.operand_calculation_code = QP_PREQ_GRP.G_BREAKUNIT_PRICE AND

1962: IF l_debug = FND_API.G_TRUE THEN
1963: QP_PREQ_GRP.engine_debug('l sign: '|| l_sign);
1964: END IF;
1965: -- fte breakunit
1966: IF (pbh_child_rec.operand_calculation_code = QP_PREQ_GRP.G_BREAKUNIT_PRICE AND
1967: p_total_value > 0)
1968: THEN
1969: IF l_debug = FND_API.G_TRUE THEN
1970: QP_PREQ_GRP.engine_debug('fte breakunit price, using p_total_value = '|| p_total_value);

Line 1970: QP_PREQ_GRP.engine_debug('fte breakunit price, using p_total_value = '|| p_total_value);

1966: IF (pbh_child_rec.operand_calculation_code = QP_PREQ_GRP.G_BREAKUNIT_PRICE AND
1967: p_total_value > 0)
1968: THEN
1969: IF l_debug = FND_API.G_TRUE THEN
1970: QP_PREQ_GRP.engine_debug('fte breakunit price, using p_total_value = '|| p_total_value);
1971: END IF;
1972: l_priced_quantity := p_total_value;
1973: ELSIF (p_applied_req_value_per_unit > 0) THEN -- [julin/4112395/4220399]
1974: l_priced_quantity := p_applied_req_value_per_unit;

Line 1980: QP_PREQ_GRP.engine_debug('l_priced_quantity '|| l_priced_quantity);

1976: l_priced_quantity := p_req_value_per_unit;
1977: END IF;
1978:
1979: IF l_debug = FND_API.G_TRUE THEN
1980: QP_PREQ_GRP.engine_debug('l_priced_quantity '|| l_priced_quantity);
1981: END IF; --l_debug
1982:
1983: --4900095 lumpsum
1984: IF pbh_child_rec.operand_calculation_code = QP_PREQ_GRP.G_LUMPSUM_DISCOUNT

Line 1984: IF pbh_child_rec.operand_calculation_code = QP_PREQ_GRP.G_LUMPSUM_DISCOUNT

1980: QP_PREQ_GRP.engine_debug('l_priced_quantity '|| l_priced_quantity);
1981: END IF; --l_debug
1982:
1983: --4900095 lumpsum
1984: IF pbh_child_rec.operand_calculation_code = QP_PREQ_GRP.G_LUMPSUM_DISCOUNT
1985: AND QP_PREQ_GRP.G_service_line_ind_tbl.EXISTS(p_line_index) THEN
1986: IF QP_PREQ_PUB.G_PBH_MOD_LEVEL_CODE.EXISTS(p_list_line_id)
1987: AND QP_PREQ_PUB.G_PBH_MOD_LEVEL_CODE(p_list_line_id) = 'LINE' THEN
1988: l_priced_quantity := nvl(p_applied_req_value_per_unit,

Line 1985: AND QP_PREQ_GRP.G_service_line_ind_tbl.EXISTS(p_line_index) THEN

1981: END IF; --l_debug
1982:
1983: --4900095 lumpsum
1984: IF pbh_child_rec.operand_calculation_code = QP_PREQ_GRP.G_LUMPSUM_DISCOUNT
1985: AND QP_PREQ_GRP.G_service_line_ind_tbl.EXISTS(p_line_index) THEN
1986: IF QP_PREQ_PUB.G_PBH_MOD_LEVEL_CODE.EXISTS(p_list_line_id)
1987: AND QP_PREQ_PUB.G_PBH_MOD_LEVEL_CODE(p_list_line_id) = 'LINE' THEN
1988: l_priced_quantity := nvl(p_applied_req_value_per_unit,
1989: QP_PREQ_GRP.G_service_line_qty_tbl(p_line_index));

Line 1989: QP_PREQ_GRP.G_service_line_qty_tbl(p_line_index));

1985: AND QP_PREQ_GRP.G_service_line_ind_tbl.EXISTS(p_line_index) THEN
1986: IF QP_PREQ_PUB.G_PBH_MOD_LEVEL_CODE.EXISTS(p_list_line_id)
1987: AND QP_PREQ_PUB.G_PBH_MOD_LEVEL_CODE(p_list_line_id) = 'LINE' THEN
1988: l_priced_quantity := nvl(p_applied_req_value_per_unit,
1989: QP_PREQ_GRP.G_service_line_qty_tbl(p_line_index));
1990: IF l_debug = FND_API.G_TRUE THEN
1991: QP_PREQ_GRP.engine_debug('service line pbh with line level');
1992: END IF; --l_debug
1993: --p_request_qty * l_parent_qty;

Line 1991: QP_PREQ_GRP.engine_debug('service line pbh with line level');

1987: AND QP_PREQ_PUB.G_PBH_MOD_LEVEL_CODE(p_list_line_id) = 'LINE' THEN
1988: l_priced_quantity := nvl(p_applied_req_value_per_unit,
1989: QP_PREQ_GRP.G_service_line_qty_tbl(p_line_index));
1990: IF l_debug = FND_API.G_TRUE THEN
1991: QP_PREQ_GRP.engine_debug('service line pbh with line level');
1992: END IF; --l_debug
1993: --p_request_qty * l_parent_qty;
1994: ELSIF QP_PREQ_PUB.G_PBH_MOD_LEVEL_CODE.EXISTS(p_list_line_id)
1995: AND QP_PREQ_PUB.G_PBH_MOD_LEVEL_CODE(p_list_line_id) = 'LINEGROUP' THEN

Line 1997: QP_PREQ_GRP.G_service_ldet_qty_tbl(p_list_line_id));

1993: --p_request_qty * l_parent_qty;
1994: ELSIF QP_PREQ_PUB.G_PBH_MOD_LEVEL_CODE.EXISTS(p_list_line_id)
1995: AND QP_PREQ_PUB.G_PBH_MOD_LEVEL_CODE(p_list_line_id) = 'LINEGROUP' THEN
1996: l_priced_quantity := nvl(p_applied_req_value_per_unit,
1997: QP_PREQ_GRP.G_service_ldet_qty_tbl(p_list_line_id));
1998: IF l_debug = FND_API.G_TRUE THEN
1999: QP_PREQ_GRP.engine_debug('service line pbh with linegrp level');
2000: END IF; --l_debug
2001: ELSE

Line 1999: QP_PREQ_GRP.engine_debug('service line pbh with linegrp level');

1995: AND QP_PREQ_PUB.G_PBH_MOD_LEVEL_CODE(p_list_line_id) = 'LINEGROUP' THEN
1996: l_priced_quantity := nvl(p_applied_req_value_per_unit,
1997: QP_PREQ_GRP.G_service_ldet_qty_tbl(p_list_line_id));
1998: IF l_debug = FND_API.G_TRUE THEN
1999: QP_PREQ_GRP.engine_debug('service line pbh with linegrp level');
2000: END IF; --l_debug
2001: ELSE
2002: l_priced_quantity := nvl(p_applied_req_value_per_unit, p_req_value_per_unit);
2003: IF l_debug = FND_API.G_TRUE THEN

Line 2004: QP_PREQ_GRP.engine_debug('non-service line pbh with linegrp level');

2000: END IF; --l_debug
2001: ELSE
2002: l_priced_quantity := nvl(p_applied_req_value_per_unit, p_req_value_per_unit);
2003: IF l_debug = FND_API.G_TRUE THEN
2004: QP_PREQ_GRP.engine_debug('non-service line pbh with linegrp level');
2005: END IF; --l_debug
2006: END IF; --QP_PREQ_GRP.G_service_line_ind_tbl.exists
2007:
2008: IF l_debug = FND_API.G_TRUE THEN

Line 2006: END IF; --QP_PREQ_GRP.G_service_line_ind_tbl.exists

2002: l_priced_quantity := nvl(p_applied_req_value_per_unit, p_req_value_per_unit);
2003: IF l_debug = FND_API.G_TRUE THEN
2004: QP_PREQ_GRP.engine_debug('non-service line pbh with linegrp level');
2005: END IF; --l_debug
2006: END IF; --QP_PREQ_GRP.G_service_line_ind_tbl.exists
2007:
2008: IF l_debug = FND_API.G_TRUE THEN
2009: QP_PREQ_GRP.engine_debug('lumpsum qty '|| l_priced_quantity);
2010: END IF; --l_debug

Line 2009: QP_PREQ_GRP.engine_debug('lumpsum qty '|| l_priced_quantity);

2005: END IF; --l_debug
2006: END IF; --QP_PREQ_GRP.G_service_line_ind_tbl.exists
2007:
2008: IF l_debug = FND_API.G_TRUE THEN
2009: QP_PREQ_GRP.engine_debug('lumpsum qty '|| l_priced_quantity);
2010: END IF; --l_debug
2011: END IF; --pbh_child_rec.operand_calculation_code
2012:
2013: Calculate_Adjustment(p_list_price,

Line 2024: QP_PREQ_GRP.engine_debug('PBH Adjustment : ' || l_adjustment_amount);

2020: l_return_status,
2021: l_return_status_text);
2022:
2023: IF l_debug = FND_API.G_TRUE THEN
2024: QP_PREQ_GRP.engine_debug('PBH Adjustment : ' || l_adjustment_amount);
2025: END IF;
2026:
2027: pbh_adjustments(i).l_adjustment_amount := l_adjustment_amount;
2028:

Line 2033: QP_PREQ_GRP.engine_debug('POINT net amount break l_satisfied_value: '|| pbh_adjustments(i).l_satisfied_value);

2029: -- begin 2892848
2030: IF (p_bucketed_flag = 'Y') THEN
2031: pbh_adjustments(i).l_satisfied_value := pbh_child_rec.qualifier_value;
2032: IF l_debug = FND_API.G_TRUE THEN
2033: QP_PREQ_GRP.engine_debug('POINT net amount break l_satisfied_value: '|| pbh_adjustments(i).l_satisfied_value);
2034: END IF; -- END IF l_debug
2035: ELSE -- end 2892848
2036:
2037: -- ravi_new

Line 2041: --IF (pbh_child_rec.operand_calculation_code = QP_PREQ_GRP.G_BREAKUNIT_PRICE) THEN

2037: -- ravi_new
2038: IF (p_total_value > 0 AND p_req_value_per_unit <> 0) THEN --6896139 added to avoid divide by zero error
2039: v_attribute_value_per_unit := p_total_value / p_req_value_per_unit; --2388011_latest
2040: -- bug 3603096 - commented if..else
2041: --IF (pbh_child_rec.operand_calculation_code = QP_PREQ_GRP.G_BREAKUNIT_PRICE) THEN
2042: pbh_adjustments(i).l_satisfied_value := pbh_child_rec.qualifier_value; -- fte breakunit
2043: --ELSE
2044: -- pbh_adjustments(i).l_satisfied_value := pbh_child_rec.qualifier_value/v_attribute_value_per_unit; --2388011_latest
2045: --END IF;

Line 2047: QP_PREQ_GRP.engine_debug('p_total_value > 0');

2043: --ELSE
2044: -- pbh_adjustments(i).l_satisfied_value := pbh_child_rec.qualifier_value/v_attribute_value_per_unit; --2388011_latest
2045: --END IF;
2046: IF l_debug = FND_API.G_TRUE THEN
2047: QP_PREQ_GRP.engine_debug('p_total_value > 0');
2048: QP_PREQ_GRP.engine_debug('v_attribute_value_per_unit (p_total_value/p_req_value_per_unit): ' || v_attribute_value_per_unit);
2049: QP_PREQ_GRP.engine_debug('l_satisfied_value (qualifier_value/v_attribute_value_per_unit): '|| pbh_adjustments(i).l_satisfied_value);
2050: END IF; -- END IF l_debug
2051: ELSE

Line 2048: QP_PREQ_GRP.engine_debug('v_attribute_value_per_unit (p_total_value/p_req_value_per_unit): ' || v_attribute_value_per_unit);

2044: -- pbh_adjustments(i).l_satisfied_value := pbh_child_rec.qualifier_value/v_attribute_value_per_unit; --2388011_latest
2045: --END IF;
2046: IF l_debug = FND_API.G_TRUE THEN
2047: QP_PREQ_GRP.engine_debug('p_total_value > 0');
2048: QP_PREQ_GRP.engine_debug('v_attribute_value_per_unit (p_total_value/p_req_value_per_unit): ' || v_attribute_value_per_unit);
2049: QP_PREQ_GRP.engine_debug('l_satisfied_value (qualifier_value/v_attribute_value_per_unit): '|| pbh_adjustments(i).l_satisfied_value);
2050: END IF; -- END IF l_debug
2051: ELSE
2052: pbh_adjustments(i).l_satisfied_value := pbh_child_rec.qualifier_value;

Line 2049: QP_PREQ_GRP.engine_debug('l_satisfied_value (qualifier_value/v_attribute_value_per_unit): '|| pbh_adjustments(i).l_satisfied_value);

2045: --END IF;
2046: IF l_debug = FND_API.G_TRUE THEN
2047: QP_PREQ_GRP.engine_debug('p_total_value > 0');
2048: QP_PREQ_GRP.engine_debug('v_attribute_value_per_unit (p_total_value/p_req_value_per_unit): ' || v_attribute_value_per_unit);
2049: QP_PREQ_GRP.engine_debug('l_satisfied_value (qualifier_value/v_attribute_value_per_unit): '|| pbh_adjustments(i).l_satisfied_value);
2050: END IF; -- END IF l_debug
2051: ELSE
2052: pbh_adjustments(i).l_satisfied_value := pbh_child_rec.qualifier_value;
2053: IF l_debug = FND_API.G_TRUE THEN

Line 2054: QP_PREQ_GRP.engine_debug('POINT break l_satisfied_value: '|| pbh_adjustments(i).l_satisfied_value);

2050: END IF; -- END IF l_debug
2051: ELSE
2052: pbh_adjustments(i).l_satisfied_value := pbh_child_rec.qualifier_value;
2053: IF l_debug = FND_API.G_TRUE THEN
2054: QP_PREQ_GRP.engine_debug('POINT break l_satisfied_value: '|| pbh_adjustments(i).l_satisfied_value);
2055: END IF; -- END IF l_debug
2056: END IF; -- END IF (p_total_value > 0)
2057: END IF; -- END IF (p_bucketed_flag = 'Y') 2892848
2058:

Line 2061: QP_PREQ_GRP.engine_debug('POINT break x_adjustment_amount: '|| x_adjustment_amount);

2057: END IF; -- END IF (p_bucketed_flag = 'Y') 2892848
2058:
2059: x_adjustment_amount := l_adjustment_amount;
2060: IF l_debug = FND_API.G_TRUE THEN
2061: QP_PREQ_GRP.engine_debug('POINT break x_adjustment_amount: '|| x_adjustment_amount);
2062: END IF; -- END IF l_debug
2063: -- fte breakunit
2064: -- Normally, point breaks assume the adj amt on the header is the same as
2065: -- the single qualifying child line. This is true for regular breaks, but

Line 2068: IF (pbh_child_rec.operand_calculation_code = QP_PREQ_GRP.G_BREAKUNIT_PRICE AND

2064: -- Normally, point breaks assume the adj amt on the header is the same as
2065: -- the single qualifying child line. This is true for regular breaks, but
2066: -- for block pricing (breakunit), the header and line quantity may not be
2067: -- the same UOM, so need to calculate a different adj amt for the PBH.
2068: IF (pbh_child_rec.operand_calculation_code = QP_PREQ_GRP.G_BREAKUNIT_PRICE AND
2069: p_total_value > 0)
2070: THEN
2071: x_adjustment_amount := l_adjustment_amount * l_priced_quantity / p_req_value_per_unit;
2072: IF l_debug = FND_API.G_TRUE THEN

Line 2073: QP_PREQ_GRP.engine_debug('fte breakunit, PBH x_adjustment_amount: '|| x_adjustment_amount);

2069: p_total_value > 0)
2070: THEN
2071: x_adjustment_amount := l_adjustment_amount * l_priced_quantity / p_req_value_per_unit;
2072: IF l_debug = FND_API.G_TRUE THEN
2073: QP_PREQ_GRP.engine_debug('fte breakunit, PBH x_adjustment_amount: '|| x_adjustment_amount);
2074: END IF;
2075: END IF;
2076: ELSE
2077: pbh_adjustments(i).l_adjustment_amount := NULL;

Line 2085: ELSIF (p_break_type = QP_PREQ_GRP.G_RANGE_BREAK) THEN

2081: pbh_adjustments(i).l_related_list_line_id := pbh_child_rec.related_list_line_id;
2082: pbh_adjustments(i).l_related_line_detail_index := pbh_child_rec.related_line_detail_index;
2083: pbh_child_dtl_tbl(i) := pbh_child_rec;
2084:
2085: ELSIF (p_break_type = QP_PREQ_GRP.G_RANGE_BREAK) THEN
2086:
2087: IF l_debug = FND_API.G_TRUE THEN
2088: QP_PREQ_GRP.engine_debug('i am in RANGE block...');
2089: END IF; -- END IF l_debug

Line 2088: QP_PREQ_GRP.engine_debug('i am in RANGE block...');

2084:
2085: ELSIF (p_break_type = QP_PREQ_GRP.G_RANGE_BREAK) THEN
2086:
2087: IF l_debug = FND_API.G_TRUE THEN
2088: QP_PREQ_GRP.engine_debug('i am in RANGE block...');
2089: END IF; -- END IF l_debug
2090:
2091: IF (pbh_child_rec.related_list_line_type = QP_PREQ_GRP.G_DISCOUNT) THEN
2092: l_sign := 1;

Line 2091: IF (pbh_child_rec.related_list_line_type = QP_PREQ_GRP.G_DISCOUNT) THEN

2087: IF l_debug = FND_API.G_TRUE THEN
2088: QP_PREQ_GRP.engine_debug('i am in RANGE block...');
2089: END IF; -- END IF l_debug
2090:
2091: IF (pbh_child_rec.related_list_line_type = QP_PREQ_GRP.G_DISCOUNT) THEN
2092: l_sign := 1;
2093: ELSIF (pbh_child_rec.related_list_line_type = QP_PREQ_GRP.G_SURCHARGE) THEN
2094: l_sign := - 1;
2095: END IF;

Line 2093: ELSIF (pbh_child_rec.related_list_line_type = QP_PREQ_GRP.G_SURCHARGE) THEN

2089: END IF; -- END IF l_debug
2090:
2091: IF (pbh_child_rec.related_list_line_type = QP_PREQ_GRP.G_DISCOUNT) THEN
2092: l_sign := 1;
2093: ELSIF (pbh_child_rec.related_list_line_type = QP_PREQ_GRP.G_SURCHARGE) THEN
2094: l_sign := - 1;
2095: END IF;
2096:
2097: IF (pbh_child_rec.operand_calculation_code = QP_PREQ_GRP.G_NEWPRICE_DISCOUNT) THEN

Line 2097: IF (pbh_child_rec.operand_calculation_code = QP_PREQ_GRP.G_NEWPRICE_DISCOUNT) THEN

2093: ELSIF (pbh_child_rec.related_list_line_type = QP_PREQ_GRP.G_SURCHARGE) THEN
2094: l_sign := - 1;
2095: END IF;
2096:
2097: IF (pbh_child_rec.operand_calculation_code = QP_PREQ_GRP.G_NEWPRICE_DISCOUNT) THEN
2098: l_sign := 1; -- new price discount/surcharge are the same
2099: END IF;
2100:
2101: IF l_debug = FND_API.G_TRUE THEN

Line 2102: QP_PREQ_GRP.engine_debug('l sign: '|| l_sign);

2098: l_sign := 1; -- new price discount/surcharge are the same
2099: END IF;
2100:
2101: IF l_debug = FND_API.G_TRUE THEN
2102: QP_PREQ_GRP.engine_debug('l sign: '|| l_sign);
2103: END IF; -- END IF l_debug
2104:
2105: IF l_debug = FND_API.G_TRUE THEN
2106: QP_PREQ_GRP.engine_debug('l_total_value now: '|| l_total_value || ' is used to get_satisfied_range.');

Line 2106: QP_PREQ_GRP.engine_debug('l_total_value now: '|| l_total_value || ' is used to get_satisfied_range.');

2102: QP_PREQ_GRP.engine_debug('l sign: '|| l_sign);
2103: END IF; -- END IF l_debug
2104:
2105: IF l_debug = FND_API.G_TRUE THEN
2106: QP_PREQ_GRP.engine_debug('l_total_value now: '|| l_total_value || ' is used to get_satisfied_range.');
2107: END IF; -- END IF l_debug
2108:
2109: Get_Satisfied_Range(pbh_child_rec.value_from, pbh_child_rec.value_to, pbh_child_rec.qualifier_value,
2110: pbh_child_rec.list_line_id, l_continuous_flag, 'N', l_satisfied_value);

Line 2113: QP_PREQ_GRP.engine_debug('l_satisfied_range from Get_Satisfied_Range: '|| l_satisfied_value);

2109: Get_Satisfied_Range(pbh_child_rec.value_from, pbh_child_rec.value_to, pbh_child_rec.qualifier_value,
2110: pbh_child_rec.list_line_id, l_continuous_flag, 'N', l_satisfied_value);
2111:
2112: IF l_debug = FND_API.G_TRUE THEN
2113: QP_PREQ_GRP.engine_debug('l_satisfied_range from Get_Satisfied_Range: '|| l_satisfied_value);
2114: END IF; -- END IF l_debug
2115: pbh_adjustments(i).l_raw_satisfied_value := l_satisfied_value; -- 5335689
2116: IF l_satisfied_value > 0 THEN
2117: l_break_qualified := 'Y'; --[julin/4671446]

Line 2129: QP_PREQ_GRP.engine_debug('p_total_value >= 0');

2125: v_attribute_value_per_unit := p_total_value / p_req_value_per_unit; --2388011_latest
2126: --pbh_adjustments(i).l_satisfied_value := pbh_child_rec.qualifier_value/v_attribute_value_per_unit; --2388011_latest
2127: pbh_adjustments(i).l_satisfied_value := l_satisfied_value / v_attribute_value_per_unit; -- SHU diff RAVI
2128: IF l_debug = FND_API.G_TRUE THEN
2129: QP_PREQ_GRP.engine_debug('p_total_value >= 0');
2130: QP_PREQ_GRP.engine_debug('v_attribute_value_per_unit (p_total_value/p_req_value_per_unit): ' || v_attribute_value_per_unit);
2131: QP_PREQ_GRP.engine_debug('l_raw_satisfied_value: ' || pbh_adjustments(i).l_raw_satisfied_value);
2132: QP_PREQ_GRP.engine_debug('l_satisfied_value assigned back to this child break: '|| pbh_adjustments(i).l_satisfied_value);
2133: END IF; -- END IF l_debug

Line 2130: QP_PREQ_GRP.engine_debug('v_attribute_value_per_unit (p_total_value/p_req_value_per_unit): ' || v_attribute_value_per_unit);

2126: --pbh_adjustments(i).l_satisfied_value := pbh_child_rec.qualifier_value/v_attribute_value_per_unit; --2388011_latest
2127: pbh_adjustments(i).l_satisfied_value := l_satisfied_value / v_attribute_value_per_unit; -- SHU diff RAVI
2128: IF l_debug = FND_API.G_TRUE THEN
2129: QP_PREQ_GRP.engine_debug('p_total_value >= 0');
2130: QP_PREQ_GRP.engine_debug('v_attribute_value_per_unit (p_total_value/p_req_value_per_unit): ' || v_attribute_value_per_unit);
2131: QP_PREQ_GRP.engine_debug('l_raw_satisfied_value: ' || pbh_adjustments(i).l_raw_satisfied_value);
2132: QP_PREQ_GRP.engine_debug('l_satisfied_value assigned back to this child break: '|| pbh_adjustments(i).l_satisfied_value);
2133: END IF; -- END IF l_debug
2134: ELSE

Line 2131: QP_PREQ_GRP.engine_debug('l_raw_satisfied_value: ' || pbh_adjustments(i).l_raw_satisfied_value);

2127: pbh_adjustments(i).l_satisfied_value := l_satisfied_value / v_attribute_value_per_unit; -- SHU diff RAVI
2128: IF l_debug = FND_API.G_TRUE THEN
2129: QP_PREQ_GRP.engine_debug('p_total_value >= 0');
2130: QP_PREQ_GRP.engine_debug('v_attribute_value_per_unit (p_total_value/p_req_value_per_unit): ' || v_attribute_value_per_unit);
2131: QP_PREQ_GRP.engine_debug('l_raw_satisfied_value: ' || pbh_adjustments(i).l_raw_satisfied_value);
2132: QP_PREQ_GRP.engine_debug('l_satisfied_value assigned back to this child break: '|| pbh_adjustments(i).l_satisfied_value);
2133: END IF; -- END IF l_debug
2134: ELSE
2135: pbh_adjustments(i).l_satisfied_value := l_satisfied_value;

Line 2132: QP_PREQ_GRP.engine_debug('l_satisfied_value assigned back to this child break: '|| pbh_adjustments(i).l_satisfied_value);

2128: IF l_debug = FND_API.G_TRUE THEN
2129: QP_PREQ_GRP.engine_debug('p_total_value >= 0');
2130: QP_PREQ_GRP.engine_debug('v_attribute_value_per_unit (p_total_value/p_req_value_per_unit): ' || v_attribute_value_per_unit);
2131: QP_PREQ_GRP.engine_debug('l_raw_satisfied_value: ' || pbh_adjustments(i).l_raw_satisfied_value);
2132: QP_PREQ_GRP.engine_debug('l_satisfied_value assigned back to this child break: '|| pbh_adjustments(i).l_satisfied_value);
2133: END IF; -- END IF l_debug
2134: ELSE
2135: pbh_adjustments(i).l_satisfied_value := l_satisfied_value;
2136: IF l_debug = FND_API.G_TRUE THEN

Line 2137: QP_PREQ_GRP.engine_debug('l_satisfied_value assigned back to this child break: '|| pbh_adjustments(i).l_satisfied_value);

2133: END IF; -- END IF l_debug
2134: ELSE
2135: pbh_adjustments(i).l_satisfied_value := l_satisfied_value;
2136: IF l_debug = FND_API.G_TRUE THEN
2137: QP_PREQ_GRP.engine_debug('l_satisfied_value assigned back to this child break: '|| pbh_adjustments(i).l_satisfied_value);
2138: END IF; -- END IF l_debug
2139: END IF; -- END IF (p_total_value > 0)
2140: END IF; -- END IF (p_bucketed_flag = 'Y') THEN
2141:

Line 2161: QP_PREQ_GRP.engine_debug('Adjustment : (' || i || ') ' || l_adjustment_amount);

2157: pbh_adjustments(i).l_adjustment_amount := l_adjustment_amount;
2158: pbh_child_dtl_tbl(i) := pbh_child_rec;
2159:
2160: IF l_debug = FND_API.G_TRUE THEN
2161: QP_PREQ_GRP.engine_debug('Adjustment : (' || i || ') ' || l_adjustment_amount);
2162: QP_PREQ_GRP.engine_debug('Satisfied Value : (' || i || ') ' || l_satisfied_value);
2163: QP_PREQ_GRP.engine_debug('Total Value for next child line: (' || i || ') ' || l_total_value);
2164: END IF; -- END IF l_debug
2165:

Line 2162: QP_PREQ_GRP.engine_debug('Satisfied Value : (' || i || ') ' || l_satisfied_value);

2158: pbh_child_dtl_tbl(i) := pbh_child_rec;
2159:
2160: IF l_debug = FND_API.G_TRUE THEN
2161: QP_PREQ_GRP.engine_debug('Adjustment : (' || i || ') ' || l_adjustment_amount);
2162: QP_PREQ_GRP.engine_debug('Satisfied Value : (' || i || ') ' || l_satisfied_value);
2163: QP_PREQ_GRP.engine_debug('Total Value for next child line: (' || i || ') ' || l_total_value);
2164: END IF; -- END IF l_debug
2165:
2166: END IF; -- END IF (p_break_type = POINT or RANGE

Line 2163: QP_PREQ_GRP.engine_debug('Total Value for next child line: (' || i || ') ' || l_total_value);

2159:
2160: IF l_debug = FND_API.G_TRUE THEN
2161: QP_PREQ_GRP.engine_debug('Adjustment : (' || i || ') ' || l_adjustment_amount);
2162: QP_PREQ_GRP.engine_debug('Satisfied Value : (' || i || ') ' || l_satisfied_value);
2163: QP_PREQ_GRP.engine_debug('Total Value for next child line: (' || i || ') ' || l_total_value);
2164: END IF; -- END IF l_debug
2165:
2166: END IF; -- END IF (p_break_type = POINT or RANGE
2167:

Line 2172: IF (p_break_type = QP_PREQ_GRP.G_RANGE_BREAK) THEN

2168: END LOOP;
2169:
2170: CLOSE get_price_break_details;
2171:
2172: IF (p_break_type = QP_PREQ_GRP.G_RANGE_BREAK) THEN
2173: FOR i IN 1 .. pbh_adjustments.COUNT
2174: LOOP
2175:
2176: l_range_adjustment := l_range_adjustment + nvl(pbh_adjustments(i).l_adjustment_amount *

Line 2180: QP_PREQ_GRP.engine_debug('--- '||'break child '|| i ||' ---');

2176: l_range_adjustment := l_range_adjustment + nvl(pbh_adjustments(i).l_adjustment_amount *
2177: pbh_adjustments(i).l_satisfied_value, 0);
2178:
2179: IF l_debug = FND_API.G_TRUE THEN
2180: QP_PREQ_GRP.engine_debug('--- '||'break child '|| i ||' ---');
2181: QP_PREQ_GRP.engine_debug('l_adjustment_amount: '|| pbh_adjustments(i).l_adjustment_amount);
2182: QP_PREQ_GRP.engine_debug('l_satisfied_value: '|| nvl(pbh_adjustments(i).l_raw_satisfied_value,
2183: pbh_adjustments(i).l_satisfied_value));
2184: QP_PREQ_GRP.engine_debug('l_range_adjustment total: '|| l_range_adjustment);

Line 2181: QP_PREQ_GRP.engine_debug('l_adjustment_amount: '|| pbh_adjustments(i).l_adjustment_amount);

2177: pbh_adjustments(i).l_satisfied_value, 0);
2178:
2179: IF l_debug = FND_API.G_TRUE THEN
2180: QP_PREQ_GRP.engine_debug('--- '||'break child '|| i ||' ---');
2181: QP_PREQ_GRP.engine_debug('l_adjustment_amount: '|| pbh_adjustments(i).l_adjustment_amount);
2182: QP_PREQ_GRP.engine_debug('l_satisfied_value: '|| nvl(pbh_adjustments(i).l_raw_satisfied_value,
2183: pbh_adjustments(i).l_satisfied_value));
2184: QP_PREQ_GRP.engine_debug('l_range_adjustment total: '|| l_range_adjustment);
2185: END IF; -- END IF l_debug

Line 2182: QP_PREQ_GRP.engine_debug('l_satisfied_value: '|| nvl(pbh_adjustments(i).l_raw_satisfied_value,

2178:
2179: IF l_debug = FND_API.G_TRUE THEN
2180: QP_PREQ_GRP.engine_debug('--- '||'break child '|| i ||' ---');
2181: QP_PREQ_GRP.engine_debug('l_adjustment_amount: '|| pbh_adjustments(i).l_adjustment_amount);
2182: QP_PREQ_GRP.engine_debug('l_satisfied_value: '|| nvl(pbh_adjustments(i).l_raw_satisfied_value,
2183: pbh_adjustments(i).l_satisfied_value));
2184: QP_PREQ_GRP.engine_debug('l_range_adjustment total: '|| l_range_adjustment);
2185: END IF; -- END IF l_debug
2186: END LOOP;

Line 2184: QP_PREQ_GRP.engine_debug('l_range_adjustment total: '|| l_range_adjustment);

2180: QP_PREQ_GRP.engine_debug('--- '||'break child '|| i ||' ---');
2181: QP_PREQ_GRP.engine_debug('l_adjustment_amount: '|| pbh_adjustments(i).l_adjustment_amount);
2182: QP_PREQ_GRP.engine_debug('l_satisfied_value: '|| nvl(pbh_adjustments(i).l_raw_satisfied_value,
2183: pbh_adjustments(i).l_satisfied_value));
2184: QP_PREQ_GRP.engine_debug('l_range_adjustment total: '|| l_range_adjustment);
2185: END IF; -- END IF l_debug
2186: END LOOP;
2187: x_adjustment_amount := l_range_adjustment / p_req_value_per_unit; -- ravi_new
2188: IF l_debug = FND_API.G_TRUE THEN

Line 2189: QP_PREQ_GRP.engine_debug('Range Break Averaged Adjustment : ' || x_adjustment_amount);

2185: END IF; -- END IF l_debug
2186: END LOOP;
2187: x_adjustment_amount := l_range_adjustment / p_req_value_per_unit; -- ravi_new
2188: IF l_debug = FND_API.G_TRUE THEN
2189: QP_PREQ_GRP.engine_debug('Range Break Averaged Adjustment : ' || x_adjustment_amount);
2190: END IF; -- END IF l_debug
2191:
2192: END IF;
2193:

Line 2195: IF (QP_PREQ_GRP.G_PUBLIC_API_CALL_FLAG = QP_PREQ_GRP.G_YES) THEN

2191:
2192: END IF;
2193:
2194: -- Update the adjustments/satisfied ranges info on line details
2195: IF (QP_PREQ_GRP.G_PUBLIC_API_CALL_FLAG = QP_PREQ_GRP.G_YES) THEN
2196: IF (pbh_adjustments.COUNT > 0) THEN
2197: IF l_debug = FND_API.G_TRUE THEN
2198: QP_PREQ_GRP.engine_debug('updating child pbh lines '|| pbh_adjustments.COUNT);
2199: QP_PREQ_GRP.engine_debug('l_break_qualified=' || l_break_qualified);

Line 2198: QP_PREQ_GRP.engine_debug('updating child pbh lines '|| pbh_adjustments.COUNT);

2194: -- Update the adjustments/satisfied ranges info on line details
2195: IF (QP_PREQ_GRP.G_PUBLIC_API_CALL_FLAG = QP_PREQ_GRP.G_YES) THEN
2196: IF (pbh_adjustments.COUNT > 0) THEN
2197: IF l_debug = FND_API.G_TRUE THEN
2198: QP_PREQ_GRP.engine_debug('updating child pbh lines '|| pbh_adjustments.COUNT);
2199: QP_PREQ_GRP.engine_debug('l_break_qualified=' || l_break_qualified);
2200: END IF; -- END IF l_debug
2201: IF l_break_qualified = 'Y' THEN
2202: FOR i IN pbh_adjustments.FIRST .. pbh_adjustments.LAST LOOP

Line 2199: QP_PREQ_GRP.engine_debug('l_break_qualified=' || l_break_qualified);

2195: IF (QP_PREQ_GRP.G_PUBLIC_API_CALL_FLAG = QP_PREQ_GRP.G_YES) THEN
2196: IF (pbh_adjustments.COUNT > 0) THEN
2197: IF l_debug = FND_API.G_TRUE THEN
2198: QP_PREQ_GRP.engine_debug('updating child pbh lines '|| pbh_adjustments.COUNT);
2199: QP_PREQ_GRP.engine_debug('l_break_qualified=' || l_break_qualified);
2200: END IF; -- END IF l_debug
2201: IF l_break_qualified = 'Y' THEN
2202: FOR i IN pbh_adjustments.FIRST .. pbh_adjustments.LAST LOOP
2203: l_ord_qty_operand := 0;

Line 2230: QP_PREQ_GRP.engine_debug('child dtl adj amt '

2226: WHEN OTHERS THEN
2227: NULL;
2228: END;
2229: IF l_debug = FND_API.G_TRUE THEN
2230: QP_PREQ_GRP.engine_debug('child dtl adj amt '
2231: || pbh_adjustments(i).l_adjustment_amount
2232: ||' l_satisfied_value '|| pbh_adjustments(i).l_satisfied_value
2233: ||' ordqtyadjamt '|| l_ord_qty_adj_amt
2234: ||' order_qty_operand '|| l_ord_qty_operand

Line 2247: AND pricing_status_code IN (QP_PREQ_GRP.G_STATUS_NEW,

2243: pbh_adjustments(i).l_satisfied_value)
2244: , order_qty_adj_amt = - (l_ord_qty_adj_amt) -- bug 3285662
2245: , order_qty_operand = l_ord_qty_operand
2246: WHERE line_detail_index = pbh_adjustments(i).l_related_line_detail_index
2247: AND pricing_status_code IN (QP_PREQ_GRP.G_STATUS_NEW,
2248: --changes for bug 2264566 update adjamt on child lines of manualpbh
2249: QP_PREQ_GRP.G_STATUS_UNCHANGED);
2250: END LOOP;
2251: ELSE

Line 2249: QP_PREQ_GRP.G_STATUS_UNCHANGED);

2245: , order_qty_operand = l_ord_qty_operand
2246: WHERE line_detail_index = pbh_adjustments(i).l_related_line_detail_index
2247: AND pricing_status_code IN (QP_PREQ_GRP.G_STATUS_NEW,
2248: --changes for bug 2264566 update adjamt on child lines of manualpbh
2249: QP_PREQ_GRP.G_STATUS_UNCHANGED);
2250: END LOOP;
2251: ELSE
2252: IF p_automatic_flag <> QP_PREQ_PUB.G_NO THEN -- 5413797
2253: l_del_index_tbl(1) := p_list_line_id;

Line 2265: QP_PREQ_GRP.ENGINE_DEBUG('Error in price break calculation: '|| SQLERRM);

2261:
2262: EXCEPTION
2263: WHEN OTHERS THEN
2264: IF l_debug = FND_API.G_TRUE THEN
2265: QP_PREQ_GRP.ENGINE_DEBUG('Error in price break calculation: '|| SQLERRM);
2266: END IF; -- END IF l_debug
2267: x_return_status := FND_API.G_RET_STS_ERROR;
2268: x_return_status_text := l_routine ||' '|| SQLERRM;
2269: END Price_Break_Calculation;

Line 2293: WHERE QP_PREQ_GRP.G_PUBLIC_API_CALL_FLAG = QP_PREQ_GRP.G_NO

2289: , setup_value_from value_from
2290: , setup_value_to value_to
2291: , qualifier_value
2292: FROM qp_npreq_rltd_lines_tmp
2293: WHERE QP_PREQ_GRP.G_PUBLIC_API_CALL_FLAG = QP_PREQ_GRP.G_NO
2294: AND list_line_id = p_list_line_id
2295: AND line_index = p_line_index
2296: AND pricing_status_code = QP_PREQ_GRP.G_STATUS_NEW
2297: --fix for bug 2515762 added the union clause to distinguish between

Line 2296: AND pricing_status_code = QP_PREQ_GRP.G_STATUS_NEW

2292: FROM qp_npreq_rltd_lines_tmp
2293: WHERE QP_PREQ_GRP.G_PUBLIC_API_CALL_FLAG = QP_PREQ_GRP.G_NO
2294: AND list_line_id = p_list_line_id
2295: AND line_index = p_line_index
2296: AND pricing_status_code = QP_PREQ_GRP.G_STATUS_NEW
2297: --fix for bug 2515762 added the union clause to distinguish between
2298: --the passed-in rltd lines of PBH modifier versus the engine-inserted
2299: --when called from public API
2300: --made corresponding changes in the public API to pass the dtl_index

Line 2314: WHERE QP_PREQ_GRP.G_PUBLIC_API_CALL_FLAG = QP_PREQ_GRP.G_YES

2310: , setup_value_from value_from
2311: , setup_value_to value_to
2312: , qualifier_value
2313: FROM qp_npreq_rltd_lines_tmp
2314: WHERE QP_PREQ_GRP.G_PUBLIC_API_CALL_FLAG = QP_PREQ_GRP.G_YES
2315: AND line_index = p_line_index
2316: AND line_detail_index = p_list_line_id
2317: AND pricing_status_code = QP_PREQ_GRP.G_STATUS_NEW
2318: ORDER BY 7 ;

Line 2317: AND pricing_status_code = QP_PREQ_GRP.G_STATUS_NEW

2313: FROM qp_npreq_rltd_lines_tmp
2314: WHERE QP_PREQ_GRP.G_PUBLIC_API_CALL_FLAG = QP_PREQ_GRP.G_YES
2315: AND line_index = p_line_index
2316: AND line_detail_index = p_list_line_id
2317: AND pricing_status_code = QP_PREQ_GRP.G_STATUS_NEW
2318: ORDER BY 7 ;
2319:
2320: pbh_child_rec get_price_break_details%ROWTYPE;
2321:

Line 2348: WHERE QP_PREQ_GRP.G_PUBLIC_API_CALL_FLAG = QP_PREQ_GRP.G_NO

2344: -- 4061138, 5183755 continuous price breaks
2345: CURSOR get_continuous_flag_cur IS
2346: SELECT nvl(continuous_price_break_flag, 'N')
2347: FROM qp_list_lines
2348: WHERE QP_PREQ_GRP.G_PUBLIC_API_CALL_FLAG = QP_PREQ_GRP.G_NO
2349: AND list_line_id = p_list_line_id
2350: AND ROWNUM = 1
2351: UNION
2352: SELECT nvl(qpll.continuous_price_break_flag, 'N')

Line 2354: WHERE QP_PREQ_GRP.G_PUBLIC_API_CALL_FLAG = QP_PREQ_GRP.G_YES

2350: AND ROWNUM = 1
2351: UNION
2352: SELECT nvl(qpll.continuous_price_break_flag, 'N')
2353: FROM qp_list_lines qpll, qp_npreq_rltd_lines_tmp rltd
2354: WHERE QP_PREQ_GRP.G_PUBLIC_API_CALL_FLAG = QP_PREQ_GRP.G_YES
2355: AND rltd.line_index = p_line_index
2356: AND rltd.line_detail_index = p_list_line_id
2357: AND rltd.list_line_id = qpll.list_line_id
2358: AND ROWNUM = 1;

Line 2364: l_debug := QP_PREQ_GRP.G_DEBUG_ENGINE;

2360: l_continuous_flag VARCHAR2(1) := 'N';
2361:
2362: BEGIN
2363:
2364: l_debug := QP_PREQ_GRP.G_DEBUG_ENGINE;
2365: IF l_debug = FND_API.G_TRUE THEN
2366: QP_PREQ_GRP.engine_debug('#90 p_id '|| p_list_line_id ||' pub_api_call_flg '
2367: || QP_PREQ_GRP.G_PUBLIC_API_CALL_FLAG);
2368: END IF;

Line 2366: QP_PREQ_GRP.engine_debug('#90 p_id '|| p_list_line_id ||' pub_api_call_flg '

2362: BEGIN
2363:
2364: l_debug := QP_PREQ_GRP.G_DEBUG_ENGINE;
2365: IF l_debug = FND_API.G_TRUE THEN
2366: QP_PREQ_GRP.engine_debug('#90 p_id '|| p_list_line_id ||' pub_api_call_flg '
2367: || QP_PREQ_GRP.G_PUBLIC_API_CALL_FLAG);
2368: END IF;
2369: x_adjustment_amount := 0;
2370: l_line_index := p_line_index; -- accum range break

Line 2367: || QP_PREQ_GRP.G_PUBLIC_API_CALL_FLAG);

2363:
2364: l_debug := QP_PREQ_GRP.G_DEBUG_ENGINE;
2365: IF l_debug = FND_API.G_TRUE THEN
2366: QP_PREQ_GRP.engine_debug('#90 p_id '|| p_list_line_id ||' pub_api_call_flg '
2367: || QP_PREQ_GRP.G_PUBLIC_API_CALL_FLAG);
2368: END IF;
2369: x_adjustment_amount := 0;
2370: l_line_index := p_line_index; -- accum range break
2371: IF l_debug = FND_API.G_TRUE THEN

Line 2372: QP_PREQ_GRP.engine_debug('#100');

2368: END IF;
2369: x_adjustment_amount := 0;
2370: l_line_index := p_line_index; -- accum range break
2371: IF l_debug = FND_API.G_TRUE THEN
2372: QP_PREQ_GRP.engine_debug('#100');
2373:
2374: END IF;
2375:
2376: -- 4061138, 5183755

Line 2384: QP_PREQ_GRP.engine_debug('#101');

2380:
2381: OPEN get_price_break_details;
2382:
2383: IF l_debug = FND_API.G_TRUE THEN
2384: QP_PREQ_GRP.engine_debug('#101');
2385:
2386: END IF;
2387: LOOP
2388:

Line 2390: QP_PREQ_GRP.engine_debug('#102');

2386: END IF;
2387: LOOP
2388:
2389: IF l_debug = FND_API.G_TRUE THEN
2390: QP_PREQ_GRP.engine_debug('#102');
2391: END IF;
2392:
2393: i := i + 1;
2394:

Line 2398: IF (QP_PREQ_GRP.G_PUBLIC_API_CALL_FLAG = QP_PREQ_GRP.G_YES) THEN

2394:
2395: FETCH get_price_break_details INTO pbh_child_rec;
2396: EXIT WHEN get_price_break_details%NOTFOUND;
2397:
2398: IF (QP_PREQ_GRP.G_PUBLIC_API_CALL_FLAG = QP_PREQ_GRP.G_YES) THEN
2399: pbh_child_rec.qualifier_value := p_request_qty;
2400: END IF;
2401:
2402: IF l_debug = FND_API.G_TRUE THEN

Line 2403: QP_PREQ_GRP.engine_debug('PBH Qualifier Value : ' || pbh_child_rec.qualifier_value);

2399: pbh_child_rec.qualifier_value := p_request_qty;
2400: END IF;
2401:
2402: IF l_debug = FND_API.G_TRUE THEN
2403: QP_PREQ_GRP.engine_debug('PBH Qualifier Value : ' || pbh_child_rec.qualifier_value);
2404: QP_PREQ_GRP.engine_debug('PBH Value From : ' || pbh_child_rec.value_from);
2405: QP_PREQ_GRP.engine_debug('PBH Value To : ' || pbh_child_rec.value_to);
2406: QP_PREQ_GRP.engine_debug('PBH Break Type : ' || p_break_type);
2407:

Line 2404: QP_PREQ_GRP.engine_debug('PBH Value From : ' || pbh_child_rec.value_from);

2400: END IF;
2401:
2402: IF l_debug = FND_API.G_TRUE THEN
2403: QP_PREQ_GRP.engine_debug('PBH Qualifier Value : ' || pbh_child_rec.qualifier_value);
2404: QP_PREQ_GRP.engine_debug('PBH Value From : ' || pbh_child_rec.value_from);
2405: QP_PREQ_GRP.engine_debug('PBH Value To : ' || pbh_child_rec.value_to);
2406: QP_PREQ_GRP.engine_debug('PBH Break Type : ' || p_break_type);
2407:
2408: END IF;

Line 2405: QP_PREQ_GRP.engine_debug('PBH Value To : ' || pbh_child_rec.value_to);

2401:
2402: IF l_debug = FND_API.G_TRUE THEN
2403: QP_PREQ_GRP.engine_debug('PBH Qualifier Value : ' || pbh_child_rec.qualifier_value);
2404: QP_PREQ_GRP.engine_debug('PBH Value From : ' || pbh_child_rec.value_from);
2405: QP_PREQ_GRP.engine_debug('PBH Value To : ' || pbh_child_rec.value_to);
2406: QP_PREQ_GRP.engine_debug('PBH Break Type : ' || p_break_type);
2407:
2408: END IF;
2409:

Line 2406: QP_PREQ_GRP.engine_debug('PBH Break Type : ' || p_break_type);

2402: IF l_debug = FND_API.G_TRUE THEN
2403: QP_PREQ_GRP.engine_debug('PBH Qualifier Value : ' || pbh_child_rec.qualifier_value);
2404: QP_PREQ_GRP.engine_debug('PBH Value From : ' || pbh_child_rec.value_from);
2405: QP_PREQ_GRP.engine_debug('PBH Value To : ' || pbh_child_rec.value_to);
2406: QP_PREQ_GRP.engine_debug('PBH Break Type : ' || p_break_type);
2407:
2408: END IF;
2409:
2410: IF (p_break_type = QP_PREQ_GRP.G_POINT_BREAK) THEN

Line 2410: IF (p_break_type = QP_PREQ_GRP.G_POINT_BREAK) THEN

2406: QP_PREQ_GRP.engine_debug('PBH Break Type : ' || p_break_type);
2407:
2408: END IF;
2409:
2410: IF (p_break_type = QP_PREQ_GRP.G_POINT_BREAK) THEN
2411:
2412: IF l_debug = FND_API.G_TRUE THEN
2413: QP_PREQ_GRP.engine_debug('Before PBH List Line Type : ' || pbh_child_rec.related_list_line_type);
2414: END IF;

Line 2413: QP_PREQ_GRP.engine_debug('Before PBH List Line Type : ' || pbh_child_rec.related_list_line_type);

2409:
2410: IF (p_break_type = QP_PREQ_GRP.G_POINT_BREAK) THEN
2411:
2412: IF l_debug = FND_API.G_TRUE THEN
2413: QP_PREQ_GRP.engine_debug('Before PBH List Line Type : ' || pbh_child_rec.related_list_line_type);
2414: END IF;
2415: -- rewritten for 4061138
2416: IF ((l_continuous_flag <> 'Y' AND
2417: pbh_child_rec.qualifier_value BETWEEN pbh_child_rec.value_from AND pbh_child_rec.value_to)

Line 2424: QP_PREQ_GRP.engine_debug('In PBH List Line Type : ' || pbh_child_rec.related_list_line_type);

2420: pbh_child_rec.value_from < pbh_child_rec.qualifier_value AND
2421: pbh_child_rec.qualifier_value <= pbh_child_rec.value_to) )
2422: THEN
2423: IF l_debug = FND_API.G_TRUE THEN
2424: QP_PREQ_GRP.engine_debug('In PBH List Line Type : ' || pbh_child_rec.related_list_line_type);
2425:
2426: END IF;
2427: IF (pbh_child_rec.related_list_line_type = QP_PREQ_GRP.G_DISCOUNT) THEN
2428: l_sign := 1;

Line 2427: IF (pbh_child_rec.related_list_line_type = QP_PREQ_GRP.G_DISCOUNT) THEN

2423: IF l_debug = FND_API.G_TRUE THEN
2424: QP_PREQ_GRP.engine_debug('In PBH List Line Type : ' || pbh_child_rec.related_list_line_type);
2425:
2426: END IF;
2427: IF (pbh_child_rec.related_list_line_type = QP_PREQ_GRP.G_DISCOUNT) THEN
2428: l_sign := 1;
2429: ELSIF (pbh_child_rec.related_list_line_type = QP_PREQ_GRP.G_SURCHARGE) THEN
2430: l_sign := - 1;
2431: END IF;

Line 2429: ELSIF (pbh_child_rec.related_list_line_type = QP_PREQ_GRP.G_SURCHARGE) THEN

2425:
2426: END IF;
2427: IF (pbh_child_rec.related_list_line_type = QP_PREQ_GRP.G_DISCOUNT) THEN
2428: l_sign := 1;
2429: ELSIF (pbh_child_rec.related_list_line_type = QP_PREQ_GRP.G_SURCHARGE) THEN
2430: l_sign := - 1;
2431: END IF;
2432:
2433: IF (pbh_child_rec.operand_calculation_code = QP_PREQ_GRP.G_NEWPRICE_DISCOUNT) THEN

Line 2433: IF (pbh_child_rec.operand_calculation_code = QP_PREQ_GRP.G_NEWPRICE_DISCOUNT) THEN

2429: ELSIF (pbh_child_rec.related_list_line_type = QP_PREQ_GRP.G_SURCHARGE) THEN
2430: l_sign := - 1;
2431: END IF;
2432:
2433: IF (pbh_child_rec.operand_calculation_code = QP_PREQ_GRP.G_NEWPRICE_DISCOUNT) THEN
2434: l_sign := 1; -- new price discount/surcharge are the same
2435: END IF;
2436: IF l_debug = FND_API.G_TRUE THEN
2437: QP_PREQ_GRP.engine_debug('l sign: '|| l_sign);

Line 2437: QP_PREQ_GRP.engine_debug('l sign: '|| l_sign);

2433: IF (pbh_child_rec.operand_calculation_code = QP_PREQ_GRP.G_NEWPRICE_DISCOUNT) THEN
2434: l_sign := 1; -- new price discount/surcharge are the same
2435: END IF;
2436: IF l_debug = FND_API.G_TRUE THEN
2437: QP_PREQ_GRP.engine_debug('l sign: '|| l_sign);
2438:
2439: END IF;
2440: Calculate_Adjustment(p_list_price,
2441: pbh_child_rec.operand_calculation_code,

Line 2452: QP_PREQ_GRP.engine_debug('PBH Adjustment : ' || l_adjustment_amount);

2448: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
2449: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2450: END IF;
2451: IF l_debug = FND_API.G_TRUE THEN
2452: QP_PREQ_GRP.engine_debug('PBH Adjustment : ' || l_adjustment_amount);
2453:
2454: END IF;
2455: pbh_adjustments(i).l_adjustment_amount := l_adjustment_amount;
2456: pbh_adjustments(i).l_satisfied_value := pbh_child_rec.qualifier_value;

Line 2467: ELSIF (p_break_type = QP_PREQ_GRP.G_RANGE_BREAK) THEN

2463:
2464: pbh_adjustments(i).l_related_list_line_id := pbh_child_rec.related_list_line_id;
2465: pbh_adjustments(i).l_related_line_detail_index := pbh_child_rec.related_line_detail_index;
2466:
2467: ELSIF (p_break_type = QP_PREQ_GRP.G_RANGE_BREAK) THEN
2468:
2469: IF (l_qualifier_value = 0) THEN
2470: IF l_debug = FND_API.G_TRUE THEN
2471: QP_PREQ_GRP.engine_debug('Range Break');

Line 2471: QP_PREQ_GRP.engine_debug('Range Break');

2467: ELSIF (p_break_type = QP_PREQ_GRP.G_RANGE_BREAK) THEN
2468:
2469: IF (l_qualifier_value = 0) THEN
2470: IF l_debug = FND_API.G_TRUE THEN
2471: QP_PREQ_GRP.engine_debug('Range Break');
2472: END IF;
2473: l_qualifier_value := pbh_child_rec.qualifier_value;
2474: l_total_value := pbh_child_rec.qualifier_value;
2475: END IF;

Line 2477: IF (pbh_child_rec.related_list_line_type = QP_PREQ_GRP.G_DISCOUNT) THEN

2473: l_qualifier_value := pbh_child_rec.qualifier_value;
2474: l_total_value := pbh_child_rec.qualifier_value;
2475: END IF;
2476:
2477: IF (pbh_child_rec.related_list_line_type = QP_PREQ_GRP.G_DISCOUNT) THEN
2478: l_sign := 1;
2479: ELSIF (pbh_child_rec.related_list_line_type = QP_PREQ_GRP.G_SURCHARGE) THEN
2480: l_sign := - 1;
2481: END IF;

Line 2479: ELSIF (pbh_child_rec.related_list_line_type = QP_PREQ_GRP.G_SURCHARGE) THEN

2475: END IF;
2476:
2477: IF (pbh_child_rec.related_list_line_type = QP_PREQ_GRP.G_DISCOUNT) THEN
2478: l_sign := 1;
2479: ELSIF (pbh_child_rec.related_list_line_type = QP_PREQ_GRP.G_SURCHARGE) THEN
2480: l_sign := - 1;
2481: END IF;
2482:
2483: IF (pbh_child_rec.operand_calculation_code = QP_PREQ_GRP.G_NEWPRICE_DISCOUNT) THEN

Line 2483: IF (pbh_child_rec.operand_calculation_code = QP_PREQ_GRP.G_NEWPRICE_DISCOUNT) THEN

2479: ELSIF (pbh_child_rec.related_list_line_type = QP_PREQ_GRP.G_SURCHARGE) THEN
2480: l_sign := - 1;
2481: END IF;
2482:
2483: IF (pbh_child_rec.operand_calculation_code = QP_PREQ_GRP.G_NEWPRICE_DISCOUNT) THEN
2484: l_sign := 1; -- new price discount/surcharge are the same
2485: END IF;
2486: IF l_debug = FND_API.G_TRUE THEN
2487: QP_PREQ_GRP.engine_debug('l sign: '|| l_sign);

Line 2487: QP_PREQ_GRP.engine_debug('l sign: '|| l_sign);

2483: IF (pbh_child_rec.operand_calculation_code = QP_PREQ_GRP.G_NEWPRICE_DISCOUNT) THEN
2484: l_sign := 1; -- new price discount/surcharge are the same
2485: END IF;
2486: IF l_debug = FND_API.G_TRUE THEN
2487: QP_PREQ_GRP.engine_debug('l sign: '|| l_sign);
2488:
2489: END IF;
2490: -- 3943868: was passing p_list_line_id instead of pbh_child_rec.list_line_id
2491: Get_Satisfied_Range(pbh_child_rec.value_from, pbh_child_rec.value_to,

Line 2521: QP_PREQ_GRP.engine_debug('Adjustment : (' || i || ') ' || l_adjustment_amount);

2517: --IF (l_total_value > 0) THEN
2518: --l_total_value := l_total_value - l_satisfied_value; -- this is correct to be commented out
2519:
2520: IF l_debug = FND_API.G_TRUE THEN
2521: QP_PREQ_GRP.engine_debug('Adjustment : (' || i || ') ' || l_adjustment_amount);
2522: QP_PREQ_GRP.engine_debug('Satisfied Value : (' || i || ') ' || l_satisfied_value);
2523: QP_PREQ_GRP.engine_debug('Total Value : (' || i || ') ' || l_total_value);
2524: END IF;
2525: --ELSE

Line 2522: QP_PREQ_GRP.engine_debug('Satisfied Value : (' || i || ') ' || l_satisfied_value);

2518: --l_total_value := l_total_value - l_satisfied_value; -- this is correct to be commented out
2519:
2520: IF l_debug = FND_API.G_TRUE THEN
2521: QP_PREQ_GRP.engine_debug('Adjustment : (' || i || ') ' || l_adjustment_amount);
2522: QP_PREQ_GRP.engine_debug('Satisfied Value : (' || i || ') ' || l_satisfied_value);
2523: QP_PREQ_GRP.engine_debug('Total Value : (' || i || ') ' || l_total_value);
2524: END IF;
2525: --ELSE
2526: -- pbh_adjustments(i).l_satisfied_value := 0;

Line 2523: QP_PREQ_GRP.engine_debug('Total Value : (' || i || ') ' || l_total_value);

2519:
2520: IF l_debug = FND_API.G_TRUE THEN
2521: QP_PREQ_GRP.engine_debug('Adjustment : (' || i || ') ' || l_adjustment_amount);
2522: QP_PREQ_GRP.engine_debug('Satisfied Value : (' || i || ') ' || l_satisfied_value);
2523: QP_PREQ_GRP.engine_debug('Total Value : (' || i || ') ' || l_total_value);
2524: END IF;
2525: --ELSE
2526: -- pbh_adjustments(i).l_satisfied_value := 0;
2527: --END IF;

Line 2535: IF (p_break_type = QP_PREQ_GRP.G_RANGE_BREAK) THEN

2531: END LOOP;
2532:
2533: CLOSE get_price_break_details;
2534:
2535: IF (p_break_type = QP_PREQ_GRP.G_RANGE_BREAK) THEN
2536: FOR i IN 1 .. pbh_adjustments.COUNT
2537: LOOP
2538: l_range_adjustment := l_range_adjustment + nvl(pbh_adjustments(i).l_adjustment_amount * pbh_adjustments(i).l_satisfied_value, 0);
2539: END LOOP;

Line 2543: QP_PREQ_GRP.engine_debug('Averaged Adjustment : ' || x_adjustment_amount);

2539: END LOOP;
2540: x_adjustment_amount := l_range_adjustment / l_qualifier_value;
2541:
2542: IF l_debug = FND_API.G_TRUE THEN
2543: QP_PREQ_GRP.engine_debug('Averaged Adjustment : ' || x_adjustment_amount);
2544:
2545: END IF;
2546: END IF;
2547:

Line 2549: IF (QP_PREQ_GRP.G_PUBLIC_API_CALL_FLAG = QP_PREQ_GRP.G_YES) THEN

2545: END IF;
2546: END IF;
2547:
2548: -- Update the adjustments/satisfied ranges info on line details
2549: IF (QP_PREQ_GRP.G_PUBLIC_API_CALL_FLAG = QP_PREQ_GRP.G_YES) THEN
2550: IF (pbh_adjustments.COUNT > 0) THEN
2551: IF l_debug = FND_API.G_TRUE THEN
2552: QP_PREQ_GRP.engine_debug('updating child pbh lines '
2553: || pbh_adjustments.COUNT);

Line 2552: QP_PREQ_GRP.engine_debug('updating child pbh lines '

2548: -- Update the adjustments/satisfied ranges info on line details
2549: IF (QP_PREQ_GRP.G_PUBLIC_API_CALL_FLAG = QP_PREQ_GRP.G_YES) THEN
2550: IF (pbh_adjustments.COUNT > 0) THEN
2551: IF l_debug = FND_API.G_TRUE THEN
2552: QP_PREQ_GRP.engine_debug('updating child pbh lines '
2553: || pbh_adjustments.COUNT);
2554: END IF;
2555: FOR i IN pbh_adjustments.FIRST .. pbh_adjustments.LAST LOOP
2556: IF l_debug = FND_API.G_TRUE THEN

Line 2557: QP_PREQ_GRP.engine_debug('child dtl adj amt '

2553: || pbh_adjustments.COUNT);
2554: END IF;
2555: FOR i IN pbh_adjustments.FIRST .. pbh_adjustments.LAST LOOP
2556: IF l_debug = FND_API.G_TRUE THEN
2557: QP_PREQ_GRP.engine_debug('child dtl adj amt '
2558: || pbh_adjustments(i).l_adjustment_amount
2559: ||' qty '|| pbh_adjustments(i).l_satisfied_value
2560: ||' dtl index '|| pbh_adjustments(i).l_related_line_detail_index);
2561: END IF;

Line 2568: AND pricing_status_code IN (QP_PREQ_GRP.G_STATUS_NEW,

2564: SET adjustment_amount = - (pbh_adjustments(i).l_adjustment_amount),
2565: --SET adjustment_amount = l_sign * pbh_adjustments(i).l_adjustment_amount,
2566: line_quantity = pbh_adjustments(i).l_satisfied_value
2567: WHERE line_detail_index = pbh_adjustments(i).l_related_line_detail_index
2568: AND pricing_status_code IN (QP_PREQ_GRP.G_STATUS_NEW,
2569: --changes for bug 2264566 update adjamt on child lines of manualpbh
2570: QP_PREQ_GRP.G_STATUS_UNCHANGED);
2571: END LOOP;
2572: END IF;

Line 2570: QP_PREQ_GRP.G_STATUS_UNCHANGED);

2566: line_quantity = pbh_adjustments(i).l_satisfied_value
2567: WHERE line_detail_index = pbh_adjustments(i).l_related_line_detail_index
2568: AND pricing_status_code IN (QP_PREQ_GRP.G_STATUS_NEW,
2569: --changes for bug 2264566 update adjamt on child lines of manualpbh
2570: QP_PREQ_GRP.G_STATUS_UNCHANGED);
2571: END LOOP;
2572: END IF;
2573: END IF;
2574:

Line 2579: QP_PREQ_GRP.ENGINE_DEBUG('Error in price break calculation: '|| SQLERRM);

2575:
2576: EXCEPTION
2577: WHEN OTHERS THEN
2578: IF l_debug = FND_API.G_TRUE THEN
2579: QP_PREQ_GRP.ENGINE_DEBUG('Error in price break calculation: '|| SQLERRM);
2580: END IF;
2581: x_return_status := FND_API.G_RET_STS_ERROR;
2582: x_return_status_text := l_routine ||' '|| SQLERRM;
2583: END Price_Break_Calculation;

Line 2604: AND a.PRICING_STATUS_CODE = QP_PREQ_GRP.G_STATUS_NEW;

2600: FROM qp_npreq_ldets_tmp a, QP_LIST_HEADERS_B b
2601: WHERE a.CREATED_FROM_LIST_HEADER_ID = b.LIST_HEADER_ID
2602: AND a.LINE_INDEX = p_line_index
2603: AND a.CREATED_FROM_LIST_LINE_TYPE = 'PLL'
2604: AND a.PRICING_STATUS_CODE = QP_PREQ_GRP.G_STATUS_NEW;
2605:
2606: CURSOR get_list_details_cur(p_source_system_code VARCHAR2) IS
2607: SELECT /*+ ORDERED USE_NL(a b c d e) */ c.LIST_LINE_ID, c.OPERAND
2608: FROM

Line 2616: AND c.ARITHMETIC_OPERATOR = QP_PREQ_GRP.G_NEWPRICE_DISCOUNT

2612: AND a.ATTRIBUTE = b.PRODUCT_ATTRIBUTE
2613: AND a.VALUE_FROM = b.PRODUCT_ATTR_VALUE
2614: AND b.PRICING_ATTRIBUTE_CONTEXT IS NULL
2615: AND b.LIST_LINE_ID = c.LIST_LINE_ID
2616: AND c.ARITHMETIC_OPERATOR = QP_PREQ_GRP.G_NEWPRICE_DISCOUNT
2617: AND c.LIST_HEADER_ID = d.LIST_HEADER_ID
2618: AND trunc(p_pricing_date) BETWEEN nvl(TRUNC(c.START_DATE_ACTIVE), trunc(p_pricing_date))
2619: AND nvl(TRUNC(c.END_DATE_ACTIVE), trunc(p_pricing_date))
2620: AND d.SOURCE_SYSTEM_CODE = p_source_system_code

Line 2621: AND d.ACTIVE_FLAG = QP_PREQ_GRP.G_YES

2617: AND c.LIST_HEADER_ID = d.LIST_HEADER_ID
2618: AND trunc(p_pricing_date) BETWEEN nvl(TRUNC(c.START_DATE_ACTIVE), trunc(p_pricing_date))
2619: AND nvl(TRUNC(c.END_DATE_ACTIVE), trunc(p_pricing_date))
2620: AND d.SOURCE_SYSTEM_CODE = p_source_system_code
2621: AND d.ACTIVE_FLAG = QP_PREQ_GRP.G_YES
2622: AND d.LIST_HEADER_ID = e.LIST_HEADER_ID
2623: AND e.QUALIFIER_CONTEXT = QP_PREQ_GRP.G_CUSTOMER_CONTEXT
2624: AND e.QUALIFIER_ATTRIBUTE = QP_PREQ_GRP.G_GSA_ATTRIBUTE
2625: AND e.QUALIFIER_ATTR_VALUE = QP_PREQ_GRP.G_YES

Line 2623: AND e.QUALIFIER_CONTEXT = QP_PREQ_GRP.G_CUSTOMER_CONTEXT

2619: AND nvl(TRUNC(c.END_DATE_ACTIVE), trunc(p_pricing_date))
2620: AND d.SOURCE_SYSTEM_CODE = p_source_system_code
2621: AND d.ACTIVE_FLAG = QP_PREQ_GRP.G_YES
2622: AND d.LIST_HEADER_ID = e.LIST_HEADER_ID
2623: AND e.QUALIFIER_CONTEXT = QP_PREQ_GRP.G_CUSTOMER_CONTEXT
2624: AND e.QUALIFIER_ATTRIBUTE = QP_PREQ_GRP.G_GSA_ATTRIBUTE
2625: AND e.QUALIFIER_ATTR_VALUE = QP_PREQ_GRP.G_YES
2626: ORDER BY 2;
2627:

Line 2624: AND e.QUALIFIER_ATTRIBUTE = QP_PREQ_GRP.G_GSA_ATTRIBUTE

2620: AND d.SOURCE_SYSTEM_CODE = p_source_system_code
2621: AND d.ACTIVE_FLAG = QP_PREQ_GRP.G_YES
2622: AND d.LIST_HEADER_ID = e.LIST_HEADER_ID
2623: AND e.QUALIFIER_CONTEXT = QP_PREQ_GRP.G_CUSTOMER_CONTEXT
2624: AND e.QUALIFIER_ATTRIBUTE = QP_PREQ_GRP.G_GSA_ATTRIBUTE
2625: AND e.QUALIFIER_ATTR_VALUE = QP_PREQ_GRP.G_YES
2626: ORDER BY 2;
2627:
2628: BEGIN

Line 2625: AND e.QUALIFIER_ATTR_VALUE = QP_PREQ_GRP.G_YES

2621: AND d.ACTIVE_FLAG = QP_PREQ_GRP.G_YES
2622: AND d.LIST_HEADER_ID = e.LIST_HEADER_ID
2623: AND e.QUALIFIER_CONTEXT = QP_PREQ_GRP.G_CUSTOMER_CONTEXT
2624: AND e.QUALIFIER_ATTRIBUTE = QP_PREQ_GRP.G_GSA_ATTRIBUTE
2625: AND e.QUALIFIER_ATTR_VALUE = QP_PREQ_GRP.G_YES
2626: ORDER BY 2;
2627:
2628: BEGIN
2629: l_debug := QP_PREQ_GRP.G_DEBUG_ENGINE;

Line 2629: l_debug := QP_PREQ_GRP.G_DEBUG_ENGINE;

2625: AND e.QUALIFIER_ATTR_VALUE = QP_PREQ_GRP.G_YES
2626: ORDER BY 2;
2627:
2628: BEGIN
2629: l_debug := QP_PREQ_GRP.G_DEBUG_ENGINE;
2630: x_return_status := FND_API.G_RET_STS_SUCCESS;
2631:
2632: OPEN get_source_system_code;
2633: FETCH get_source_system_code INTO v_source_system_code;

Line 2641: QP_PREQ_GRP.engine_debug ('GSA List Line : ' || v_list_line_id);

2637: FETCH get_list_details_cur INTO v_list_line_id, v_operand;
2638: CLOSE get_list_details_cur;
2639:
2640: IF l_debug = FND_API.G_TRUE THEN
2641: QP_PREQ_GRP.engine_debug ('GSA List Line : ' || v_list_line_id);
2642: QP_PREQ_GRP.engine_debug ('GSA Price : ' || v_operand);
2643: QP_PREQ_GRP.engine_debug('GSA List Line : ' || v_list_line_id);
2644: QP_PREQ_GRP.engine_debug('GSA Price : ' || v_operand);
2645:

Line 2642: QP_PREQ_GRP.engine_debug ('GSA Price : ' || v_operand);

2638: CLOSE get_list_details_cur;
2639:
2640: IF l_debug = FND_API.G_TRUE THEN
2641: QP_PREQ_GRP.engine_debug ('GSA List Line : ' || v_list_line_id);
2642: QP_PREQ_GRP.engine_debug ('GSA Price : ' || v_operand);
2643: QP_PREQ_GRP.engine_debug('GSA List Line : ' || v_list_line_id);
2644: QP_PREQ_GRP.engine_debug('GSA Price : ' || v_operand);
2645:
2646: END IF;

Line 2643: QP_PREQ_GRP.engine_debug('GSA List Line : ' || v_list_line_id);

2639:
2640: IF l_debug = FND_API.G_TRUE THEN
2641: QP_PREQ_GRP.engine_debug ('GSA List Line : ' || v_list_line_id);
2642: QP_PREQ_GRP.engine_debug ('GSA Price : ' || v_operand);
2643: QP_PREQ_GRP.engine_debug('GSA List Line : ' || v_list_line_id);
2644: QP_PREQ_GRP.engine_debug('GSA Price : ' || v_operand);
2645:
2646: END IF;
2647: IF (v_operand IS NOT NULL)

Line 2644: QP_PREQ_GRP.engine_debug('GSA Price : ' || v_operand);

2640: IF l_debug = FND_API.G_TRUE THEN
2641: QP_PREQ_GRP.engine_debug ('GSA List Line : ' || v_list_line_id);
2642: QP_PREQ_GRP.engine_debug ('GSA Price : ' || v_operand);
2643: QP_PREQ_GRP.engine_debug('GSA List Line : ' || v_list_line_id);
2644: QP_PREQ_GRP.engine_debug('GSA Price : ' || v_operand);
2645:
2646: END IF;
2647: IF (v_operand IS NOT NULL)
2648: --changes made by spgopal for ASO bug 1898927

Line 2657: QP_PREQ_GRP.engine_debug(v_routine_name || ' GSA Violation. GSA Price: ' || v_operand || 'List Line: ' || v_list_line_id);

2653:
2654: EXCEPTION
2655: WHEN GSA_VIOLATION THEN
2656: IF l_debug = FND_API.G_TRUE THEN
2657: QP_PREQ_GRP.engine_debug(v_routine_name || ' GSA Violation. GSA Price: ' || v_operand || 'List Line: ' || v_list_line_id);
2658: END IF;
2659: x_return_status := QP_PREQ_GRP.G_STATUS_GSA_VIOLATION;
2660: x_return_status_txt := v_operand ;
2661: WHEN OTHERS THEN

Line 2659: x_return_status := QP_PREQ_GRP.G_STATUS_GSA_VIOLATION;

2655: WHEN GSA_VIOLATION THEN
2656: IF l_debug = FND_API.G_TRUE THEN
2657: QP_PREQ_GRP.engine_debug(v_routine_name || ' GSA Violation. GSA Price: ' || v_operand || 'List Line: ' || v_list_line_id);
2658: END IF;
2659: x_return_status := QP_PREQ_GRP.G_STATUS_GSA_VIOLATION;
2660: x_return_status_txt := v_operand ;
2661: WHEN OTHERS THEN
2662: IF l_debug = FND_API.G_TRUE THEN
2663: QP_PREQ_GRP.engine_debug(v_routine_name || ' ' || SQLERRM);

Line 2663: QP_PREQ_GRP.engine_debug(v_routine_name || ' ' || SQLERRM);

2659: x_return_status := QP_PREQ_GRP.G_STATUS_GSA_VIOLATION;
2660: x_return_status_txt := v_operand ;
2661: WHEN OTHERS THEN
2662: IF l_debug = FND_API.G_TRUE THEN
2663: QP_PREQ_GRP.engine_debug(v_routine_name || ' ' || SQLERRM);
2664: END IF;
2665: x_return_status := FND_API.G_RET_STS_ERROR;
2666: x_return_status_txt := v_routine_name || ' ' || SQLERRM;
2667: END GSA_Max_Discount_Check;

Line 2717: l_debug := QP_PREQ_GRP.G_DEBUG_ENGINE;

2713: -- Get the records from the l_request_line_details_tbl in the order
2714: --of pricing sequence(this cannot be done
2715: -- using PL/SQL table. I am assuming that I would get the records in ordered sequence
2716:
2717: l_debug := QP_PREQ_GRP.G_DEBUG_ENGINE;
2718: IF l_debug = FND_API.G_TRUE THEN
2719: QP_PREQ_GRP.engine_debug ('In Procedure Calculate_Price...'); -- shu, aso rounding, 2457629
2720: QP_PREQ_GRP.engine_debug ('selling price rounding options : ' || v_price_round_options); -- shu
2721: QP_PREQ_GRP.engine_debug ('Rounding Flag : ' || QP_PREQ_GRP.G_ROUNDING_FLAG); -- aso rounding, 2457629

Line 2719: QP_PREQ_GRP.engine_debug ('In Procedure Calculate_Price...'); -- shu, aso rounding, 2457629

2715: -- using PL/SQL table. I am assuming that I would get the records in ordered sequence
2716:
2717: l_debug := QP_PREQ_GRP.G_DEBUG_ENGINE;
2718: IF l_debug = FND_API.G_TRUE THEN
2719: QP_PREQ_GRP.engine_debug ('In Procedure Calculate_Price...'); -- shu, aso rounding, 2457629
2720: QP_PREQ_GRP.engine_debug ('selling price rounding options : ' || v_price_round_options); -- shu
2721: QP_PREQ_GRP.engine_debug ('Rounding Flag : ' || QP_PREQ_GRP.G_ROUNDING_FLAG); -- aso rounding, 2457629
2722: QP_PREQ_GRP.engine_debug ('Rounding Factor : ' || p_request_line.rounding_factor);
2723: END IF;

Line 2720: QP_PREQ_GRP.engine_debug ('selling price rounding options : ' || v_price_round_options); -- shu

2716:
2717: l_debug := QP_PREQ_GRP.G_DEBUG_ENGINE;
2718: IF l_debug = FND_API.G_TRUE THEN
2719: QP_PREQ_GRP.engine_debug ('In Procedure Calculate_Price...'); -- shu, aso rounding, 2457629
2720: QP_PREQ_GRP.engine_debug ('selling price rounding options : ' || v_price_round_options); -- shu
2721: QP_PREQ_GRP.engine_debug ('Rounding Flag : ' || QP_PREQ_GRP.G_ROUNDING_FLAG); -- aso rounding, 2457629
2722: QP_PREQ_GRP.engine_debug ('Rounding Factor : ' || p_request_line.rounding_factor);
2723: END IF;
2724:

Line 2721: QP_PREQ_GRP.engine_debug ('Rounding Flag : ' || QP_PREQ_GRP.G_ROUNDING_FLAG); -- aso rounding, 2457629

2717: l_debug := QP_PREQ_GRP.G_DEBUG_ENGINE;
2718: IF l_debug = FND_API.G_TRUE THEN
2719: QP_PREQ_GRP.engine_debug ('In Procedure Calculate_Price...'); -- shu, aso rounding, 2457629
2720: QP_PREQ_GRP.engine_debug ('selling price rounding options : ' || v_price_round_options); -- shu
2721: QP_PREQ_GRP.engine_debug ('Rounding Flag : ' || QP_PREQ_GRP.G_ROUNDING_FLAG); -- aso rounding, 2457629
2722: QP_PREQ_GRP.engine_debug ('Rounding Factor : ' || p_request_line.rounding_factor);
2723: END IF;
2724:
2725: IF (p_request_line.rounding_flag = 'Y' AND p_request_line.rounding_factor IS NULL) THEN -- shu

Line 2722: QP_PREQ_GRP.engine_debug ('Rounding Factor : ' || p_request_line.rounding_factor);

2718: IF l_debug = FND_API.G_TRUE THEN
2719: QP_PREQ_GRP.engine_debug ('In Procedure Calculate_Price...'); -- shu, aso rounding, 2457629
2720: QP_PREQ_GRP.engine_debug ('selling price rounding options : ' || v_price_round_options); -- shu
2721: QP_PREQ_GRP.engine_debug ('Rounding Flag : ' || QP_PREQ_GRP.G_ROUNDING_FLAG); -- aso rounding, 2457629
2722: QP_PREQ_GRP.engine_debug ('Rounding Factor : ' || p_request_line.rounding_factor);
2723: END IF;
2724:
2725: IF (p_request_line.rounding_flag = 'Y' AND p_request_line.rounding_factor IS NULL) THEN -- shu
2726: IF l_debug = FND_API.G_TRUE THEN

Line 2727: QP_PREQ_GRP.engine_debug ('WARNING: rounding_flag is Y, but rounding_factor is NULL!!!');

2723: END IF;
2724:
2725: IF (p_request_line.rounding_flag = 'Y' AND p_request_line.rounding_factor IS NULL) THEN -- shu
2726: IF l_debug = FND_API.G_TRUE THEN
2727: QP_PREQ_GRP.engine_debug ('WARNING: rounding_flag is Y, but rounding_factor is NULL!!!');
2728: END IF;
2729: END IF;
2730:
2731: -- For accum range break

Line 2737: QP_PREQ_GRP.engine_debug('The request line tables count is: ' || p_request_line_details.COUNT);

2733:
2734: -- Loop through the p_request_line_details
2735:
2736: IF l_debug = FND_API.G_TRUE THEN
2737: QP_PREQ_GRP.engine_debug('The request line tables count is: ' || p_request_line_details.COUNT);
2738: END IF;
2739:
2740: v_index := p_request_line_details.FIRST;
2741: WHILE (v_index IS NOT NULL )

Line 2745: QP_PREQ_GRP.engine_debug('LOOPing through p_request_line_details........');

2741: WHILE (v_index IS NOT NULL )
2742: LOOP
2743:
2744: IF l_debug = FND_API.G_TRUE THEN
2745: QP_PREQ_GRP.engine_debug('LOOPing through p_request_line_details........');
2746: QP_PREQ_GRP.engine_debug('The request line index is: ' || v_index);
2747: QP_PREQ_GRP.engine_debug('PBH Type123:' || p_request_line_details(v_index).CREATED_FROM_LIST_TYPE);
2748: END IF;
2749:

Line 2746: QP_PREQ_GRP.engine_debug('The request line index is: ' || v_index);

2742: LOOP
2743:
2744: IF l_debug = FND_API.G_TRUE THEN
2745: QP_PREQ_GRP.engine_debug('LOOPing through p_request_line_details........');
2746: QP_PREQ_GRP.engine_debug('The request line index is: ' || v_index);
2747: QP_PREQ_GRP.engine_debug('PBH Type123:' || p_request_line_details(v_index).CREATED_FROM_LIST_TYPE);
2748: END IF;
2749:
2750: -- Store the ordered qty

Line 2747: QP_PREQ_GRP.engine_debug('PBH Type123:' || p_request_line_details(v_index).CREATED_FROM_LIST_TYPE);

2743:
2744: IF l_debug = FND_API.G_TRUE THEN
2745: QP_PREQ_GRP.engine_debug('LOOPing through p_request_line_details........');
2746: QP_PREQ_GRP.engine_debug('The request line index is: ' || v_index);
2747: QP_PREQ_GRP.engine_debug('PBH Type123:' || p_request_line_details(v_index).CREATED_FROM_LIST_TYPE);
2748: END IF;
2749:
2750: -- Store the ordered qty
2751: v_ord_qty := nvl(p_request_line_details(v_index).line_quantity, 0); -- 2388011_latest

Line 2760: QP_PREQ_GRP.engine_debug('ldets.qualifier_value, (v_ord_qty) : ' || v_ord_qty);

2756: --v_total_value := nvl(p_request_line_details(v_index).qualifier_value, - 1); -- 2388011_latest
2757: v_total_value := nvl(p_request_line_details(v_index).qualifier_value, 0); --6896139 undoing changes done as part of bug 5158413
2758:
2759: IF l_debug = FND_API.G_TRUE THEN
2760: QP_PREQ_GRP.engine_debug('ldets.qualifier_value, (v_ord_qty) : ' || v_ord_qty);
2761: QP_PREQ_GRP.engine_debug('ldets.line_quqntity, (v_total_value) : ' || v_total_value);
2762: -- If bucketed net amount flag is set to 'Y'
2763: QP_PREQ_GRP.engine_debug('Bucketed Old PGS : ' || v_old_pricing_sequence);
2764: QP_PREQ_GRP.engine_debug('Bucketed New PGS : ' || p_request_line_details(v_index).PRICING_GROUP_SEQUENCE);

Line 2761: QP_PREQ_GRP.engine_debug('ldets.line_quqntity, (v_total_value) : ' || v_total_value);

2757: v_total_value := nvl(p_request_line_details(v_index).qualifier_value, 0); --6896139 undoing changes done as part of bug 5158413
2758:
2759: IF l_debug = FND_API.G_TRUE THEN
2760: QP_PREQ_GRP.engine_debug('ldets.qualifier_value, (v_ord_qty) : ' || v_ord_qty);
2761: QP_PREQ_GRP.engine_debug('ldets.line_quqntity, (v_total_value) : ' || v_total_value);
2762: -- If bucketed net amount flag is set to 'Y'
2763: QP_PREQ_GRP.engine_debug('Bucketed Old PGS : ' || v_old_pricing_sequence);
2764: QP_PREQ_GRP.engine_debug('Bucketed New PGS : ' || p_request_line_details(v_index).PRICING_GROUP_SEQUENCE);
2765: END IF; -- END IF l_debug = FND_API.G_TRUE

Line 2763: QP_PREQ_GRP.engine_debug('Bucketed Old PGS : ' || v_old_pricing_sequence);

2759: IF l_debug = FND_API.G_TRUE THEN
2760: QP_PREQ_GRP.engine_debug('ldets.qualifier_value, (v_ord_qty) : ' || v_ord_qty);
2761: QP_PREQ_GRP.engine_debug('ldets.line_quqntity, (v_total_value) : ' || v_total_value);
2762: -- If bucketed net amount flag is set to 'Y'
2763: QP_PREQ_GRP.engine_debug('Bucketed Old PGS : ' || v_old_pricing_sequence);
2764: QP_PREQ_GRP.engine_debug('Bucketed New PGS : ' || p_request_line_details(v_index).PRICING_GROUP_SEQUENCE);
2765: END IF; -- END IF l_debug = FND_API.G_TRUE
2766:
2767: IF (nvl(v_old_pricing_sequence, - 9999) <> p_request_line_details(v_index).PRICING_GROUP_SEQUENCE AND

Line 2764: QP_PREQ_GRP.engine_debug('Bucketed New PGS : ' || p_request_line_details(v_index).PRICING_GROUP_SEQUENCE);

2760: QP_PREQ_GRP.engine_debug('ldets.qualifier_value, (v_ord_qty) : ' || v_ord_qty);
2761: QP_PREQ_GRP.engine_debug('ldets.line_quqntity, (v_total_value) : ' || v_total_value);
2762: -- If bucketed net amount flag is set to 'Y'
2763: QP_PREQ_GRP.engine_debug('Bucketed Old PGS : ' || v_old_pricing_sequence);
2764: QP_PREQ_GRP.engine_debug('Bucketed New PGS : ' || p_request_line_details(v_index).PRICING_GROUP_SEQUENCE);
2765: END IF; -- END IF l_debug = FND_API.G_TRUE
2766:
2767: IF (nvl(v_old_pricing_sequence, - 9999) <> p_request_line_details(v_index).PRICING_GROUP_SEQUENCE AND
2768: p_request_line_details(v_index).bucketed_flag = 'Y') THEN

Line 2770: QP_PREQ_GRP.engine_debug('Before Bucketed Group Amount : ' || v_bucketed_value);

2766:
2767: IF (nvl(v_old_pricing_sequence, - 9999) <> p_request_line_details(v_index).PRICING_GROUP_SEQUENCE AND
2768: p_request_line_details(v_index).bucketed_flag = 'Y') THEN
2769: IF l_debug = FND_API.G_TRUE THEN
2770: QP_PREQ_GRP.engine_debug('Before Bucketed Group Amount : ' || v_bucketed_value);
2771: QP_PREQ_GRP.engine_debug('Before Bucketed Line Amount : ' || v_bucketed_qty);
2772: QP_PREQ_GRP.engine_debug('Bucket Adjustment Amount: ' || nvl(v_total_adj_amt, 0));
2773: END IF; -- END IF l_debug = FND_API.G_TRUE
2774:

Line 2771: QP_PREQ_GRP.engine_debug('Before Bucketed Line Amount : ' || v_bucketed_qty);

2767: IF (nvl(v_old_pricing_sequence, - 9999) <> p_request_line_details(v_index).PRICING_GROUP_SEQUENCE AND
2768: p_request_line_details(v_index).bucketed_flag = 'Y') THEN
2769: IF l_debug = FND_API.G_TRUE THEN
2770: QP_PREQ_GRP.engine_debug('Before Bucketed Group Amount : ' || v_bucketed_value);
2771: QP_PREQ_GRP.engine_debug('Before Bucketed Line Amount : ' || v_bucketed_qty);
2772: QP_PREQ_GRP.engine_debug('Bucket Adjustment Amount: ' || nvl(v_total_adj_amt, 0));
2773: END IF; -- END IF l_debug = FND_API.G_TRUE
2774:
2775: IF (v_total_value > 0) THEN

Line 2772: QP_PREQ_GRP.engine_debug('Bucket Adjustment Amount: ' || nvl(v_total_adj_amt, 0));

2768: p_request_line_details(v_index).bucketed_flag = 'Y') THEN
2769: IF l_debug = FND_API.G_TRUE THEN
2770: QP_PREQ_GRP.engine_debug('Before Bucketed Group Amount : ' || v_bucketed_value);
2771: QP_PREQ_GRP.engine_debug('Before Bucketed Line Amount : ' || v_bucketed_qty);
2772: QP_PREQ_GRP.engine_debug('Bucket Adjustment Amount: ' || nvl(v_total_adj_amt, 0));
2773: END IF; -- END IF l_debug = FND_API.G_TRUE
2774:
2775: IF (v_total_value > 0) THEN
2776: v_bucketed_value := v_total_value + nvl(v_total_adj_amt * v_actual_line_qty, 0); -- Net Group Amount

Line 2784: QP_PREQ_GRP.engine_debug('Net Bucketed Group Amount : ' || v_bucketed_value);

2780: v_bucketed_value := NULL;
2781: END IF; -- END IF (v_total_value > 0)
2782:
2783: IF l_debug = FND_API.G_TRUE THEN
2784: QP_PREQ_GRP.engine_debug('Net Bucketed Group Amount : ' || v_bucketed_value);
2785: QP_PREQ_GRP.engine_debug('Net Bucketed Line Amount : ' || v_bucketed_qty);
2786: END IF; -- END IF l_debug = FND_API.G_TRUE
2787: END IF; -- END IF (nvl(v_old_pricing_sequence,-9999)
2788:

Line 2785: QP_PREQ_GRP.engine_debug('Net Bucketed Line Amount : ' || v_bucketed_qty);

2781: END IF; -- END IF (v_total_value > 0)
2782:
2783: IF l_debug = FND_API.G_TRUE THEN
2784: QP_PREQ_GRP.engine_debug('Net Bucketed Group Amount : ' || v_bucketed_value);
2785: QP_PREQ_GRP.engine_debug('Net Bucketed Line Amount : ' || v_bucketed_qty);
2786: END IF; -- END IF l_debug = FND_API.G_TRUE
2787: END IF; -- END IF (nvl(v_old_pricing_sequence,-9999)
2788:
2789: -- end fix 2388011, grp_lines_pbh, IT bucket

Line 2804: QP_PREQ_GRP.engine_debug('Service Duration : ' || v_service_duration);

2800: v_related_item_price := p_request_line.RELATED_ITEM_PRICE;
2801: v_service_duration := nvl(p_request_line.SERVICE_DURATION, 1);
2802:
2803: IF l_debug = FND_API.G_TRUE THEN
2804: QP_PREQ_GRP.engine_debug('Service Duration : ' || v_service_duration);
2805:
2806: END IF;
2807:
2808: -- Store the list line id

Line 2823: QP_PREQ_GRP.engine_debug ('V_List_Price is null');

2819: v_orig_list_price := p_request_line.UNIT_PRICE;
2820: ELSE
2821: IF (v_list_price IS NULL) THEN
2822: IF l_debug = FND_API.G_TRUE THEN
2823: QP_PREQ_GRP.engine_debug ('V_List_Price is null');
2824: END IF;
2825: v_list_price := p_request_line.UNIT_PRICE;
2826:
2827: IF nvl(QP_PREQ_GRP.G_ROUNDING_FLAG, 'Y') = QP_PREQ_GRP.G_YES AND -- shu, aso debug 2457629

Line 2827: IF nvl(QP_PREQ_GRP.G_ROUNDING_FLAG, 'Y') = QP_PREQ_GRP.G_YES AND -- shu, aso debug 2457629

2823: QP_PREQ_GRP.engine_debug ('V_List_Price is null');
2824: END IF;
2825: v_list_price := p_request_line.UNIT_PRICE;
2826:
2827: IF nvl(QP_PREQ_GRP.G_ROUNDING_FLAG, 'Y') = QP_PREQ_GRP.G_YES AND -- shu, aso debug 2457629
2828: p_request_line.ROUNDING_FACTOR IS NOT NULL THEN
2829: v_list_price := ROUND(v_list_price, p_request_line.ROUNDING_FACTOR * ( - 1));
2830: p_request_line.UNIT_PRICE := v_list_price;
2831: ELSIF (QP_PREQ_GRP.G_ROUNDING_FLAG = G_CHAR_Q) THEN -- check v_selling_price_rounding_options profile

Line 2831: ELSIF (QP_PREQ_GRP.G_ROUNDING_FLAG = G_CHAR_Q) THEN -- check v_selling_price_rounding_options profile

2827: IF nvl(QP_PREQ_GRP.G_ROUNDING_FLAG, 'Y') = QP_PREQ_GRP.G_YES AND -- shu, aso debug 2457629
2828: p_request_line.ROUNDING_FACTOR IS NOT NULL THEN
2829: v_list_price := ROUND(v_list_price, p_request_line.ROUNDING_FACTOR * ( - 1));
2830: p_request_line.UNIT_PRICE := v_list_price;
2831: ELSIF (QP_PREQ_GRP.G_ROUNDING_FLAG = G_CHAR_Q) THEN -- check v_selling_price_rounding_options profile
2832:
2833: IF (v_price_round_options = G_ROUND_ADJ AND p_request_line.ROUNDING_FACTOR IS NOT NULL) THEN
2834: v_list_price := ROUND(v_list_price, p_request_line.ROUNDING_FACTOR * ( - 1));
2835: p_request_line.UNIT_PRICE := v_list_price;

Line 2837: END IF; -- end IF nvl(QP_PREQ_GRP.G_ROUNDING_FLAG, 'Y')

2833: IF (v_price_round_options = G_ROUND_ADJ AND p_request_line.ROUNDING_FACTOR IS NOT NULL) THEN
2834: v_list_price := ROUND(v_list_price, p_request_line.ROUNDING_FACTOR * ( - 1));
2835: p_request_line.UNIT_PRICE := v_list_price;
2836: END IF;
2837: END IF; -- end IF nvl(QP_PREQ_GRP.G_ROUNDING_FLAG, 'Y')
2838: v_discounted_price := nvl(p_request_line.ADJUSTED_UNIT_PRICE, v_list_price);
2839:
2840: END IF; -- END IF (v_list_price IS NULL)
2841: v_orig_list_price := v_list_price;

Line 2845: QP_PREQ_GRP.G_PRICE_BREAK_TYPE) THEN

2841: v_orig_list_price := v_list_price;
2842: END IF; -- END IF (p_request_line_details(v_index).PRICING_GROUP_SEQUENCE IS NULL)
2843:
2844: IF (p_request_line_details(v_index).CREATED_FROM_LIST_LINE_TYPE =
2845: QP_PREQ_GRP.G_PRICE_BREAK_TYPE) THEN
2846: IF l_debug = FND_API.G_TRUE THEN
2847: QP_PREQ_GRP.engine_debug('PBH Type:' || p_request_line_details(v_index).CREATED_FROM_LIST_TYPE);
2848: QP_PREQ_GRP.engine_debug('PBH Unit Price:' || p_request_line.UNIT_PRICE);
2849: QP_PREQ_GRP.engine_debug('Old PGS:' || v_old_pricing_sequence);

Line 2847: QP_PREQ_GRP.engine_debug('PBH Type:' || p_request_line_details(v_index).CREATED_FROM_LIST_TYPE);

2843:
2844: IF (p_request_line_details(v_index).CREATED_FROM_LIST_LINE_TYPE =
2845: QP_PREQ_GRP.G_PRICE_BREAK_TYPE) THEN
2846: IF l_debug = FND_API.G_TRUE THEN
2847: QP_PREQ_GRP.engine_debug('PBH Type:' || p_request_line_details(v_index).CREATED_FROM_LIST_TYPE);
2848: QP_PREQ_GRP.engine_debug('PBH Unit Price:' || p_request_line.UNIT_PRICE);
2849: QP_PREQ_GRP.engine_debug('Old PGS:' || v_old_pricing_sequence);
2850: END IF;
2851:

Line 2848: QP_PREQ_GRP.engine_debug('PBH Unit Price:' || p_request_line.UNIT_PRICE);

2844: IF (p_request_line_details(v_index).CREATED_FROM_LIST_LINE_TYPE =
2845: QP_PREQ_GRP.G_PRICE_BREAK_TYPE) THEN
2846: IF l_debug = FND_API.G_TRUE THEN
2847: QP_PREQ_GRP.engine_debug('PBH Type:' || p_request_line_details(v_index).CREATED_FROM_LIST_TYPE);
2848: QP_PREQ_GRP.engine_debug('PBH Unit Price:' || p_request_line.UNIT_PRICE);
2849: QP_PREQ_GRP.engine_debug('Old PGS:' || v_old_pricing_sequence);
2850: END IF;
2851:
2852: -- 2388011, pbh_grp_amt

Line 2849: QP_PREQ_GRP.engine_debug('Old PGS:' || v_old_pricing_sequence);

2845: QP_PREQ_GRP.G_PRICE_BREAK_TYPE) THEN
2846: IF l_debug = FND_API.G_TRUE THEN
2847: QP_PREQ_GRP.engine_debug('PBH Type:' || p_request_line_details(v_index).CREATED_FROM_LIST_TYPE);
2848: QP_PREQ_GRP.engine_debug('PBH Unit Price:' || p_request_line.UNIT_PRICE);
2849: QP_PREQ_GRP.engine_debug('Old PGS:' || v_old_pricing_sequence);
2850: END IF;
2851:
2852: -- 2388011, pbh_grp_amt
2853: Process_Price_Break(

Line 2866: nvl(QP_PREQ_GRP.G_ROUNDING_FLAG, 'Y'), -- shu, aso debug 2457629

2862: v_old_pricing_sequence,
2863: v_related_item_price, -- Related Item Price
2864: v_service_duration, -- Service Duration for service line pricing
2865: p_related_request_lines, -- Children of PBH Lines
2866: nvl(QP_PREQ_GRP.G_ROUNDING_FLAG, 'Y'), -- shu, aso debug 2457629
2867: ( - 1) * p_request_line.ROUNDING_FACTOR,
2868: nvl(v_bucketed_value, v_total_value), -- 2388011, PBH LINEGROUP Ravi Change
2869: x_pbh_list_price, -- List Price for the Request Line
2870: x_extended_price, -- block pricing

Line 2882: (QP_PREQ_GRP.G_PRICE_LIST_HEADER, QP_PREQ_GRP.G_AGR_LIST_HEADER)) THEN

2878: RAISE FND_API.G_EXC_ERROR;
2879: END IF;
2880:
2881: IF (p_request_line_details(v_index).CREATED_FROM_LIST_TYPE IN
2882: (QP_PREQ_GRP.G_PRICE_LIST_HEADER, QP_PREQ_GRP.G_AGR_LIST_HEADER)) THEN
2883:
2884: -- Update the list price on the p_request_line_details structure for the PBH line
2885: p_request_line.UNIT_PRICE := x_pbh_list_price;
2886: p_request_line.EXTENDED_PRICE := x_extended_price; -- block pricing

Line 2893: QP_PREQ_GRP.engine_debug('Unit Price:' || x_pbh_list_price);

2889: -- Init the price list values for input to the Calculate_Adjusted_Price function
2890: v_list_price := x_pbh_list_price;
2891: v_discounted_price := x_pbh_list_price;
2892: IF l_debug = FND_API.G_TRUE THEN
2893: QP_PREQ_GRP.engine_debug('Unit Price:' || x_pbh_list_price);
2894: QP_PREQ_GRP.engine_debug('Extended Price on the Line: ' || p_request_line.EXTENDED_PRICE);
2895: QP_PREQ_GRP.engine_debug('Related Request Lines Table Count:'|| x_related_request_lines_tbl.COUNT);
2896: END IF;
2897: ELSE

Line 2894: QP_PREQ_GRP.engine_debug('Extended Price on the Line: ' || p_request_line.EXTENDED_PRICE);

2890: v_list_price := x_pbh_list_price;
2891: v_discounted_price := x_pbh_list_price;
2892: IF l_debug = FND_API.G_TRUE THEN
2893: QP_PREQ_GRP.engine_debug('Unit Price:' || x_pbh_list_price);
2894: QP_PREQ_GRP.engine_debug('Extended Price on the Line: ' || p_request_line.EXTENDED_PRICE);
2895: QP_PREQ_GRP.engine_debug('Related Request Lines Table Count:'|| x_related_request_lines_tbl.COUNT);
2896: END IF;
2897: ELSE
2898: -- Update the adjustment amount on the p_request_line_details

Line 2895: QP_PREQ_GRP.engine_debug('Related Request Lines Table Count:'|| x_related_request_lines_tbl.COUNT);

2891: v_discounted_price := x_pbh_list_price;
2892: IF l_debug = FND_API.G_TRUE THEN
2893: QP_PREQ_GRP.engine_debug('Unit Price:' || x_pbh_list_price);
2894: QP_PREQ_GRP.engine_debug('Extended Price on the Line: ' || p_request_line.EXTENDED_PRICE);
2895: QP_PREQ_GRP.engine_debug('Related Request Lines Table Count:'|| x_related_request_lines_tbl.COUNT);
2896: END IF;
2897: ELSE
2898: -- Update the adjustment amount on the p_request_line_details
2899: p_request_line_details(v_index).ADJUSTMENT_AMOUNT := nvl(x_adjusted_amount, 0);

Line 2905: IF (p_request_line_details(v_index).CREATED_FROM_LIST_LINE_TYPE <> QP_PREQ_GRP.G_FREIGHT_CHARGE AND

2901: -- Update the adjusted unit price
2902: -- Total Adjusted amount is not calculated on Freight Charges and manual price breaks which will have
2903: -- automatic_flag = 'N'
2904:
2905: IF (p_request_line_details(v_index).CREATED_FROM_LIST_LINE_TYPE <> QP_PREQ_GRP.G_FREIGHT_CHARGE AND
2906: p_request_line_details(v_index).AUTOMATIC_FLAG <> QP_PREQ_GRP.G_NO) THEN
2907: IF (nvl(p_request_line_details(v_index).ACCRUAL_FLAG, QP_PREQ_GRP.G_NO) <> QP_PREQ_GRP.G_YES) THEN
2908: v_total_adj_amt := nvl(v_total_adj_amt, 0) + nvl(x_adjusted_amount, 0);
2909: END IF;

Line 2906: p_request_line_details(v_index).AUTOMATIC_FLAG <> QP_PREQ_GRP.G_NO) THEN

2902: -- Total Adjusted amount is not calculated on Freight Charges and manual price breaks which will have
2903: -- automatic_flag = 'N'
2904:
2905: IF (p_request_line_details(v_index).CREATED_FROM_LIST_LINE_TYPE <> QP_PREQ_GRP.G_FREIGHT_CHARGE AND
2906: p_request_line_details(v_index).AUTOMATIC_FLAG <> QP_PREQ_GRP.G_NO) THEN
2907: IF (nvl(p_request_line_details(v_index).ACCRUAL_FLAG, QP_PREQ_GRP.G_NO) <> QP_PREQ_GRP.G_YES) THEN
2908: v_total_adj_amt := nvl(v_total_adj_amt, 0) + nvl(x_adjusted_amount, 0);
2909: END IF;
2910: p_request_line.ADJUSTED_UNIT_PRICE := p_request_line.UNIT_PRICE + nvl(v_total_adj_amt, 0);

Line 2907: IF (nvl(p_request_line_details(v_index).ACCRUAL_FLAG, QP_PREQ_GRP.G_NO) <> QP_PREQ_GRP.G_YES) THEN

2903: -- automatic_flag = 'N'
2904:
2905: IF (p_request_line_details(v_index).CREATED_FROM_LIST_LINE_TYPE <> QP_PREQ_GRP.G_FREIGHT_CHARGE AND
2906: p_request_line_details(v_index).AUTOMATIC_FLAG <> QP_PREQ_GRP.G_NO) THEN
2907: IF (nvl(p_request_line_details(v_index).ACCRUAL_FLAG, QP_PREQ_GRP.G_NO) <> QP_PREQ_GRP.G_YES) THEN
2908: v_total_adj_amt := nvl(v_total_adj_amt, 0) + nvl(x_adjusted_amount, 0);
2909: END IF;
2910: p_request_line.ADJUSTED_UNIT_PRICE := p_request_line.UNIT_PRICE + nvl(v_total_adj_amt, 0);
2911: END IF;

Line 2915: QP_PREQ_GRP.engine_debug('Adjusted Amount:' || x_adjusted_amount);

2911: END IF;
2912: v_discounted_price := p_request_line.ADJUSTED_UNIT_PRICE;
2913:
2914: IF l_debug = FND_API.G_TRUE THEN
2915: QP_PREQ_GRP.engine_debug('Adjusted Amount:' || x_adjusted_amount);
2916: QP_PREQ_GRP.engine_debug('Unit Price:' || p_request_line.UNIT_PRICE );
2917: QP_PREQ_GRP.engine_debug('Adjusted Unit Price:' || v_discounted_price);
2918: END IF;
2919:

Line 2916: QP_PREQ_GRP.engine_debug('Unit Price:' || p_request_line.UNIT_PRICE );

2912: v_discounted_price := p_request_line.ADJUSTED_UNIT_PRICE;
2913:
2914: IF l_debug = FND_API.G_TRUE THEN
2915: QP_PREQ_GRP.engine_debug('Adjusted Amount:' || x_adjusted_amount);
2916: QP_PREQ_GRP.engine_debug('Unit Price:' || p_request_line.UNIT_PRICE );
2917: QP_PREQ_GRP.engine_debug('Adjusted Unit Price:' || v_discounted_price);
2918: END IF;
2919:
2920: END IF; -- END IF (p_request_line_details(v_index).CREATED_FROM_LIST_TYPE...

Line 2917: QP_PREQ_GRP.engine_debug('Adjusted Unit Price:' || v_discounted_price);

2913:
2914: IF l_debug = FND_API.G_TRUE THEN
2915: QP_PREQ_GRP.engine_debug('Adjusted Amount:' || x_adjusted_amount);
2916: QP_PREQ_GRP.engine_debug('Unit Price:' || p_request_line.UNIT_PRICE );
2917: QP_PREQ_GRP.engine_debug('Adjusted Unit Price:' || v_discounted_price);
2918: END IF;
2919:
2920: END IF; -- END IF (p_request_line_details(v_index).CREATED_FROM_LIST_TYPE...
2921:

Line 2930: -- (QP_PREQ_GRP.G_PRICE_LIST_HEADER,QP_PREQ_GRP.G_AGR_LIST_HEADER)) THEN

2926: END IF;
2927:
2928: -- Calculate List Price for Pricing Sequence 0 for a PLL Line
2929: --IF (p_request_line_details(v_index).CREATED_FROM_LIST_TYPE in
2930: -- (QP_PREQ_GRP.G_PRICE_LIST_HEADER,QP_PREQ_GRP.G_AGR_LIST_HEADER)) THEN
2931: IF (p_request_line_details(v_index).CREATED_FROM_LIST_LINE_TYPE = QP_PREQ_GRP.G_PRICE_LIST_TYPE) THEN
2932: IF l_debug = FND_API.G_TRUE THEN
2933: QP_PREQ_GRP.engine_debug('I am in PLL');
2934: END IF;

Line 2931: IF (p_request_line_details(v_index).CREATED_FROM_LIST_LINE_TYPE = QP_PREQ_GRP.G_PRICE_LIST_TYPE) THEN

2927:
2928: -- Calculate List Price for Pricing Sequence 0 for a PLL Line
2929: --IF (p_request_line_details(v_index).CREATED_FROM_LIST_TYPE in
2930: -- (QP_PREQ_GRP.G_PRICE_LIST_HEADER,QP_PREQ_GRP.G_AGR_LIST_HEADER)) THEN
2931: IF (p_request_line_details(v_index).CREATED_FROM_LIST_LINE_TYPE = QP_PREQ_GRP.G_PRICE_LIST_TYPE) THEN
2932: IF l_debug = FND_API.G_TRUE THEN
2933: QP_PREQ_GRP.engine_debug('I am in PLL');
2934: END IF;
2935: Calculate_List_Price_PVT(p_request_line_details(v_index).OPERAND_CALCULATION_CODE,

Line 2933: QP_PREQ_GRP.engine_debug('I am in PLL');

2929: --IF (p_request_line_details(v_index).CREATED_FROM_LIST_TYPE in
2930: -- (QP_PREQ_GRP.G_PRICE_LIST_HEADER,QP_PREQ_GRP.G_AGR_LIST_HEADER)) THEN
2931: IF (p_request_line_details(v_index).CREATED_FROM_LIST_LINE_TYPE = QP_PREQ_GRP.G_PRICE_LIST_TYPE) THEN
2932: IF l_debug = FND_API.G_TRUE THEN
2933: QP_PREQ_GRP.engine_debug('I am in PLL');
2934: END IF;
2935: Calculate_List_Price_PVT(p_request_line_details(v_index).OPERAND_CALCULATION_CODE,
2936: p_request_line_details(v_index).OPERAND_VALUE,
2937: 0, -- block pricing

Line 2942: nvl(QP_PREQ_GRP.G_ROUNDING_FLAG, 'Y'), -- shu, aso debug 2457629

2938: v_ord_qty,
2939: v_related_item_price,
2940: v_service_duration,
2941: --nvl(p_request_line.ROUNDING_FLAG,'Y'),
2942: nvl(QP_PREQ_GRP.G_ROUNDING_FLAG, 'Y'), -- shu, aso debug 2457629
2943: ( - 1) * p_request_line.ROUNDING_FACTOR,
2944: x_list_price,
2945: x_percent_price,
2946: x_extended_price, -- block pricing

Line 2962: QP_PREQ_GRP.engine_debug('The List Price23 is: ' || v_list_price);

2958: -- Init the price list values for input to the Calculate_Adjusted_Price function
2959: v_list_price := x_list_price;
2960: v_discounted_price := x_list_price;
2961: IF l_debug = FND_API.G_TRUE THEN
2962: QP_PREQ_GRP.engine_debug('The List Price23 is: ' || v_list_price);
2963:
2964: END IF;
2965: END IF;
2966:

Line 2973: QP_PREQ_GRP.engine_debug ('V_List_Price is null');

2969: -- nvl , if the caller wants the adjustments to be applied to an already
2970: -- discounted line
2971: IF (v_list_price IS NULL) THEN
2972: IF l_debug = FND_API.G_TRUE THEN
2973: QP_PREQ_GRP.engine_debug ('V_List_Price is null');
2974: END IF;
2975: v_list_price := p_request_line.UNIT_PRICE;
2976:
2977: IF nvl(QP_PREQ_GRP.G_ROUNDING_FLAG, 'Y') = QP_PREQ_GRP.G_YES AND -- shu, aso debug 2457629

Line 2977: IF nvl(QP_PREQ_GRP.G_ROUNDING_FLAG, 'Y') = QP_PREQ_GRP.G_YES AND -- shu, aso debug 2457629

2973: QP_PREQ_GRP.engine_debug ('V_List_Price is null');
2974: END IF;
2975: v_list_price := p_request_line.UNIT_PRICE;
2976:
2977: IF nvl(QP_PREQ_GRP.G_ROUNDING_FLAG, 'Y') = QP_PREQ_GRP.G_YES AND -- shu, aso debug 2457629
2978: p_request_line.ROUNDING_FACTOR IS NOT NULL THEN
2979: v_list_price := ROUND(p_request_line.UNIT_PRICE, p_request_line.ROUNDING_FACTOR * ( - 1));
2980: p_request_line.UNIT_PRICE := v_list_price;
2981: -- shu, aso debug 2457629

Line 2982: ELSIF (QP_PREQ_GRP.G_ROUNDING_FLAG = G_CHAR_Q) THEN -- shu, check v_selling_price_rounding_options profile

2978: p_request_line.ROUNDING_FACTOR IS NOT NULL THEN
2979: v_list_price := ROUND(p_request_line.UNIT_PRICE, p_request_line.ROUNDING_FACTOR * ( - 1));
2980: p_request_line.UNIT_PRICE := v_list_price;
2981: -- shu, aso debug 2457629
2982: ELSIF (QP_PREQ_GRP.G_ROUNDING_FLAG = G_CHAR_Q) THEN -- shu, check v_selling_price_rounding_options profile
2983: IF (v_price_round_options = G_ROUND_ADJ AND p_request_line.ROUNDING_FACTOR IS NOT NULL) THEN
2984: v_list_price := ROUND(p_request_line.UNIT_PRICE, p_request_line.ROUNDING_FACTOR * ( - 1));
2985: p_request_line.UNIT_PRICE := v_list_price;
2986: END IF;

Line 2994: IN (QP_PREQ_GRP.G_DISCOUNT, QP_PREQ_GRP.G_SURCHARGE, QP_PREQ_GRP.G_FREIGHT_CHARGE)) THEN

2990: END IF;
2991:
2992: -- Calculate Adjusted Price
2993: IF (p_request_line_details(v_index).CREATED_FROM_LIST_LINE_TYPE
2994: IN (QP_PREQ_GRP.G_DISCOUNT, QP_PREQ_GRP.G_SURCHARGE, QP_PREQ_GRP.G_FREIGHT_CHARGE)) THEN
2995: IF l_debug = FND_API.G_TRUE THEN
2996: QP_PREQ_GRP.engine_debug('I am in DIS');
2997: QP_PREQ_GRP.engine_debug('The List Price is: ' || v_list_price);
2998: QP_PREQ_GRP.engine_debug('The Discounted Price is: ' || v_discounted_price);

Line 2996: QP_PREQ_GRP.engine_debug('I am in DIS');

2992: -- Calculate Adjusted Price
2993: IF (p_request_line_details(v_index).CREATED_FROM_LIST_LINE_TYPE
2994: IN (QP_PREQ_GRP.G_DISCOUNT, QP_PREQ_GRP.G_SURCHARGE, QP_PREQ_GRP.G_FREIGHT_CHARGE)) THEN
2995: IF l_debug = FND_API.G_TRUE THEN
2996: QP_PREQ_GRP.engine_debug('I am in DIS');
2997: QP_PREQ_GRP.engine_debug('The List Price is: ' || v_list_price);
2998: QP_PREQ_GRP.engine_debug('The Discounted Price is: ' || v_discounted_price);
2999: QP_PREQ_GRP.engine_debug('Old Pricing Seq: ' || v_old_pricing_sequence);
3000: QP_PREQ_GRP.engine_debug('New Pricing Seq: ' || p_request_line_details(v_index).PRICING_GROUP_SEQUENCE);

Line 2997: QP_PREQ_GRP.engine_debug('The List Price is: ' || v_list_price);

2993: IF (p_request_line_details(v_index).CREATED_FROM_LIST_LINE_TYPE
2994: IN (QP_PREQ_GRP.G_DISCOUNT, QP_PREQ_GRP.G_SURCHARGE, QP_PREQ_GRP.G_FREIGHT_CHARGE)) THEN
2995: IF l_debug = FND_API.G_TRUE THEN
2996: QP_PREQ_GRP.engine_debug('I am in DIS');
2997: QP_PREQ_GRP.engine_debug('The List Price is: ' || v_list_price);
2998: QP_PREQ_GRP.engine_debug('The Discounted Price is: ' || v_discounted_price);
2999: QP_PREQ_GRP.engine_debug('Old Pricing Seq: ' || v_old_pricing_sequence);
3000: QP_PREQ_GRP.engine_debug('New Pricing Seq: ' || p_request_line_details(v_index).PRICING_GROUP_SEQUENCE);
3001: QP_PREQ_GRP.engine_debug('Operand Calc Code: ' || p_request_line_details(v_index).OPERAND_CALCULATION_CODE);

Line 2998: QP_PREQ_GRP.engine_debug('The Discounted Price is: ' || v_discounted_price);

2994: IN (QP_PREQ_GRP.G_DISCOUNT, QP_PREQ_GRP.G_SURCHARGE, QP_PREQ_GRP.G_FREIGHT_CHARGE)) THEN
2995: IF l_debug = FND_API.G_TRUE THEN
2996: QP_PREQ_GRP.engine_debug('I am in DIS');
2997: QP_PREQ_GRP.engine_debug('The List Price is: ' || v_list_price);
2998: QP_PREQ_GRP.engine_debug('The Discounted Price is: ' || v_discounted_price);
2999: QP_PREQ_GRP.engine_debug('Old Pricing Seq: ' || v_old_pricing_sequence);
3000: QP_PREQ_GRP.engine_debug('New Pricing Seq: ' || p_request_line_details(v_index).PRICING_GROUP_SEQUENCE);
3001: QP_PREQ_GRP.engine_debug('Operand Calc Code: ' || p_request_line_details(v_index).OPERAND_CALCULATION_CODE);
3002: QP_PREQ_GRP.engine_debug('Operand Calc Value: ' || p_request_line_details(v_index).OPERAND_VALUE);

Line 2999: QP_PREQ_GRP.engine_debug('Old Pricing Seq: ' || v_old_pricing_sequence);

2995: IF l_debug = FND_API.G_TRUE THEN
2996: QP_PREQ_GRP.engine_debug('I am in DIS');
2997: QP_PREQ_GRP.engine_debug('The List Price is: ' || v_list_price);
2998: QP_PREQ_GRP.engine_debug('The Discounted Price is: ' || v_discounted_price);
2999: QP_PREQ_GRP.engine_debug('Old Pricing Seq: ' || v_old_pricing_sequence);
3000: QP_PREQ_GRP.engine_debug('New Pricing Seq: ' || p_request_line_details(v_index).PRICING_GROUP_SEQUENCE);
3001: QP_PREQ_GRP.engine_debug('Operand Calc Code: ' || p_request_line_details(v_index).OPERAND_CALCULATION_CODE);
3002: QP_PREQ_GRP.engine_debug('Operand Calc Value: ' || p_request_line_details(v_index).OPERAND_VALUE);
3003: QP_PREQ_GRP.engine_debug('List Line Type: ' || p_request_line_details(v_index).CREATED_FROM_LIST_LINE_TYPE);

Line 3000: QP_PREQ_GRP.engine_debug('New Pricing Seq: ' || p_request_line_details(v_index).PRICING_GROUP_SEQUENCE);

2996: QP_PREQ_GRP.engine_debug('I am in DIS');
2997: QP_PREQ_GRP.engine_debug('The List Price is: ' || v_list_price);
2998: QP_PREQ_GRP.engine_debug('The Discounted Price is: ' || v_discounted_price);
2999: QP_PREQ_GRP.engine_debug('Old Pricing Seq: ' || v_old_pricing_sequence);
3000: QP_PREQ_GRP.engine_debug('New Pricing Seq: ' || p_request_line_details(v_index).PRICING_GROUP_SEQUENCE);
3001: QP_PREQ_GRP.engine_debug('Operand Calc Code: ' || p_request_line_details(v_index).OPERAND_CALCULATION_CODE);
3002: QP_PREQ_GRP.engine_debug('Operand Calc Value: ' || p_request_line_details(v_index).OPERAND_VALUE);
3003: QP_PREQ_GRP.engine_debug('List Line Type: ' || p_request_line_details(v_index).CREATED_FROM_LIST_LINE_TYPE);
3004:

Line 3001: QP_PREQ_GRP.engine_debug('Operand Calc Code: ' || p_request_line_details(v_index).OPERAND_CALCULATION_CODE);

2997: QP_PREQ_GRP.engine_debug('The List Price is: ' || v_list_price);
2998: QP_PREQ_GRP.engine_debug('The Discounted Price is: ' || v_discounted_price);
2999: QP_PREQ_GRP.engine_debug('Old Pricing Seq: ' || v_old_pricing_sequence);
3000: QP_PREQ_GRP.engine_debug('New Pricing Seq: ' || p_request_line_details(v_index).PRICING_GROUP_SEQUENCE);
3001: QP_PREQ_GRP.engine_debug('Operand Calc Code: ' || p_request_line_details(v_index).OPERAND_CALCULATION_CODE);
3002: QP_PREQ_GRP.engine_debug('Operand Calc Value: ' || p_request_line_details(v_index).OPERAND_VALUE);
3003: QP_PREQ_GRP.engine_debug('List Line Type: ' || p_request_line_details(v_index).CREATED_FROM_LIST_LINE_TYPE);
3004:
3005: END IF;

Line 3002: QP_PREQ_GRP.engine_debug('Operand Calc Value: ' || p_request_line_details(v_index).OPERAND_VALUE);

2998: QP_PREQ_GRP.engine_debug('The Discounted Price is: ' || v_discounted_price);
2999: QP_PREQ_GRP.engine_debug('Old Pricing Seq: ' || v_old_pricing_sequence);
3000: QP_PREQ_GRP.engine_debug('New Pricing Seq: ' || p_request_line_details(v_index).PRICING_GROUP_SEQUENCE);
3001: QP_PREQ_GRP.engine_debug('Operand Calc Code: ' || p_request_line_details(v_index).OPERAND_CALCULATION_CODE);
3002: QP_PREQ_GRP.engine_debug('Operand Calc Value: ' || p_request_line_details(v_index).OPERAND_VALUE);
3003: QP_PREQ_GRP.engine_debug('List Line Type: ' || p_request_line_details(v_index).CREATED_FROM_LIST_LINE_TYPE);
3004:
3005: END IF;
3006:

Line 3003: QP_PREQ_GRP.engine_debug('List Line Type: ' || p_request_line_details(v_index).CREATED_FROM_LIST_LINE_TYPE);

2999: QP_PREQ_GRP.engine_debug('Old Pricing Seq: ' || v_old_pricing_sequence);
3000: QP_PREQ_GRP.engine_debug('New Pricing Seq: ' || p_request_line_details(v_index).PRICING_GROUP_SEQUENCE);
3001: QP_PREQ_GRP.engine_debug('Operand Calc Code: ' || p_request_line_details(v_index).OPERAND_CALCULATION_CODE);
3002: QP_PREQ_GRP.engine_debug('Operand Calc Value: ' || p_request_line_details(v_index).OPERAND_VALUE);
3003: QP_PREQ_GRP.engine_debug('List Line Type: ' || p_request_line_details(v_index).CREATED_FROM_LIST_LINE_TYPE);
3004:
3005: END IF;
3006:
3007: /* [julin/5529345] recurring logic moved to QP_PREQ_GRP.PRICE_REQUEST

Line 3007: /* [julin/5529345] recurring logic moved to QP_PREQ_GRP.PRICE_REQUEST

3003: QP_PREQ_GRP.engine_debug('List Line Type: ' || p_request_line_details(v_index).CREATED_FROM_LIST_LINE_TYPE);
3004:
3005: END IF;
3006:
3007: /* [julin/5529345] recurring logic moved to QP_PREQ_GRP.PRICE_REQUEST
3008: -- Recurring flag check
3009: IF (p_request_line_details(v_index).PRICE_BREAK_TYPE_CODE = QP_PREQ_GRP.G_RECURRING_BREAK AND
3010: QP_PREQ_GRP.G_LIMITS_CODE_EXECUTED = QP_PREQ_GRP.G_NO) THEN
3011: IF l_debug = FND_API.G_TRUE THEN

Line 3009: IF (p_request_line_details(v_index).PRICE_BREAK_TYPE_CODE = QP_PREQ_GRP.G_RECURRING_BREAK AND

3005: END IF;
3006:
3007: /* [julin/5529345] recurring logic moved to QP_PREQ_GRP.PRICE_REQUEST
3008: -- Recurring flag check
3009: IF (p_request_line_details(v_index).PRICE_BREAK_TYPE_CODE = QP_PREQ_GRP.G_RECURRING_BREAK AND
3010: QP_PREQ_GRP.G_LIMITS_CODE_EXECUTED = QP_PREQ_GRP.G_NO) THEN
3011: IF l_debug = FND_API.G_TRUE THEN
3012: QP_PREQ_GRP.engine_debug('In Recurring Routine --- #1');
3013: QP_PREQ_GRP.engine_debug('List Line Id: ' || p_request_line_details(v_index).CREATED_FROM_LIST_LINE_ID );

Line 3010: QP_PREQ_GRP.G_LIMITS_CODE_EXECUTED = QP_PREQ_GRP.G_NO) THEN

3006:
3007: /* [julin/5529345] recurring logic moved to QP_PREQ_GRP.PRICE_REQUEST
3008: -- Recurring flag check
3009: IF (p_request_line_details(v_index).PRICE_BREAK_TYPE_CODE = QP_PREQ_GRP.G_RECURRING_BREAK AND
3010: QP_PREQ_GRP.G_LIMITS_CODE_EXECUTED = QP_PREQ_GRP.G_NO) THEN
3011: IF l_debug = FND_API.G_TRUE THEN
3012: QP_PREQ_GRP.engine_debug('In Recurring Routine --- #1');
3013: QP_PREQ_GRP.engine_debug('List Line Id: ' || p_request_line_details(v_index).CREATED_FROM_LIST_LINE_ID );
3014: QP_PREQ_GRP.engine_debug('List Line Index: ' || p_request_line.LINE_INDEX );

Line 3012: QP_PREQ_GRP.engine_debug('In Recurring Routine --- #1');

3008: -- Recurring flag check
3009: IF (p_request_line_details(v_index).PRICE_BREAK_TYPE_CODE = QP_PREQ_GRP.G_RECURRING_BREAK AND
3010: QP_PREQ_GRP.G_LIMITS_CODE_EXECUTED = QP_PREQ_GRP.G_NO) THEN
3011: IF l_debug = FND_API.G_TRUE THEN
3012: QP_PREQ_GRP.engine_debug('In Recurring Routine --- #1');
3013: QP_PREQ_GRP.engine_debug('List Line Id: ' || p_request_line_details(v_index).CREATED_FROM_LIST_LINE_ID );
3014: QP_PREQ_GRP.engine_debug('List Line Index: ' || p_request_line.LINE_INDEX );
3015: END IF;
3016: -- Call Recurring Routine

Line 3013: QP_PREQ_GRP.engine_debug('List Line Id: ' || p_request_line_details(v_index).CREATED_FROM_LIST_LINE_ID );

3009: IF (p_request_line_details(v_index).PRICE_BREAK_TYPE_CODE = QP_PREQ_GRP.G_RECURRING_BREAK AND
3010: QP_PREQ_GRP.G_LIMITS_CODE_EXECUTED = QP_PREQ_GRP.G_NO) THEN
3011: IF l_debug = FND_API.G_TRUE THEN
3012: QP_PREQ_GRP.engine_debug('In Recurring Routine --- #1');
3013: QP_PREQ_GRP.engine_debug('List Line Id: ' || p_request_line_details(v_index).CREATED_FROM_LIST_LINE_ID );
3014: QP_PREQ_GRP.engine_debug('List Line Index: ' || p_request_line.LINE_INDEX );
3015: END IF;
3016: -- Call Recurring Routine
3017: QP_Process_Other_Benefits_PVT.Calculate_Recurring_Quantity(

Line 3014: QP_PREQ_GRP.engine_debug('List Line Index: ' || p_request_line.LINE_INDEX );

3010: QP_PREQ_GRP.G_LIMITS_CODE_EXECUTED = QP_PREQ_GRP.G_NO) THEN
3011: IF l_debug = FND_API.G_TRUE THEN
3012: QP_PREQ_GRP.engine_debug('In Recurring Routine --- #1');
3013: QP_PREQ_GRP.engine_debug('List Line Id: ' || p_request_line_details(v_index).CREATED_FROM_LIST_LINE_ID );
3014: QP_PREQ_GRP.engine_debug('List Line Index: ' || p_request_line.LINE_INDEX );
3015: END IF;
3016: -- Call Recurring Routine
3017: QP_Process_Other_Benefits_PVT.Calculate_Recurring_Quantity(
3018: p_request_line_details(v_index).CREATED_FROM_LIST_LINE_ID,

Line 3026: QP_PREQ_GRP.engine_debug('Return Status Text : ' || x_ret_status_txt);

3022: x_benefit_line_qty,
3023: x_ret_status,
3024: x_ret_status_txt);
3025: IF l_debug = FND_API.G_TRUE THEN
3026: QP_PREQ_GRP.engine_debug('Return Status Text : ' || x_ret_status_txt);
3027:
3028: END IF;
3029: IF(x_ret_status = FND_API.G_RET_STS_ERROR) THEN
3030: RAISE FND_API.G_EXC_ERROR;

Line 3035: QP_PREQ_GRP.engine_debug('Limits Code Not Executed.Did call Recurring Qty Routine');

3031: END IF;
3032: p_request_line_details(v_index).OPERAND_VALUE := x_benefit_line_qty;
3033:
3034: IF l_debug = FND_API.G_TRUE THEN
3035: QP_PREQ_GRP.engine_debug('Limits Code Not Executed.Did call Recurring Qty Routine');
3036: QP_PREQ_GRP.engine_debug('After Recurring Routine Value --- #2 : ' || x_benefit_line_qty);
3037:
3038: END IF;
3039: END IF;

Line 3036: QP_PREQ_GRP.engine_debug('After Recurring Routine Value --- #2 : ' || x_benefit_line_qty);

3032: p_request_line_details(v_index).OPERAND_VALUE := x_benefit_line_qty;
3033:
3034: IF l_debug = FND_API.G_TRUE THEN
3035: QP_PREQ_GRP.engine_debug('Limits Code Not Executed.Did call Recurring Qty Routine');
3036: QP_PREQ_GRP.engine_debug('After Recurring Routine Value --- #2 : ' || x_benefit_line_qty);
3037:
3038: END IF;
3039: END IF;
3040:

Line 3041: IF (p_request_line_details(v_index).PRICE_BREAK_TYPE_CODE = QP_PREQ_GRP.G_RECURRING_BREAK AND

3037:
3038: END IF;
3039: END IF;
3040:
3041: IF (p_request_line_details(v_index).PRICE_BREAK_TYPE_CODE = QP_PREQ_GRP.G_RECURRING_BREAK AND
3042: QP_PREQ_GRP.G_LIMITS_CODE_EXECUTED = QP_PREQ_GRP.G_YES) THEN
3043: IF l_debug = FND_API.G_TRUE THEN
3044: QP_PREQ_GRP.engine_debug('Limits Code Executed.Do not calculate OPERAND value 2nd time.');
3045: QP_PREQ_GRP.engine_debug('List Line Id: ' || p_request_line_details(v_index).CREATED_FROM_LIST_LINE_ID );

Line 3042: QP_PREQ_GRP.G_LIMITS_CODE_EXECUTED = QP_PREQ_GRP.G_YES) THEN

3038: END IF;
3039: END IF;
3040:
3041: IF (p_request_line_details(v_index).PRICE_BREAK_TYPE_CODE = QP_PREQ_GRP.G_RECURRING_BREAK AND
3042: QP_PREQ_GRP.G_LIMITS_CODE_EXECUTED = QP_PREQ_GRP.G_YES) THEN
3043: IF l_debug = FND_API.G_TRUE THEN
3044: QP_PREQ_GRP.engine_debug('Limits Code Executed.Do not calculate OPERAND value 2nd time.');
3045: QP_PREQ_GRP.engine_debug('List Line Id: ' || p_request_line_details(v_index).CREATED_FROM_LIST_LINE_ID );
3046: QP_PREQ_GRP.engine_debug('List Line Index: ' || p_request_line.LINE_INDEX );

Line 3044: QP_PREQ_GRP.engine_debug('Limits Code Executed.Do not calculate OPERAND value 2nd time.');

3040:
3041: IF (p_request_line_details(v_index).PRICE_BREAK_TYPE_CODE = QP_PREQ_GRP.G_RECURRING_BREAK AND
3042: QP_PREQ_GRP.G_LIMITS_CODE_EXECUTED = QP_PREQ_GRP.G_YES) THEN
3043: IF l_debug = FND_API.G_TRUE THEN
3044: QP_PREQ_GRP.engine_debug('Limits Code Executed.Do not calculate OPERAND value 2nd time.');
3045: QP_PREQ_GRP.engine_debug('List Line Id: ' || p_request_line_details(v_index).CREATED_FROM_LIST_LINE_ID );
3046: QP_PREQ_GRP.engine_debug('List Line Index: ' || p_request_line.LINE_INDEX );
3047: QP_PREQ_GRP.engine_debug('Recurring Value: ' || p_request_line_details(v_index).OPERAND_VALUE );
3048: END IF;

Line 3045: QP_PREQ_GRP.engine_debug('List Line Id: ' || p_request_line_details(v_index).CREATED_FROM_LIST_LINE_ID );

3041: IF (p_request_line_details(v_index).PRICE_BREAK_TYPE_CODE = QP_PREQ_GRP.G_RECURRING_BREAK AND
3042: QP_PREQ_GRP.G_LIMITS_CODE_EXECUTED = QP_PREQ_GRP.G_YES) THEN
3043: IF l_debug = FND_API.G_TRUE THEN
3044: QP_PREQ_GRP.engine_debug('Limits Code Executed.Do not calculate OPERAND value 2nd time.');
3045: QP_PREQ_GRP.engine_debug('List Line Id: ' || p_request_line_details(v_index).CREATED_FROM_LIST_LINE_ID );
3046: QP_PREQ_GRP.engine_debug('List Line Index: ' || p_request_line.LINE_INDEX );
3047: QP_PREQ_GRP.engine_debug('Recurring Value: ' || p_request_line_details(v_index).OPERAND_VALUE );
3048: END IF;
3049: END IF;

Line 3046: QP_PREQ_GRP.engine_debug('List Line Index: ' || p_request_line.LINE_INDEX );

3042: QP_PREQ_GRP.G_LIMITS_CODE_EXECUTED = QP_PREQ_GRP.G_YES) THEN
3043: IF l_debug = FND_API.G_TRUE THEN
3044: QP_PREQ_GRP.engine_debug('Limits Code Executed.Do not calculate OPERAND value 2nd time.');
3045: QP_PREQ_GRP.engine_debug('List Line Id: ' || p_request_line_details(v_index).CREATED_FROM_LIST_LINE_ID );
3046: QP_PREQ_GRP.engine_debug('List Line Index: ' || p_request_line.LINE_INDEX );
3047: QP_PREQ_GRP.engine_debug('Recurring Value: ' || p_request_line_details(v_index).OPERAND_VALUE );
3048: END IF;
3049: END IF;
3050: */

Line 3047: QP_PREQ_GRP.engine_debug('Recurring Value: ' || p_request_line_details(v_index).OPERAND_VALUE );

3043: IF l_debug = FND_API.G_TRUE THEN
3044: QP_PREQ_GRP.engine_debug('Limits Code Executed.Do not calculate OPERAND value 2nd time.');
3045: QP_PREQ_GRP.engine_debug('List Line Id: ' || p_request_line_details(v_index).CREATED_FROM_LIST_LINE_ID );
3046: QP_PREQ_GRP.engine_debug('List Line Index: ' || p_request_line.LINE_INDEX );
3047: QP_PREQ_GRP.engine_debug('Recurring Value: ' || p_request_line_details(v_index).OPERAND_VALUE );
3048: END IF;
3049: END IF;
3050: */
3051:

Line 3052: IF (nvl(p_request_line_details(v_index).ACCRUAL_FLAG, QP_PREQ_GRP.G_NO) = QP_PREQ_GRP.G_YES) THEN

3048: END IF;
3049: END IF;
3050: */
3051:
3052: IF (nvl(p_request_line_details(v_index).ACCRUAL_FLAG, QP_PREQ_GRP.G_NO) = QP_PREQ_GRP.G_YES) THEN
3053: IF l_debug = FND_API.G_TRUE THEN
3054: QP_PREQ_GRP.engine_debug('OPERAND_CALCULATION_CODE is ' || p_request_line_details(v_index).OPERAND_CALCULATION_CODE);
3055: QP_PREQ_GRP.engine_debug('v_ord_qty is ' || v_ord_qty);
3056: END IF;

Line 3054: QP_PREQ_GRP.engine_debug('OPERAND_CALCULATION_CODE is ' || p_request_line_details(v_index).OPERAND_CALCULATION_CODE);

3050: */
3051:
3052: IF (nvl(p_request_line_details(v_index).ACCRUAL_FLAG, QP_PREQ_GRP.G_NO) = QP_PREQ_GRP.G_YES) THEN
3053: IF l_debug = FND_API.G_TRUE THEN
3054: QP_PREQ_GRP.engine_debug('OPERAND_CALCULATION_CODE is ' || p_request_line_details(v_index).OPERAND_CALCULATION_CODE);
3055: QP_PREQ_GRP.engine_debug('v_ord_qty is ' || v_ord_qty);
3056: END IF;
3057: -- bug 4002891 - benefit_qty should be multiplied by ordered_qty for application_method other than LUMPSUM
3058: IF p_request_line_details(v_index).OPERAND_CALCULATION_CODE = QP_PREQ_GRP.G_LUMPSUM_DISCOUNT THEN

Line 3055: QP_PREQ_GRP.engine_debug('v_ord_qty is ' || v_ord_qty);

3051:
3052: IF (nvl(p_request_line_details(v_index).ACCRUAL_FLAG, QP_PREQ_GRP.G_NO) = QP_PREQ_GRP.G_YES) THEN
3053: IF l_debug = FND_API.G_TRUE THEN
3054: QP_PREQ_GRP.engine_debug('OPERAND_CALCULATION_CODE is ' || p_request_line_details(v_index).OPERAND_CALCULATION_CODE);
3055: QP_PREQ_GRP.engine_debug('v_ord_qty is ' || v_ord_qty);
3056: END IF;
3057: -- bug 4002891 - benefit_qty should be multiplied by ordered_qty for application_method other than LUMPSUM
3058: IF p_request_line_details(v_index).OPERAND_CALCULATION_CODE = QP_PREQ_GRP.G_LUMPSUM_DISCOUNT THEN
3059: p_request_line_details(v_index).BENEFIT_QTY :=

Line 3058: IF p_request_line_details(v_index).OPERAND_CALCULATION_CODE = QP_PREQ_GRP.G_LUMPSUM_DISCOUNT THEN

3054: QP_PREQ_GRP.engine_debug('OPERAND_CALCULATION_CODE is ' || p_request_line_details(v_index).OPERAND_CALCULATION_CODE);
3055: QP_PREQ_GRP.engine_debug('v_ord_qty is ' || v_ord_qty);
3056: END IF;
3057: -- bug 4002891 - benefit_qty should be multiplied by ordered_qty for application_method other than LUMPSUM
3058: IF p_request_line_details(v_index).OPERAND_CALCULATION_CODE = QP_PREQ_GRP.G_LUMPSUM_DISCOUNT THEN
3059: p_request_line_details(v_index).BENEFIT_QTY :=
3060: p_request_line_details(v_index).OPERAND_VALUE *
3061: 1 / nvl(p_request_line_details(v_index).ACCRUAL_CONVERSION_RATE, 1) *
3062: nvl(p_request_line_details(v_index).ESTIM_ACCRUAL_RATE, 100) / 100;

Line 3074: IN (QP_PREQ_GRP.G_LINE_LEVEL

3070:
3071: --4900095
3072: --calculate lumpsum qty for svc lines
3073: IF p_request_line_details(v_index).modifier_level_code
3074: IN (QP_PREQ_GRP.G_LINE_LEVEL
3075: , QP_PREQ_GRP.G_LINE_GROUP)
3076: AND p_request_line_details(v_index).operand_calculation_code
3077: = QP_PREQ_GRP.G_LUMPSUM_DISCOUNT THEN
3078: --G_Lumpsum_qty will be not null only for service items

Line 3075: , QP_PREQ_GRP.G_LINE_GROUP)

3071: --4900095
3072: --calculate lumpsum qty for svc lines
3073: IF p_request_line_details(v_index).modifier_level_code
3074: IN (QP_PREQ_GRP.G_LINE_LEVEL
3075: , QP_PREQ_GRP.G_LINE_GROUP)
3076: AND p_request_line_details(v_index).operand_calculation_code
3077: = QP_PREQ_GRP.G_LUMPSUM_DISCOUNT THEN
3078: --G_Lumpsum_qty will be not null only for service items
3079: --when uom_quantity is passed as null,

Line 3077: = QP_PREQ_GRP.G_LUMPSUM_DISCOUNT THEN

3073: IF p_request_line_details(v_index).modifier_level_code
3074: IN (QP_PREQ_GRP.G_LINE_LEVEL
3075: , QP_PREQ_GRP.G_LINE_GROUP)
3076: AND p_request_line_details(v_index).operand_calculation_code
3077: = QP_PREQ_GRP.G_LUMPSUM_DISCOUNT THEN
3078: --G_Lumpsum_qty will be not null only for service items
3079: --when uom_quantity is passed as null,
3080: -- and contract_start/end_dates are passed
3081: --and for a line/linegroup lumpsum DIS/PBH/SUR/FREIGHT

Line 3086: QP_PREQ_GRP.engine_debug('Lumpsum_qty '

3082: G_Lumpsum_qty := Get_lumpsum_qty(l_line_index,
3083: p_request_line_details(v_index).line_detail_index,
3084: p_request_line_details(v_index).modifier_level_code);
3085: IF l_debug = FND_API.G_TRUE THEN
3086: QP_PREQ_GRP.engine_debug('Lumpsum_qty '
3087: || G_Lumpsum_qty);
3088: END IF;
3089: END IF; --p_request_line_details(v_index).modifier_level_code
3090:

Line 3102: p_rounding_flag => nvl(QP_PREQ_GRP.G_ROUNDING_FLAG, 'Y'), -- shu, aso debug 2457629

3098: p_list_line_type => p_request_line_details(v_index).CREATED_FROM_LIST_LINE_TYPE,
3099: p_request_qty => v_ord_qty,
3100: p_accrual_flag => p_request_line_details(v_index).ACCRUAL_FLAG,
3101: --p_rounding_flag => nvl(p_request_line.ROUNDING_FLAG,'Y'),
3102: p_rounding_flag => nvl(QP_PREQ_GRP.G_ROUNDING_FLAG, 'Y'), -- shu, aso debug 2457629
3103: p_rounding_factor => ( - 1) * p_request_line.ROUNDING_FACTOR,
3104: p_orig_unit_price => p_request_line.UNIT_PRICE,
3105: x_discounted_price => x_discounted_price, -- Output Discounted Price
3106: x_adjusted_amount => x_adjusted_amount,

Line 3120: QP_PREQ_GRP.engine_debug('Adjusted Amount: ' || x_adjusted_amount);

3116: v_discounted_price := x_discounted_price;
3117: v_list_price := x_List_price;
3118:
3119: IF l_debug = FND_API.G_TRUE THEN
3120: QP_PREQ_GRP.engine_debug('Adjusted Amount: ' || x_adjusted_amount);
3121:
3122: END IF;
3123: -- Update the adjusted amount on the request line
3124: p_request_line_details(v_index).ADJUSTMENT_AMOUNT := nvl(x_adjusted_amount, 0);

Line 3133: QP_PREQ_GRP.G_CHARGES_HEADER) THEN

3129: -- is same as updating once, because the adjusted_unit_price value gets overwritten
3130: -- Total Adjustment amount is not calculated for freight charges
3131:
3132: IF (p_request_line_details(v_index).CREATED_FROM_LIST_TYPE <>
3133: QP_PREQ_GRP.G_CHARGES_HEADER) THEN
3134: IF (nvl(p_request_line_details(v_index).ACCRUAL_FLAG, QP_PREQ_GRP.G_NO) <> QP_PREQ_GRP.G_YES AND
3135: p_request_line_details(v_index).AUTOMATIC_FLAG <> QP_PREQ_GRP.G_NO) THEN
3136: v_total_adj_amt := nvl(v_total_adj_amt, 0) + nvl(x_adjusted_amount, 0);
3137: END IF;

Line 3134: IF (nvl(p_request_line_details(v_index).ACCRUAL_FLAG, QP_PREQ_GRP.G_NO) <> QP_PREQ_GRP.G_YES AND

3130: -- Total Adjustment amount is not calculated for freight charges
3131:
3132: IF (p_request_line_details(v_index).CREATED_FROM_LIST_TYPE <>
3133: QP_PREQ_GRP.G_CHARGES_HEADER) THEN
3134: IF (nvl(p_request_line_details(v_index).ACCRUAL_FLAG, QP_PREQ_GRP.G_NO) <> QP_PREQ_GRP.G_YES AND
3135: p_request_line_details(v_index).AUTOMATIC_FLAG <> QP_PREQ_GRP.G_NO) THEN
3136: v_total_adj_amt := nvl(v_total_adj_amt, 0) + nvl(x_adjusted_amount, 0);
3137: END IF;
3138: --[prarasto:Post Round]removed rounding of unit selling price, the unrounded value will be

Line 3135: p_request_line_details(v_index).AUTOMATIC_FLAG <> QP_PREQ_GRP.G_NO) THEN

3131:
3132: IF (p_request_line_details(v_index).CREATED_FROM_LIST_TYPE <>
3133: QP_PREQ_GRP.G_CHARGES_HEADER) THEN
3134: IF (nvl(p_request_line_details(v_index).ACCRUAL_FLAG, QP_PREQ_GRP.G_NO) <> QP_PREQ_GRP.G_YES AND
3135: p_request_line_details(v_index).AUTOMATIC_FLAG <> QP_PREQ_GRP.G_NO) THEN
3136: v_total_adj_amt := nvl(v_total_adj_amt, 0) + nvl(x_adjusted_amount, 0);
3137: END IF;
3138: --[prarasto:Post Round]removed rounding of unit selling price, the unrounded value will be
3139: --sent from calculation engine and it will be rounded in QP_PREQ_GRP.Call_Calculation_Engine

Line 3139: --sent from calculation engine and it will be rounded in QP_PREQ_GRP.Call_Calculation_Engine

3135: p_request_line_details(v_index).AUTOMATIC_FLAG <> QP_PREQ_GRP.G_NO) THEN
3136: v_total_adj_amt := nvl(v_total_adj_amt, 0) + nvl(x_adjusted_amount, 0);
3137: END IF;
3138: --[prarasto:Post Round]removed rounding of unit selling price, the unrounded value will be
3139: --sent from calculation engine and it will be rounded in QP_PREQ_GRP.Call_Calculation_Engine
3140: /*
3141:
3142: -- DO UNIT SELLING PRICE ROUNDING HERE, shu
3143:

Line 3144: --IF (( nvl(p_request_line.rounding_flag, QP_PREQ_GRP.G_YES) = QP_PREQ_GRP.G_YES OR p_request_line.rounding_flag = G_CHAR_U) and p_request_line.rounding_factor IS NOT NULL) THEN -- shu

3140: /*
3141:
3142: -- DO UNIT SELLING PRICE ROUNDING HERE, shu
3143:
3144: --IF (( nvl(p_request_line.rounding_flag, QP_PREQ_GRP.G_YES) = QP_PREQ_GRP.G_YES OR p_request_line.rounding_flag = G_CHAR_U) and p_request_line.rounding_factor IS NOT NULL) THEN -- shu
3145: IF (nvl(QP_PREQ_GRP.G_ROUNDING_FLAG,'Y')='Y' OR QP_PREQ_GRP.G_ROUNDING_FLAG = G_CHAR_U) and p_request_line.rounding_factor IS NOT NULL THEN-- aso rounding, 2457629, shu
3146: p_request_line.ADJUSTED_UNIT_PRICE := ROUND ((p_request_line.UNIT_PRICE + nvl(v_total_adj_amt,0)), (-1) * p_request_line.rounding_factor);
3147: ELSIF (QP_PREQ_GRP.G_ROUNDING_FLAG = G_CHAR_Q) THEN -- check qp_selling_price_rounding_options profile -- shu, new rounding
3148: IF ((v_price_round_options = G_ROUND_ADJ OR v_price_round_options = G_NO_ROUND_ADJ) AND p_request_line.rounding_factor IS NOT NULL) THEN -- do not round if profile is null

Line 3145: IF (nvl(QP_PREQ_GRP.G_ROUNDING_FLAG,'Y')='Y' OR QP_PREQ_GRP.G_ROUNDING_FLAG = G_CHAR_U) and p_request_line.rounding_factor IS NOT NULL THEN-- aso rounding, 2457629, shu

3141:
3142: -- DO UNIT SELLING PRICE ROUNDING HERE, shu
3143:
3144: --IF (( nvl(p_request_line.rounding_flag, QP_PREQ_GRP.G_YES) = QP_PREQ_GRP.G_YES OR p_request_line.rounding_flag = G_CHAR_U) and p_request_line.rounding_factor IS NOT NULL) THEN -- shu
3145: IF (nvl(QP_PREQ_GRP.G_ROUNDING_FLAG,'Y')='Y' OR QP_PREQ_GRP.G_ROUNDING_FLAG = G_CHAR_U) and p_request_line.rounding_factor IS NOT NULL THEN-- aso rounding, 2457629, shu
3146: p_request_line.ADJUSTED_UNIT_PRICE := ROUND ((p_request_line.UNIT_PRICE + nvl(v_total_adj_amt,0)), (-1) * p_request_line.rounding_factor);
3147: ELSIF (QP_PREQ_GRP.G_ROUNDING_FLAG = G_CHAR_Q) THEN -- check qp_selling_price_rounding_options profile -- shu, new rounding
3148: IF ((v_price_round_options = G_ROUND_ADJ OR v_price_round_options = G_NO_ROUND_ADJ) AND p_request_line.rounding_factor IS NOT NULL) THEN -- do not round if profile is null
3149: p_request_line.ADJUSTED_UNIT_PRICE := ROUND ((p_request_line.UNIT_PRICE + nvl(v_total_adj_amt,0)), (-1) * p_request_line.rounding_factor);

Line 3147: ELSIF (QP_PREQ_GRP.G_ROUNDING_FLAG = G_CHAR_Q) THEN -- check qp_selling_price_rounding_options profile -- shu, new rounding

3143:
3144: --IF (( nvl(p_request_line.rounding_flag, QP_PREQ_GRP.G_YES) = QP_PREQ_GRP.G_YES OR p_request_line.rounding_flag = G_CHAR_U) and p_request_line.rounding_factor IS NOT NULL) THEN -- shu
3145: IF (nvl(QP_PREQ_GRP.G_ROUNDING_FLAG,'Y')='Y' OR QP_PREQ_GRP.G_ROUNDING_FLAG = G_CHAR_U) and p_request_line.rounding_factor IS NOT NULL THEN-- aso rounding, 2457629, shu
3146: p_request_line.ADJUSTED_UNIT_PRICE := ROUND ((p_request_line.UNIT_PRICE + nvl(v_total_adj_amt,0)), (-1) * p_request_line.rounding_factor);
3147: ELSIF (QP_PREQ_GRP.G_ROUNDING_FLAG = G_CHAR_Q) THEN -- check qp_selling_price_rounding_options profile -- shu, new rounding
3148: IF ((v_price_round_options = G_ROUND_ADJ OR v_price_round_options = G_NO_ROUND_ADJ) AND p_request_line.rounding_factor IS NOT NULL) THEN -- do not round if profile is null
3149: p_request_line.ADJUSTED_UNIT_PRICE := ROUND ((p_request_line.UNIT_PRICE + nvl(v_total_adj_amt,0)), (-1) * p_request_line.rounding_factor);
3150: ELSE -- NO_ROUND
3151: p_request_line.ADJUSTED_UNIT_PRICE := p_request_line.UNIT_PRICE + nvl(v_total_adj_amt,0);

Line 3165: QP_PREQ_GRP.engine_debug('The Adjusted Amount is: ' || v_total_adj_amt);

3161:
3162: END IF;
3163:
3164: IF l_debug = FND_API.G_TRUE THEN
3165: QP_PREQ_GRP.engine_debug('The Adjusted Amount is: ' || v_total_adj_amt);
3166: QP_PREQ_GRP.engine_debug('The Unit Price: ' || p_request_line.UNIT_PRICE );
3167: QP_PREQ_GRP.engine_debug('The Adjusted Price: ' || p_request_line.ADJUSTED_UNIT_PRICE );
3168:
3169: END IF;

Line 3166: QP_PREQ_GRP.engine_debug('The Unit Price: ' || p_request_line.UNIT_PRICE );

3162: END IF;
3163:
3164: IF l_debug = FND_API.G_TRUE THEN
3165: QP_PREQ_GRP.engine_debug('The Adjusted Amount is: ' || v_total_adj_amt);
3166: QP_PREQ_GRP.engine_debug('The Unit Price: ' || p_request_line.UNIT_PRICE );
3167: QP_PREQ_GRP.engine_debug('The Adjusted Price: ' || p_request_line.ADJUSTED_UNIT_PRICE );
3168:
3169: END IF;
3170: END IF;

Line 3167: QP_PREQ_GRP.engine_debug('The Adjusted Price: ' || p_request_line.ADJUSTED_UNIT_PRICE );

3163:
3164: IF l_debug = FND_API.G_TRUE THEN
3165: QP_PREQ_GRP.engine_debug('The Adjusted Amount is: ' || v_total_adj_amt);
3166: QP_PREQ_GRP.engine_debug('The Unit Price: ' || p_request_line.UNIT_PRICE );
3167: QP_PREQ_GRP.engine_debug('The Adjusted Price: ' || p_request_line.ADJUSTED_UNIT_PRICE );
3168:
3169: END IF;
3170: END IF;
3171: EXIT WHEN v_index = p_request_line_details.LAST;

Line 3178: QP_PREQ_GRP.engine_debug ('V_List_Price is null');

3174:
3175: -- If price list is not passed , round the unit price and adjusted unit price
3176: IF (v_list_price IS NULL) THEN
3177: IF l_debug = FND_API.G_TRUE THEN
3178: QP_PREQ_GRP.engine_debug ('V_List_Price is null');
3179: END IF;
3180: v_list_price := p_request_line.UNIT_PRICE ;
3181: IF l_debug = FND_API.G_TRUE THEN
3182: QP_PREQ_GRP.engine_debug ('List Price after rounding: ' || v_list_price);

Line 3182: QP_PREQ_GRP.engine_debug ('List Price after rounding: ' || v_list_price);

3178: QP_PREQ_GRP.engine_debug ('V_List_Price is null');
3179: END IF;
3180: v_list_price := p_request_line.UNIT_PRICE ;
3181: IF l_debug = FND_API.G_TRUE THEN
3182: QP_PREQ_GRP.engine_debug ('List Price after rounding: ' || v_list_price);
3183: END IF;
3184:
3185: -- shu new rounding
3186: IF (nvl(QP_PREQ_GRP.G_ROUNDING_FLAG, QP_PREQ_GRP.G_YES) = QP_PREQ_GRP.G_YES -- aso rounding, shu, 2457629

Line 3186: IF (nvl(QP_PREQ_GRP.G_ROUNDING_FLAG, QP_PREQ_GRP.G_YES) = QP_PREQ_GRP.G_YES -- aso rounding, shu, 2457629

3182: QP_PREQ_GRP.engine_debug ('List Price after rounding: ' || v_list_price);
3183: END IF;
3184:
3185: -- shu new rounding
3186: IF (nvl(QP_PREQ_GRP.G_ROUNDING_FLAG, QP_PREQ_GRP.G_YES) = QP_PREQ_GRP.G_YES -- aso rounding, shu, 2457629
3187: AND p_request_line.rounding_factor IS NOT NULL) THEN -- shu new rounding
3188:
3189: p_request_line.UNIT_PRICE := ROUND(v_list_price, p_request_line.ROUNDING_FACTOR * ( - 1));
3190: v_list_price := ROUND(v_list_price, p_request_line.ROUNDING_FACTOR * ( - 1));

Line 3192: ELSIF (QP_PREQ_GRP.G_ROUNDING_FLAG = G_CHAR_Q) THEN -- aso rounding, shu, 2457629

3188:
3189: p_request_line.UNIT_PRICE := ROUND(v_list_price, p_request_line.ROUNDING_FACTOR * ( - 1));
3190: v_list_price := ROUND(v_list_price, p_request_line.ROUNDING_FACTOR * ( - 1));
3191:
3192: ELSIF (QP_PREQ_GRP.G_ROUNDING_FLAG = G_CHAR_Q) THEN -- aso rounding, shu, 2457629
3193: -- no round if rounding_flag is Q bug QP profile is null
3194: IF v_price_round_options = G_ROUND_ADJ AND p_request_line.rounding_factor IS NOT NULL THEN -- bug 2415571
3195: p_request_line.UNIT_PRICE := ROUND(v_list_price, p_request_line.ROUNDING_FACTOR * ( - 1));
3196: v_list_price := ROUND(v_list_price, p_request_line.ROUNDING_FACTOR * ( - 1));

Line 3202: QP_PREQ_GRP.engine_debug ('List Price after rounding1: ' || p_request_line.UNIT_PRICE);

3198:
3199: END IF;
3200:
3201: IF l_debug = FND_API.G_TRUE THEN
3202: QP_PREQ_GRP.engine_debug ('List Price after rounding1: ' || p_request_line.UNIT_PRICE);
3203: QP_PREQ_GRP.engine_debug ('List Price after rounding2: ' || v_list_price);
3204: END IF;
3205: v_discounted_price := nvl(p_request_line.ADJUSTED_UNIT_PRICE, v_list_price);
3206: END IF;

Line 3203: QP_PREQ_GRP.engine_debug ('List Price after rounding2: ' || v_list_price);

3199: END IF;
3200:
3201: IF l_debug = FND_API.G_TRUE THEN
3202: QP_PREQ_GRP.engine_debug ('List Price after rounding1: ' || p_request_line.UNIT_PRICE);
3203: QP_PREQ_GRP.engine_debug ('List Price after rounding2: ' || v_list_price);
3204: END IF;
3205: v_discounted_price := nvl(p_request_line.ADJUSTED_UNIT_PRICE, v_list_price);
3206: END IF;
3207:

Line 3209: IF (p_request_line.GSA_QUALIFIER_FLAG IS NULL AND nvl(QP_PREQ_GRP.G_GSA_CHECK_FLAG, 'Y') = QP_PREQ_GRP.G_YES AND

3205: v_discounted_price := nvl(p_request_line.ADJUSTED_UNIT_PRICE, v_list_price);
3206: END IF;
3207:
3208: -- Call GSA Check only for non-gsa customers(where GSA_QUALIFIER_FLAG IS NULL)
3209: IF (p_request_line.GSA_QUALIFIER_FLAG IS NULL AND nvl(QP_PREQ_GRP.G_GSA_CHECK_FLAG, 'Y') = QP_PREQ_GRP.G_YES AND
3210: p_request_line.GSA_ENABLED_FLAG = QP_PREQ_GRP.G_YES AND
3211: QP_PREQ_GRP.G_GSA_DUP_CHECK_FLAG = QP_PREQ_GRP.G_YES ) THEN
3212: GSA_Max_Discount_Check(p_request_line.ADJUSTED_UNIT_PRICE,
3213: p_request_line.LINE_INDEX,

Line 3210: p_request_line.GSA_ENABLED_FLAG = QP_PREQ_GRP.G_YES AND

3206: END IF;
3207:
3208: -- Call GSA Check only for non-gsa customers(where GSA_QUALIFIER_FLAG IS NULL)
3209: IF (p_request_line.GSA_QUALIFIER_FLAG IS NULL AND nvl(QP_PREQ_GRP.G_GSA_CHECK_FLAG, 'Y') = QP_PREQ_GRP.G_YES AND
3210: p_request_line.GSA_ENABLED_FLAG = QP_PREQ_GRP.G_YES AND
3211: QP_PREQ_GRP.G_GSA_DUP_CHECK_FLAG = QP_PREQ_GRP.G_YES ) THEN
3212: GSA_Max_Discount_Check(p_request_line.ADJUSTED_UNIT_PRICE,
3213: p_request_line.LINE_INDEX,
3214: p_request_line.PRICING_EFFECTIVE_DATE,

Line 3211: QP_PREQ_GRP.G_GSA_DUP_CHECK_FLAG = QP_PREQ_GRP.G_YES ) THEN

3207:
3208: -- Call GSA Check only for non-gsa customers(where GSA_QUALIFIER_FLAG IS NULL)
3209: IF (p_request_line.GSA_QUALIFIER_FLAG IS NULL AND nvl(QP_PREQ_GRP.G_GSA_CHECK_FLAG, 'Y') = QP_PREQ_GRP.G_YES AND
3210: p_request_line.GSA_ENABLED_FLAG = QP_PREQ_GRP.G_YES AND
3211: QP_PREQ_GRP.G_GSA_DUP_CHECK_FLAG = QP_PREQ_GRP.G_YES ) THEN
3212: GSA_Max_Discount_Check(p_request_line.ADJUSTED_UNIT_PRICE,
3213: p_request_line.LINE_INDEX,
3214: p_request_line.PRICING_EFFECTIVE_DATE,
3215: x_ret_status,

Line 3217: IF(x_ret_status = QP_PREQ_GRP.G_STATUS_GSA_VIOLATION) THEN

3213: p_request_line.LINE_INDEX,
3214: p_request_line.PRICING_EFFECTIVE_DATE,
3215: x_ret_status,
3216: x_ret_status_txt);
3217: IF(x_ret_status = QP_PREQ_GRP.G_STATUS_GSA_VIOLATION) THEN
3218: x_return_status := QP_PREQ_GRP.G_STATUS_GSA_VIOLATION;
3219: x_return_status_txt := x_ret_status_txt;
3220: END IF;
3221: END IF;

Line 3218: x_return_status := QP_PREQ_GRP.G_STATUS_GSA_VIOLATION;

3214: p_request_line.PRICING_EFFECTIVE_DATE,
3215: x_ret_status,
3216: x_ret_status_txt);
3217: IF(x_ret_status = QP_PREQ_GRP.G_STATUS_GSA_VIOLATION) THEN
3218: x_return_status := QP_PREQ_GRP.G_STATUS_GSA_VIOLATION;
3219: x_return_status_txt := x_ret_status_txt;
3220: END IF;
3221: END IF;
3222: IF l_debug = FND_API.G_TRUE THEN

Line 3223: QP_PREQ_GRP.engine_debug ('Before Update List Price after rounding1: ' || p_request_line.UNIT_PRICE);

3219: x_return_status_txt := x_ret_status_txt;
3220: END IF;
3221: END IF;
3222: IF l_debug = FND_API.G_TRUE THEN
3223: QP_PREQ_GRP.engine_debug ('Before Update List Price after rounding1: ' || p_request_line.UNIT_PRICE);
3224:
3225: END IF;
3226: -- Populate the Output records
3227: --p_request_line := p_request_line;

Line 3233: QP_PREQ_GRP.engine_debug(v_routine_name || ' ' || x_ret_status_txt);

3229: --p_related_request_lines := p_related_request_lines;
3230: EXCEPTION
3231: WHEN FND_API.G_EXC_ERROR THEN
3232: IF l_debug = FND_API.G_TRUE THEN
3233: QP_PREQ_GRP.engine_debug(v_routine_name || ' ' || x_ret_status_txt);
3234: END IF;
3235: x_return_status := FND_API.G_RET_STS_ERROR;
3236: x_return_status_txt := v_routine_name || ' ' || x_ret_status_txt;
3237: WHEN OTHERS THEN

Line 3239: QP_PREQ_GRP.engine_debug(v_routine_name || ' ' || SQLERRM);

3235: x_return_status := FND_API.G_RET_STS_ERROR;
3236: x_return_status_txt := v_routine_name || ' ' || x_ret_status_txt;
3237: WHEN OTHERS THEN
3238: IF l_debug = FND_API.G_TRUE THEN
3239: QP_PREQ_GRP.engine_debug(v_routine_name || ' ' || SQLERRM);
3240: END IF;
3241: x_return_status := FND_API.G_RET_STS_ERROR;
3242: x_return_status_txt := v_routine_name || ' ' || SQLERRM;
3243: