ABAP CDS View
一、前言
核心数据服务(CDS)是用于定义和使用语义丰富(semantically-rich)的数据模型的一套架构,属于SAP HANA的一部分,但也可以在ABAP平台上使用,因此分为HANA CDS与ABAP CDS.
HANA CDS:由于HANA需要直接在数据库内开发应用,使用标准SQL语言比如CREATE TABLE和CREATE VIEW等,已不能满足需要定义带有语义属性(比如Annotation)的数据库表、视图、类型等,因此HANA CDS应运而生。
ABAP CDS:可以运行在除了HANA之外的其他数据库平台之上,使用ADT(ABAP Development Tool)工具通过DDL语言进行定义。通过对数据库表添加assciation和annotation等方式定义带有丰富语义的视图对象,供ODATA和SAPUI5使用
二、特点
Ø将数据计算逻辑下推到数据库层
Ø可以使用UNION及UNION ALL等叠加查询结果
Ø支持CASE条件语句
Ø支持Arithmetic, String and cast等语句
Ø支持INNER JOIN, OUTER JOIN等
Ø可以使用Annotation
Ø支持Aggregations, Grouping功能
Ø支持90%以上的SQL功能
三、创建CDS的ABAP存储库
1、创建新的ABAP Repository Object
2、使用业务场景的数据的数据提取注释创建CDS视图
demo
@AbapCatalog.sqlViewName: 'ZTESTSV001'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Test view'
define view ZTESTV001 as select from zmdgt0013 as t0013
inner join zmdgt0016 as t0016 on t0013.partner = t0016.partner
{
t0013.restype as restypeid,
t0013.restypename,
t0013.partner,
t0013.subsidiary,
t0013.subsidiaryname,
t0016.street
}
union select distinct from zmdgt0013 as t0013
inner join zmdgt0016a as t0016a on t0013.partner = t0016a.partner
{
t0013.restype as restypeid,
t0013.restypename,
t0013.partner,
t0013.subsidiary,
t0013.subsidiaryname,
t0016a.street
}
union select distinct from zmdgt0013 as t0013
inner join zmdgt0016d as t0016d on t0013.partner = t0016d.partner
{
t0013.restype as restypeid,
t0013.restypename,
t0013.partner,
t0013.subsidiary,
t0013.subsidiaryname,
t0016d.street
}
Define view with parameters
@AbapCatalog.sqlViewName: 'ZTESTSV002'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'ZTESTV002'
define view ZTESTV002
with parameters in_restype : ze_test_char2
as select from zmdgt0013 as t0013
inner join zmdgt0016 as t0016 on t0013.partner = t0016.partner
{
t0013.restype as restypeid,
t0013.restypename,
t0013.partner,
t0013.subsidiary,
t0013.subsidiaryname,
t0016.street
}
where t0013.restype = :in_restype
post SAP-Garson
原文链接:https://blog.csdn.net/weixin_42646630/article/details/121104737文章来自于网络,如果侵犯了您的权益,请联系站长删除!