BPM > Configurações > Fonte de Dados Tabelas

Fonte de Dados Tabelas

Sumário

  1. Conceito
  2. Menu de Acesso
  3. Funcionalidades
    3.1 Tabelas e Integração G5/G6
    3.2 Importar Tabela Existente
    3.3 Atualizar umaTabela como Fonte de Dados
    3.4 Utilizar uma Tabela como Fonte de Dados
    3.5 Programar Importação de Dados Agendada
    3.5.1 Importar Definições

1. Conceito

Com este recurso, é possível importar um arquivo .csv e utilizar as informações importadas no BPM.As tabelas cadastradas ficam disponíveis para criação de fonte de dados e relacionar com um campo do processo.

Importante

Caso o usuário altere o nome da fonte de dados é necessário refazer os apontamentos e republicá-los.

2. Menu de Acesso

3. Funcionalidades

3.1 Tabelas e Integração XT

O recurso Tabela serve para manter dados do cliente (aplicativos G5 ou qualquer outro sistema), replicados para a nuvem. Dessa forma os serviços do BPM podem consumir os dados diretamente da nuvem sem ter que ir no site do cliente consumir esses dados.

Na plataforma, cria-se a definição da tabela com nome e colunas com seus respectivos tipos, e no ambiente do cliente, configura-se uma API responsável por enviar os dados para essa tabela na nuvem. Dependendo da frequência de mudanças que aquela informação vai sofrer, configura-se uma frequência maior de integração, por exemplo de hora em hora. Se a informação muda raramente pode-se configurar diariamente ou até mensalmente, ou até mesmo fazer o envio dos dados apenas uma única vez.

No ponto (A) configura-se a API table-import-csv (download). Essa API envia arquivos em formato .csv com os dados para as tabelas predefinidas na plataforma periodicamente. Sob demanda os formulários BPM podem consumir dados dessas tabelas diretamente da plataforma, otimizando o tempo de resposta e o consumo da infraestrutura do cliente.

3.2 Importar Tabela Existente

Acesse Senior Flow > BPM > Configurações > Tabelas > Importar, com um usuário administrador.
Selecione Atualizar uma tabela existente, e pesquise pelo arquivo .csv a ser importado clicando em Selecionar. O tamanho do arquivo a ser importado deve ser de no máximo 15 MB.

O arquivo a ser importado deve ser um arquivo .csv (conteúdo separado por vírgulas), e o conteúdo do arquivo deve estar no formato UTF-8. A primeira linha do arquivo deve conter o cabeçalho, ou seja, o nome das colunas, também separadas por vírgulas. Por último, é exibido uma prévia dos dados e é possível configurar o tipo de cada coluna.

3.3 Atualizar uma Tabela como Fonte de Dados

Você pode adicionar uma nova coluna para permitir a atualização de uma tabela da fonte de dados. Para isso, acesse Senior Flow > BPM > Configurações > Tabelas > Configurar:

Em seguida, adicionar uma nova coluna:

Observação

Não é possível alterar o título das colunas; no entanto, é possível atualizar os dados da tabela inserindo um arquivo CSV com as mesmas colunas e os novos dados.

3.4 Utilizar uma Tabela como Fonte de Dados

Após ter cadastrado uma tabela, é possível utilizá-la como fonte de dados.

  1. Acesse Senior Flow > BPM > Configurações > Fontes de Dados com um usuário administrador, e clique em Adicionar.
  2. Em Formato, selecione a opção Tabela;
  3. Em Tabela, selecione a tabela cadastrada;
  4. Informe o Nome da Fonte de dados que será exibido no BPM na criação de um processo.
  5. Informe a URL para consulta externa dos dados da tabela cadastrada. Para o BPM, ela não é utilizada.
  6. Em Lista de parâmetros são exibidas as colunas da tabela, sendo possível informar uma nova descrição para cada.

A utilização deste tipo de Fonte de dados, é idêntico ao formato JSON.

É possível utilizar a flag Suporta filtros, abaixo uma explicação melhor sobre essa flag.

Suporta filtros: flag utilizada para identificar se os resultados podem ser filtrados. Quando esta opção estiver marcada os filtros serão executados, porém a API que está fornecendo os dados precisa prover este filtro. Ou seja, caso a API não estiver programada para existir um filtro, por mais que esta opção seja marcada, o filtro não irá funcionar;

Suporta filtro marcado: ativa paginação (carregar mais), porém fica a critério da fonte de dados implementar paginação, bem como os filtros passados;

Suporta filtro desmarcado: paginação desativada (exibe um número limite em tela), e os filtros são realizados em campos da tela somente.

3.5 Programar Importação de Dados Agendada

  1. Faça o download da API de integração table-importe-csv (versão 2.0.0);
  2. Acesse Senior Flow > Tecnologia > Administração > Gerenciamento de Aplicações, cadastre um aplicativo e gere a chave e senha (accessKey e secret) de autenticação;
  3. Vá em Ações, clique em Editar
  4. Em seguida, selecione a opção Gerenciar Chaves e Gerar Chave;

Após a criação da chave, devemos associar a permissão para esse aplicação. Para importação, devemos ter as permissões de importar tabela do ECM;

