INSTITUCIONAL
COMUNIDAD
BLOG
AYUDA
MI CUENTA
EN PT ES

Imagen6368S

De GeneXus 8.0 RC: Tipos de datos estructurados (III)

En esta edición comentaremos la definición de estructurados más complejos (colecciones), sus propiedades y nuevos casos de uso de Webservices

Colecciones

Si bien ya definimos una lista de teléfonos del cliente, una colección de un tipo simple (numérico), se podría definir un nuevo SDT, o el mismo, como una lista de clientes

 

En este caso son creados dos tipos de datos, uno Clientes y otro Clientes.Cliente.

Cargar una colección

Una variable de tipo Clientes se cargaría de una forma similar al Cliente, pero es necesario utilizar el comando new, ya que los SDT por defecto se asignan por referencia. Con el siguiente código podríamos cargar la lista de clientes.

For Each
&Cliente = new Clientes.Cliente ()
&Cliente.Nombre = Clinom
&Cliente.Identidad = CliDoc
&Cliente.Nacionalidad= &Nacionalidad
&CLiente.Direccion.Empresa = Clidir
&Cliente.Telefonos.Add(CliTel)
&Clientes.add(&Cliente)
Endfor

Recorrer una colección

Luego de cargada la estructura de clientes es posible recorrerla con el comando For IN Array, con las siguientes líneas de código:

For &Cliente in Clientes
&Clinom = &cliente.Nombre
...
EndFor

Proveer/consumir servicios

Ahora podemos proveer/consumir en un Webservice la lista de clientes. Al igual que en el caso de los datos del cliente, para proveer simplemente se debe definir un procedimiento con call protocol SOAP y retornar por parámetro una variable de tipo Clientes.
Para consumir utilizar el WSDL inspector.

Muchos de los webservices disponibles proveen datos estructurados, por ejemplo http://www.swanandmokashi.com/HomePage/WebServices/Horoscope.asmx?WSDL provee, diariamente, la lista de los signos del horóscopo con su respectivo pronóstico.

Para programar dicha interfase en su portal, debería:

1) Incluir la definición del webservices desde diseño

2) Definir en un objeto Web Panel dos variables, "array" e "item", con los nuevos tipos de datos y una variable, "ws" con el servicio:

3) Codificar la carga de un subfile recorriendo el array resultado de la invocación:

Event Load
&array = &ws.GetHoroscope()
For &item in &array
&SodiacSign = &item.ZodiacSign
&ForeDailiy = &item.DailyForecast
load
endfor

EndEvent // Enter

Relacionado
De GeneXus 8.0 RC: Tipos de datos estructurados (SDT)
De GeneXus 8.0 RC: Tipos de datos estructurados (II)
Selección en grillas web
GeneXus libera su próxima versión
GeneXus Training Uruguay publicó su calendario de capacitación para el primer semestre del año
Certificaciones #GeneXus en el #GX24
En GeneXus Uruguay buscamos nuevos talentos
Trabajar en GeneXus: Todo lo que tienes que saber si quieres trabajar con nosotros #Training #Becas #BolsaDeTrabajo #GXjobs
En GeneXus México buscamos nuevos talentos
Sistema educativo, mercado laboral, empresas B, Forge y GeneXus: la importancia de la capacitación, los valores y la inserción laboral en los jóvenes
Alta demanda de profesionales TI en el mundo
Próximos cursos y certificaciones #GeneXus en América: Argentina, Colombia, Chile, Brasil, México y Uruguay
Nuevos Analistas GeneXus en el Instituto Superior de Informática #Uruguay
Toolnology continúa presentando GeneXus X Evolution 3 con cursos gratuitos #Argentina
#Mayo Próximos cursos y certificaciones #GeneXus en América: Argentina, Brasil, Colombia, México y Uruguay