Technology Blogs by Members
Explore a vibrant mix of technical expertise, industry insights, and tech buzz in member blogs covering SAP products, technology, and events. Get in the mix!
cancel
Showing results for 
Search instead for 
Did you mean: 
pallab_haldar
Active Participant
In this section I will discuss about the create a XSJS application consume calculation view and sent it to Http response to SAPUI5 in SAP HANA XSA using WEB IDE.

Architecture :



 


Steps :

1. Create a Calculation view using required tables in the HDI container.  For our case we created a CV CV_EMPLOYEE from table employee. The detail is given below -

ttps://blogs.sap.com/2020/11/23/understanding-the-development-process-of-calculation-view-in-hana-2....

2. Create a Node.js application with XSJS support and inside lib folder create a employee.xsjs application.


 

4. Add this DB module db_plb to node.js module(with XSJS support) as a required module.


3. Create the employee.xsjs inside lib folder and implement the below code to access the data.

 
var employee = [];
var stmnt = null;
var rs = null;
var conn = $.db.getConnection();
var stmnt = conn.prepareStatement( "select * from "DB_PLB.OFFICE"::"CV_EMPLOYEE" );
var rs = stmnt.executeQuery();

if (!rs.next()) {
$.response.setBody( "Unable to get result" );
$.response.status = $.net.http.INTERNAL_SERVER_ERROR;
} else {
emp = {};
emp.emp_id = resultSet.getString(1);
emp.emp_name = resultSet.getString(2);
emp.emp_mail_id = resultSet.getString(3);
emp.address = resultSet.getString(4);
employee.push(emp);
}
rs.close();
pstmt.close();
conn.close();

try{
$.response.contentType = "application/json";
$.response.setBody(JSON.stringify(employee));
}
catch(err){
$.response.contentType = "text/plain";
$.response.setBody("Got error : [" + err.message + "]");
$.response.returnCode = 400;
}

 

4. Build the DB Module first. . Run as Node.js application and you can see the calculation view has been expose in son format in browser.

 

 


 

Note : at this stage we do not implement security. We will create in the Web module and push it to the XSJS in the next blog.

 

 
Labels in this area