The following lines contain the word 'select', 'insert', 'update' or 'delete':
ELSIF l_CURR_LISTS_rec.operation = QP_GLOBALS.G_OPR_UPDATE
OR l_CURR_LISTS_rec.operation = QP_GLOBALS.G_OPR_DELETE
THEN
l_CURR_LISTS_rec.db_flag := FND_API.G_TRUE;
IF ( l_CURR_LISTS_rec.operation = QP_GLOBALS.G_OPR_UPDATE
or l_CURR_LISTS_rec.operation = QP_GLOBALS.G_OPR_CREATE
or l_CURR_LISTS_rec.operation = QP_GLOBALS.G_OPR_DELETE ) THEN
-- Above if statement added by Sunil Pandey in order to avoid header level validations
-- for detail record
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_Curr_Lists.Attributes
( x_return_status => l_return_status
, p_CURR_LISTS_rec => l_CURR_LISTS_rec
, p_old_CURR_LISTS_rec => l_old_CURR_LISTS_rec
);
IF l_CURR_LISTS_rec.operation = QP_GLOBALS.G_OPR_DELETE THEN
-- Added by sunilpandey to prevent delete operation of details from Public package
FND_MESSAGE.SET_NAME('QP','QP_CAN_NOT_DELETE_CURR_HDR');
QP_Validate_Curr_Lists.Entity_Delete
( x_return_status => l_return_status
, p_CURR_LISTS_rec => l_CURR_LISTS_rec
);
IF l_CURR_LISTS_rec.operation = QP_GLOBALS.G_OPR_DELETE THEN
QP_Curr_Lists_Util.Delete_Row
( p_currency_header_id => l_CURR_LISTS_rec.currency_header_id
);
l_CURR_LISTS_rec.last_update_date := SYSDATE;
l_CURR_LISTS_rec.last_updated_by := FND_GLOBAL.USER_ID;
l_CURR_LISTS_rec.last_update_login := FND_GLOBAL.LOGIN_ID;
IF l_CURR_LISTS_rec.operation = QP_GLOBALS.G_OPR_UPDATE THEN
-- oe_debug_pub.add('Calling QP_Curr_Lists_Util.Update_Row from CURR_LISTS package');
QP_Curr_Lists_Util.Update_Row (l_CURR_LISTS_rec);
QP_Curr_Lists_Util.Insert_Row (l_CURR_LISTS_rec);
END IF; /* if operation is create, update or delete */
ELSIF l_CURR_DETAILS_rec.operation = QP_GLOBALS.G_OPR_UPDATE
OR l_CURR_DETAILS_rec.operation = QP_GLOBALS.G_OPR_DELETE
THEN
l_CURR_DETAILS_rec.db_flag := FND_API.G_TRUE;
IF ( l_CURR_DETAILS_rec.operation = QP_GLOBALS.G_OPR_UPDATE
or l_CURR_DETAILS_rec.operation = QP_GLOBALS.G_OPR_CREATE
or l_CURR_DETAILS_rec.operation = QP_GLOBALS.G_OPR_DELETE ) THEN
-- Above if statement added by Sunil Pandey in order to avoid header level validations
-- for detail record
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_Curr_Details.Attributes
( x_return_status => l_return_status
, p_CURR_DETAILS_rec => l_CURR_DETAILS_rec
, p_old_CURR_DETAILS_rec => l_old_CURR_DETAILS_rec
);
IF l_CURR_DETAILS_rec.operation = QP_GLOBALS.G_OPR_DELETE THEN
-- Added by sunilpandey to prevent delete operation of details from Public package
FND_MESSAGE.SET_NAME('QP','QP_CAN_NOT_DELETE_CURR_DTL');
QP_Validate_Curr_Details.Entity_Delete
( x_return_status => l_return_status
, p_CURR_DETAILS_rec => l_CURR_DETAILS_rec
);
oe_debug_pub.add('CHECKING VALUES BEFORE LINES INSERT/UPDATE/DELETE_ROW IS CALLED FROM VCUR');
IF l_CURR_DETAILS_rec.operation = QP_GLOBALS.G_OPR_DELETE THEN
-- oe_debug_pub.add('QP_Curr_Details_Util.Delete_Row is being called');
QP_Curr_Details_Util.Delete_Row
( p_currency_detail_id => l_CURR_DETAILS_rec.currency_detail_id
);
l_CURR_DETAILS_rec.last_update_date := SYSDATE;
l_CURR_DETAILS_rec.last_updated_by := FND_GLOBAL.USER_ID;
l_CURR_DETAILS_rec.last_update_login := FND_GLOBAL.LOGIN_ID;
IF l_CURR_DETAILS_rec.operation = QP_GLOBALS.G_OPR_UPDATE THEN
QP_Curr_Details_Util.Update_Row (l_CURR_DETAILS_rec);
QP_Curr_Details_Util.Insert_Row (l_CURR_DETAILS_rec);
END IF; /* if operation is create, update or delete */
,p_delete => FND_API.G_TRUE
,x_return_status => l_return_status
);