def set_session_variables(self, search_id, covert):
	"""
			chnaged from:(self, search_id, device_search_id, plc_tag_path, display_cc, detailed_view)
			This function is used to set the custom session variables in the perspective session. 
	
			Args:
				self: This is a reference to the object that is calling this function.
				search_id: Type string, this should be a UDT name.
				device_search_id: Type string, display path of the alarm.
			Returns:
				None.
	
			Raises:
				None.
		"""
	self.session.custom.searchId = search_id
	self.session.custom.covert = covert
	

def navigate_to_alarm(self, mhe_id):
	"""
			This function is used to navigate to the location of an alarm within SCADA
	
			Args:
				self: This is a reference to the object that is clicked on the screen.
				event: This is a reference to the event that is clicked on the screen.
			Returns:
				None.
	
			Raises:
				Logs and error to the gateway if the Config/cfg tag is not found
				or the LinkToPage field is empty.
		"""
	
	config = "%s/Config/cfg" % (mhe_id)
	tags_to_read = system.tag.readBlocking(["Configuration/FC", "Configuration/DetailedViews"])
	tag_provider = "[%s_SCADA_TAG_PROVIDER]" % (tags_to_read[0].value)
	tags_config = system.tag.readBlocking([tag_provider + config])
	tag_config_value = system.util.jsonDecode(tags_config[0].value)
	if tag_config_value:
		link_to_page = tag_config_value.get("LinkToPage")
		if link_to_page == None or len(link_to_page) == 0:
			error_message = "No page id found in Cfg tag" 
			system.perspective.openPopup("ErrorPopUP", "PopUp-Views/Error", 
										params ={"Error_message":error_message}, 
										showCloseIcon = False, modal = True,
										viewportBound = True,
										draggable = False,
										overlayDismiss = True
										)
		else:
			url_to_navigate = "/DetailedView/%s/%s" % (link_to_page, link_to_page)
			#Update the session variables to flash the pointers.
			set_session_variables(self, mhe_id, False)
			system.perspective.navigate(page = url_to_navigate)
	else:
		error_message = "No cfg tag found" 
		system.perspective.openPopup("ErrorPopUP", "PopUp-Views/Error", 
												params ={"Error_message":error_message}, 
												showCloseIcon = False, modal = True,
												viewportBound = True,
												draggable = False,
												overlayDismiss = True
												)
	
