Páginas filhas
  • DFWKTOOLS-1948 DT Melhoria das funções LOG_setVar() e LOG_getVar()


01. DADOS GERAIS

Linha de Produto:Logix
Segmento:Tecnologia
Módulo:Framework
Função:Funções genéricas
Requisito/Story/Issue (informe o requisito relacionado) :DFWKTOOLS-1948


02. SITUAÇÃO/REQUISITO

Permitir que os valores registrados em memória utilizando as funções LOG_setVar ou LOG_setEnv estejam acessíveis para execuções de novas threads utilizando o componente LTHREAD.


A função LOG_setVar é utilizada para desenvolvimento de pontos de entrada no Logix (customização), onde o produto padrão disponibiliza os parâmetros de entrada para que nas funções EPL possam ser recuperados tais parâmetros utilizando a função LOG_getVar .

A função LOG_setEnv é utilizada para armazenar valores do tipo texto em memória, sem a necessidade de definir uma variável para tal e seu valor pode ser recuperado usando a funç;ao LOG_getEnv. Já a função LOG_getVar é utilizada para recuperar valores armazenados pela função LOG_setVar.


Atualmente os valores registrados em memória utilizando estas duas funções ficam acessíveis apenas no programa atual em execução (Thread atual no AppServer) ou em execuções de outros programas 4GL utilizando as seguintes instruções abaixo que tem sua execução mantida na mesma Thread no AppServer:

♦ comando RUN "fglrun <programa>"

♦ chamada da função log120_procura_caminho(<programa>) RETURNING <comando> seguido por comando RUN <comando>

♦ chamada da função log1200_executa_programa(<programa>,<parâmetros>) 


Já para execuções em novas Threads no AppServer, utilizando qualquer uma das opções abaixo, os valores registrados pelas funções LOG_setVar e LOG_setEnv não ficam disponíveis para serem recuperadas com as funções LOG_getVar e LOG_getEnv:

♦ Componente LTHREAD

♦ Funcionalidade Pool Job Threads

♦ Função log1200_executa_programa(l_num_programa, l_lista_argumentos)

♦ Função log1200_executa_programa_background(l_num_programa)

♦ Função log1200_executa_programa_background_wait(l_num_programa)

♦ Função LOG_applicationRun(l_process,l_arguments)

♦ Função LOG_4GL_application_run(l_process,l_arguments)

♦ Função LOG_ADVPL_application_run(l_process,l_arguments)


03. SOLUÇÃO


Alteração do componente LTHREAD para que os valores registrados em memória utilizando as funções LOG_setVar e LOG_setEnv fiquem disponíveis também em execuções em novas Threads no Appserver acionadas a partir da execução do programa atual (Thread corrente).


IMPORTANTE!

Estas funcionalidades somente estarão disponíveis com a atualização do pacote Framework Fix 12.1.28.01 ou pacote Oficial Logix 12.1.29, pois existem dependências de outras alterações importantes relacionadas ao comportamento do componente LThread, menu e geração de LOG e DEBUG de programas.



04. ASSUNTOS RELACIONADOS