首页 > 其他分享 >什么是 SAP CDS view 的 supplementary filter

什么是 SAP CDS view 的 supplementary filter

时间:2023-08-22 21:24:05浏览次数:66  
标签:supplementary 视图 filter CDS date SAP

SAP CDS视图是一种建模工具,用于在SAP S/4HANA系统中定义数据模型和视图,以便更轻松地访问和处理数据。"Supplementary filter"是CDS视图的一个重要概念,它允许您在CDS视图上应用额外的过滤条件,以动态地限制视图返回的数据。本文将详细介绍"supplementary filter"的背景、用途和示例。

背景

在SAP S/4HANA系统中,数据是企业运营的核心。CDS视图允许开发人员创建灵活的数据模型,以便在应用程序中直接使用这些模型来检索和处理数据。但在某些情况下,您可能需要根据特定的上下文或条件对数据进行进一步的过滤,这就是"supplementary filter"的用武之地。

用途

"Supplementary filter"允许您在CDS视图的基础上定义额外的过滤条件,以根据业务需求动态地限制查询返回的数据量。这使得在不同的场景下,可以轻松地使用同一个CDS视图,但根据需要应用不同的过滤条件,而无需为每个特定场景创建多个不同的CDS视图。

示例

让我们通过一个示例来详细说明"supplementary filter"的用法。假设您在一个SAP S/4HANA系统中负责销售数据的分析,您已经创建了一个CDS视图来检索销售订单的数据。

首先,让我们创建一个基本的CDS视图,它将检索所有的销售订单数据:

@AbapCatalog.sqlViewName: 'ZCDS_SALES_ORDERS'
@AbapCatalog.compiler.compareFilter: true
define view ZSalesOrders as select from sdbarco.sales_orders {
  key sales_order,
  customer,
  order_date,
  total_amount
}

在这个基本的CDS视图上,您可以定义一个"supplementary filter",以便在特定情况下只返回满足特定条件的销售订单数据。假设您希望在特定日期范围内查询数据,您可以这样定义"supplementary filter":

@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Sales Orders with Date Range'
define view ZSalesOrdersWithDateRange
  with parameters p_start_date : abap.dats,
                   p_end_date   : abap.dats
as select from ZSalesOrders
{
  key sales_order,
  customer,
  order_date,
  total_amount
}
where order_date between :p_start_date and :p_end_date;

在这个示例中,我们为CDS视图"ZSalesOrdersWithDateRange"定义了两个输入参数,即起始日期(p_start_date)和结束日期(p_end_date)。然后,我们在WHERE子句中使用"supplementary filter"将查询限制为指定的日期范围内的销售订单数据。

通过使用这个带有"supplementary filter"的CDS视图,您可以在运行时根据需要传递起始日期和结束日期,从而只检索满足指定日期范围的销售订单数据。这使得您无需为每个不同的日期范围创建不同的CDS视图,而是可以在同一个CDS视图上动态地应用过滤条件。

总结

"Supplementary filter"是SAP CDS视图的一个重要功能,它允许您在CDS视图的基础上动态地应用额外的过滤条件,以满足不同的业务需求。通过在CDS视图定义中引入输入参数并在WHERE子句中使用它们,您可以实现基于特定条件的数据过滤,从而提高了数据模型的灵活性和可重用性。这种能力对于在SAP S/4HANA系统中构建灵活且高度定制的数据访问层非常有价值,使开发人员能够更好地支持企业的不断变化的需求。

标签:supplementary,视图,filter,CDS,date,SAP
From: https://www.cnblogs.com/sap-jerry/p/17649711.html

相关文章

  • 什么是 SAP CDS view 中的 Exposed Association with filter 技术
    在SAPS/4HANA中,CDS(CoreDataServices)是一种强大的数据建模和查询语言,而“ExposedAssociationwithfilter”是其功能之一。下图是一个具体的例子。这里我们使用_bookings[class='C']的语法来给association指定一个过滤条件,然后暴露成_business_flights给外部消费者......
  • [Lua][Love Engine] 有效碰撞处理の类别与位掩码 | fixture:setFilterData
    有效的碰撞处理只用IF判断假设在一个物理世界,不希望两个同类实体发生碰撞,那么localbegin_contact_callback=function(fixture_a,fixture_b)localentity_a_type=fixture_a:getUserData()localentity_b_type=fixture_b:getUserData()--如果碰撞的两个实体不......
  • 什么是 SAP CDS view 中的 Exposed Association with filter 技术
    在SAPS/4HANA中,CDS(CoreDataServices)是一种强大的数据建模和查询语言,而“ExposedAssociationwithfilter”是其功能之一。下图是一个具体的例子。这里我们使用_bookings[class='C']的语法来给association指定一个过滤条件,然后暴露成_business_flights给外部消费者使......
  • iwebsec-文件包含 06 php://filter伪协议
    01、题目分析程序开发人员通常会把可重复使用的函数写到单个文件中,在使用某些函数时,直接调用此文件,而无须再次编写,这种调用文件的过程一般被称为文件包含。在包含文件的过程中,如果文件能进行控制,则存储文件包含漏洞php://filter是元封装器,用于对本地磁盘文件进行读取02、文......
  • uniapp中使用过滤器filters来格式化时间
    uniapp中使用过滤器filters来格式化时间看那个创云商城源码的时候看到的,觉得蛮有用的,扒下来备用,应该也能直接用于JS  <template><viewclass="mix-timeline"><viewclass="cell"v-for="(item,index)inlist":key="index">......
  • 结果过滤器—MVC项目中结果过滤器(Result Filter)使用
    一、什么是结果过滤器?结果过滤器(ResultFilter),是对执行的Action结果进行处理的一种AOP思想,适用于任何需要直接环绕View或格式化处理的逻辑。结果过滤器可以替换或更改Action结果。在IActionResult执行的前后执行,使用它能够控制Action的执行结果,比如:格式化结果等。需要注意......
  • 什么是 SAP CDS view 的 join on demand 技术
    SAPCDSview里借助pathexpression技术,我们可以实现joinondemand的场景。如下图所示:Joinondemand是SAPCDS(CoreDataServices)视图的一个重要特性,它允许您在CDS视图中实现延迟连接,从而优化查询性能。通过在需要时执行连接操作,而不是在每次查询时都执行连接,可以减......
  • SAP CDS view 源代码中的 $projection
    我们看到下图CDSview源代码里association条件中的$projection.在SAPCDS(CoreDataServices)中,$projection是一个特殊的关键字,用于在查询中选择特定的字段并创建一个临时视图。它可以在CDS视图的源代码中使用,以对结果集进行处理和转换。通过使用$projection,可以根据需要......
  • 什么是 SAP CDS view 的 exposed Association
    SAPCDS是SAPHANA数据库中的一种新的数据定义语言。它允许开发者定义语义富裕的数据模型,这些数据模型可以以数据库独立的方式在ABAP服务器上使用。因此,通过CDS,开发者可以创建复杂的视图来构建ABAP程序或应用。关联(Association)在CDS视图中是一个非常重要的概念。它在C......
  • credit default swap(CDS)
    http://en.wikipedia.org/wiki/Credit_default_swapAcreditdefaultswap(CDS)isafinancialswapagreementthattheselleroftheCDSwillcompensatethebuyerintheeventofaloandefaultorothercreditevent.ThebuyeroftheCDSmakesaseriesof......