Sincronização
Sincronização - Importar dados de um banco para outro
O evento “Importar dados de um banco para outro”, dentro do agrupador de sincronização, é utilizado para quando são necessárias a busca e importação de informações de determinado banco de dados, para outro.
- Descrição: campo traz por padrão a 'descrição do tipo de evento' mas permite edição.
- Momento da execução: define o momento em que o evento será executado: Ao entrar, Ao sair da atividade, Ao anexar.
- Origem
- Conector - origem: nesse campo, será informado um conector de conexão com o banco de dados de onde serão importados os dados;
- Conector - SQL: carrega os dados do banco de origem a partir do SQL informado no campo "Conector - SQL", exemplo:
SELECT cod_cidade,
nome
FROM cad_cidades
- Destino
- Conector - destino: Conector de banco de dados que irá criar uma conexão com o banco de destino das informações que serão importadas; * Na execução do evento, caso qualquer uma dessas conexões falhe, a execução do evento é abortada. Caso não apresente nenhum erro em nenhuma das conexões, é iniciada uma transação no BD de destino para englobar todos os comandos que serão executados pelo evento.
- SQL de verificação: Percorre a lista de registros obtida do banco de origem para importar cada um no banco de destino;
- Para cada registro, verifica se o mesmo já existe no banco de destino executando o SQL indicado nesse campo. Se a execução desse SQL retornar algum registro, indicará que o mesmo já existe no banco de destino. Esse SQL deve ser parametrizado, de forma que o nome de cada parâmetro corresponda ao nome de um campo do conjunto de dados carregado do banco de origem. Para verificar se uma cidade carregada do banco de origem já existe no banco de destino, poderia ser usado o comando SQL:
SELECT 1
FROM cidade
WHERE idcidade = :cod_cidade
Considerando que os dados carregados do banco de origem possuem um campo chamado "cod_cidade", o qual irá alimentar o parâmetro ":cod_cidade" do SQL de verificação;
-
- SQL de inserção: Caso o registro ainda não exista no banco de destino, insere o mesmo no banco de destino utilizando um SQL. Esse SQL deve ser parametrizado, de forma que o nome de cada parâmetro corresponda ao nome de um campo do conjunto de dados carregado do banco de origem.
- Para inserir uma cidade no banco de destino, poderia ser usado o comando SQL:
INSERT INTO cidade (idcidade, descricao)
VALUES (:cod_cidade, :nome)
Considerando que os dados carregados do banco de origem possuem um campo chamado "cod_cidade" e outro chamado "nome", os quais irão alimentar os parâmetros ":cod_cidade" e ":nome" do SQL de inserção;
-
- SQL de atualização: Caso o registro já exista no banco de destino, realiza a atualização dos dados no banco de destino através do SQL indicado. Esse SQL deve ser parametrizado, de forma que o nome de cada parâmetro corresponda ao nome de um campo do conjunto de dados carregado do banco de origem.
- Para atualizar um registro de cidade no banco de destino, poderia ser usado o comando SQL:
UPDATE cidade
SET descricao = :nome
WHERE idcidade = :cod_cidade
Considerando que os dados carregados do banco de origem possuem um campo chamado "cod_cidade" e outro chamado "nome", os quais irão alimentar os parâmetros ":cod_cidade" e ":nome" do SQL de atualização;
Após processar a sincronização de todos os registros, confirma a transação no banco de dados de destino (commit) ou reverte todas as alterações em caso de falha (rollback).
- Observação: caso ocorra alguma exceção na execução de qualquer comando SQL envolvido na operação, será verificado se existe um evento de tratamento de exceção na atividade do processo. Caso exista um evento desse tipo, a sincronização de dados é interrompida.
Sincronização - Importar dados Excel
Caso você tenha uma planilha Excel de onde deseja extrair informações para o DOX, poderá utilizar o evento Importar Dados Excel para trazer essas informações. Depois de importado para o BPM o usuário pode utilizar essas informações em sua gestão juntamente com a ferramenta.
Aba 1:
Aba 2:
- Descrição: campo traz por padrão a ‘descrição do tipo do evento’, mas permite edição;
- Momento da execução: define o momento em que o evento vai ser executado: Ao entrar, Ao sair da atividade, ou Ao anexar;
- Origem Excel: aqui será definida a origem de onde a planilha será trazida;
- Disco rígido: nessa opção deverá ser selecionado um local físico onde estará armazenada a planilha Excel.
- Variável: selecionando essa opção, o local de armazenamento da planilha será informado pelo usuário através de uma variável de processo.
- Planilha/Aba: nesse campo deve ser informado o nome da Planilha que será importada.
- Tipo de importação: deve ser informado se dessa importação será trazida a planilha por completo, ou apenas algumas células da mesma;
- Algumas células: deverá ser informada a Linha e Coluna que deseja importar as informações, qual o tipo de dado dessas informações, caso seja numérico, informar a quantidade de casas decimais, e, por último, informar a variável que irá armazenar as informações.
- Planilha toda: se for importada uma planilha inteira, o sistema irá automaticamente criar uma tabela no banco de dados.
- Nome tabela: nome que será dado a tabela criada para armazenar informações. Como padrão, o software sempre informará 'exl_' como prefixo da tabela.
- Limpar todos os dados da tabela antes de importar: sempre que uma nova importação for executada, a tabela será atualizada apenas com os dados da nova importação;
- Colunas chave para atualização: ao atualizar a nova importação, o sistema levará em consideração essas colunas para fazer a verificação.
Em um processo BPM por exemplo:
Evento configurado:
Campo "Tipo de importação": Neste campo você pode informar se quer importar células especificas ou o planilha inteira, caso selecione a planilha inteira vale ressaltar que o evento irá criar uma tabela no banco como por exemplo EXL_ por padrão é o nome informado na aba de Importar planilha inteira.
Caso opte por essa opção a primeira linha do arquivo corresponde ao nome das colunas e a segunda para baixo os dados. Caso deixe a opção de células específica você deve informar o numero da linha e qual coluna está o dado, como na imagem abaixo, o tipo que essa informação será salva, casas decimais caso seja um dado do tipo valor e para qual variável ele irá colocar a informação do arquivo
Formulários do BPM mostrado na primeira imagem:
Ao entrar na atividade o evento irá importar os dados para as variáveis que foi configurada, desse modo, quando o usuário abrir o processo os formulários já estarão com os valores da planilha Excel. Se o Excel tiver vários dados e você precisar importar todos eles, o correto seria para uma variável do tipo grade de dados ao selecionar o tipo de importar a planilha inteira.
EXEMPLO:
Ao entrar na primeira atividade é importada a planilha inteira e o sistema irá criar uma tabela com os dados no banco, EXL_TESTE por exemplo, na segunda atividade criada você usaria o seguinte evento:
- Estrutura de repetição - Carregar
Neste evento teria um SQL que consultaria tabela para retornar os dados e armazenar em uma variável do tipo grade de dados e está estar vinculada a um formulário do tipo grade de dados com os campos criados correspondente aos nomes da coluna da tabela de cada campo.
Sincronização - Importar dados arquivo texto
Eventos deste tipo são utilizados em casos onde determinados dados de um arquivo de texto precisam ser importados para o sistema. Por exemplo, você tem uma lista de itens que deve ser baixada como um arquivo texto. Este evento irá realizar a importação desta lista para o sistema de acordo com o delimitador utilizado no arquivo de texto.
- Descrição: campo traz por padrão a ‘descrição do tipo do evento’, mas permite edição;
- Tipo execução: define o momento em que o evento vai ser executado: Ao entrar, Ao sair da atividade, ou Ao anexar;
- Origem: aqui será definida a origem de onde o arquivo será trazido;
- Disco rígido: nessa opção deverá ser selecionado um local físico onde estará armazenado o arquivo, no campo Arquivo;
- Variável: selecionando essa opção, o local de armazenamento da planilha será informado pelo usuário através de uma variável de processo.
- Delimitador: aqui deverá ser informado o delimitador de informações do arquivo texto, podendo ser escolhidas as opções Tabulação, Ponto e vírgula, Vírgula e Espaço.
- Nome tabela: nome que será dado a tabela criada para armazenar informações. Como padrão, o software sempre informará txt_ como prefixo da tabela;
- Limpar todos os dados da tabela antes de importar: sempre que uma nova importação for executada, a tabela será atualizada apenas com os dados da nova importação;
- Colunas chave para atualização: ao atualizar a nova importação, o sistema levará em consideração essas colunas para fazer a verificação.