Árvore de páginas

Objetivo

Criar triggers para monitoramento e/ou integração com o serviço Totvs Apps, quando os parâmetros de jornalização indicarem integração do tipo Trigger, e associação aos eventos de replication para monitoramento.

Criação, de forma dinâmica nos ambientes Progress, dos campos fwk_last_modif e fwk_created_at e do índice idx_fwk_last_modif quando os parâmetros de jornalização indicarem integração do tipo Trigger.

ProgramaAU0108
Pré-Requisitos

É pré-requisito para a execução dessa função:

Para que a geração de triggers não ocorra com problemas, é obrigatório que todas as tabelas do banco que será gerado as triggers, contenham um índice criado.

Caso não seja especificado, irá ocorrer um erro de compilação no momento da geração das triggers.

Visão Geral

Essa função atualiza o dicionário de dados, portanto é necessário que a conexão seja monousuário ou tenha apenas um usuário conectado à base de dados para evitar erro de Database Status. Após o processo de geração de triggers, a sessão do Progress deve ser encerrada. Os processos de monitoramento ou jornalização será iniciado somente após abrir uma nova sessão do Progress.

Ao executar esta rotina com um Client de usuário com Progress 12 e 32 bits, devido a questões de licenciamento do Progress, não será possível gerar de forma imediata a rotina de geração das triggers e assim sendo necessário gerar um pedido de execução para posterior execução por um RPW com Progress 12 64 bits.

Caso a versão do Progress não seja FULL, a rotina de geração das triggers do Audit Trail não será completa devido a falta de licenciamento para manipulação do banco de dados ou até mesmo a compilação do programa, sendo assim tendo duas alternativas:
a) Geração de um pedido de execução para ser executado por um RPW com devido licenciamento FULL;
b) Prosseguir com o procedimento da rotina de geração das triggers, ao final do processo será gerado o arquivo de definição de estrutura dentro do diretório temporário para cada banco monitorado, basta realizar o load desta definição no seu respectivo banco de dados. Em seguida acesse o diretório de geração dos programas de triggers e verifique a necessidade de compilação dos mesmos.

Caso seja utilizado o parâmetro -cache, deve-se atualizar o arquivo de cache para que o monitoramento das tabelas e atributos seja efetuado. Para tanto, após a geração das triggers, deve ser executado o seguinte comando para cada base de dados:

SAVE CACHE COMPLETE <nome da base de dados> to “<nome completo do arquivo de cache>”.

Exemplo:

SAVE CACHE COMPLETE mgind to “c:\cache\cachemgind.csh”.


Importante:

Os triggers para o monitoramento dos atributos e tabelas para base de dados do tipo Oracle, são gerados em PL-SQL.

Os triggers para o monitoramento dos atributos e tabelas para base de dados do tipo SQL Server, são gerados em T-SQL.

É criado um trigger para cada evento: insert, update ou delete.

Os Triggers em PL-SQL ou T-SQL são criados no diretório de Localização definido no cadastro de Base de Dados com extensão .SQL e são automaticamente enviados ao banco de dados.

Quando houver integração com o serviço Totvs Apps configurada, caso ambiente não utilize dataservers e a jornalização seja do tipo Trigger, serão gerados nas tabelas integradas um campo de nome fwk_last_modif e um campo de nome fwk_created_at que será utilizado para jornalizar os dados afetados.


Importante:

Erro Progress 3307

No momento da geração de triggers pode ser apresentado o erro Progress 3307 para alguma tabela.

Esse erro somente ocorre quando um número muito elevado de atributos é selecionado para monitoramento. O erro é originado em decorrência de uma limitação do tamanho de um segmento de código Progress. O limite existente é de 62k e quando esse limite é excedido, o erro é apresentado.

Para solucioná-lo, devem ser selecionados menos atributos para serem monitorados na tabela que apresentou erro.

Quando se faz necessário a geração de triggers do Módulo Audit Trail com as bases de dados em monousuário?

A geração das triggers somente deve ser executada com os bancos em monousuário quando:

a) For selecionada uma nova tabela para ser monitorada;

b) Alguma deixar de monitorar uma tabela;

c) For modificado algum dos eventos a serem monitorados para alguma tabela (create, delete ou write).

Quando, por exemplo, for incluído um novo atributo a ser monitorado ou for excluído o monitoramento de algum atributo em uma tabela que já estava sendo monitorada, ou ainda, quando for incluído/alterado/eliminado um alerta para algum atributo que já estava sendo monitorado, a geração de triggers pode ser executada com os bancos em multiusuário.


Importante:

Quando as triggers forem geradas será verificado se houve alguma atualização de tabela, caso tenha ocorrido, será apresentada a mensagem “17006- Alteração de Dicionário”,” A estrutura de algumas tabelas estão incorretas. Para gerar as trigger será necessário executar o programa (aup/au0101g.p) mono-usuário para atualização do dicionário.”

Este programa pode ser executado pelo menu opções executar programas ou pelo editor do Progress.

Janela Geração das Triggers

Na tabela a seguir, estão descritos os elementos da aba Seleção:


Campo

Descrição

Força Geração das Triggers

Quando assinalado, indica a obrigatoriedade da geração das triggers.

Importante: Todas as triggers são geradas novamente, independentemente de existirem ou não nos diretórios.

Diretório Windows

Quando assinalado, gera as triggers somente para o diretório Windows informado na função Manutenção Base de Dados.

Diretório Unix

Quando assinalado, gera as triggers somente para o diretório Unix informado na função Manutenção Base de Dados.


Na tabela a seguir, estão descritos os elementos da aba “Descrição”:


Coluna

Descrição

Confirma

Coluna destinada a ser marcada para identificar a geração das triggers da base de dados da linha corrente.

Base Dados

Exibe o nome das Bases de Dados cadastradas na função Manutenção de Base de Dados.

Descrição

Exibe a descrição das Bases de Dados cadastradas na Função Manutenção de Base de Dados.

Produto

Exibe a versão de produto cadastrado na Função Manutenção de Base de Dados.

Nome Lógico

Exibe a descrição do nome lógico da Base de Dados cadastrado na Função Manutenção de Base de Dados.

Nome Físico

Exibe a descrição do nome físico da Base de Dados cadastrado na Função Manutenção de Base de Dados.



Botão

Descrição

Todos

Quando acionado, selecione todas as Bases de Dados listadas no browser.

Nenhum

Quando acionado, desmarca todas as Bases de Dados listados no browser.