Falcon es bastante impresionante y tiene algunas características que otros lenguajes de programación matarían por tener -:)
Así que…ninguna demostración estaría completa si la enlazaramos con SAP HANA, so? Así que…vamos a hacerlo -;)
Primero, debemos crear un objeto Join y asociar la tabla por MANDT y CARRID. De ahí, seleccionar los siguientes campos como output MANDT, CARRID, CARRNAME, PRICE y CURRENCY.
Luego crear un objeto Aggregation seleccionándo los campos CARRNAME, PRICE (Como columnas agregadas) y CURRENCY. Debemos filtrar el campo CURRENCY por ‘USD’.
Luego, debemos crear un objeto Projection y seleccionar solo PRICE y CARRNAME.
En el objeto Semantics asegúrense de marcar “CROSS CLIENT” como cliente por defecto.
En el objeto Semantics asegúrense de marcar “CROSS CLIENT” como cliente por defecto.
Ahora, cambiemos a la vista SAP HANA Development y creemos un nuevo repositorio. Lo llamaremos“Flights”.
Creamos un proyecto “XS Engine” y también lo llamamos “Flights”. Lo enlazamos con el repositorio “Flights”.
Creamos un archivo vacio llamado “.xsapp”.
Creamos un archivo llamado “.xsaccess” con el siguente código.
.xsaccess |
---|
{ "exposed" : true, "authentication" : [ { "method" : "Basic" } ] } |
Finalmente creamos un archivo llamado “flights.xsodata” con el siguiente código
flights.xsodata |
---|
service { "Blag/FLIGHTS_BY_CARRIER.calculationview" as "FLIGHTS" keys generate local "Id"; } |
Activamos el proyecto y lanzamos nuestro browser...deberíamos ver algo como esto…
La parte de SAP HANA está lista…así que ahora podemos pasar a la parte de Erlang…
Falcon debería estar incluído en cualquier distribución de Linux…y estoy seguro de que ni siquiera se han dado cuenta -;)
En fín…también pueden instalarlo desde Falcon Releases...
Ahora…como aún soy un novato en Falcon…no estoy seguro si de verdad necesitamos esto…pero para estar seguros…instalamos esto…
apt-get install falconpl-curl
Son las libreías de Curl para Falcon…
Agarra tu editor favorito y copia y pega el siguiente código…
falcon_hana.fal |
---|
import from curl import from json h = curl.Handle("http://YourServer:8000/Flights/flights.xsodata/FLIGHTS?$format=json") auth = "Authorization:Basic " + Base64.encode("SYSTEM:YourPassword") headers = [auth] h.setOption(curl.OPT.HTTPHEADER,headers) h.setOption(curl.OPT.SSL_VERIFYPEER,false) data = h.setOutString().exec().getData() try raw = json.JSONdecode( data ) catch printl( "Can't decode the string" ) end d = raw["d"] results = d["results"] for Index in [0:results.len()] print(results[Index]["CARRNAME"]) print(" : ") printl(results[Index]["PRICE"]) end |
Para ejecutarlo…simplemente abre una sesión en el terminal, anda a la carpeta donde tienes tu código y escribe...
Falcon falcon_hana.fal
Debo admitir que esto no fué muy sencillo en un inicio…la documentación de Falcon no habla sobre curl…así que tuve que revisar el código en GitHub…hacer muchas pruebas…hasta que finalmente pude hacer que funcione…la parte de json por otro lado fué extremadamente sencilla -:D
Saludos,
Blag.
Development Culture.
No comments:
Post a Comment