Páginas filhas
  • 17333210 DFWKLOGIX-966 DT Falha na carga de variáveis globais relacionadas a conexão de banco durante conexões REST


01. DADOS GERAIS

Produto:

TOTVS Framework

Linha de Produto:

Linha Logix

Segmento:

Tecnologia

Módulo:

Framework (Linha Logix) - Administração Logix

Função:Funções padrões de conexão de banco e inicialização de threads
País:Brasil
Ticket:

17333210

Requisito/Story/Issue (informe o requisito relacionado) :DFWKLOGIX-966


02. SITUAÇÃO/REQUISITO

Existem variáveis globais como G_TIPO_SGBD que não são devidamente carregadas em conexões REST e, isso gera problemas em programas que fazem o uso desta variável global, impactando no funcionamento correto do produto conforme o banco de dados conectado.

Um exemplo do impacto desse problema é que a função de conversão de datas log0810_year_to_second_sql(), que retorna um DATETIME no formato do banco de dados conectado, acabava retornando sempre a data e hora no formato do banco INFORMIX e não no formato do banco ORACLE ou SQLServer, quando for um destes dois o banco conectado.

03. SOLUÇÃO

Situação ocorre, quando em uma nova thread em execução, que não tenha ainda realizado conexão com o banco de dados, acionar uma função 4GL qualquer que esteja definida em um código fonte que tenha a definição da diretiva DATABASE LOGIX no topo do seu código (usado para indicar o arquivo de schema no ato da compilação de fontes), acabava conectando o banco de dados s indevidamente e fazendo com que a função LOG_connectDatabase() identificasse que a conexão já foi realizada e não fazia inicialização de algumas informações de variáveis Globais.

Foram realizados os seguintes ajustes:

    • Realocação de algumas funções do fonte log0010.4gl para o fonte DBINFO.4GL que não contem a diretiva DATABASE LOGIX no seu início de codigo e assim evitar a conexão de banco automatica no acionamento das respectivas funções.
    • Realizado ajuste no componente LTHREAD para que a conexão de banco fosse realizada no inicio de uma nova thread usando a função LOG_connectDatabase() e assim a carga de todas informações globais utilizadas pelos programas Logix não tivessem mais falhas pela falta de inicialização destas informações.


04. DEMAIS INFORMAÇÕES

Não se aplica.


IMPORTANTE!

Disponível a partir do pacote oficial 12.1.231 ou Framework Fix 12.1.2305(fix02)


05. ASSUNTOS RELACIONADOS

  • Não se aplica.