点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
你好
我将Hana服务器与SAPUI5一起使用,运行create方法时始终会遇到此问题,但是Delete,Read和upadate效果很好。
如果可以的话,你能帮我吗?
谢谢你
ser.jpg (20.3 kB)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
你好
我将Hana服务器与SAPUI5一起使用,运行create方法时始终会遇到此问题,但是Delete,Read和upadate效果很好。
如果可以的话,你能帮我吗?
谢谢你
ser.jpg (20.3 kB)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
你好
我将Hana服务器与SAPUI5一起使用,运行create方法时始终会遇到此问题,但是Delete,Read和upadate效果很好。
如果可以的话,你能帮我吗?
谢谢你
ser.jpg (20.3 kB)
确保在创建新对象时填充所有对象属性。
如果get/delete/update工作... create除了插入新记录外应该没有什么不同。.您确定密钥了吗? 自动递增?
您好,Sergio,
我们在hdbcds中定义了这样的表:
如您所见,我们的ID已定义为一个身份字段(每个新条目后,ID都应增加1)。
当然,我们也确实认为rud和c(reate)之间的行为不应有所区别。 仍然我们面临以下错误消息:
我们的服务定义如下:
读取,更新和删除不会引起任何问题。
JS调用:
服务器日志:
您有什么想法吗?
非常感谢您的支持。
亲切的问候
拉坎
更新:
我们发现问题与ID列的定义有关。 如果创建不带ID的表,则可以插入数据集。 如果然后读取标识字段,则会引发" 403"错误。 有趣的是,通过SAP HANA/WebIDE的SQL控制台插入数据时没有这种问题。
为什么?
当您具有自动递增的ID(键)..并且尝试插入新记录时。.您是否在请求正文中传递ID列? 尝试将其传递给w一个空值,以便自动递增执行所需的操作。 然后还尝试在请求的正文中不包含ID属性,以查看其行为是否有所不同。 祝你好运
Sergio,
感谢您的快速回复。
我和我的同事还尝试过构建这样的有效负载。 不幸的是,如果我们使用ID = null进行发布,我们仍然会收到错误消息:
响应:
如您所见,这不起作用。 同时发送" 0"也不起作用。 这是因为ID字段(" FirmaID")已被配置为身份字段。
就像之前所说的-如果我从该字段中删除身份定义,它会起作用。 我不知道为什么在这里这么大。
您还有其他想法吗? 不能在Hana-DB中使用像这样的自动递增/标识吗? 那真的很奇怪。 这是标准操作。
亲切的问候
Rakan
大家好,
只是让您知道:至少在2015年之前,这是一个(常见问题): https://blogs.sap.com/2015/03/06/odata-service-definition-xsodata-for-tables-with -an-identity-column/在这篇文章中,开发人员与经验丰富的HANA专家进行了交谈,他们告诉他必须创建一个xsjs脚本来进行插入,因为ODATA-Services(以某种方式)不支持 工作。
现在还是这样吗? 对我来说听起来像个虫子?
对此行为的解释将非常好。
亲切的问候
马克
----
更新,2019-04-12:
正如您可能建议的那样,我是Rakan的同事。 现在,我们已经接受到,在上述配置中,可能无法将自动增量ID字段与odata-service结合使用。 现在,我们正在研究一种解决方法:我们想使用一个过程来生成id值。 当然,首选方法是使用序列。 问题在于这可能无法实现:
根据该文档,不可能在Odata-Service-Definiton/存储过程中使用序列。 请注意,Thomas Jung(SAP同事)在2013年发布了以下youtube视频,似乎可以很好地使用存储过程:https://www.youtube.com/watch?v=c41anxrDleg
要检查程序是否正常运行,我们为每个hdbprocedure创建了一个程序:
路径:RH_Orga_1/Orga_DB/procedure/setDBEntry.dhbprocedure
服务将调用该过程,如下所示:
如果执行创建操作,现在会出现以下错误:
请求
POST https://xsa.realcore.local :51056/xsodata/Firma2。 xsodata/firma2
正文:{" FirmaID":" 12345"," FirmaName":" Test1"," Bezeichnung":" Test2"}
响应:
执行数据库查询时出错(错误代码:" 500")
如果该过程被注释掉,则插入工作正常。
我们正在使用以下HANA版本:SPS 03补丁0(内部版本4.3.23)
程序有什么问题?
亲切的问候
马克
嗨,
此问题的解决方案已在此处进行了讨论和记录: https://blogs.sap.com/2017/03/13/how-to-consume-an-odata-service-with -openui5-sapui5/comment-page-1/#comment-457473
亲切的问候
马克
一周热门 更多>