什么是 SAP CDS view 中的 Exposed Association with filter 技术

简介: 什么是 SAP CDS view 中的 Exposed Association with filter 技术

SAP S/4HANA中,CDS(Core Data Services)是一种强大的数据建模和查询语言,而“Exposed Association with filter”是其功能之一。


下图是一个具体的例子。这里我们使用 _bookings[ class = 'C' ] 的语法来给 association 指定一个过滤条件,然后暴露成 _business_flights 给外部消费者使用。


SAP CDS视图中Exposed Association with filter的简介:


在CDS视图中,关联(Association)用于建立实体之间的关系,类似于数据库中的外键。Exposed Association是一种允许从一个CDS视图中引入其他CDS视图中的关联的方式。而“Exposed Association with filter”是在引入关联的同时,允许通过过滤条件限制引入的数据。这种功能在SAP S/4HANA的数据建模中非常有用,可以帮助开发人员更加灵活地定义视图之间的数据关系。


“Exposed Association with filter”的应用举例:


假设我们在一个公司的SAP S/4HANA系统中,有两个实体:SalesOrder(销售订单)和Customer(客户)。每个销售订单都与一个客户相关联。我们希望创建一个CDS视图,展示所有客户,但只包括那些具有特定类型的销售订单的客户。


以下是一个详细的示例说明:


1、创建实体:
首先,在CDS定义文件中定义两个实体,一个表示SalesOrder,另一个表示Customer。每个实体都会包含与其相关的属性,例如订单号、客户号、类型等。

2、创建实体:
首先,在CDS定义文件中定义两个实体,一个表示SalesOrder,另一个表示Customer。每个实体都会包含与其相关的属性,例如订单号、客户号、类型等。

entity Customer {
    key CustomerID: UUID;
    ...
    // Expose association with filter
    @ObjectModel.association.usage: #Exposure
    @ObjectModel.association.type: #Association
    @ObjectModel.association.filter: 'SalesOrders.OrderType = ''Standard'''
    salesOrders: association [0..*] to SalesOrder on $projection.CustomerID = CustomerID;
}

在上述示例中,Customer实体中的salesOrders关联将仅包括SalesOrder实体中OrderType为 ‘Standard’ 的订单。

3、创建CDS视图:

最后,我们可以创建一个CDS视图,基于Customer实体,引入salesOrders关联。由于已经在关联中定义了过滤条件,所以在视图中引入的数据将只包括具有特定类型销售订单的客户。

@AbapCatalog.sqlViewName: 'ZV_CustomersWithStandardOrders'
define view ZCustomersWithStandardOrders as select from Customer {
    key CustomerID,
    ...
    salesOrders
}

在上述视图中,我们引入了salesOrders关联,但由于已经定义了过滤条件,所以只有符合条件的销售订单的客户被包括在内。


通过这个示例,我们可以看到“Exposed Association with filter”的应用。它允许我们在一个CDS视图中引入关联数据,同时通过过滤条件来限制数据的范围,以满足特定的业务需求。这种功能不仅有助于优化性能,还可以让开发人员更灵活地定义视图的内容。


总结而言,SAP CDS视图中的“Exposed Association with filter”是一种强大的特性,允许从其他视图中引入关联数据并通过过滤条件进行筛选。在SAP S/4HANA的开发中,合理使用这一特性可以提高开发效率,同时实现数据选择性加载和业务需求的满足。

相关文章
|
26天前
|
Web App开发 开发者 存储
介绍一个 webp 格式转 png 格式的软件:XNConvert
介绍一个 webp 格式转 png 格式的软件:XNConvert
27 6
介绍一个 webp 格式转 png 格式的软件:XNConvert
|
26天前
|
数据库 存储 BI
SAP ABAP CDS View 源代码存储的数据库表揭秘和其他相关数据库表介绍试读版
SAP ABAP CDS View 源代码存储的数据库表揭秘和其他相关数据库表介绍试读版
12 0
SAP ABAP CDS View 源代码存储的数据库表揭秘和其他相关数据库表介绍试读版
|
26天前
|
数据库
迈入 SAP CDS View 世界的前置知识 - SAP ABAP 数据库视图介绍试读版
迈入 SAP CDS View 世界的前置知识 - SAP ABAP 数据库视图介绍试读版
10 0
迈入 SAP CDS View 世界的前置知识 - SAP ABAP 数据库视图介绍试读版
|
26天前
|
数据库 SQL 应用服务中间件
SAP ABAP CDS View 和 HANA CDS View 相同点和不同点辨析
SAP ABAP CDS View 和 HANA CDS View 相同点和不同点辨析
22 0
SAP ABAP CDS View 和 HANA CDS View 相同点和不同点辨析
|
1月前
SAP ABAP ALV 的分组显示和 Subtotal 显示实现的技术步骤试读版
SAP ABAP ALV 的分组显示和 Subtotal 显示实现的技术步骤试读版
36 0
|
1月前
|
前端开发 搜索推荐 开发者
SAP UI5 sap.m.Column 控件的 minScreenWidth 属性介绍
SAP UI5 sap.m.Column 控件的 minScreenWidth 属性介绍
29 0
|
1月前
|
JavaScript 前端开发 开发者
SAP UI5 控件 sap.m.ListBase 的 inset 属性的作用介绍
SAP UI5 控件 sap.m.ListBase 的 inset 属性的作用介绍
17 0
|
1月前
|
Web App开发 数据采集 前端开发
纯技术讨论:如何让 SAP UI5 应用无法被别人在浏览器里调试 - 这种做法不推荐试读版
纯技术讨论:如何让 SAP UI5 应用无法被别人在浏览器里调试 - 这种做法不推荐试读版
15 0
|
1月前
|
XML 存储 数据格式
SAP UI5 控件 customData 属性的应用介绍
SAP UI5 控件 customData 属性的应用介绍
33 0
|
1月前
|
前端开发 JavaScript API
SAP UI5 sap.ui.require.toUrl 的作用介绍
SAP UI5 sap.ui.require.toUrl 的作用介绍
31 0