我试图创建一个服务,从SAPUI5前端写入数据到HANA表。据我检查,我认为这是不可能通过OData服务。所以我找到了另一种方法,使用SQL INSERT语句创建XSJS文件。
现在,我的问题是在UI5中使用这个。与OData一样,我会使用类似于ommodel的东西。
有人知道吗?
谢谢!
伊娃更新:在使用第一个答案后,我试图在HANA表中创建一个条目,但我得到了一个500错误。下面是xsjs文件的代码:
var data = '', conn = $.db.getConnection(), pstmt;
if($.request.body){
data = $.request.parameters.get("firstName");
}
var conn = $.db.getConnection();
var pstmt = conn.prepareStatement( 'INSERT INTO "Z003HB1N"."T_TEST" (FIRSTNAME) VALUES(?)' );
pstmt.setString(1,data);
pstmt.execute();
pstmt.close();
conn.commit();
conn.close();
doResponse(200,'');
$.response.contentType = 'text/plain';
$.response.setBody('Upload ok');
$.response.status = 200;
你知道哪里出了问题吗?
您可以简单地使用.ajax
调用在HANA上调用您的新oData服务,并使用参数将所需的值传递给您的.xsjs服务。
的例子:
var query = "firstName=Sherlock&lastName=Holmes"
jQuery.ajax({
url : "url/to/your/Service.xsjs?" + query,
success : function(response) {
// will be called once the xsjs file sends a response
console.log(response);
},
error : function(e) {
// will be called in case of any errors:
console.log(e);
}
});
在HANA上,您可以像这样访问服务中提供的参数:
var firstName = $.request.parameters.get("firstName");
var lastName = $.request.parameters.get("lastName");