当绑定到ABAP日期(不是时间戳)时,是否正确地将DateTime字段绑定到DatePicker?

2020-09-26 19:08发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, 决定最终提出这个问题,...

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

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


大家好,

决定最终提出这个问题,因为我相信我们中的许多人都在为UI5中只处理日期Edm.DateTimes的正确方法而苦苦挣扎(不需要手动操作 日期(JavaScript中的日期),所以我们开始:

我知道OData v4(带有sap.ui.model.type.Date)可能会解决所有带有日期的问题,但是现在,我想获得一个 如何正确地将ABAP中的日期值绑定到DatePicker的想法,使您可以使用UTC日期时间来避免UI5和ABAP之间的转换问题(澳大利亚下午的问题)。

换句话说-我有一个Edm.DateTime字段,该字段连接到ABAP Date数据元素,以便自动转换(我不想使Gateway服务复杂化并使用其他数据类型)。

现在,当我使用sap.m.DatePicker时,我将Edm.DateTime属性绑定到DatePicker的" dateValue"。

这很好,除了会给我一个问题 下午在A 因为日期转换不正确。

因此,如果我尝试使用以下方法绑定到dateValue:

 {path:'DateOfBirth',请键入:'sap.ui.model.type.DateTime  ',约束条件:{displayFormat:'Date'},formatOptions:{UTC:true}} 

这实际上并没有绑定。

我可以将其绑定到value和 它看起来像是可行的,但是在更新odata属性之前错过了验证日期值的整个过程,这是我需要的功能。

Graham Robinson在谈到使用Edm.DateTimeOffset时提到过,但这确实 似乎不允许您将其映射到仅包含日期的ABAP字段,因此尽管目前我也了解Edm.DateTime将来将为此退休,但我已经排除了这一点,但这可能无法完成 直到Edm.Date在Gateway(Odata v4)中可用。

任何人在这里都有最佳做法?

谢谢

Matt

7条回答
当学会了学习
2020-09-26 19:24

嗨,马特,

在这种情况下这是行不通的,因为您的解决方案只有将其设置为yyyy-MM-ddT00:00:00才行。

所提供的解决方案在从SAP获取并在UI中显示时有效,并且我们在特定于浏览器的时区将日期转换为前一天。

一周热门 更多>