quarta-feira, 24 de agosto de 2011

Exclusão de dados do Bloco VII do PAF-ECF

Pessoal,

No bloco VII da versão 01.08 do ER-PAF-ECF, vem com uma novidade que é tratar também a exclusão/inclusão de dados no banco de dados. Levando em consideração a lógica que passei no post anterior "Bloco VII do PAF-ECF" (http://guilhermebragaf1.blogspot.com/2011/07/bloco-vii-do-paf-ecf.html), tratar a inclusão é fácil, é só utilizar a mesma lógica para tratar a alteração de dados, no entanto como tratar um registro excluído ?

Utilizei a seguinte lógica:

Criei uma trigger para cada tabela que faz parte dos registros dos arquivos que terão que evidenciar a exclusão de dados. Essa trigger identifica qual o programa que está executando a exclusão. Se a exclusão não for executada pela minha aplicação a trigger irá inclui esse registro, que está sendo excluído, em uma tabela auxiliar, criando assim uma tabela de log só para os registros excluídos da tabela principal. Quando minha aplicação gerar os arquivos eletrônicos, irá ler também essas tabelas auxiliares para identificar os registros que foram excluídos das suas tabelas principais para serem também contemplados no arquivo eletrônico.

Abaixo mostro como fica mais ou menos a trigger utilizando uma aplicação feita em Visual Basic com banco de dados SQL Server:


CREATE TRIGGER NOME_DA_TRIGGER
   ON  NOME_DA_TABELA
   AFTER DELETE
AS
BEGIN
    DECLARE @PROGRAMA VARCHAR(300)

    SELECT @PROGRAMA = PROGRAM_NAME FROM SYS.SYSPROCESSES WHERE SPID = @@SPID

    IF @PROGRAMA <> 'VISUAL BASIC'
    BEGIN    
        -- AQUI SERÁ FEITO A INCLUSÃO DO REGISTRO QUE ESTÁ SENDO EXCLUÍDO NA TABELA AUXILIAR PARA        

        -- QUE SEJA INCLUÍDO COM O CARACTER "?" NA GERAÇÃO DO ARQUIVO ELETRÔNICO
    END
END
GO


Nenhum comentário:

Postar um comentário