如何从SAPUI5应用程序处理HANA中的自动递增ID?

2020-09-19 13:24发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好

在我的SAPUI5-Application中,我获得了以下函数,该函数获取数据并在HANA DB中创建一个条目:

 onCreateNewCustomer:function(){
 var oEntry = {};
 oEntry.NAME = this.byId(" name")。getValue();
 oEntry.CITY = this.byId(" city")。getValue();
 oEntry.PHONE = this.byId(" phone")。getValue();  oEntry.ID = this.byId(" id")。getValue();

//将数据发布到服务器
 this.getOwnerComponent()。getModel(" CustomerModel")。create("/img/Customer",oEntry,null);
 this.byId(" createCustomer")。close();
//location.reload();
 }
 

创建过程成功,并且我的输入被保存。 在下一步中,我想以这种方式在HANA中实现我的表,即条目的ID将自动递增,因此用户不必输入它。 我使用以下命令创建表:

创建列表TABLE
          (ID bigint不是默认生成为IDENTITY的主键,不为null,
           FIRSTNAME nvarchar(30))
 

工作正常,表已创建。 现在的问题是,如果我在不提供ID的情况下使用上面的代码,则控制台会记录以下错误:

发生以下问题:HTTP请求失败400,错误请求,<?xml version =" 1.0" encoding =" utf-8" standalone =" yes"?> <错误xmlns =" http://schemas.microsoft。  com/ado/2007/08/dataservices/metadata">  序列化的资源的成员'ID'缺少值。   

该条目未保存在我的数据库中。 如果我在HANA Workbench中执行以下SQL语句而不提供ID,它将起作用:

插入TABLE(FIRSTNAME)值(" David");
 插入表格(FIRSTNAME)值("麦克");
 插入表格(FIRSTNAME)值(" Bobby");  


所以我在Google上进行了一些搜索,但没有找到合适的解决方案。 我的目标是保存条目,并且ID由我的HANA数据库提供,而无需从SAPUI5应用程序中提供。

非常感谢您能提供帮助!

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好

在我的SAPUI5-Application中,我获得了以下函数,该函数获取数据并在HANA DB中创建一个条目:

 onCreateNewCustomer:function(){
 var oEntry = {};
 oEntry.NAME = this.byId(" name")。getValue();
 oEntry.CITY = this.byId(" city")。getValue();
 oEntry.PHONE = this.byId(" phone")。getValue();  oEntry.ID = this.byId(" id")。getValue();

//将数据发布到服务器
 this.getOwnerComponent()。getModel(" CustomerModel")。create("/img/Customer",oEntry,null);
 this.byId(" createCustomer")。close();
//location.reload();
 }
 

创建过程成功,并且我的输入被保存。 在下一步中,我想以这种方式在HANA中实现我的表,即条目的ID将自动递增,因此用户不必输入它。 我使用以下命令创建表:

创建列表TABLE
          (ID bigint不是默认生成为IDENTITY的主键,不为null,
           FIRSTNAME nvarchar(30))
 

工作正常,表已创建。 现在的问题是,如果我在不提供ID的情况下使用上面的代码,则控制台会记录以下错误:

发生以下问题:HTTP请求失败400,错误请求,<?xml version =" 1.0" encoding =" utf-8" standalone =" yes"?> <错误xmlns =" http://schemas.microsoft。  com/ado/2007/08/dataservices/metadata">  序列化的资源的成员'ID'缺少值。   

该条目未保存在我的数据库中。 如果我在HANA Workbench中执行以下SQL语句而不提供ID,它将起作用:

插入TABLE(FIRSTNAME)值(" David");
 插入表格(FIRSTNAME)值("麦克");
 插入表格(FIRSTNAME)值(" Bobby");  


所以我在Google上进行了一些搜索,但没有找到合适的解决方案。 我的目标是保存条目,并且ID由我的HANA数据库提供,而无需从SAPUI5应用程序中提供。

非常感谢您能提供帮助!

付费偷看设置
发送
2条回答
梦想连接
1楼 · 2020-09-19 14:25.采纳回答

目标是XSODATA服务吗? 如果是这样,则必须使用创建出口。 您将必须为密钥提供一个虚拟值,否则XSODATA的基本接口将引发错误。 但是,在出口内,您可以忽略此列中的值,并生成自己的INSERT语句,该语句将使用标识列而不是前端提供的值。

当学会了学习
2楼-- · 2020-09-19 14:11
我刚刚看到,我完全忘了在这里回复并接受您的回答,现在做完了,再次感谢您的帮助。 我研究了这些示例,并使用它们构建了自己的代码,可以很好地工作并且可以正常工作。

一周热门 更多>