MD Software
MillenniumBroker

Macros do Broker

Esta seção descreve as macros disponíveis no Broker, detalhando suas definições, utilidades e especificações.

O que é um macro?

Um macro é um comando criado em cima de tarefas repetitivas para automatizar e agilizar um conjunto de ações ou processos.

Os macros no contexto do desenvolvimento do Millennium Broker são comandos criados não só para agilizar e diminuir a quantidade de código a ser escrito, mas também para possibilitar novas funcionalidades e principalmente para manter a compatibilidade entre bancos diferentes

Bancos de dados suportados e compatibilidade

Atualmente, o sistema do Millennium atua com os seguintes bancos de dados:

  • SQL Server
  • Firebird

Logo, para atender a todos os bancos, seria necessário o dobro de código, o que não é viável.

Portanto, foi criado um sistema de macros que abstrai os bancos de dados, criando uma camada de compatibilidade que permite que as macros sejam criadas para um banco e também funcionem em outros.

No exemplo abaixo, cada banco de dados tem uma forma diferente de retornar a data e hora atual, mas a macro #NOW() retorna a data e hora corretamente para todos os bancos.

SQL Server

SELECT GETDATE() AS DATA_HORA FROM DUAL;

Firebird

SELECT CURRENT_DATE AS DATA_HORA FROM DUAL;

Macro - #NOW()

SELECT #NOW() AS DATA_HORA FROM DUAL;

Ao verificarmos os logs da pasta wts/trace podemos ver o resultado após a execução do método com a query acima:

1018727054-18900-21688 11/18/24 10:29:57:840
    SQL_PREPARE TRANSACTION_ID:10
        SELECT CURRENT_TIMESTAMP as DATA_HORA FROM DUAL

Portanto, as macros são uma camada de compatibilidade que permite que as queries sejam iguais para todos os bancos, mas internamente elas são convertidas para o banco correto.

Atenção

As macros podem ser instáveis, ou seja, podem não funcionar da maneira esperada em certas situações.

On this page