The following lines contain the word 'select', 'insert', 'update' or 'delete':
IF NOT QP_GLOBALS.Equal(p_PRICING_ATTR_rec.last_updated_by,p_old_PRICING_ATTR_rec.last_updated_by)
THEN
l_index := l_index + 1;
l_src_attr_tbl(l_index) := QP_PRICING_ATTR_UTIL.G_LAST_UPDATED_BY;
IF NOT QP_GLOBALS.Equal(p_PRICING_ATTR_rec.last_update_date,p_old_PRICING_ATTR_rec.last_update_date)
THEN
l_index := l_index + 1;
l_src_attr_tbl(l_index) := QP_PRICING_ATTR_UTIL.G_LAST_UPDATE_DATE;
IF NOT QP_GLOBALS.Equal(p_PRICING_ATTR_rec.last_update_login,p_old_PRICING_ATTR_rec.last_update_login)
THEN
l_index := l_index + 1;
l_src_attr_tbl(l_index) := QP_PRICING_ATTR_UTIL.G_LAST_UPDATE_LOGIN;
IF NOT QP_GLOBALS.Equal(p_PRICING_ATTR_rec.program_update_date,p_old_PRICING_ATTR_rec.program_update_date)
THEN
l_index := l_index + 1;
l_src_attr_tbl(l_index) := QP_PRICING_ATTR_UTIL.G_PROGRAM_UPDATE_DATE;
ELSIF p_attr_id = G_LAST_UPDATED_BY THEN
l_index := l_index + 1;
l_src_attr_tbl(l_index) := QP_PRICING_ATTR_UTIL.G_LAST_UPDATED_BY;
ELSIF p_attr_id = G_LAST_UPDATE_DATE THEN
l_index := l_index + 1;
l_src_attr_tbl(l_index) := QP_PRICING_ATTR_UTIL.G_LAST_UPDATE_DATE;
ELSIF p_attr_id = G_LAST_UPDATE_LOGIN THEN
l_index := l_index + 1;
l_src_attr_tbl(l_index) := QP_PRICING_ATTR_UTIL.G_LAST_UPDATE_LOGIN;
ELSIF p_attr_id = G_PROGRAM_UPDATE_DATE THEN
l_index := l_index + 1;
l_src_attr_tbl(l_index) := QP_PRICING_ATTR_UTIL.G_PROGRAM_UPDATE_DATE;
IF NOT QP_GLOBALS.Equal(p_PRICING_ATTR_rec.last_updated_by,p_old_PRICING_ATTR_rec.last_updated_by)
THEN
NULL;
IF NOT QP_GLOBALS.Equal(p_PRICING_ATTR_rec.last_update_date,p_old_PRICING_ATTR_rec.last_update_date)
THEN
NULL;
IF NOT QP_GLOBALS.Equal(p_PRICING_ATTR_rec.last_update_login,p_old_PRICING_ATTR_rec.last_update_login)
THEN
NULL;
select list_header_id into x_PRICING_ATTR_rec.list_header_id
from qp_list_lines
where list_line_id = p_PRICING_ATTR_rec.list_line_id;
select pricing_phase_id into x_PRICING_ATTR_rec.pricing_phase_id
from qp_list_lines
where list_line_id = p_PRICING_ATTR_rec.list_line_id;
p_request_type =>QP_GLOBALS.G_UPDATE_LINE_QUAL_IND,
x_return_status => l_return_status);
p_request_type =>QP_GLOBALS.G_UPDATE_LINE_QUAL_IND,
x_return_status => l_return_status);
SELECT RLTD_MODIFIER_GRP_TYPE
INTO l_rltd_modifier_grp_type
FROM qp_rltd_modifiers rm
WHERE rm.TO_RLTD_MODIFIER_ID = p_PRICING_ATTR_rec.list_line_id;
p_request_type =>QP_GLOBALS.G_UPDATE_LINE_QUAL_IND,
x_return_status => l_return_status);
IF p_PRICING_ATTR_rec.operation = QP_GLOBALS.G_OPR_UPDATE
THEN
UPDATE qp_pricing_attributes
SET product_uom_code = p_PRICING_ATTR_rec.product_uom_code
WHERE list_line_id = p_PRICING_ATTR_rec.list_line_id;
update qp_pricing_attributes
SET product_uom_code = p_PRICING_ATTR_rec.product_uom_code
where list_line_id in
(
select to_rltd_modifier_id
from qp_list_lines ql, qp_rltd_modifiers qrm
where from_rltd_modifier_id= p_PRICING_ATTR_rec.list_line_id
AND qrm.to_rltd_modifier_id = ql.list_line_id
AND qrm.rltd_modifier_grp_type = 'PRICE BREAK'
) ;
IF (p_PRICING_ATTR_rec.operation = OE_GLOBALS.G_OPR_UPDATE) THEN
qp_delayed_requests_pvt.log_request(
p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
p_entity_id => p_PRICING_ATTR_rec.list_header_id,
p_request_unique_key1 => p_PRICING_ATTR_rec.list_line_id,
p_request_unique_key2 => 'UD',
p_requesting_entity_code => QP_GLOBALS.G_ENTITY_ALL,
p_requesting_entity_id => p_PRICING_ATTR_rec.list_header_id,
p_request_type => QP_GLOBALS.G_MAINTAIN_PRODUCT_PATTERN,
x_return_status => l_return_status);
IF (p_PRICING_ATTR_rec.operation = OE_GLOBALS.G_OPR_UPDATE) THEN
qp_delayed_requests_pvt.log_request(
p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
p_entity_id => p_PRICING_ATTR_rec.list_header_id,
p_request_unique_key1 => p_PRICING_ATTR_rec.list_line_id,
p_request_unique_key2 => 'UD',
p_requesting_entity_code => QP_GLOBALS.G_ENTITY_ALL,
p_requesting_entity_id => p_PRICING_ATTR_rec.list_header_id,
p_request_type => QP_GLOBALS.G_MAINTAIN_PRODUCT_PATTERN,
x_return_status => l_return_status);
IF NOT QP_GLOBALS.Equal(p_PRICING_ATTR_rec.program_update_date,p_old_PRICING_ATTR_rec.program_update_date)
THEN
NULL;
IF l_PRICING_ATTR_rec.last_updated_by = FND_API.G_MISS_NUM THEN
l_PRICING_ATTR_rec.last_updated_by := p_old_PRICING_ATTR_rec.last_updated_by;
IF l_PRICING_ATTR_rec.last_update_date = FND_API.G_MISS_DATE THEN
l_PRICING_ATTR_rec.last_update_date := p_old_PRICING_ATTR_rec.last_update_date;
IF l_PRICING_ATTR_rec.last_update_login = FND_API.G_MISS_NUM THEN
l_PRICING_ATTR_rec.last_update_login := p_old_PRICING_ATTR_rec.last_update_login;
IF l_PRICING_ATTR_rec.program_update_date = FND_API.G_MISS_DATE THEN
l_PRICING_ATTR_rec.program_update_date := p_old_PRICING_ATTR_rec.program_update_date;
IF l_PRICING_ATTR_rec.last_updated_by = FND_API.G_MISS_NUM THEN
l_PRICING_ATTR_rec.last_updated_by := NULL;
IF l_PRICING_ATTR_rec.last_update_date = FND_API.G_MISS_DATE THEN
l_PRICING_ATTR_rec.last_update_date := NULL;
IF l_PRICING_ATTR_rec.last_update_login = FND_API.G_MISS_NUM THEN
l_PRICING_ATTR_rec.last_update_login := NULL;
IF l_PRICING_ATTR_rec.program_update_date = FND_API.G_MISS_DATE THEN
l_PRICING_ATTR_rec.program_update_date := NULL;
PROCEDURE UPDATE_CHILD_PRICING_ATTR(p_PRICING_ATTR_rec IN QP_MODIFIERS_PUB.Pricing_Attr_rec_type) IS
l_status NUMBER;
SELECT *
FROM QP_PRICING_ATTRIBUTES qll
WHERE qll.list_line_id IN (select
to_rltd_modifier_id from
qp_rltd_modifiers qrm where from_rltd_modifier_id
= l_list_line_id);
select list_line_type_code into l_list_line_type_code
from qp_list_lines where
list_line_id = l_list_line_id;
update qp_Pricing_Attributes set
Product_attribute_context =
p_Pricing_Attr_rec.Product_attribute_context
,Product_attribute =
p_Pricing_Attr_rec.Product_attribute
,Product_attr_value =
p_Pricing_Attr_rec.Product_attr_value
,Pricing_Attribute_context =
p_Pricing_Attr_rec.Pricing_Attribute_context
,Pricing_Attribute =
p_Pricing_Attr_rec.Pricing_Attribute
where list_line_id = l_Pricing_Attr_rec.list_line_id;
--No need to update pricing attr for OID and PRG as nothing is defaulted
ELSIF l_list_line_type_code IN ( 'OID','PRG') THEN
-- l_modifier_grp_type := '('BENEFIT', 'QUALIFIER')';
--update OID child records
open C_child_records(l_list_line_id); LOOP
update qp_list_lines set
list_line_no = p_Pricing_Attr_rec.list_line_no
,modifier_level_code = p_Pricing_Attr_rec.modifier_level_code
,automatic_flag = p_Pricing_Attr_rec.automatic_flag
,override_flag = p_Pricing_Attr_rec.override_flag
,Print_on_invoice_flag = p_Pricing_Attr_rec.Print_on_invoice_flag
,price_break_type_code = p_Pricing_Attr_rec.price_break_type_code
,Proration_type_code = p_Pricing_Attr_rec.Proration_type_code
,Incompatibility_Grp_code= p_Pricing_Attr_rec.Incompatibility_Grp_code
,Pricing_group_sequence = p_Pricing_Attr_rec.Pricing_group_sequence
,accrual_flag = p_Pricing_Attr_rec.accrual_flag
,estim_accrual_rate = p_Pricing_Attr_rec.estim_accrual_rate
,rebate_transaction_type_code = p_Pricing_Attr_rec.rebate_trxn_type_code
,expiration_date = p_Pricing_Attr_rec.expiration_date
,expiration_period_start_date = p_Pricing_Attr_rec.expiration_period_start_date
,expiration_period_uom = p_Pricing_Attr_rec.expiration_period_uom
,number_expiration_periods = p_Pricing_Attr_rec.number_expiration_periods
where list_line_id = l_Pricing_Attr_rec.list_line_id;
, 'Update_Child_Pricing_Attr'
);
END UPDATE_CHILD_PRICING_ATTR;
PROCEDURE Update_Row
( p_PRICING_ATTR_rec IN QP_Modifiers_PUB.Pricing_Attr_Rec_Type
)
IS
l_list_line_type_code VARCHAR2(30);
SELECT RLTD_MODIFIER_GRP_TYPE
INTO l_rltd_modifier_grp_type
FROM qp_rltd_modifiers rm
WHERE rm.TO_RLTD_MODIFIER_ID = p_PRICING_ATTR_rec.list_line_id;
SELECT lh.ACTIVE_FLAG
INTO l_active_flag
FROM QP_LIST_HEADERS_B lh, QP_LIST_LINES ll
WHERE lh.LIST_HEADER_ID = ll.LIST_HEADER_ID and ll.LIST_LINE_ID = p_PRICING_ATTR_rec.list_line_id and rownum = 1;
oe_debug_pub.add('BEGIN Update_Row in QPXUPRAB');
UPDATE QP_PRICING_ATTRIBUTES
SET ACCUMULATE_FLAG = p_PRICING_ATTR_rec.accumulate_flag
, ATTRIBUTE1 = p_PRICING_ATTR_rec.attribute1
, ATTRIBUTE10 = p_PRICING_ATTR_rec.attribute10
, ATTRIBUTE11 = p_PRICING_ATTR_rec.attribute11
, ATTRIBUTE12 = p_PRICING_ATTR_rec.attribute12
, ATTRIBUTE13 = p_PRICING_ATTR_rec.attribute13
, ATTRIBUTE14 = p_PRICING_ATTR_rec.attribute14
, ATTRIBUTE15 = p_PRICING_ATTR_rec.attribute15
, ATTRIBUTE2 = p_PRICING_ATTR_rec.attribute2
, ATTRIBUTE3 = p_PRICING_ATTR_rec.attribute3
, ATTRIBUTE4 = p_PRICING_ATTR_rec.attribute4
, ATTRIBUTE5 = p_PRICING_ATTR_rec.attribute5
, ATTRIBUTE6 = p_PRICING_ATTR_rec.attribute6
, ATTRIBUTE7 = p_PRICING_ATTR_rec.attribute7
, ATTRIBUTE8 = p_PRICING_ATTR_rec.attribute8
, ATTRIBUTE9 = p_PRICING_ATTR_rec.attribute9
, ATTRIBUTE_GROUPING_NO = p_PRICING_ATTR_rec.attribute_grouping_no
, CONTEXT = p_PRICING_ATTR_rec.context
, CREATED_BY = p_PRICING_ATTR_rec.created_by
, CREATION_DATE = p_PRICING_ATTR_rec.creation_date
, EXCLUDER_FLAG = p_PRICING_ATTR_rec.excluder_flag
, LAST_UPDATED_BY = p_PRICING_ATTR_rec.last_updated_by
, LAST_UPDATE_DATE = p_PRICING_ATTR_rec.last_update_date
, LAST_UPDATE_LOGIN = p_PRICING_ATTR_rec.last_update_login
, LIST_LINE_ID = p_PRICING_ATTR_rec.list_line_id
, PRICING_ATTRIBUTE = p_PRICING_ATTR_rec.pricing_attribute
, PRICING_ATTRIBUTE_CONTEXT = p_PRICING_ATTR_rec.pricing_attribute_context
, PRICING_ATTRIBUTE_ID = p_PRICING_ATTR_rec.pricing_attribute_id
, PRICING_ATTR_VALUE_FROM = p_PRICING_ATTR_rec.pricing_attr_value_from
, PRICING_ATTR_VALUE_TO = l_pricing_attr_value_to
, PRODUCT_ATTRIBUTE = p_PRICING_ATTR_rec.product_attribute
, PRODUCT_ATTRIBUTE_CONTEXT = p_PRICING_ATTR_rec.product_attribute_context
, PRODUCT_ATTR_VALUE = p_PRICING_ATTR_rec.product_attr_value
, PRODUCT_UOM_CODE = p_PRICING_ATTR_rec.product_uom_code
, PROGRAM_APPLICATION_ID = p_PRICING_ATTR_rec.program_application_id
, PROGRAM_ID = p_PRICING_ATTR_rec.program_id
, PROGRAM_UPDATE_DATE = p_PRICING_ATTR_rec.program_update_date
, REQUEST_ID = p_PRICING_ATTR_rec.request_id
, PRODUCT_ATTRIBUTE_DATATYPE = p_PRICING_ATTR_rec.product_attribute_datatype
, PRICING_ATTRIBUTE_DATATYPE = p_PRICING_ATTR_rec.pricing_attribute_datatype
, COMPARISON_OPERATOR_CODE = p_PRICING_ATTR_rec.comparison_operator_code
, LIST_HEADER_ID = p_PRICING_ATTR_rec.list_header_id
, PRICING_PHASE_ID = p_PRICING_ATTR_rec.pricing_phase_id
, PRICING_ATTR_VALUE_FROM_NUMBER = l_pric_attr_value_from_number
, PRICING_ATTR_VALUE_TO_NUMBER = l_pric_attr_value_to_number
WHERE PRICING_ATTRIBUTE_ID = p_PRICING_ATTR_rec.pricing_attribute_id
;
UPDATE qp_pte_segments set used_in_setup='Y'
WHERE nvl(used_in_setup,'N')='N'
AND segment_id IN
(SELECT a.segment_id FROM qp_segments_b a,qp_prc_contexts_b b
WHERE a.segment_mapping_column=p_PRICING_ATTR_rec.pricing_attribute
AND a.prc_context_id=b.prc_context_id
AND b.prc_context_type = 'PRICING_ATTRIBUTE'
AND b.prc_context_code=p_PRICING_ATTR_rec.pricing_attribute_context);
UPDATE qp_pte_segments set used_in_setup='Y'
WHERE nvl(used_in_setup,'N')='N'
AND segment_id IN
(SELECT a.segment_id FROM qp_segments_b a,qp_prc_contexts_b b
WHERE a.segment_mapping_column=p_PRICING_ATTR_rec.product_attribute
AND a.prc_context_id=b.prc_context_id
AND b.prc_context_type = 'PRODUCT'
AND b.prc_context_code=p_PRICING_ATTR_rec.product_attribute_context);
update_child_pricing_attr(p_PRICING_ATTR_rec);
SELECT list_line_type_code
INTO l_list_line_type_code
FROM qp_list_lines
WHERE list_line_id = p_PRICING_ATTR_rec.list_line_id;
oe_debug_pub.add('END Update_Row in QPXUPRAB');
, 'Update_Row'
);
END Update_Row;
PROCEDURE Insert_Row
( p_PRICING_ATTR_rec IN QP_Modifiers_PUB.Pricing_Attr_Rec_Type
)
IS
l_context_flag VARCHAR2(1);
SELECT RLTD_MODIFIER_GRP_TYPE
INTO l_rltd_modifier_grp_type
FROM qp_rltd_modifiers rm
WHERE rm.TO_RLTD_MODIFIER_ID = p_PRICING_ATTR_rec.list_line_id;
SELECT ACTIVE_FLAG
INTO l_active_flag
FROM QP_LIST_HEADERS_B
WHERE LIST_HEADER_ID = p_PRICING_ATTR_rec.list_header_id;
SELECT ACTIVE_FLAG
INTO l_active_flag
FROM QP_LIST_HEADERS_B a,QP_LIST_LINES b
WHERE b.list_line_id=p_PRICING_ATTR_rec.list_line_id
AND b.LIST_HEADER_ID = a.list_header_id;
oe_debug_pub.add('BEGIN Insert_Row in QPXUPRAB');
INSERT INTO QP_PRICING_ATTRIBUTES
(
--ACCUMULATE_FLAG
ATTRIBUTE1
, ATTRIBUTE10
, ATTRIBUTE11
, ATTRIBUTE12
, ATTRIBUTE13
, ATTRIBUTE14
, ATTRIBUTE15
, ATTRIBUTE2
, ATTRIBUTE3
, ATTRIBUTE4
, ATTRIBUTE5
, ATTRIBUTE6
, ATTRIBUTE7
, ATTRIBUTE8
, ATTRIBUTE9
, ATTRIBUTE_GROUPING_NO
, CONTEXT
, CREATED_BY
, CREATION_DATE
, EXCLUDER_FLAG
, LAST_UPDATED_BY
, LAST_UPDATE_DATE
, LAST_UPDATE_LOGIN
, LIST_LINE_ID
, PRICING_ATTRIBUTE
, PRICING_ATTRIBUTE_CONTEXT
, PRICING_ATTRIBUTE_ID
, PRICING_ATTR_VALUE_FROM
, PRICING_ATTR_VALUE_TO
, PRODUCT_ATTRIBUTE
, PRODUCT_ATTRIBUTE_CONTEXT
, PRODUCT_ATTR_VALUE
, PRODUCT_UOM_CODE
, PROGRAM_APPLICATION_ID
, PROGRAM_ID
, PROGRAM_UPDATE_DATE
, REQUEST_ID
, PRODUCT_ATTRIBUTE_DATATYPE
, PRICING_ATTRIBUTE_DATATYPE
, COMPARISON_OPERATOR_CODE
, LIST_HEADER_ID
, PRICING_PHASE_ID
, PRICING_ATTR_VALUE_FROM_NUMBER
, PRICING_ATTR_VALUE_TO_NUMBER
)
VALUES
(
--p_PRICING_ATTR_rec.accumulate_flag
p_PRICING_ATTR_rec.attribute1
, p_PRICING_ATTR_rec.attribute10
, p_PRICING_ATTR_rec.attribute11
, p_PRICING_ATTR_rec.attribute12
, p_PRICING_ATTR_rec.attribute13
, p_PRICING_ATTR_rec.attribute14
, p_PRICING_ATTR_rec.attribute15
, p_PRICING_ATTR_rec.attribute2
, p_PRICING_ATTR_rec.attribute3
, p_PRICING_ATTR_rec.attribute4
, p_PRICING_ATTR_rec.attribute5
, p_PRICING_ATTR_rec.attribute6
, p_PRICING_ATTR_rec.attribute7
, p_PRICING_ATTR_rec.attribute8
, p_PRICING_ATTR_rec.attribute9
, p_PRICING_ATTR_rec.attribute_grouping_no
, p_PRICING_ATTR_rec.context
, p_PRICING_ATTR_rec.created_by
, p_PRICING_ATTR_rec.creation_date
, p_PRICING_ATTR_rec.excluder_flag
, p_PRICING_ATTR_rec.last_updated_by
, p_PRICING_ATTR_rec.last_update_date
, p_PRICING_ATTR_rec.last_update_login
, p_PRICING_ATTR_rec.list_line_id
, p_PRICING_ATTR_rec.pricing_attribute
, p_PRICING_ATTR_rec.pricing_attribute_context
, p_PRICING_ATTR_rec.pricing_attribute_id
, p_PRICING_ATTR_rec.pricing_attr_value_from
, l_pricing_attr_value_to
, p_PRICING_ATTR_rec.product_attribute
, p_PRICING_ATTR_rec.product_attribute_context
, p_PRICING_ATTR_rec.product_attr_value
, p_PRICING_ATTR_rec.product_uom_code
, p_PRICING_ATTR_rec.program_application_id
, p_PRICING_ATTR_rec.program_id
, p_PRICING_ATTR_rec.program_update_date
, p_PRICING_ATTR_rec.request_id
, p_PRICING_ATTR_rec.product_attribute_datatype
, p_PRICING_ATTR_rec.pricing_attribute_datatype
, p_PRICING_ATTR_rec.comparison_operator_code
, p_PRICING_ATTR_rec.list_header_id
, p_PRICING_ATTR_rec.pricing_phase_id
, l_pric_attr_value_from_number
, l_pric_attr_value_to_number
);
UPDATE qp_pte_segments set used_in_setup='Y'
WHERE nvl(used_in_setup,'N')='N'
AND segment_id IN
(SELECT a.segment_id FROM qp_segments_b a,qp_prc_contexts_b b
WHERE a.segment_mapping_column=p_PRICING_ATTR_rec.pricing_attribute
AND a.prc_context_id=b.prc_context_id
AND b.prc_context_type = 'PRICING_ATTRIBUTE'
AND b.prc_context_code=p_PRICING_ATTR_rec.pricing_attribute_context);
UPDATE qp_pte_segments set used_in_setup='Y'
WHERE nvl(used_in_setup,'N')='N'
AND segment_id IN
(SELECT a.segment_id FROM qp_segments_b a,qp_prc_contexts_b b
WHERE a.segment_mapping_column=p_PRICING_ATTR_rec.product_attribute
AND a.prc_context_id=b.prc_context_id
AND b.prc_context_type = 'PRODUCT'
AND b.prc_context_code=p_PRICING_ATTR_rec.product_attribute_context);
p_request_type =>QP_GLOBALS.G_UPDATE_PRICING_ATTR_PHASE,
x_return_status => l_return_status);
SELECT list_line_type_code
INTO l_list_line_type_code
FROM qp_list_lines
WHERE list_line_id = p_PRICING_ATTR_rec.list_line_id;
oe_debug_pub.add('END Insert_Row in QPXUPRAB');
, 'Insert_Row'
);
END Insert_Row;
PROCEDURE Delete_Row
( p_pricing_attribute_id IN NUMBER
)
IS
l_list_line_id NUMBER;
oe_debug_pub.add('BEGIN Delete_Row in QPXUPRAB');
DELETE FROM QP_PRICING_ATTRIBUTES
WHERE PRICING_ATTRIBUTE_ID = p_pricing_attribute_id
RETURNING LIST_LINE_ID INTO l_list_line_id
;
oe_debug_pub.add('END Delete_Row in QPXUPRAB');
, 'Delete_Row'
);
END Delete_Row;
SELECT ACCUMULATE_FLAG
, ATTRIBUTE1
, ATTRIBUTE10
, ATTRIBUTE11
, ATTRIBUTE12
, ATTRIBUTE13
, ATTRIBUTE14
, ATTRIBUTE15
, ATTRIBUTE2
, ATTRIBUTE3
, ATTRIBUTE4
, ATTRIBUTE5
, ATTRIBUTE6
, ATTRIBUTE7
, ATTRIBUTE8
, ATTRIBUTE9
, ATTRIBUTE_GROUPING_NO
, CONTEXT
, CREATED_BY
, CREATION_DATE
, EXCLUDER_FLAG
, LAST_UPDATED_BY
, LAST_UPDATE_DATE
, LAST_UPDATE_LOGIN
, LIST_LINE_ID
, PRICING_ATTRIBUTE
, PRICING_ATTRIBUTE_CONTEXT
, PRICING_ATTRIBUTE_ID
, PRICING_ATTR_VALUE_FROM
, PRICING_ATTR_VALUE_TO
, PRODUCT_ATTRIBUTE
, PRODUCT_ATTRIBUTE_CONTEXT
, PRODUCT_ATTR_VALUE
, PRODUCT_UOM_CODE
, PROGRAM_APPLICATION_ID
, PROGRAM_ID
, PROGRAM_UPDATE_DATE
, REQUEST_ID
, PRODUCT_ATTRIBUTE_DATATYPE
, PRICING_ATTRIBUTE_DATATYPE
, COMPARISON_OPERATOR_CODE
, LIST_HEADER_ID
, PRICING_PHASE_ID
, PRICING_ATTR_VALUE_FROM_NUMBER
, PRICING_ATTR_VALUE_TO_NUMBER
, QUALIFICATION_IND
FROM QP_PRICING_ATTRIBUTES
WHERE ( PRICING_ATTRIBUTE_ID = p_pricing_attribute_id
)
OR ( LIST_LINE_ID = p_list_line_id
);
l_PRICING_ATTR_rec.last_updated_by := l_implicit_rec.LAST_UPDATED_BY;
l_PRICING_ATTR_rec.last_update_date := l_implicit_rec.LAST_UPDATE_DATE;
l_PRICING_ATTR_rec.last_update_login := l_implicit_rec.LAST_UPDATE_LOGIN;
l_PRICING_ATTR_rec.program_update_date := l_implicit_rec.PROGRAM_UPDATE_DATE;
SELECT
--ACCUMULATE_FLAG
ATTRIBUTE1
, ATTRIBUTE10
, ATTRIBUTE11
, ATTRIBUTE12
, ATTRIBUTE13
, ATTRIBUTE14
, ATTRIBUTE15
, ATTRIBUTE2
, ATTRIBUTE3
, ATTRIBUTE4
, ATTRIBUTE5
, ATTRIBUTE6
, ATTRIBUTE7
, ATTRIBUTE8
, ATTRIBUTE9
, ATTRIBUTE_GROUPING_NO
, CONTEXT
, CREATED_BY
, CREATION_DATE
, EXCLUDER_FLAG
, LAST_UPDATED_BY
, LAST_UPDATE_DATE
, LAST_UPDATE_LOGIN
, LIST_LINE_ID
, PRICING_ATTRIBUTE
, PRICING_ATTRIBUTE_CONTEXT
, PRICING_ATTRIBUTE_ID
, PRICING_ATTR_VALUE_FROM
, PRICING_ATTR_VALUE_TO
, PRODUCT_ATTRIBUTE
, PRODUCT_ATTRIBUTE_CONTEXT
, PRODUCT_ATTR_VALUE
, PRODUCT_UOM_CODE
, PROGRAM_APPLICATION_ID
, PROGRAM_ID
, PROGRAM_UPDATE_DATE
, REQUEST_ID
, PRODUCT_ATTRIBUTE_DATATYPE
, PRICING_ATTRIBUTE_DATATYPE
, COMPARISON_OPERATOR_CODE
-- , LIST_HEADER_ID
-- , PRICING_PHASE_ID
INTO
--l_PRICING_ATTR_rec.accumulate_flag
l_PRICING_ATTR_rec.attribute1
, l_PRICING_ATTR_rec.attribute10
, l_PRICING_ATTR_rec.attribute11
, l_PRICING_ATTR_rec.attribute12
, l_PRICING_ATTR_rec.attribute13
, l_PRICING_ATTR_rec.attribute14
, l_PRICING_ATTR_rec.attribute15
, l_PRICING_ATTR_rec.attribute2
, l_PRICING_ATTR_rec.attribute3
, l_PRICING_ATTR_rec.attribute4
, l_PRICING_ATTR_rec.attribute5
, l_PRICING_ATTR_rec.attribute6
, l_PRICING_ATTR_rec.attribute7
, l_PRICING_ATTR_rec.attribute8
, l_PRICING_ATTR_rec.attribute9
, l_PRICING_ATTR_rec.attribute_grouping_no
, l_PRICING_ATTR_rec.context
, l_PRICING_ATTR_rec.created_by
, l_PRICING_ATTR_rec.creation_date
, l_PRICING_ATTR_rec.excluder_flag
, l_PRICING_ATTR_rec.last_updated_by
, l_PRICING_ATTR_rec.last_update_date
, l_PRICING_ATTR_rec.last_update_login
, l_PRICING_ATTR_rec.list_line_id
, l_PRICING_ATTR_rec.pricing_attribute
, l_PRICING_ATTR_rec.pricing_attribute_context
, l_PRICING_ATTR_rec.pricing_attribute_id
, l_PRICING_ATTR_rec.pricing_attr_value_from
, l_PRICING_ATTR_rec.pricing_attr_value_to
, l_PRICING_ATTR_rec.product_attribute
, l_PRICING_ATTR_rec.product_attribute_context
, l_PRICING_ATTR_rec.product_attr_value
, l_PRICING_ATTR_rec.product_uom_code
, l_PRICING_ATTR_rec.program_application_id
, l_PRICING_ATTR_rec.program_id
, l_PRICING_ATTR_rec.program_update_date
, l_PRICING_ATTR_rec.request_id
, l_PRICING_ATTR_rec.product_attribute_datatype
, l_PRICING_ATTR_rec.pricing_attribute_datatype
, l_PRICING_ATTR_rec.comparison_operator_code
-- , l_PRICING_ATTR_rec.list_header_id
-- , l_PRICING_ATTR_rec.pricing_phase_id
FROM QP_PRICING_ATTRIBUTES
WHERE PRICING_ATTRIBUTE_ID = p_PRICING_ATTR_rec.pricing_attribute_id
FOR UPDATE NOWAIT;
AND QP_GLOBALS.Equal(p_PRICING_ATTR_rec.last_updated_by,
l_PRICING_ATTR_rec.last_updated_by)
-- AND QP_GLOBALS.Equal(p_PRICING_ATTR_rec.last_update_date,
-- l_PRICING_ATTR_rec.last_update_date)
AND QP_GLOBALS.Equal(p_PRICING_ATTR_rec.last_update_login,
l_PRICING_ATTR_rec.last_update_login)
*/
--AND
QP_GLOBALS.Equal(p_PRICING_ATTR_rec.list_line_id,
l_PRICING_ATTR_rec.list_line_id)
/*
AND QP_GLOBALS.Equal(p_PRICING_ATTR_rec.pricing_attribute,
l_PRICING_ATTR_rec.pricing_attribute)
AND QP_GLOBALS.Equal(p_PRICING_ATTR_rec.pricing_attribute_context,
l_PRICING_ATTR_rec.pricing_attribute_context)
*/
AND QP_GLOBALS.Equal(p_PRICING_ATTR_rec.pricing_attribute_id,
l_PRICING_ATTR_rec.pricing_attribute_id)
/*
AND QP_GLOBALS.Equal(p_PRICING_ATTR_rec.pricing_attr_value_from,
l_PRICING_ATTR_rec.pricing_attr_value_from)
AND QP_GLOBALS.Equal(p_PRICING_ATTR_rec.pricing_attr_value_to,
l_PRICING_ATTR_rec.pricing_attr_value_to)
AND QP_GLOBALS.Equal(p_PRICING_ATTR_rec.product_attribute,
l_PRICING_ATTR_rec.product_attribute)
AND QP_GLOBALS.Equal(p_PRICING_ATTR_rec.product_attribute_context,
l_PRICING_ATTR_rec.product_attribute_context)
AND QP_GLOBALS.Equal(p_PRICING_ATTR_rec.product_attr_value,
l_PRICING_ATTR_rec.product_attr_value)
AND QP_GLOBALS.Equal(p_PRICING_ATTR_rec.product_uom_code,
l_PRICING_ATTR_rec.product_uom_code)
AND QP_GLOBALS.Equal(p_PRICING_ATTR_rec.program_application_id,
l_PRICING_ATTR_rec.program_application_id)
AND QP_GLOBALS.Equal(p_PRICING_ATTR_rec.program_id,
l_PRICING_ATTR_rec.program_id)
-- AND QP_GLOBALS.Equal(p_PRICING_ATTR_rec.program_update_date,
-- l_PRICING_ATTR_rec.program_update_date)
AND QP_GLOBALS.Equal(p_PRICING_ATTR_rec.request_id,
l_PRICING_ATTR_rec.request_id)
-- AND QP_GLOBALS.Equal(p_PRICING_ATTR_rec.product_attribute_datatype,
-- l_PRICING_ATTR_rec.product_attribute_datatype)
-- AND QP_GLOBALS.Equal(p_PRICING_ATTR_rec.pricing_attribute_datatype,
-- l_PRICING_ATTR_rec.pricing_attribute_datatype)
AND QP_GLOBALS.Equal(p_PRICING_ATTR_rec.comparison_operator_code,
l_PRICING_ATTR_rec.comparison_operator_code)
*/
AND QP_GLOBALS.Equal(p_PRICING_ATTR_rec.list_header_id,
l_PRICING_ATTR_rec.list_header_id)
AND QP_GLOBALS.Equal(p_PRICING_ATTR_rec.pricing_phase_id,
l_PRICING_ATTR_rec.pricing_phase_id)
THEN
-- Row has not changed. Set out parameter.
x_PRICING_ATTR_rec := l_PRICING_ATTR_rec;
oe_debug_pub.add('PRICING_ATTR_rec.last_updated_by :'||l_PRICING_ATTR_rec.last_updated_by||':'||p_PRICING_ATTR_rec.last_updated_by||':');
oe_debug_pub.add('PRICING_ATTR_rec.last_update_date :'||l_PRICING_ATTR_rec.last_update_date||':'||p_PRICING_ATTR_rec.last_update_date||':');
oe_debug_pub.add('PRICING_ATTR_rec.last_update_login :'||l_PRICING_ATTR_rec.last_update_login||':'||p_PRICING_ATTR_rec.last_update_login||':');
oe_debug_pub.add('PRICING_ATTR_rec.program_update_date :'||l_PRICING_ATTR_rec.program_update_date||':'||p_PRICING_ATTR_rec.program_update_date||':');
FND_MESSAGE.SET_NAME('QP','OE_LOCK_ROW_DELETED');
IF ( p_PRICING_ATTR_rec.operation = QP_GLOBALS.G_OPR_UPDATE AND p_PRICING_ATTR_rec.excluder_flag = 'N') --14603635
THEN
IF ((p_old_PRICING_ATTR_rec.product_attribute <> p_PRICING_ATTR_rec.product_attribute) OR
(p_old_PRICING_ATTR_rec.product_attr_value <> p_PRICING_ATTR_rec.product_attr_value))
THEN
begin
update qp_pricing_attributes
set product_attribute = p_PRICING_ATTR_rec.product_attribute
, product_attr_value = p_PRICING_ATTR_rec.product_attr_value
where list_line_id = p_PRICING_ATTR_rec.list_line_id;
update qp_pricing_attributes
set product_attribute = p_PRICING_ATTR_rec.product_attribute
, product_attr_value = p_PRICING_ATTR_rec.product_attr_value
where list_line_id = p_PRICING_ATTR_rec.list_line_id;
select list_header_id
into l_list_header_id
from qp_list_lines
where list_line_id = l_PRICING_ATTR_rec.list_line_id;
IF ( p_PRICING_ATTR_rec.operation = OE_GLOBALS.G_OPR_DELETE) THEN
oe_debug_pub.add('Logging a request to update qualification_ind ', 1);
select 'Y' into l_changed_lines
from qp_rltd_modifiers
where to_rltd_modifier_id = p_PRICING_ATTR_rec.list_line_id
and rltd_modifier_grp_type in ('BENEFIT', 'QUALIFIER');
p_request_type => QP_GLOBALS.G_UPDATE_CHANGED_LINES_DEL,
p_param1 => p_PRICING_ATTR_rec.pricing_phase_id,
p_param2 => p_PRICING_ATTR_rec.list_header_id,
p_param3 => p_PRICING_ATTR_rec.product_attribute,
p_param4 => p_PRICING_ATTR_rec.product_attr_value,
x_return_status => l_return_status);
p_request_type =>QP_GLOBALS.G_UPDATE_LINE_QUAL_IND,
x_return_status => l_return_status);
IF ( p_PRICING_ATTR_rec.operation = OE_GLOBALS.G_OPR_UPDATE) THEN
qp_delayed_requests_pvt.log_request(
p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
p_entity_id => p_PRICING_ATTR_rec.list_header_id,
p_request_unique_key1 => p_PRICING_ATTR_rec.list_line_id,
p_request_unique_key2 => 'U',
p_requesting_entity_code => QP_GLOBALS.G_ENTITY_ALL,
p_requesting_entity_id => p_PRICING_ATTR_rec.list_header_id,
p_request_type => QP_GLOBALS.G_MAINTAIN_PRODUCT_PATTERN,
x_return_status => l_return_status);
IF ( p_PRICING_ATTR_rec.operation = OE_GLOBALS.G_OPR_DELETE) THEN
qp_delayed_requests_pvt.log_request(
p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
p_entity_id => p_PRICING_ATTR_rec.list_header_id,
p_request_unique_key1 => p_PRICING_ATTR_rec.list_line_id,
p_request_unique_key2 => 'D',
p_requesting_entity_code => QP_GLOBALS.G_ENTITY_ALL,
p_requesting_entity_id => p_PRICING_ATTR_rec.list_header_id,
p_request_type => QP_GLOBALS.G_MAINTAIN_PRODUCT_PATTERN,
x_return_status => l_return_status);
IF ( p_PRICING_ATTR_rec.operation = OE_GLOBALS.G_OPR_UPDATE) THEN
qp_delayed_requests_pvt.log_request(
p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
p_entity_id => p_PRICING_ATTR_rec.list_header_id,
p_request_unique_key1 => p_PRICING_ATTR_rec.list_line_id,
p_request_unique_key2 => 'U',
p_requesting_entity_code => QP_GLOBALS.G_ENTITY_ALL,
p_requesting_entity_id => p_PRICING_ATTR_rec.list_header_id,
p_request_type => QP_GLOBALS.G_MAINTAIN_PRODUCT_PATTERN,
x_return_status => l_return_status);
IF ( p_PRICING_ATTR_rec.operation = OE_GLOBALS.G_OPR_DELETE) THEN
qp_delayed_requests_pvt.log_request(
p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
p_entity_id => p_PRICING_ATTR_rec.list_header_id,
p_request_unique_key1 => p_PRICING_ATTR_rec.list_line_id,
p_request_unique_key2 => 'D',
p_requesting_entity_code => QP_GLOBALS.G_ENTITY_ALL,
p_requesting_entity_id => p_PRICING_ATTR_rec.list_header_id,
p_request_type => QP_GLOBALS.G_MAINTAIN_PRODUCT_PATTERN,
x_return_status => l_return_status);