CAP:属性数据类型日期的使用在创建新条目时导致错误

2020-08-27 06:20发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, 我使用CAP C...

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

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


大家好,

我使用CAP CDS创建了一个实体,该实体具有两个数据类型为Date的字段。 该实体由服务发布和注释。 如果在" Fiori元素列表"报告中使用了此实体,并通过其"对象页面"创建了新条目,则会显示以下错误消息,因为JavaScript日期对象返回了服务,而不是格式为YYYY-MM-的字符串。 DD,正如该服务显然期望的那样。

实体Employee:受管理的{
   键VId:UUID;
       VPerNr:整数;
       VFirstName:字符串;
       VLastName:字符串;
       VBegin:日期;
       VEnd:日期;
 }
 

注意:我们没有使用时间方面,因为它创建了DateTimeOffset类型的字段,这意味着您不仅可以在界面上输入日期,还可以输入时间。 还是有一种方法可以使用display-format =" Date"注释此字段?

请求有效载荷:

 POST员工HTTP/1.1
 内容类型:application/json
 sap-contextid-accept:标头
 接受:application/json
 接受语言:de-DE
 DataServiceVersion:2.0
 MaxDataServiceVersion:2.0
 内容长度:168

 {" VPerNr":4711," VFirstName":" Test"," VLastName":" User"," VBegin":" \/Date(1575244800000)\/"," VEnd":" \/Date(1575590400000)\ /"," __ metadata":{" type":" P20GService.Employees"}} 

注意:
我正在使用@ sap/cds-odata-v2-adapter-proxy,因为Fiori Elements仅适用于oData v2。

关于
西蒙(Simon)

(15.7 kB)
6条回答
haha101010
2020-08-27 07:13 .采纳回答

西蒙,你好

该问题已在cds-odata-v2-adapter-proxy的1.4.11版中修复,即cds类型的属性的入站值。日期从"/img/Date()/"转换为 分别为" YYYY-MM-DD"格式。

关于您的注释:没有注释仅显示DateTimeOffset属性的日期部分。 OData v4本机支持Date和DateTimeOffset,而对于OData v2,日期是通过结合使用DateTime和sap:display-format:" Date"批注来实现的。 cds-odata-v2-adapter-proxy会自动处理此问题。

最好,
塞巴斯蒂安

一周热门 更多>