ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

ABAP CDS 日期、时间与时间戳建模详解,从 DATS、TIMS 走向 DATN、TIMN 与 UTCL

ABAP CDS 日期、时间与时间戳建模详解,从 DATS、TIMS 走向 DATN、TIMN 与 UTCL 在 SAP S/4HANA 项目里,日期和时间几乎无处不在。销售订单有创建日期,采购订单有交货日期,会计凭证有过账日期,生产订单有计划开始时间和实际完成时间,接口日志有请求时间,工作流有提交时间,电子商务订单又经常需要记录精确到秒甚至秒以下的 UTC 时间戳。表面来看,这些字段不过是几个数字。日期看起来像20261004,时间看起来像223500,时间戳似乎也只是把年月日时分秒组合起来。但从数据库建模角度看,日期究竟是一串长度为 8 的字符,还是数据库真正理解的DATE,两者差异非常大。这也是理解现代 ABAP CDS 日期时间模型时最重要的一条主线。在较新的 ABAP CDS 数据模型中,SAP 提供了三种专门表示真实日期、真实时间和真实时间戳的数据类型,分别是abap.datn、abap.timn和abap.utcl。SAP 官方文档明确说明,这三个类型对应数据库中的真实日期、时间和时间戳类型,它们只能保存合法的日期、时间和时间戳值。其中abap.datn用来表示日期。abap.timn用来表示时间。abap.utcl用来表示时间戳。这里真正重要的并不是多出了三个数据类型,而是数据库终于知道字段里面装的是日期还是普通字符。我们可以拿20260231来理解这种区别。从字符串角度观察,
返回列表