Tecnologia > Ferramentas de Apoio > Linguagem SQL Senior 2 > Linguagem Senior SQL 2 dentro das regras

Linguagem Senior SQL 2 dentro das regras

A linguagem Senior SQL 2 pode ser utilizada nas regras dos geradores de informação (gerador de relatórios e consultas), regras de cálculo (regras avulsas executadas diretamente pelo sistema) e importador/exportador de arquivos texto.

Esta linguagem é um padrão adotado pela Senior para que os comandos SQL possam ser escritos em um formato padrão que permita um melhor aprendizado e uma melhor tradução para os bancos de dados suportados pelos sistemas da Senior.

Abrangência da implementação

A implementação afeta todas as regras que tem comandos SQL em cursores ou em uso juntamente com o comando ExecSQL. Nestes casos a linguagem poderá ser usado como será visto mais adiante neste documento.

A ativação da linguagem é feita de várias maneiras, dependendo da ferramenta em questão. Estas maneiras são detalhadas a seguir.

Ativação da linguagem no gerador de relatórios

No gerador de relatórios a ativação é feita através do menu principal do gerador. No item diversos existe a opção Usar Senior SQL 2.

Esta ativação é referente a todas as regras do modelo selecionado, sendo relativa somente aos comandos SQL executados de dentro de uma regra do modelo selecionado, não interferindo no SQL gerado e executado diretamente pelo gerador de relatórios.

Ativação da linguagem dentro do importador/exportador de arquivos texto

A linguagem Senior SQL 2 dentro do importador/exportador de arquivos texto pode ser ativada através da opção Usar Senior SQL 2 na página Definições.

Ativação da linguagem dentro do gerador de consultas

Pode ser realizado através do opção Senior SQL 2 do tela principal de definição de modelos.

Ativação da linguagem nas regras

É feito através do editor de regras em Compilar > Usar Senior SQL 2 ou pela tecla de atalho Ctrl + F12.

Comandos SQL em cursores

Os comandos SQL Senior 2 executados dentro de cursores das regras não poderão mais usar comandos nativos do banco de dados, como TO_DATE ou CONVERT,por exemplo.

Estes comandos deverão ser substituídos por comandos da linguagem Senior SQL 2.

Funções de agregação

Funções tais como SUM, COUNT, MAX, por exemplo, não poderão ser usadas quando a regra estiver usando Senior SQL 2. Isto somente acontece dentro da cláusula SELECT do comando, sendo possível a utilização de funções da linguagem Senior SQL 2 dentro da cláusula WHERE.

O JOIN e UNION ainda não tem garantias de funcionamento dentro das regras, sendo o seu uso de responsabilidade dos programadores. Hoje a rotina poderá ser alterada sem levar em conta o uso destes recursos da linguagem SQL.

Macro __inserir nos Cursores Usados em Regras

__Inserir
Comando que permite inserir uma String no cursor.

Inserir( : <nome_variável> )

Onde <nome_variável> é o nome de uma variável alfanumérica definida dentro da regra.

Considerações:

Importante

Se a regra estiver usando a linguagem Senior SQL 2, esta macro deve figurar no comando de maneira que os conectores não fiquem inválidos no SQL caso a macro seja substituída.

Macro __inserir na execução

Durante a execução da regra, o valor que estiver contido dentro da variável indicada pela macro, será inserido no comando SQL do cursor. Como uma boa parte dos cursores são executados dentro do gerador de relatórios e este somente utiliza Senior SQL 2, os valores inseridos no comando através da macro terão um tratamento adicional. Caso este valor contenha uma função existente na linguagem Senior SQL 2, este será convertido para o comando nativo caso a regra esteja utilizando comando SQL nativo.

Comandos SQL com ExecSQL

Este comando será compilado de acordo com a configuração da regra ou da ferramenta em questão. Não existe a macro __Inserir dentro do comando ExecSQL deixando a sua compilação e execução mais simples.

As funções nativas de banco de dados não poderão ser mais utilizadas caso a regra utilize a linguagem Senior SQL 2.

Implementações necessárias nos sistemas

Compilação de Regras

Durante a compilação de regras não é necessário a intervenção do sistema, nem nos geradores e nem nas regras cálculo. O responsável pela informação sobre a ativação ou não da linguagem Senior SQL 2 é de responsabilidade do editor de regras.

Execução

Para executar a regra com esta nova linguagem Senior SQL 2 é necessário realizar as seguintes implementações:

Recompilação quando da mudança de versão

O gerenciamento da configuração de ativação da linguagem Senior SQL 2 referente a recompilação é de responsabilidade da rotina que compila as regras. Nenhuma alteração é necessário neste caso.

Este artigo ajudou você?