Páginas filhas
  • LOG_setEnv


Armazenar um determinado valor na memória e identificar este valor com uma nomenclatura fixa, para posterior leitura utilizando a função LOG_getEnv.

Ao invocar a execução de novos programas a partir da execução do programa atual, mesmo que esta execução provoque a criação de novas Threads no AppServer através do componente LTHREAD, os valores armazenados em memória pela função LOG_setVar estarão disponíveis também nestas novas threads, sem a necessidade de realizar a passagem de parâmetros.


Sintaxe

LOG_setEnv( [ <l_identifier> ], [ <l_value> ] )


Parâmetros

Nome

Tipo

Obrigatório?

Descrição

l_identifierCHARSim

Nome fixo utilizado para identificar o valor a ser armazenado em memória.

(informação) Limite de até 200 caracteres.

l_valueCHARSim

Valor a ser armazenado em memória. 

Tipos de valores ACEITOS:  Qualquer tipo que permita conversão automática para CHAR na linguagem 4GL.

(informação) Limite de até 10.000 caracteres.


Exemplo

#--------------------------#
 FUNCTION LOG_setEnv_test()
#--------------------------#
  DEFINE l_dat DATE

  #Registrando o valor "meu primeiro teste" na memória com o identificador "meuPrimeiroValor"
  CALL LOG_setEnv("meuPrimeiroValor","meu primeiro teste")

  LET l_dat = TODAY
  #Registrando na memória o identificador "dataAtual" com o conteúdo da data atual
  CALL LOG_setEnv("dataAtual",l_dat)

  #Recuperando o valor registrado em memória com o identificador "meuPrimeiroValor"
  CALL conout("Valor armazenado em 'MeuPrimeiroValor' = ["||LOG_getEnv("meuPrimeiroValor")||"]")

  #Recuperando o valor registrado em memória com o identificador "dataAtual"
  CALL conout("Valor armazenado em 'dataAtual' = ["||LOG_getEnv("dataAtual")||"]")
END FUNCTION


Observações

Utilize esta função com cautela, pois ela armazena valores em memória durante a execução de cada Thread no Appserver e este valor só terá a memória alocada restaurada quando a Thread for finalizada.  O uso excessivo pode onerar consumo de memória do AppServer.