GX: Obtener Información de un Usuario del GAM

1 0

El GAM es una de las herramientas más poderosas que nos ofrece Genexus, nos facilita enormemente la tarea de la seguridad en nuestras aplicaciones. Sin embargo, muchas veces se puede tornar muy amplia, tiene una cantidad de métodos muy grandes lo cual puede complicar su uso.

El día de hoy, se realizó una pregunta en uno de los Chats de WhatsApp al cual pertenezco. La pregunta era como se podía obtener la información de un usuario del GAM. La idea es sencilla, muchas veces guardamos en una transacción el usuario, ¿Qué pasaría si necesitamos en un reporte imprimir el nombre en lugar del usuario? El API del GAM no tiene esta consulta por default, así que decidimos realizar un procedimiento que resuelva esta problemática, siendo el código el siguiente:

Source

&GAMUserFilter.Name = &UsuarioFiltro

&GAMUsers = GAMRepository.GetUsers(&GAMUserFilter, &GAMErrors)
For &GAMUser in &GAMUsers
	&UsuarioGAM = &GAMUser
	exit
Endfor

Rules

Parm(In: &UsuarioFiltro, Out: &UsuarioGAM);

Explicación

En este procedimiento haremos uso del API del GAM. El External Object GAMRepository tiene un método que nos devuelve los usuarios dependiendo los filtros que le mandemos, en este caso recibimos como parámetros un String que sería el usuario de Log. Esto nos devuelve un listado de Tipo GAMUser. Ya con esto iteramos este listado y devolvemos el primer resultado.

Posteriormente se puede implementar en cualquier objeto de la siguiente manera:

&UsuarioGAM = DevuelveUsuarioGAM.Udp(&Usuario)
Msg('First Name: ' + &UsuarioGAM.FirstName)
Msg('Last Name: ' + &UsuarioGAM.LastName)	
Msg('Email: ' + &UsuarioGAM.EMail)
Msg('Phone: ' + &UsuarioGAM.Phone.ToString())
Msg('Birthday: ' + &UsuarioGAM.Birthday.ToString())
Msg('Address: ' + &UsuarioGAM.Address)
Msg('Gender: ' + &UsuarioGAM.Gender.ToString())	

Dejo un link donde se puede descargar un XPZ con el ejemplo (Dar click Acá)

Happy
Happy
0 %
Sad
Sad
0 %
Excited
Excited
100 %
Sleepy
Sleepy
0 %
Angry
Angry
0 %
Surprise
Surprise
0 %

Average Rating

5 Star
0%
4 Star
0%
3 Star
0%
2 Star
0%
1 Star
0%

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Entrada anterior Tanto lío con obtener las actas del CNE y nosotros lo resolvimos en unas cuantas horas
Entrada siguiente Genexus – Quitar una extensión desde la KB