Páginas filhas
  • LOG_getInfoThreadBySID


Permite recuperar algumas informações referente a uma determinada sessão de usuário em execução, utilizando o SID e data e hora de conexão da sessão Logix no banco de dados, tais como:

  • Login de usuário
  • Código do programa
  • Origem da execução
  • IP e porta do Appserver onde está executando a sessão
  • Número da thread de identificação no Appserver

Sintaxe

LOG_getInfoThreadBySID( < l_sid >,< l_dat_hor_sid >,< l_info> ) => CHAR

Parâmetros

Nome

Tipo

Obrigatório?

Descrição

l_sid 

CHAR

Sim

SID ativo na execução atual.

l_dat_hor_sid 

CHAR

Sim

Data e hora de criação do SID.

l_info
SMALLINT

Sim

Código de identificação da informação que deseja recuperar:

#1-Usuário
#2-Programa
#3-Origem da execução (Para mais detalhes acesse Observações)
#4-IP do AppServer
#5-Porta do AppServer 
#6-ThreadID
#7-Observações (Informações adicionais que podem estar registradas para algumas sessões)

Retorno

Tipo

Descrição

CHAR

Informações solicitadas conforme o valor informado para o parâmetro l_info.

Exemplo

#---------------------------------------------------------#
 FUNCTION LOG_getInfoThreadBySID_test(l_sid,l_dat_hor_sid)
#---------------------------------------------------------#
{Parâmetros:
   l_sid - SID da sessão Logix desejada, que pode ser recuperado a partir do banco de dados, monitor de AppServer.
   l_dat_hor_sid - Data/hora de conexão do SID da sessão Logix desejada. 
}
 	DEFINE l_sid 			INTEGER
	DEFINE l_dat_hor_sid	DATETIME YEAR TO SECOND
	DEFINE l_retorno        CHAR(100)

	#Recupera login do usuário que está executando a sessão Logix
	LET l_retorno = LOG_getInfoThreadBySID(l_sid,l_dat_hor_sid,1)
	CALL conout("O usuário Logix da sessão é "||l_retorno CLIPPED)

	#Recupera programa que está em execução na sessão Logix
	LET l_retorno = LOG_getInfoThreadBySID(l_sid,l_dat_hor_sid,2)
	CALL conout("O programa Logix da sessão é "||l_retorno CLIPPED)

	#Recupera a origem de execução da sessão Logix
	LET l_retorno = LOG_getInfoThreadBySID(l_sid,l_dat_hor_sid,3)
	CALL conout("A origem da sessão do usuário é "||l_retorno CLIPPED)

	#Recupera o IP do AppServer onde a sessão Logix está em execução
	LET l_retorno = LOG_getInfoThreadBySID(l_sid,l_dat_hor_sid,4)
	CALL conout("O IP do servidor da sessão é "||l_retorno CLIPPED)

	#Recupera a porta do AppServer onde a sessão Logix está em execução
	LET l_retorno = LOG_getInfoThreadBySID(l_sid,l_dat_hor_sid,5)
	CALL conout("A porta do Appserver da sessão é "||l_retorno CLIPPED)

	#Recupera o número da Thread no AppServer que está em execução para a sessão Logix
	LET l_retorno = LOG_getInfoThreadBySID(l_sid,l_dat_hor_sid,6)
	CALL conout("O ID da Thread da sessão é "||l_retorno CLIPPED)

	#Recupera observações adicionais da sessão que está em execução no Logix
	LET l_retorno = LOG_getInfoThreadBySID(l_sid,l_dat_hor_sid,7)
	CALL conout("Observações adicionais da sessão é "||l_retorno CLIPPED)
END FUNCTION

Informações

Fontes: log0010.4gl

Observações

Para obter o código do SID e data e hora de conexão de uma execução em andamento, por exemplo, pode usar as seguintes funções:

   DBINFO_getInfoSID() → Para recuperar o código SID de conexão de banco de dados da execução do programa/rotina atual.

   DBINFO_getInfoLoginTime() → Para recuperar a data/hora de conexão de banco de dados da execução do programa/rotina atual.


A informação de valor 3 (Origem da execução) pode retornar qualquer um dos dados a seguir:

  • Nome e número de IP da máquina de usuário.   Formato: {nome máquina usuário}:{IP usuário}
  • JOB.  Indica que a execução é modo JOB a partir de outra aplicação.
  • SCHEDULER.  Indica que a execução é modo JOB a partir do agendador de tarefas.
  • COLETOR.  Indica que a execução é a partir do menu de COLETOR de dados Logix (Programa MEN3001 - interface TELNET).
  • TELNET.  Indica que é uma execução avulsa a partir da interface TELNET.