如何在CDS视图中为Fiori Elements应用设置默认当前日期值
在CDS视图中为Fiori Elements设置当前日期默认筛选值的正确方法
你遇到的错误是因为@Consumption.filter的defaultValue属性不支持直接使用@Environment.systemDateTime这种环境变量格式,静态值能生效是因为它接受字面量输入,而环境变量的写法不符合该注解的参数规范。
以下是两种可行的解决方式:
方式一:结合字段默认值与筛选器配置
在实体字段上通过@DefaultValue设置当前日期默认值,同时让筛选器继承该值:
entity MyEntity { key ID : Integer; PostingDate : Date @DefaultValue: 'CURRENT_DATE' @Consumption.filter: { defaultValue: true }; }
@DefaultValue: 'CURRENT_DATE':为字段本身设置当前日期默认值@Consumption.filter: { defaultValue: true }:让Fiori Elements的筛选器自动使用该字段的默认值作为筛选条件默认值
方式二:直接在筛选器注解中使用日期表达式
如果仅需要给筛选器设置默认值,不影响字段本身的默认值,可以用反引号包裹CDS日期函数作为表达式传入:
entity MyEntity { key ID : Integer; PostingDate : Date @Consumption.filter: { defaultValue: `CURRENT_DATE` }; }
这里用反引号()包裹CURRENT_DATE`,CDS会将其解析为当前日期表达式,而非字符串字面量。
注意:
CURRENT_DATE返回的是数据库服务器的当前日期,若需要会话时区的日期,可使用SESSION_CONTEXT('CLIENT_DATE')替代,同样用反引号包裹。
内容的提问来源于stack exchange,提问作者Jünge alles
相关产品推荐
相关产品推荐

