Dificuldade |
|
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:
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
Feedback enviado
Agradecemos seu esforço e tentaremos corrigir o artigo