SAPUI5 Hana Odata v2

2020-09-09 23:43发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)你好 我将Hana服务器与SA...

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

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


你好

我将Hana服务器与SAPUI5一​​起使用,运行create方法时始终会遇到此问题,但是Delete,Read和upadate效果很好。

如果可以的话,你能帮我吗?

谢谢你

ser.jpg (20.3 kB)
6条回答
95年老男孩
2020-09-10 00:31

大家好,

只是让您知道:至少在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值。 当然,首选方法是使用序列。 问题在于这可能无法实现:

„在SQLScript中不支持IN/OUT表参数的情况下,无法使用序列在OData服务公开的表中创建条目。 但是,您可以使用XS JavaScript出口来使用生成的值更新表。"
 (来源:https://help.sap.com/viewer/4505d0bdaf4948449b7f7379d24d0f0d/2.0.00/en-US/b8900dfa26ea48bd9a6596612ac122ad.html)

根据该文档,不可能在Odata-Service-Definiton/存储过程中使用序列。 请注意,Thomas Jung(SAP同事)在2013年发布了以下youtube视频,似乎可以很好地使用存储过程:https://www.youtube.com/watch?v=c41anxrDleg

要检查程序是否正常运行,我们为每个hdbprocedure创建了一个程序:

路径:RH_Orga_1/Orga_DB/procedure/setDBEntry.dhbprocedure

步骤" RH_Orga_1.Orga_DB.procedure :: setDBEntry"()
  语言SQLSCRIPT SQL
  安全调用者
  -读取SQL DATA AS
 开始
  插入"表"(
  "表"
  )值(
  '你好,世界'
  );
 结束;
 

服务将调用该过程,如下所示:

服务{
     " Orga.firma2"为" firma2"
     使用" RH_Orga_1.Orga_DB.procedure :: setDBEntry"创建;
 }
 

如果执行创建操作,现在会出现以下错误:

请求

POST https://xsa.realcore.local :51056/xsodata/Firma2。 xsodata/firma2

正文:{" FirmaID":" 12345"," FirmaName":" Test1"," Bezeichnung":" Test2"}

响应:

执行数据库查询时出错(错误代码:" 500")

如果该过程被注释掉,则插入工作正常。

我们正在使用以下HANA版本:SPS 03补丁0(内部版本4.3.23)


程序有什么问题?

亲切的问候


马克

一周热门 更多>