SAP CDS view 如何将 CHAR 类型的数据字段和当前系统日期比较

简介: SAP CDS view 如何将 CHAR 类型的数据字段和当前系统日期比较

以数据库表 ADR2 为例,其字段 VALID_FROM 类型为 char14,存储的日期格式YYYYMMDDHHMMSS

一些具体的例子数据:


现在有个需求,开发一个 CDS view,将 valid_from 小于当前日期的记录全部读取出来。


ABAP 752 版本之后,可以使用 $session.system_date 在 CDS view 的源代码里访问当前 Application server 的当前日期。


下面是这个需求的实现步骤。


1.创建一个 CDS view ZITIME,

@AbapCatalog.sqlViewName: 'ZJERRYTIME'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'time'
define view zitime as select from adr2 {
    key addrnumber as addnumber,
    country,
    valid_from,
    cast(substring(valid_from,1,8) as abap.dats) as valid_from_date
} where valid_from <> ''

首先使用 substring 将 valid_from 字段前8个字符提取出来,然后使用 cast 将其转换成类型 abap.dats, 因为只有类型相同的两个字段,才能进行比较。我们使用 cast 将 substring 函数返回的 char 类型的值,转换成和 $session.system_date 变量相同的类型。转换完毕之后,将这个新的字段重命名为 valid_from_date:

a17f444f1fc9a41785678523f9bffc7f.png


2.新建一个 CDS view ZCTIME,将前一个视图的字段 valid_from_date 同 $session.system_date 比较即可:

@AbapCatalog.sqlViewName: 'ZCTIMEVIEW'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'consumption'
define view ZCTIME as select from zitime {
    key zitime.addnumber,
    zitime.country,
    zitime.valid_from_date
} where valid_from_date < $session.system_date

最后的运行效果:

相关文章
|
2月前
|
开发者 数据处理 数据管理
SAP HANA 的不同类型
SAP HANA 的不同类型
SAP HANA 的不同类型
|
2月前
|
SQL Android开发
创建 SAP ABAP CDS View 保存失败 - Dependencies DDL source - View Entity not written
创建 SAP ABAP CDS View 保存失败 - Dependencies DDL source - View Entity not written
创建 SAP ABAP CDS View 保存失败 - Dependencies DDL source - View Entity not written
|
2月前
|
存储 关系型数据库 MySQL
MySQL字段的字符类型该如何选择?千万数据下varchar和char性能竟然相差30%🚀
本篇文章来讨论MySQL字段的字符类型选择并深入实践char与varchar类型的区别以及在千万数据下的性能测试
MySQL字段的字符类型该如何选择?千万数据下varchar和char性能竟然相差30%🚀
SAP ABAP OData 服务里需要指定 guid 类型的请求参数时,正确语法是什么?
SAP ABAP OData 服务里需要指定 guid 类型的请求参数时,正确语法是什么?
|
2月前
|
存储 自然语言处理 Java
Java中的字符型数据(char)
Java中的字符型数据(char)
22 0
|
2月前
|
Web App开发 开发者 存储
介绍一个 webp 格式转 png 格式的软件:XNConvert
介绍一个 webp 格式转 png 格式的软件:XNConvert
介绍一个 webp 格式转 png 格式的软件:XNConvert
|
2月前
|
数据库 存储 BI
SAP ABAP CDS View 源代码存储的数据库表揭秘和其他相关数据库表介绍试读版
SAP ABAP CDS View 源代码存储的数据库表揭秘和其他相关数据库表介绍试读版
SAP ABAP CDS View 源代码存储的数据库表揭秘和其他相关数据库表介绍试读版
|
2月前
|
数据库
SAP S/4HANA 系统的底层基石 - 通过实际的例子,介绍 CDS View 入门级的概念试读版
SAP S/4HANA 系统的底层基石 - 通过实际的例子,介绍 CDS View 入门级的概念试读版
SAP S/4HANA 系统的底层基石 - 通过实际的例子,介绍 CDS View 入门级的概念试读版
|
10月前
|
存储 关系型数据库 MySQL
面试时被这样一个问:”存储MD5值应该用VARCHAR还是用CHAR?
一个5年工作经验的小伙伴,在面试的时候被这样一个问题。说”存储MD5值应该用VARCHAR还是用CHAR“,他一时间不只如何选择,感觉用VARCHAR也可以,用CHAR也行。希望我来帮忙分析一下。
82 0
|
2月前
|
存储 数据库
5. CHAR和VARCHAR的区别?
`CHAR`和`VARCHAR`在数据库中有所不同:`CHAR`长度固定,用空格填充,存储效率高,英文占1字节,汉字占2字节;而`VARCHAR`长度可变,节省空间,英文和汉字都占2字节。
24 0