The following lines contain the word 'select', 'insert', 'update' or 'delete':
SELECT from_rltd_modifier_id
FROM QP_RLTD_MODIFIERS
WHERE to_rltd_modifier_id = p_child_list_line_id;
SELECT list_line_type_code
FROM QP_LIST_LINES
WHERE list_line_id = p_parent_list_line_id;
if l_MODIFIER_LIST_rec.operation in (QP_GLOBALS.G_OPR_CREATE, QP_GLOBALS.G_OPR_UPDATE)
and l_control_rec.called_from_ui = 'N'
and l_MODIFIER_LIST_rec.list_source_code IS NOT NULL
--bug14758481
--and l_MODIFIER_LIST_rec.global_flag = 'N'
and (NVL(l_MODIFIER_LIST_rec.global_flag,'N') = 'N'
OR l_MODIFIER_LIST_rec.global_flag = FND_API.G_MISS_CHAR)
and nvl(QP_SECURITY.security_on, 'N') = 'N' then
l_MODIFIER_LIST_rec.global_flag := 'Y';
ELSIF l_MODIFIER_LIST_rec.operation = QP_GLOBALS.G_OPR_UPDATE
OR l_MODIFIER_LIST_rec.operation = QP_GLOBALS.G_OPR_DELETE
THEN
OE_Debug_Pub.add('update on header');
OR l_MODIFIER_LIST_rec.operation = QP_GLOBALS.G_OPR_UPDATE
OR l_MODIFIER_LIST_rec.operation = QP_GLOBALS.G_OPR_DELETE THEN
oe_debug_pub.add('in Private 03');
IF l_MODIFIER_LIST_rec.operation = QP_GLOBALS.G_OPR_DELETE THEN
QP_Validate_Modifier_List.Entity_Delete
( x_return_status => l_return_status
, p_MODIFIER_LIST_rec => l_MODIFIER_LIST_rec
);
IF l_MODIFIER_LIST_rec.operation = QP_GLOBALS.G_OPR_DELETE THEN
FND_MESSAGE.SET_NAME('QP','QP_CANNOT_DELETE_MODIFIER');
QP_Modifier_List_Util.Delete_Row
( p_list_header_id => l_MODIFIER_LIST_rec.list_header_id
);
l_MODIFIER_LIST_rec.last_update_date := SYSDATE;
l_MODIFIER_LIST_rec.last_updated_by := FND_GLOBAL.USER_ID;
l_MODIFIER_LIST_rec.last_update_login := FND_GLOBAL.LOGIN_ID;
IF l_MODIFIER_LIST_rec.operation = QP_GLOBALS.G_OPR_UPDATE THEN
OE_Debug_Pub.add('query'||p_modifier_list_rec.version_no);
QP_Modifier_List_Util.Update_Row (l_MODIFIER_LIST_rec);
QP_Modifier_List_Util.Insert_Row (l_MODIFIER_LIST_rec);
END IF; -- For Operation create, update or delete
oe_debug_pub.add('manoj - value of called_from_ui before delete_reqs_for_deleted_entity = ' || l_control_rec.called_from_ui);
qp_delayed_requests_pvt.delete_reqs_for_deleted_entity
(p_entity_code => QP_GLOBALS.G_ENTITY_MODIFIER_LIST,
p_entity_id => l_MODIFIER_LIST_rec.list_header_id,
x_return_status => l_return_status );
qp_delayed_requests_pvt.delete_reqs_for_deleted_entity
(p_entity_code => QP_GLOBALS.G_ENTITY_MODIFIER_LIST,
p_entity_id => l_MODIFIER_LIST_rec.list_header_id,
x_return_status => l_return_status );
qp_delayed_requests_pvt.delete_reqs_for_deleted_entity
(p_entity_code => QP_GLOBALS.G_ENTITY_MODIFIER_LIST,
p_entity_id => l_MODIFIER_LIST_rec.list_header_id,
x_return_status => l_return_status );
p_request_type => QP_GLOBALS.G_UPDATE_CHANGED_LINES_ADD,
p_param1 => l_MODIFIERS_rec.pricing_phase_id,
p_param2 => l_MODIFIERS_rec.list_header_id,
x_return_status => l_return_status);
ELSIF l_MODIFIERS_rec.operation = QP_GLOBALS.G_OPR_UPDATE
OR l_MODIFIERS_rec.operation = QP_GLOBALS.G_OPR_DELETE
THEN
l_MODIFIERS_rec.db_flag := FND_API.G_TRUE;
OR l_MODIFIERS_rec.operation = QP_GLOBALS.G_OPR_UPDATE
OR l_MODIFIERS_rec.operation = QP_GLOBALS.G_OPR_DELETE THEN
IF l_control_rec.default_attributes
OR l_control_rec.change_attributes
THEN
IF p_validation_level > FND_API.G_VALID_LEVEL_NONE THEN
QP_Validate_Modifiers.Attributes
( x_return_status => l_return_status
, p_MODIFIERS_rec => l_MODIFIERS_rec
, p_old_MODIFIERS_rec => l_old_MODIFIERS_rec
);
IF l_MODIFIERS_rec.operation = QP_GLOBALS.G_OPR_DELETE THEN
QP_Validate_Modifiers.Entity_Delete
( x_return_status => l_return_status
, p_MODIFIERS_rec => l_MODIFIERS_rec
);
IF l_MODIFIERS_rec.operation = QP_GLOBALS.G_OPR_DELETE THEN
oe_debug_pub.add('from id = '|| to_char(l_MODIFIERS_rec.from_rltd_modifier_id) );
FND_MESSAGE.SET_NAME('QP','QP_CANNOT_DELETE_MODIFIER_LIST');
oe_debug_pub.add('just before deleteee');
QP_Modifiers_Util.Delete_Row
( p_list_line_id => l_MODIFIERS_rec.list_line_id
);
l_MODIFIERS_rec.last_update_date := SYSDATE;
l_MODIFIERS_rec.last_updated_by := FND_GLOBAL.USER_ID;
l_MODIFIERS_rec.last_update_login := FND_GLOBAL.LOGIN_ID;
IF l_MODIFIERS_rec.operation = QP_GLOBALS.G_OPR_UPDATE THEN
QP_Modifiers_Util.Update_Row (l_MODIFIERS_rec);
oe_debug_pub.add('just before update');
QP_RLTD_MODIFIER_PVT.Update_Row(
l_MODIFIERS_rec.RLTD_MODIFIER_ID
, l_MODIFIERS_rec.creation_date
, l_MODIFIERS_rec.created_by
, l_MODIFIERS_rec.last_update_date
, l_MODIFIERS_rec.last_updated_by
, l_MODIFIERS_rec.last_update_login
, l_MODIFIERS_rec.rltd_modifier_grp_no
, l_MODIFIERS_rec.from_rltd_modifier_id
, l_MODIFIERS_rec.to_rltd_modifier_id
, l_MODIFIERS_rec.rltd_modifier_grp_type
, null
, null
, null
, null
, null
, null
, null
, null
, null
, null
, null
, null
, null
, null
, null
, null
);
p_request_type =>QP_GLOBALS.G_UPDATE_LINE_QUAL_IND,
x_return_status => l_return_status);
QP_Modifiers_Util.Insert_Row (l_MODIFIERS_rec);
oe_debug_pub.add('before insert');
select QP_RLTD_MODIFIERS_S.nextval
into l_rltd_modifiers_s from dual;
oe_debug_pub.add('just before insert');
QP_RLTD_MODIFIER_PVT.Insert_Row(
l_rltd_modifiers_s
, l_MODIFIERS_rec.creation_date
, l_MODIFIERS_rec.created_by
, l_MODIFIERS_rec.last_update_date
, l_MODIFIERS_rec.last_updated_by
, l_MODIFIERS_rec.last_update_login
, l_MODIFIERS_rec.rltd_modifier_grp_no
, l_MODIFIERS_rec.from_rltd_modifier_id
, l_MODIFIERS_rec.to_rltd_modifier_id
, l_MODIFIERS_rec.rltd_modifier_grp_type
, null
, null
, null
, null
, null
, null
, null
, null
, null
, null
, null
, null
, null
, null
, null
, null
);
p_request_type =>QP_GLOBALS.G_UPDATE_LINE_QUAL_IND,
x_return_status => l_return_status);
END IF; -- For Operation Create, Update or Delete
qp_delayed_requests_pvt.delete_reqs_for_deleted_entity
(p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
p_entity_id => l_MODIFIERS_rec.list_line_id,
x_return_status => l_return_status );
qp_delayed_requests_pvt.delete_reqs_for_deleted_entity
(p_entity_code => QP_GLOBALS.G_ENTITY_MODIFIERS,
p_entity_id => l_MODIFIERS_rec.list_line_id,
x_return_status => l_return_status );
qp_delayed_requests_pvt.delete_reqs_for_deleted_entity
(p_entity_code => QP_GLOBALS.G_ENTITY_MODIFIER_LIST,
p_entity_id => l_MODIFIERS_rec.list_header_id,
x_return_status => l_return_status );
qp_delayed_requests_pvt.delete_reqs_for_deleted_entity
(p_entity_code => QP_GLOBALS.G_ENTITY_MODIFIER_LIST,
p_entity_id => l_MODIFIERS_rec.list_line_id,
x_return_status => l_return_status );
qp_delayed_requests_pvt.delete_reqs_for_deleted_entity
(p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
p_entity_id => l_MODIFIERS_rec.list_line_id,
x_return_status => l_return_status );
qp_delayed_requests_pvt.delete_reqs_for_deleted_entity
(p_entity_code => QP_GLOBALS.G_ENTITY_MODIFIERS,
p_entity_id => l_MODIFIERS_rec.list_line_id,
x_return_status => l_return_status );
qp_delayed_requests_pvt.delete_reqs_for_deleted_entity
(p_entity_code => QP_GLOBALS.G_ENTITY_MODIFIER_LIST,
p_entity_id => l_MODIFIERS_rec.list_header_id,
x_return_status => l_return_status );
qp_delayed_requests_pvt.delete_reqs_for_deleted_entity
(p_entity_code => QP_GLOBALS.G_ENTITY_MODIFIER_LIST,
p_entity_id => l_MODIFIERS_rec.list_line_id,
x_return_status => l_return_status );
qp_delayed_requests_pvt.delete_reqs_for_deleted_entity
(p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
p_entity_id => l_MODIFIERS_rec.list_line_id,
x_return_status => l_return_status );
qp_delayed_requests_pvt.delete_reqs_for_deleted_entity
(p_entity_code => QP_GLOBALS.G_ENTITY_MODIFIERS,
p_entity_id => l_MODIFIERS_rec.list_line_id,
x_return_status => l_return_status );
qp_delayed_requests_pvt.delete_reqs_for_deleted_entity
(p_entity_code => QP_GLOBALS.G_ENTITY_MODIFIER_LIST,
p_entity_id => l_MODIFIERS_rec.list_header_id,
x_return_status => l_return_status );
qp_delayed_requests_pvt.delete_reqs_for_deleted_entity
(p_entity_code => QP_GLOBALS.G_ENTITY_MODIFIER_LIST,
p_entity_id => l_MODIFIERS_rec.list_line_id,
x_return_status => l_return_status );
ELSIF l_QUALIFIERS_rec.operation = QP_GLOBALS.G_OPR_UPDATE
OR l_QUALIFIERS_rec.operation = QP_GLOBALS.G_OPR_DELETE
THEN
l_QUALIFIERS_rec.db_flag := FND_API.G_TRUE;
IF l_QUALIFIERS_rec.operation = QP_GLOBALS.G_OPR_DELETE THEN
QP_Validate_Qualifiers.Entity_Delete
( x_return_status => l_return_status
, p_QUALIFIERS_rec => l_QUALIFIERS_rec
);
IF l_QUALIFIERS_rec.operation = QP_GLOBALS.G_OPR_DELETE THEN
QP_Qualifiers_Util.Delete_Row
( p_qualifier_id => l_QUALIFIERS_rec.qualifier_id
);
l_QUALIFIERS_rec.last_update_date := SYSDATE;
l_QUALIFIERS_rec.last_updated_by := FND_GLOBAL.USER_ID;
l_QUALIFIERS_rec.last_update_login := FND_GLOBAL.LOGIN_ID;
IF l_QUALIFIERS_rec.operation = QP_GLOBALS.G_OPR_UPDATE THEN
QP_Qualifiers_Util.Update_Row (l_QUALIFIERS_rec);
oe_debug_pub.add('util . Insert');
QP_Qualifiers_Util.Insert_Row (l_QUALIFIERS_rec);
qp_delayed_requests_pvt.delete_reqs_for_deleted_entity
(p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
p_entity_id => l_QUALIFIERS_rec.list_header_id,
x_return_status => l_return_status );
qp_delayed_requests_pvt.delete_reqs_for_deleted_entity
(p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
p_entity_id => l_QUALIFIERS_rec.list_line_id,
x_return_status => l_return_status );
qp_delayed_requests_pvt.delete_reqs_for_deleted_entity
(p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
p_entity_id => l_QUALIFIERS_rec.qualifier_id,
x_return_status => l_return_status );
qp_delayed_requests_pvt.delete_reqs_for_deleted_entity
(p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
p_entity_id => l_QUALIFIERS_rec.list_header_id,
x_return_status => l_return_status );
qp_delayed_requests_pvt.delete_reqs_for_deleted_entity
(p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
p_entity_id => l_QUALIFIERS_rec.list_line_id,
x_return_status => l_return_status );
qp_delayed_requests_pvt.delete_reqs_for_deleted_entity
(p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
p_entity_id => l_QUALIFIERS_rec.qualifier_id,
x_return_status => l_return_status );
qp_delayed_requests_pvt.delete_reqs_for_deleted_entity
(p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
p_entity_id => l_QUALIFIERS_rec.list_header_id,
x_return_status => l_return_status );
qp_delayed_requests_pvt.delete_reqs_for_deleted_entity
(p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
p_entity_id => l_QUALIFIERS_rec.list_line_id,
x_return_status => l_return_status );
qp_delayed_requests_pvt.delete_reqs_for_deleted_entity
(p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
p_entity_id => l_QUALIFIERS_rec.qualifier_id,
x_return_status => l_return_status );
ELSIF l_PRICING_ATTR_rec.operation = QP_GLOBALS.G_OPR_UPDATE
OR l_PRICING_ATTR_rec.operation = QP_GLOBALS.G_OPR_DELETE
THEN
l_PRICING_ATTR_rec.db_flag := FND_API.G_TRUE;
OR l_PRICING_ATTR_rec.operation = QP_GLOBALS.G_OPR_UPDATE
OR l_PRICING_ATTR_rec.operation = QP_GLOBALS.G_OPR_DELETE THEN
--- added by svdeshmu
oe_debug_pub.add('calling get_parent from apply attribute');
select continuous_price_break_flag
into l_continuous_price_break_flag
from qp_list_lines
where list_line_id = l_parent_list_line_id;
IF l_PRICING_ATTR_rec.operation = QP_GLOBALS.G_OPR_DELETE THEN
QP_Validate_Pricing_Attr.Entity_Delete
( x_return_status => l_return_status
, p_PRICING_ATTR_rec => l_PRICING_ATTR_rec
);
IF l_PRICING_ATTR_rec.operation = QP_GLOBALS.G_OPR_DELETE THEN
--added by svdeshmu
--[5069539] Added the check to skip this block when the call is from
--UI. The validation for existing break lines is done in the form
--itself. This is required because newly inserted break lines must be
--allowed for deletion before saving.
IF p_control_rec.called_from_ui = 'N' THEN
-- bug 3563355 start
Declare
x_rltd_modifier_grp_type varchar2(30);
SELECT null INTO x_rltd_modifier_grp_type
FROM qp_rltd_modifiers
WHERE to_rltd_modifier_id = l_PRICING_ATTR_rec.list_line_id
AND rltd_modifier_grp_type = 'PRICE BREAK'
AND ROWNUM = 1;
FND_MESSAGE.SET_NAME('QP','QP_CANNOT_DELETE_DETAIL_LINES');
oe_debug_pub.add('calling get_parent from QPXVMLSB while delete');
QP_Pricing_Attr_Util.Delete_Row
( p_pricing_attribute_id => l_PRICING_ATTR_rec.pricing_attribute_id
);
l_PRICING_ATTR_rec.last_update_date := SYSDATE;
l_PRICING_ATTR_rec.last_updated_by := FND_GLOBAL.USER_ID;
l_PRICING_ATTR_rec.last_update_login := FND_GLOBAL.LOGIN_ID;
IF l_PRICING_ATTR_rec.operation = QP_GLOBALS.G_OPR_UPDATE THEN
QP_Pricing_Attr_Util.Update_Row (l_PRICING_ATTR_rec);
QP_Pricing_Attr_Util.Insert_Row (l_PRICING_ATTR_rec);
END IF; -- For Operation Create, Update or Delete
oe_debug_pub.add('manoj - value of called_from_ui before delete_reqs_for_deleted_entity = ' || l_control_rec.called_from_ui);
qp_delayed_requests_pvt.delete_reqs_for_deleted_entity
(p_entity_code => QP_GLOBALS.G_ENTITY_PRICING_ATTR,
p_entity_id => l_PRICING_ATTR_rec.list_line_id,
x_return_status => l_return_status );
qp_delayed_requests_pvt.delete_reqs_for_deleted_entity
(p_entity_code => QP_GLOBALS.G_ENTITY_MODIFIERS,
p_entity_id => l_parent_list_line_id,
x_return_status => l_return_status );
qp_delayed_requests_pvt.delete_reqs_for_deleted_entity
(p_entity_code => QP_GLOBALS.G_ENTITY_MODIFIERS,
p_entity_id => l_PRICING_ATTR_rec.list_line_id,
x_return_status => l_return_status );
qp_delayed_requests_pvt.delete_reqs_for_deleted_entity
(p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
p_entity_id => l_PRICING_ATTR_rec.list_line_id,
x_return_status => l_return_status );
qp_delayed_requests_pvt.delete_reqs_for_deleted_entity
(p_entity_code => QP_GLOBALS.G_ENTITY_PRICING_ATTR,
p_entity_id => l_PRICING_ATTR_rec.list_line_id,
x_return_status => l_return_status );
qp_delayed_requests_pvt.delete_reqs_for_deleted_entity
(p_entity_code => QP_GLOBALS.G_ENTITY_MODIFIERS,
p_entity_id => l_parent_list_line_id,
x_return_status => l_return_status );
qp_delayed_requests_pvt.delete_reqs_for_deleted_entity
(p_entity_code => QP_GLOBALS.G_ENTITY_MODIFIERS,
p_entity_id => l_PRICING_ATTR_rec.list_line_id,
x_return_status => l_return_status );
qp_delayed_requests_pvt.delete_reqs_for_deleted_entity
(p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
p_entity_id => l_PRICING_ATTR_rec.list_line_id,
x_return_status => l_return_status );
qp_delayed_requests_pvt.delete_reqs_for_deleted_entity
(p_entity_code => QP_GLOBALS.G_ENTITY_PRICING_ATTR,
p_entity_id => l_PRICING_ATTR_rec.list_line_id,
x_return_status => l_return_status );
qp_delayed_requests_pvt.delete_reqs_for_deleted_entity
(p_entity_code => QP_GLOBALS.G_ENTITY_MODIFIERS,
p_entity_id => l_parent_list_line_id,
x_return_status => l_return_status );
qp_delayed_requests_pvt.delete_reqs_for_deleted_entity
(p_entity_code => QP_GLOBALS.G_ENTITY_MODIFIERS,
p_entity_id => l_PRICING_ATTR_rec.list_line_id,
x_return_status => l_return_status );
qp_delayed_requests_pvt.delete_reqs_for_deleted_entity
(p_entity_code => QP_GLOBALS.G_ENTITY_ALL,
p_entity_id => l_PRICING_ATTR_rec.list_line_id,
x_return_status => l_return_status );
NO_UPDATE_PRIVILEGE EXCEPTION;
IF p_MODIFIER_LIST_rec.operation = QP_GLOBALS.G_OPR_UPDATE THEN
-- Check the security privilege
IF QP_security.check_function( p_function_name => QP_Security.G_FUNCTION_UPDATE,
p_instance_type => QP_Security.G_MODIFIER_OBJECT,
p_instance_pk1 => p_MODIFIER_LIST_rec.list_header_id) = 'F'
THEN
fnd_message.set_name('QP', 'QP_NO_PRIVILEGE');
RAISE NO_UPDATE_PRIVILEGE;
,p_delete => FND_API.G_TRUE
,x_return_status => l_return_status
);
,p_delete => FND_API.G_TRUE
,x_return_status => l_return_status
);
,p_delete => FND_API.G_TRUE
,x_return_status => l_return_status
);
,p_delete => FND_API.G_TRUE
,x_return_status => l_return_status
);
select 'Y' into l_qual_exists
from qp_qualifiers
where list_header_id = x_MODIFIER_LIST_rec.list_header_id
and qualifier_context = 'ORDER'
and qualifier_attribute = 'QUALIFIER_ATTRIBUTE5'
and qualifier_attr_value = x_MODIFIER_LIST_rec.orig_system_header_ref;
WHEN NO_UPDATE_PRIVILEGE THEN
x_return_status := FND_API.G_RET_STS_SUCCESS;