Importação automática de cotações de moeda

Modificado em Qui, 20 Abr, 2023 na (o) 10:18 AM

Dificuldade
  • Média


Resumo


Este artigo tem por objetivo apresentar a configuração e o funcionamento da importação automática das cotações de moeda do site do BACEN - Banco Central via agendamento de tarefas ou manualmente através de uma rotina específica dentro do SGE.



GEM005 - Cadastro de Moedas


No cadastro de moedas, fazemos a ligação do código da moeda no SGE com o código da moeda PTAX. A PTAX é uma taxa que representa a taxa de câmbio. Ou seja, o preço de uma moeda estrangeira em relação a nossa moeda brasileira, o real.


A Ptax é chamada assim por causa da PTAX800, uma transação do Sisbacen (Sistema do Banco Central) usada durante muitos anos pelo público para consultar taxas de câmbio. A transação foi desativada em 1º de setembro de 2014, mas o sistema que a substituiu manteve o nome Ptax, já que o termo era de uso generalizado por agentes do mercado de câmbio.



Para obter a lista de códigos da moeda PTAX, vc deve consultar AQUI !


Ao lado do código da moeda PTAX, temos o tipo de cotação que pode ser COMPRA ou VENDA, dependendo da opção que o cliente estiver usando para obter a cotação.


GEP203 - Importação de Cotações de Moedas


Esta é a rotina que fará a importação das cotações e sua inclusão no cadastro de cotações do SGE. O BACEN - Banco Central do Brasil, disponibiliza um arquivo em formato CSV com todas as cotações de moedas. O SGE fará o download deste arquivo e a leitura para a gerar as cotações.



A importação pode ser feita MANUALMENTE ou através de AGENDAMENTO via tarefa para ser executado pelo SchedulerApp. 


O campo "Calendário" serve para o sistema identificar quais os dias que são ÚTEIS, NÃO ÚTEIS e FERIADOS. Este campo é obtido como padrão do código configurado no MENU.INI, opção #CALENDARIO, mas pode ser informado manualmente pelo usuário.


A "Data Cotação" serve para identificar como base a data que esta executando a consulta de cotações. É através deste campo que determinamos qual data que o sistema fará o download da fonte de dados em formado CSV. No exemplo na imagem, será gerado registros nas cotações do SGE no dia 25/11, mas baseado nas informações do BACEN da cotação do campo "Data Fechamento" do dia 24/11. Independentemente se a importação será feita de forma manual ou automática, será necessário realizar a mesma diariamente.


Caso a "Data Cotação", seja informada uma data que caia em final de semana, por exemplo, no domingo dia 28/11, o campo "Data Fechamento" será calculado para dia 26/11, que é a última data com cotação válida que temos, e será gerado no SGE registro de cotações do dia 28/11 utilizando as cotações do BACEN do dia 26/11. 


Todo este cálculo de dias, é baseado no calendário e portando é muito importante que o calendário esteja configurado e atualizado corretamente. A rotina de calendário, pode ser configurada através do GEM205:



Após informado a data, deve ser utilizado o botão "Download Planilha" que irá gerar o arquivo no direitório especificado no campo "Planilha" que é preenchido automáticamente pela rotina, baseado no campo "Data Fechamento". Note que no exemplo o nome do arquivo ficou como 20211124.csv, pois a "Data Fechamento" é dia 24/11/2021.


O arquivo CSV vindo do BACEN tem o formato abaixo:



Como o CSV é um arquivo em formato texto, ele pode ser aberto pelo EXCEL, como na imagem acima, ou em qualquer editor de arquivo texto:



Os campos que a rotina utiliza para fazer a importação das informações, lendo o arquivo CSV, são estes:


  • Coluna 1: Data cotação
  • Coluna 2: Código PTAX
  • Coluna 5: Cotação compra
  • Coluna 6: Cotação venda


No exemplo abaixo as colunas acima estão configuradas no grupo de informações "Configuração - Células":


Note que é informada a posição da coluna nos campos do grupo de informações "Configuração - Células".

  • Data Fechamento: Coluna 1
  • Código PTAX: Coluna 2
  • Cotação compra: Coluna 5
  • Cotação venda: Coluna 6



Caso o cliente tenha outra fonta de dados que não seja o BACEN em formato CSV, pode ser pesquisado o arquivo e também feito a importação, bastando apenas informar no grupo de informações "Configuração - Células" qual é a coluna do arquivo que estão as informações necessárias para a rotina fazer a importação.


Para efetivamente fazer a importação das cotações, é necessário utilizar o botão "Importar" que irá gerar uma tarefa para que seja executado o procedimento. Após isto, pode ser usado a rotina de cotação de moeda, GEM007:




Agendamento



Para a rotina GEP203 (Importação de Cotações de Moedas) ser executada através do AGENDAMENTO, é necessário primeiro criar um filtro através do botão "Filtros":



Primeiro informe o nome do filtro e depois utilize o botão "Capturar" para que os dados da rotina GEP203 sejam captados automáticamente para o filtro. Salve o filtro e clique em "Carregar"


Retornando a rotina, cliquei no botão "Agendar Importação":


 

A frequência pode ser informada, por exemplo, "Diária", a partir das 6:00 AM, conforme a imagem acima.


No exemplo acima, a tarefa será executada a partir do dia 27/11/2021, todo dia, as 6:00 AM. Quando a execução da rotina é via agendamento, o campo "Data Cotação" é a data de execução da tarefa.


Abaixo, temos algumas configurações via arquivo GEP203.CFG que devem ser parametrizadas:


#HOST DOWNLOAD: www4.bcb.gov.br 

#URL ARQUIVO DOWNLOAD: /Download/fechamento

#EXTENSAO ARQUIVO DOWNLOAD: csv


Este arquivo já esta pronto no anexo aqui neste artigo.



Observações de utilização


Em alguns ambientes onde o ServerAPP/SchedulerApp é executado no servidor onde o sistema operacional é o windows server, o comportamento de download pode ser diferente, fazendo com que seja baixado um arquivo CSV com 0 bytes.


Isto se deve as configurações de privacidade da conexão com a internet, pois o fato de ser um sistema operacional de servidor e a navegação na internet neste ambiente deve ser mais restrita do que em uma máquina executando o windows 7, por exemplo. A conexão utilizado pela rotina é a HTTP/HTTPS (porta 80 e 443) e caso tenha alguma coisa bloqueando este meio de conexão (regra no firewall, etc...) não será possível fazer o download do arquivo.


Caso note este comportamento e queira ter certeza disto, criamos a configuração abaixo que mostra um LOG da conexão de download, contendo os erros da tentativa:


#EXIBIR DIALOG CONFIRMACAO HTTP: S


Por padrão, esta configuração não esta habilitada.


Para resolver esta questão, é necessário seguir os procedimento abaixo no servidor:


Windows Server 2012:


Neste abaixo tem uma outra forma de fazer através das configurações para INTERNET:

https://financeiro-tucanoweb.com.br/index.php/knowledgebase/80/Liberando-download-no-Windows-Server.html




São procedimentos simples mas que devem ser executados por o administrador da rede da empresa.

Este artigo foi útil?

Que bom!

Obrigado pelo seu feedback

Desculpe! Não conseguimos ajudar você

Obrigado pelo seu feedback

Deixe-nos saber como podemos melhorar este artigo!

Selecione pelo menos um dos motivos
A verificação do CAPTCHA é obrigatória.

Feedback enviado

Agradecemos seu esforço e tentaremos corrigir o artigo