Registrar uma alteração feita pelo Usuário em um SetPoint

Saudação a todos!
Estou tentando criar o registro de alterações feitas pelos usuários para uma consulta. O que quero é que quando um usuário alterar por exemplo um set point, que seja registrado no banco de dados a tag que foi alterada, o usuário que fez a alteração, o novo valor inserido e TimeStamp da alteração. Depois em uma consulta eu consiga filtrar todas as alterações por parte dos usuários que foram realizadas dentro de um intervalo de data naquela aplicação.
Eu usei na opção de domínio o registro de eventos, mas lá não encontrei o que quero, sem falar que não consegui depois encontrar a tabela que nomeei lá.

Bloco de Citação

Boa tarde Jose,

Neste caso você pode utilizar o método TrackEvent do Viewer, que permite gerar eventos via script manualmente.
TrackEvent(EventMessage, [Comment], [EventTimeStamp])

O método TrackEvent só irá registrar os eventos se a opção de Registro de Eventos nas Opções do Domínio estiver habilitada.
Para maiores informações consulte o seguinte artigo:
Armazenamento de Eventos.

Para registrar alterações em um setpoint, veja o exemplo de script abaixo no evento Validate do objeto:

Sub Texto7_Validate(Cancel, NewValue)
If User = "" then
	User = "Anônimo"
End if

Tag = Application.GetObject("Data.Tag1").PathName
Application.TrackEvent "Valor alterado em tag  " & Tag & " de " & Value & " para " & NewValue & " pelo usuário: " & User

End Sub

Com relação a não encontrar a tabela de Registro de Eventos, ela deve ter sido criada em um dos bancos de dados existentes na sua aplicação.
Se preferir, envie sua aplicação para delio@elipse.com.br que eu verifico.

Primeiramente obrigado Délio, enviarei sim!
Segundo, vamos dissecar esse problema, porque não compreendi exatamente, esse método eu havia encontrado, mas não soube como usá-lo.
Eu tentei usar esse método no meu Xcontrol, no objeto setpoint, mas não consegui compreender corretamente como ele opera, pois não estava usando a sintaxe correta com os ampersands.
Como estou usando ele em um Xcontrol para buscar o nome da tag que ele está alterando como devo fazer? Pois ele buscará um objeto associado indiretamente.
Exemplo:

Quando ao registro do nome do usuário, é só usar a variável user do viewer? aplicação que criei não há a possibilidade de usuário anônimo, assim posso abolir
'If User = “” then
’ User = “Anônimo”
'End if
Certo?
Em qual tabela esses eventos são registrados? Pois procurei nas tabelas disponíveis em meu banco de dados e não encontrei uma tabela onde essa informação estivesse registrada, eu por uma questão de obvia procurei nessas tabelas e não achei esses registros:

Como estou usando ele em um Xcontrol para buscar o nome da tag que ele está alterando como devo fazer? Pois ele buscará um objeto associado indiretamente.

Pela imagem enviada, percebe-se que você tem uma propriedade “Font” teoricamente associado ao seu XObject. Portanto você pode associar o PathName da instância do XObject:
AjusteBomba.Font.Pathname 'Caminho do objeto XO associado

O pathname da propriedade, se essa propriedade for de um tipo que seja um objeto (IOTag, OPCTag, UATag):
AjusteBomba.Font.Propriedade.Pathname 'Caminho do tag associado a propriedade

Ou ainda o Source da propriedade que recebe a associação do tag:
AjusteBomba.Font.Links.Item(“Propriedade”).Source

Quando ao registro do nome do usuário, é só usar a variável user do viewer?

Sim, basta usar a propriedade User do Viewer.

Em qual tabela esses eventos são registrados? Pois procurei nas tabelas disponíveis em meu banco de dados e não encontrei uma tabela onde essa informação estivesse registrada, eu por uma questão de obvia procurei nessas tabelas e não achei esses registros:

A tabela de registro de eventos deve ser declarada nas opções do domínio na aba Registro de Eventos.