点击此处---> 群内免费提供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)
西蒙,你好
该问题已在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会自动处理此问题。
最好,
塞巴斯蒂安
我认为最好使用DateTime而不是Date来避免此问题。
嗨西蒙,
以下是如何添加UI注释的示例: https://github.com/SAP-samples/cloud-cap-samples/blob/master/packages/bookshop/app/admin/fiori-service.cds
最好
塞巴斯蒂安
嗨,格雷戈·沃尔夫,
感谢 为您的答案。 但这只是解决实际问题的方法。 我们只想在ui上显示日期而无需时间。 可以在本地注释文件中或通过cds服务中的注释添加显示格式注释吗?
问候
Simon
嗨,塞巴斯蒂安 ,
感谢您的修复。 现在,创建一个条目就可以了。
关于
Simon
嗨,格雷戈尔,
不,您是对的。 那只是作为如何添加特定于UI的注释的示例。
但是,在进一步分析之后,OData v2适配器似乎存在数据转换问题。 只要有解决方案,我就会更新答案。
最佳,
塞巴斯蒂安
一周热门 更多>