3.5.1 Importar Definições

  1. Crie a tabela no BPM com as definições a serem importadas. Pode-se utilizar a importação de tabelas para carregar as definições automaticamente a partir do .csv, e até mesmo já importar os dados diretamente;
  2. Crie uma fonte de dados para disponibilizar os dados da tabela;
  3. Configure o arquivo de propriedades da API. A API table-import-csv necessita de um arquivo de propriedades com as configurações da integração. O arquivo deve ser salvo no mesmo diretório onde está a API (arquivo .jar). O arquivo deve conter as configurações conforme o exemplo abaixo:

Exemplo:

accessKey=mIVldskfjslkfdfjsHHh2gfgUxWxga
secret=faU5BMLdlfdsajhsedakfdlvkccv_fD_54Yka
tenantName=nome_tenant
file=C:/diretório-integracao/produtos.csv
tablename=produtos
csv.delimiter=";"

Accesskey e secret são os valores obtidos na geração da chave do aplicativo na plataforma. tenantName é o nome do tenant do cliente. file é o caminho completo para o arquivo .csv com os dados a serem enviados. O arquivo deve ser criado pelo cliente seja manualmente ou de forma automatizada. É importante observar a limitação do tamanho do arquivo é de 500 KB. tablename é o nome da tabela criada no BPM. csv.import se informado, será o caracter separador de colunas, o padrão será o caracter “,” (vírgula).

Recomenda-se que o nome do arquivo de propriedades tenha o mesmo nome do atributo tablename por questão de padronização, por exemplo: produtos.properties.

  1. Configure os tipos de dados para as colunas de tabelas criadas automaticamente

Na versão 2.0.0 da API table-import-csv disponibilizamos uma nova propriedade denominada tabledefinition ela espera o caminho do arquivo com extensão .def para parametrização dos tipos de cada coluna da tabela. Esta propriedade apenas será efetiva quando a importação for de uma tabela que não existe cadastrada na base de dados, ou seja, uma tabela criada automaticamente pela API, sendo assim, neste cenário o parâmetro é de caráter obrigatório. Caso não seja informado este parâmetro a tabela não será criada automaticamente.

Exemplo de Parametrização:

Dentro do arquivo de propriedades é necessário adicionar o seguinte parâmetro:

tabledefinition=C:/diretório-integracao/tabledefinition.def

O conteúdo deste arquivo deve ser nome da coluna = tipo da coluna. O separador deve ser obrigatoriamente o caractere =.

É importante ressaltar que todas as colunas com seus respectivos tipos devem ser informadas em linhas separadas, caso contrário a importação da tabela não será concluída com sucesso. Os tipos de campos suportados atualmente são os tipos String, Integer, Date, Double e Boolean.

  1. Execute o arquivo .jar da API via prompt de comando;
java -jar table-import-csv-1.0.8.jar [arquivo .properties]>[arquivo.log]

Exemplo:

java -jar table-import-csv-1.0.8.jar produtos.properties>produtos.log
java -jar table-import-csv-1.0.8.jar clientes.properties>clientes.log

O comando irá gerar uma saída no arquivo.log no mesmo diretório.

No caso de sucesso, o arquivo conterá o seguinte: Importação iniciada com sucesso, o usuário admin irá receber uma notificação na plataforma G7 quando a importação for concluída.

  1. Crie um processo automático (batch). É possível automatizar a execução do integrador utilizando execução de processo automático de regra da G5;

Para isso deve-se criar um .bat similar ao que segue:

cd c:\integracao\importcsv
java -jar table-import-csv-1.0.8.jar produtos.properties>produtos.log
java -jar table-import-csv-1.0.8.jar clientes.properties>clientes.log

Criar a regra LSP para execução do bat:

Definir alfa comma;
comma = "/c C:\\marcio.poffo\\SENIOR\\importcsv\\run.bat";
execprog("c:\\WINDOWS\\system32\\cmd.exe", comma,1);
  1. Por fim, agende a regra em processo automático. Outro processo automático deve atualizar o arquivo .csv de forma sincronizada com o agendamento da execução do integrador;
  2. Utilizando a API em frontend (para desenvolvedores).

URL: https://platform.senior.com.br/t/senior.com.br/bridge/1.0/rest/platform/ecm_form/actions/getResultSet

Header:

Authorization:Bearer [token] 
Content-Type:application/json;charset=UTF-8

Payload exemplo:

{
"dataSource": "produtos",
"token": "41d66c47612ebd064a399152a4c50f44",
"dataSourceField": "codigo",
"searchingValue": "",
"filters": [
{
"fieldName": "codigo",
"operator": "≥","value": "2"
}],
"skip": 0,
"top": 10
}

Response exemplo:

{"data": "{"value":[{"codigo":33,"nome":"Note Dell ","precounitario":4244.0,"unidade":"UN"}]}"}

Ou seja, tem que fazer um parse de data e obter o array do value.

Importante

Durante o registro de uma nova fonte de dados do tipo tabela, se o usuário deixar de assinalar a opção Suporta filtros, apenas os 10 primeiros resultados serão exibidos. No entanto, ao marcar essa opção e concluir o registro da fonte de dados, ao realizar futuras solicitações de tarefas, o filtro trará todos os valores em um arquivo CSV.

Este artigo ajudou você?