The following lines contain the word 'select', 'insert', 'update' or 'delete':
* Purpose : This will process create/update work clearance
***************************************************************************/
PROCEDURE PROCESS_WORK_CLEARANCE
( p_bo_identifier IN VARCHAR2 := 'EAM'
, p_api_version_number IN NUMBER := 1.0
, p_init_msg_list IN BOOLEAN
, p_commit IN VARCHAR2
, p_work_clearance_header_rec IN EAM_PROCESS_SAFETY_PUB.eam_clearance_header_rec_type
, p_clearance_establishment_tbl IN EAM_PROCESS_SAFETY_PUB.eam_establishment_tbl_type
, p_clearance_re_estabish_tbl IN EAM_PROCESS_SAFETY_PUB.eam_establishment_tbl_type
, p_clearance_workorder_asso_tbl IN EAM_PROCESS_SAFETY_PUB.eam_safety_assoc_tbl_type
, p_clearance_permit_asso_tbl IN EAM_PROCESS_SAFETY_PUB.eam_safety_assoc_tbl_type
, x_work_clearance_header_rec OUT NOCOPY EAM_PROCESS_SAFETY_PUB.eam_clearance_header_rec_type
, 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
);
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 C4 IS SELECT EAM_WORK_PERMIT_S.NEXTVAL FROM SYS.DUAL;
IF (p_validation_level = EAM_PROCESS_WO_PVT.G_OPR_UPDATE) THEN
EAM_CLEARANCE_DEFAULT_PVT.Populate_NULL_Columns
( p_eam_clearance_rec => l_work_clearance_header_rec
, p_old_eam_clearance_rec => l_old_wc_header_rec
, x_eam_clearance_rec => l_out_wc_header_rec
);
SELECT EAM_SAFETY_WORKFLOW_ENABLED
INTO l_workflow_enabled
FROM WIP_EAM_PARAMETERS
WHERE organization_id =p_organization_id;
OR (p_work_clearance_header_rec.transaction_type=EAM_PROCESS_WO_PVT.G_OPR_UPDATE --workorder updated
AND NVL(l_old_wc_header_rec.pending_flag,'N') = 'N' --old status is not pending
--and old status is not same as new status
AND (l_old_wc_header_rec.system_status <>l_work_clearance_header_rec.system_status)
)
) THEN
IF(WF_EVENT.TEST(l_status_pending_event) <> 'NONE') THEN
IF EAM_PROCESS_WO_PVT.Get_Debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.Write_Debug ('Calling Wkflow required check API...') ; END IF;
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_wc_rec.WORK_CLEARANCE_ID,l_wf_event_seq,2,SYSDATE,FND_GLOBAL.user_id,
SYSDATE,FND_GLOBAL.user_id,FND_GLOBAL.login_id
);
l_parameter_list.DELETE;
OR (p_validation_level = EAM_PROCESS_WO_PVT.G_OPR_UPDATE) then
x_return_status := FND_API.G_RET_STS_SUCCESS;
CURSOR C IS SELECT EAM_CLEARANCE_NAME_S.NEXTVAL FROM SYS.DUAL;
SELECT eed.*
FROM eam_establishment_details eed
WHERE ESTABLISHMENT_SOURCE_ID = l_clearance_id
AND organization_id = l_org_id
ORDER BY SEQUENCE_TYPE , SEQUENCE_NUMBER ;
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
);