Service 在SAPUI5中调用XSJS文件以在HANA上写入数据

Service 在SAPUI5中调用XSJS文件以在HANA上写入数据,service,odata,sapui5,hana,Service,Odata,Sapui5,Hana,我正在尝试创建一个服务,将数据从SAPUI5前端写入HANA表。 据我所知,我相信这是不可能通过OData服务实现的。所以我找到了另一种方法,使用SQL INSERT语句生成XSJS文件 现在,我的问题是在UI5中使用它。与OData一样,我会使用类似于oModel.create的东西,但现在我认为它不能像那样工作 那些人有线索吗 谢谢 伊娃 更新: 在使用第一个答案后,我尝试在HANA表中创建一个条目,但得到了一个500错误。以下是xsjs文件的代码: var data = '', conn

我正在尝试创建一个服务,将数据从SAPUI5前端写入HANA表。 据我所知,我相信这是不可能通过OData服务实现的。所以我找到了另一种方法,使用SQL INSERT语句生成XSJS文件

现在,我的问题是在UI5中使用它。与OData一样,我会使用类似于oModel.create的东西,但现在我认为它不能像那样工作

那些人有线索吗

谢谢

伊娃

更新: 在使用第一个答案后,我尝试在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;
有什么可能出错的线索吗?

您可以简单地使用调用调用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");

嘿,谢谢你的回答!我试过了,但我不确定它是否有效。您知道如何在xsjs文件中创建类似console.log的文件吗?如果它有效的话,我现在会这么做。另外,我已经检查了我的控制台,它没有任何错误,所以,一定很好!:)谢谢,据我所知,您不能简单地用xsjs文件登录控制台。然而,你可以简单地回答你的休息电话。在xsjs中尝试以下操作:
$.response.status=$.net.http.OK;$。response.setBody(“Hello”+firstName+“”+lastName)
并在ajax调用的成功处理程序中检查答案(请参见编辑的答案)。我正在尝试使用ajax post发送对象数组,但不知道如何在hana中访问。-这是我从SAPUI5向hana xs url发出的请求:uploadUrl,键入:“post”,数据:{“field1”:“Hi”,“field2”:“There”}关于你的第二个问题,你可以看看其中显示了你想要的用例的一个例子。是否在某处定义了
doResponse
,或者这可能是复制/粘贴错误?顺便说一句,使用WebIDE(在/sap/hana/IDE/下)应该能够调试XSJS文件。因为您使用的是GET,所以不需要在第二行代码中进行body检查。