OData.request方法语法问题

2020-08-21 14:28发布

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

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


专家们,

我正在使用OData.request方法为HANA XSODATA服务发布JSON数据。 该服务在HANA系统中公开一个表,该表包含CHAR以及DATE字段类型。 当通过XSODATA公开的表格没有日期字段时,我可以使用该代码。

但是,当我尝试对公开带有Date字段的表的服务使用相同的代码时,它某种程度上是行不通的。 我知道JSON日期应为"/Date(.........)/",并已在代码中进行了处理。 但是出于某种原因,请求的BODY似乎具有带有一些转义字符的JSON数据,这导致了问题。

在上图中,DATA变量中的日期值是正确的,不应引起任何问题。 但是我不确定为什么尸体的日期不正确,而这似乎是导致问题的原因。

我不确定是否有更好的方法将JSON数据发布到HANA XS引擎,以避免出现"位置0语法错误"错误。

感谢您的帮助。

问候,卡希尔

日期Issue.001.jpg (126.0 kB)

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

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


专家们,

我正在使用OData.request方法为HANA XSODATA服务发布JSON数据。 该服务在HANA系统中公开一个表,该表包含CHAR以及DATE字段类型。 当通过XSODATA公开的表格没有日期字段时,我可以使用该代码。

但是,当我尝试对公开带有Date字段的表的服务使用相同的代码时,它某种程度上是行不通的。 我知道JSON日期应为"/Date(.........)/",并已在代码中进行了处理。 但是出于某种原因,请求的BODY似乎具有带有一些转义字符的JSON数据,这导致了问题。

在上图中,DATA变量中的日期值是正确的,不应引起任何问题。 但是我不确定为什么尸体的日期不正确,而这似乎是导致问题的原因。

我不确定是否有更好的方法将JSON数据发布到HANA XS引擎,以避免出现"位置0语法错误"错误。

感谢您的帮助。

问候,卡希尔

日期Issue.001.jpg (126.0 kB)
付费偷看设置
发送
2条回答
我是小鹏鹏啊
1楼 · 2020-08-21 15:08.采纳回答

你好,卡希尔!

您如何将数据传递到后端?

根据我的经验,您可以使用本机jQuery ajax请求或UI5 ODataModel。

这是使用oData模型的解决方案:

提示:如果您使用的是ui5> = 1.26,我建议您使用新的sap.ui.model.odata.v2.ODataModel。

他们大大改善了批处理!

 var oModel = new sap.ui.model.odata.ODataModel("/img/package/service.xsodata");

 oModel.create("/img/entity",{
         " MY_DATE":新的Date(),
         " ID":15
     },
     成功:功能(数据){
         console.log("成功!repsonse:",数据);
     },
     错误:函数(数据){
         console.log("错误:",数据);
     }
 );


 

以下是使用本机jQuery的示例:

 var myDate = new Date();

 var newEntry = {
     " MY_DATE":"/img/Date(" + myDate.getTime()+")/",//getTime()产生UNIX秒dateformat
     " ID":5
 };

 $ .ajax({
     输入:" POST",
     网址:"/img/package/service.xsodata/entity",
     数据:JSON.stringify(newEntry),
     标头:{
         " Content-Type":" application/json"
     },
     成功:功能(数据){
         console.log("成功!repsonse:",数据);
     },
     错误:函数(数据){
         console.log("错误:",数据);
     }
 });

 

希望有帮助!

如果您需要更多信息,请告诉我。

此致

基督徒

大简至美
2楼-- · 2020-08-21 15:19

我想说"谢谢!!!" 为示例。

我花了几个小时试图找到正确的语法,以便将日期时间传递给OData.create()语句,并且效果很好。

谢谢! 梅尔

一周热门 更多>