Creación de oData utilizando el HANA del HCP Trial + Consumirlo en el WebID
Creación del oData
Primeramente revisamos si está levantada la base de datos creada, pues la suelen apagar a diario si no hay uso. Para ello nos vamos a SAP HANA/ SAP ASE y revisamos que no esté en estado stopped. Si no la hemos creado pues leer el anterior post.
Una vez levantada nos vamos a SAP HANA Web-Based Development Workbench --> Catalog.
En la perspectiva catálogo, primeramente nos creamos una vista con un par de tablas que tenemos creadas.
-------------------------------------------------------------------------------------------------------------------------
CREATE VIEW "GRETELIUS"."MIVISTA"( "IDENT", "DESCRIPTION", "FINI", "FFIN","HINI", "HFIN", "NOMBRE" )
AS SELECT "R"."IDENT", "R"."DESCRIPTION", "R"."FINI", "R"."FFIN", "R"."HINI", "R"."HFIN", "E"."NOMBRE"
from Z_H_RESERVAS R
inner join z_entidad E
on r.ident = e.ident ;
-------------------------------------------------------------------------------------------------------------------------
Cambiamos de perspectiva y nos vamos a la perspectiva "Editor", pulsando sobre el icono de las cadena amarilla. Una vez en la perspectiva Editor desplegamos el paquete de pruebas que hemos creado o bien creamos uno pulsando nuevo. Pulsamos dentro del paquete con botón derecho y creamos nuevo fichero con extensión .xsodata, dentro rellenamos el contenido siguiente:
-----------------------------------------------------------------------------------------
service {
// exponemos la vista de reservas
"GRETELIUS"."MIVISTA" as "APL_RESERV_RESULTS" key ("IDENT" , "FINI", "HINI");
}
-----------------------------------------------------------------------------------------
Pulsamos el play verde y seguidamente se nos abre ventada de explorador con la ejecución del servicio.
Importante en este paso copiarse la url que aparece en xml:base para luego poder crear entrada en el destination del webid.
Ahora podemos, por ejemplo, lanzar el $metadata para ver las properties del EntitySet. Simplemente se agrega al final.
Ahora podemos añadir al finalel nombre de la entityset y vemos que nos devuelve los datos de la vista.
.../GRE_PACK/data.xsodata/APL_RESERV_RESULTS
o por ejemplo que nos devuelva un registro en concreto agregando lo siguiente:
.../GRE_PACK/data.xsodata/APL_RESERV_RESULTS(IDENT=1,FINI=datetime'2018-01-01T00:00:00.0000000',HINI=time'PT9H0M0S')
Ahora ya está todo listo para pasar al siguiente punto y consumirlo desde algún sitio realizando un simple GET.
Consumo del oData desde el WebId:
Creamos la entrada en el destination con los siguientes parámetros, utilizamos la url sombreada más arriba, además del usuario y password que utilizamos para la base de datos HANA. Pulsamos Check Connection para ver que nos da un 200 y está todo ok.
Luego abrimos el servicio WebID. Creamos nuevo proyecto desde template (por ejemplo la worklist). En el paso de añadir la conexión elegimos el destino creado y vemos que sale nuestro entityset, con lo cual ha ido bien.
Siguiente, siguiente añadiendo los campos y demás... luego ejecutamos. Y taaadaaaa!!!!
Primeramente revisamos si está levantada la base de datos creada, pues la suelen apagar a diario si no hay uso. Para ello nos vamos a SAP HANA/ SAP ASE y revisamos que no esté en estado stopped. Si no la hemos creado pues leer el anterior post.
En la perspectiva catálogo, primeramente nos creamos una vista con un par de tablas que tenemos creadas.
-------------------------------------------------------------------------------------------------------------------------
CREATE VIEW "GRETELIUS"."MIVISTA"( "IDENT", "DESCRIPTION", "FINI", "FFIN","HINI", "HFIN", "NOMBRE" )
AS SELECT "R"."IDENT", "R"."DESCRIPTION", "R"."FINI", "R"."FFIN", "R"."HINI", "R"."HFIN", "E"."NOMBRE"
from Z_H_RESERVAS R
inner join z_entidad E
on r.ident = e.ident ;
-------------------------------------------------------------------------------------------------------------------------
Cambiamos de perspectiva y nos vamos a la perspectiva "Editor", pulsando sobre el icono de las cadena amarilla. Una vez en la perspectiva Editor desplegamos el paquete de pruebas que hemos creado o bien creamos uno pulsando nuevo. Pulsamos dentro del paquete con botón derecho y creamos nuevo fichero con extensión .xsodata, dentro rellenamos el contenido siguiente:
-----------------------------------------------------------------------------------------
service {
// exponemos la vista de reservas
"GRETELIUS"."MIVISTA" as "APL_RESERV_RESULTS" key ("IDENT" , "FINI", "HINI");
}
-----------------------------------------------------------------------------------------
Pulsamos el play verde y seguidamente se nos abre ventada de explorador con la ejecución del servicio.
Importante en este paso copiarse la url que aparece en xml:base para luego poder crear entrada en el destination del webid.
service xmlns:atom="http://www.w3.org/2005/Atom" xmlns:app="http://www.w3.org/2007/app" xmlns="http://www.w3.org/2007/app"xml:base="https://grepXXXXXXXXXXtrial.hanatrial.ondemand.com:443/GRE_PACK/data.xsodata/">
Ahora podemos, por ejemplo, lanzar el $metadata para ver las properties del EntitySet. Simplemente se agrega al final.
Ahora podemos añadir al finalel nombre de la entityset y vemos que nos devuelve los datos de la vista.
.../GRE_PACK/data.xsodata/APL_RESERV_RESULTS
o por ejemplo que nos devuelva un registro en concreto agregando lo siguiente:
.../GRE_PACK/data.xsodata/APL_RESERV_RESULTS(IDENT=1,FINI=datetime'2018-01-01T00:00:00.0000000',HINI=time'PT9H0M0S')
Ahora ya está todo listo para pasar al siguiente punto y consumirlo desde algún sitio realizando un simple GET.
Consumo del oData desde el WebId:
Creamos la entrada en el destination con los siguientes parámetros, utilizamos la url sombreada más arriba, además del usuario y password que utilizamos para la base de datos HANA. Pulsamos Check Connection para ver que nos da un 200 y está todo ok.
Luego abrimos el servicio WebID. Creamos nuevo proyecto desde template (por ejemplo la worklist). En el paso de añadir la conexión elegimos el destino creado y vemos que sale nuestro entityset, con lo cual ha ido bien.
Siguiente, siguiente añadiendo los campos y demás... luego ejecutamos. Y taaadaaaa!!!!
Comentarios
Publicar un comentario