Skip to content

Instantly share code, notes, and snippets.

@weberstephanhd
Last active August 29, 2015 14:00
Show Gist options
  • Save weberstephanhd/55fb3ebbba9c23e99a3c to your computer and use it in GitHub Desktop.
Save weberstephanhd/55fb3ebbba9c23e99a3c to your computer and use it in GitHub Desktop.
SAP HANA Cloud Platform - HANA native "Top Customers" - services/salesOrderService.xsjs
var select_all_sales_orders_query =
"SELECT TOP 10 \"CompanyName\", \"NetAmount\", \"GrossAmount\" " +
"FROM \"{{SCHEMA_NAME}}\".\"{{PACKAGE_NAME}}/SO_CV\" " +
"ORDER BY \"GrossAmount\" DESC";
function close(closables) {
var closable;
var i;
for (i = 0; i < closables.length; i++) {
closable = closables[i];
if(closable) {
closable.close();
}
}
}
function getSalesOrders(){
var salesOrdersList = [];
var connection = $.db.getConnection();
var statement = null;
var resultSet = null;
try{
statement = connection.prepareStatement(select_all_sales_orders_query);
resultSet = statement.executeQuery();
while (resultSet.next()) {
var salesOrder = {};
salesOrder.company_name = resultSet.getString(1);
salesOrder.net_amount = resultSet.getDouble(2);
salesOrder.gross_amount = resultSet.getDouble(3);
salesOrdersList.push(salesOrder);
}
} finally {
close([resultSet, statement, connection]);
}
return salesOrdersList;
}
function doGet() {
try{
$.response.contentType = "application/json";
$.response.setBody(JSON.stringify(getSalesOrders()));
}
catch(err){
$.response.contentType = "text/plain";
$.response.setBody("Error while executing query: [" + err.message + "]");
$.response.returnCode = 200;
}
}
doGet();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment