[Home] [Help]
The following lines contain the word 'select', 'insert', 'update' or 'delete':
OR (p_validation_level = EAM_PROCESS_WO_PVT.G_OPR_UPDATE) then
x_return_status := FND_API.G_RET_STS_SUCCESS;
* Purpose : This will process create/update/delete on Isolation
************************************************************/
PROCEDURE PROCESS_ISOLATION
( p_bo_identifier IN VARCHAR2 := 'EAM'
, p_api_version_number IN NUMBER := 1.0
, p_init_msg_list IN BOOLEAN := FALSE
, p_commit IN VARCHAR2
, p_iso_header_rec IN EAM_PROCESS_SAFETY_PUB.eam_iso_header_rec_type
, p_establish_iso_tbl IN EAM_PROCESS_SAFETY_PUB.eam_establishment_tbl_type
, p_re_establish_iso_tbl IN EAM_PROCESS_SAFETY_PUB.eam_establishment_tbl_type
, p_isolated_asset_tbl IN EAM_PROCESS_SAFETY_PUB.eam_safety_assoc_tbl_type
, x_isolation_id OUT NOCOPY NUMBER
, x_return_status OUT NOCOPY VARCHAR2
, x_msg_count OUT NOCOPY NUMBER
, p_debug IN VARCHAR2
, p_output_dir IN VARCHAR2
, p_debug_filename IN VARCHAR2
, p_debug_file_mode IN VARCHAR2
)IS
l_api_name CONSTANT VARCHAR2(30) := G_PKG_NAME;
EAM_ERROR_MESSAGE_PVT.Translate_And_Insert_Messages
( p_mesg_token_Tbl => l_out_Mesg_Token_Tbl
, p_error_level => l_error_level
, p_entity_index => l_entity_index
);
EAM_ERROR_MESSAGE_PVT.Translate_And_Insert_Messages
( p_mesg_token_Tbl => l_out_Mesg_Token_Tbl
, p_error_level => l_error_level
, p_entity_index => l_entity_index
);
EAM_ERROR_MESSAGE_PVT.Translate_And_Insert_Messages
( p_mesg_token_Tbl => l_out_Mesg_Token_Tbl
, p_error_level => l_error_level
, p_entity_index => l_entity_index
);
EAM_ERROR_MESSAGE_PVT.Translate_And_Insert_Messages
( p_mesg_token_Tbl => l_out_Mesg_Token_Tbl
, p_error_level => l_error_level
, p_entity_index => l_entity_index
);
CURSOR C IS SELECT EAM_ISOLATIONS_S.NEXTVAL FROM SYS.DUAL;
IF (p_validation_level = EAM_PROCESS_WO_PVT.G_OPR_UPDATE) THEN
EAM_ISOLATION_DEFAULT_PVT.Populate_NULL_Columns
( p_eam_iso_header_rec => l_iso_header_rec
, p_old_eam_iso_header_rec => l_old_iso_header_rec
, x_eam_isolation_rec => l_out_iso_header_rec
);
SELECT EAM_SAFETY_WORKFLOW_ENABLED
INTO l_workflow_enabled
FROM WIP_EAM_PARAMETERS
WHERE organization_id =p_organization_id;
OR (l_iso_header_rec.transaction_type=EAM_PROCESS_WO_PVT.G_OPR_UPDATE -- updated
AND NVL(l_old_iso_header_rec.pending_flag,'N') = 'N' --old status is not pending
--and old status is not same as new status
AND (l_old_iso_header_rec.SYSTEM_STATUS <>l_iso_header_rec.SYSTEM_STATUS)
)
) THEN
l_test := (WF_EVENT.TEST(l_status_pending_event));
CURSOR C2 IS SELECT EAM_ESTABLISHMENT_DETAILS_S.NEXTVAL FROM SYS.DUAL;
SELECT COUNT(*)
INTO l_count
FROM csi_item_instances
WHERE instance_id = l_establish_iso_rec.maintenance_object_id
AND (last_vld_organization_id = p_organization_id
OR last_vld_organization_id IN (SELECT organization_id from mtl_parameters where MAINT_ORGANIZATION_ID = p_organization_id));
SELECT COUNT(*)
Into L_count
From Eam_establishment_details
Where Establishment_source_id = L_establish_iso_rec.Establishment_source_id
And Sequence_type = L_establish_iso_rec.Sequence_type
And Organization_id= L_establish_iso_rec.Organization_id
And Sequence_number=L_establish_iso_rec.Sequence_number;
IF l_establish_iso_rec.TRANSACTION_TYPE = EAM_PROCESS_WO_PVT.G_OPR_UPDATE THEN
BEGIN
Select Establishment_id
Into l_temp
From Eam_establishment_details
Where Establishment_source_id = L_establish_iso_rec.Establishment_source_id
And Sequence_type = L_establish_iso_rec.Sequence_type
And Organization_id= L_establish_iso_rec.Organization_id
And Sequence_number=L_establish_iso_rec.Sequence_number;
SELECT EAM_SAFETYWORKFLOW_EVENT_S.NEXTVAL
INTO l_wf_event_seq
FROM DUAL;
INSERT INTO EAM_SAFETY_WORKFLOWS
(OBJECT_ID,TRANSACTION_ID,WORKFLOW_TYPE,LAST_UPDATE_DATE,LAST_UPDATED_BY,
CREATION_DATE,CREATED_BY,LAST_UPDATE_LOGIN)
VALUES
(p_eam_iso_rec.isolation_id,l_wf_event_seq,1,SYSDATE,FND_GLOBAL.user_id,
SYSDATE,FND_GLOBAL.user_id,FND_GLOBAL.login_id
);
l_parameter_list.DELETE;