首页 > 其他分享 >SAP CDS View 和 SAP HANA View 的区别

SAP CDS View 和 SAP HANA View 的区别

时间:2023-07-29 16:35:32浏览次数:32  
标签:HANA SALES 视图 ABAP CDS SAP View

SAP CDS(Core Data Services)视图和SAP HANA视图都是用于数据提取和模型化的工具。它们的主要区别在于创建位置、语法、性能优化等方面。具体的区别和联系如下:

  1. 创建位置:SAP CDS视图是在ABAP层创建的,它们是ABAP字典的一部分。另一方面,SAP HANA视图是在数据库层创建的,它们存在于HANA数据库中。

  2. 语法:SAP CDS视图使用ABAP的扩展SQL语法,而SAP HANA视图使用SQL/SQL脚本。

  3. 性能优化:SAP CDS视图在ABAP服务器上进行优化,而SAP HANA视图在HANA数据库上进行优化。因此,SAP HANA视图可以利用HANA数据库的全部功能,如并行处理和列式存储,而SAP CDS视图则依赖ABAP服务器的优化。

  4. 使用场景:通常,如果要访问ABAP服务器的业务逻辑或者要在ABAP环境中使用视图,那么应使用SAP CDS视图。如果要使用HANA数据库的高级功能,如文本搜索、空间搜索或者预测分析,那么应使用SAP HANA视图。

举例来说,假设您有一张销售订单表,并且您想创建一个视图来显示每个销售代表的总销售额。如果您在ABAP环境中工作并且想要在ABAP报告中使用这个视图,那么您可能会创建一个SAP CDS视图,如下所示:

@AbapCatalog.sqlViewName: 'ZV_SALES'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Sales view'
define view Z_Sales as select from sepm_i_salesorder as so
    inner join sepm_i_businesspartner as bp on so.partner_guid = bp.partner_guid
{
    so.sales_order_id,
    bp.first_name,
    bp.last_name,
    sum(so.gross_amount_in_trans_currency) as total_sales
} group by so.sales_order_id, bp.first_name, bp.last_name

另一方面,如果您想在SAP HANA Studio中使用视图,并且希望利用HANA数据库的高级功能,那么您可能会创建一个SAP HANA视图,如下所示:

CREATE VIEW "SALES" AS 
SELECT "SALES_ORDER"."SALES_ORDER_ID", 
"BIZ_PARTNER"."FIRST_NAME", 
"BIZ_PARTNER"."LAST_NAME", 
SUM("SALES_ORDER"."GROSS_AMOUNT_IN_TRANS_CURRENCY") AS "TOTAL_SALES" 
FROM "SEPM_I_SALESORDER" AS "SALES_ORDER" 
JOIN "SEPM_I_BUSINESSPARTNER" AS "BIZ_PARTNER" 
ON "SALES_ORDER"."PARTNER_GUID" = "BIZ_PARTNER"."PARTNER_GUID" 
GROUP BY "SALES_ORDER"."SALES_ORDER_ID", "BIZ_PARTNER"."FIRST_NAME", "BIZ_PARTNER"."LAST_NAME"

标签:HANA,SALES,视图,ABAP,CDS,SAP,View
From: https://www.cnblogs.com/sap-jerry/p/17590023.html

相关文章

  • SAP UI5 OData 请求 url 中的参数 sap-value-list=none
    SAPUI5是一个基于JavaScript的用户界面技术,用于构建企业级web应用程序。OData(OpenDataProtocol)是一个开放标准,允许消费者查询和操作数据。在SAPUI5应用中,OData服务用于处理数据交换。当SAPUI5应用加载时,应用会自动发起一个OData元数据请求,这是因为应用需要从服务端获取元数......
  • 使用RecyclerView来实现多层级的数据
    ✍️作者简介:沫小北(专注于Android、Web、TCP/IP等技术方向)......
  • Arm Neoverse N2 reference design Technical Overview
    RDN2Intro本文档是ARM提供给SoC设计人员的一份概述设计文档,较为详细的描述了SoC的方方面面,具有很好的参考意义。SoC的系统架构,硬件互联SoC各block的功能描述、细节描述软件栈概述RDN2的其他参考文档DocumentNameDocumentIDLicenseeonlyAMBA4AXI-StreamPr......
  • wpf ScrollViewer 滚动动画
    wpfScrollViewer滚动动画:<Windowx:Class="WpfTest.FloatTextWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d=&qu......
  • WPF 在ScrollViewer控件内部的Slider控件无法触摸滑动
    WPF中在ScrollViewer控件内部的Slider控件无法触摸滑动,是由于ScrollViewer控件默认设置了IsManipulationEnabled为True。<ScrollViewerx:Name="ScrollViewer1"><Slider></Slider></ScrollViewer>WPFScrollViewer的IsManipulationE......
  • nn.MaxPool2d()、transpose().contiguous()、view()说明
    1.nn.MaxPool2d()和nn.Conv2D()基本一样,但是stride默认值是kernel_size。2.transpose().contiguous()、view()contiguous一般与transpose,permute,view搭配使用:使用transpose或permute进行维度变换后,调用contiguous,然后方可使用view对维度进行变形print(x.shape)x=x.transpos......
  • GSAP 基础
    GreenSockAnimationPlatform(GSAP)是一个业界知名的动画库,它被1100多万个网站使用,有超过50%的获奖的网站都是用了它。不管是在原生环境中,还是任意的框架中,你可以使用GSAP去让非常多的东西动起来。不管你是想要去让UI界面产生交互动画,还是SVG图形产生动画,甚至是Threejs还是Reac......
  • mongodb创建了视图后会生成system.views,但是没有权限查询
    环境:OS:Centos7mongodb:5.0.19mongodb创建了视图后会生成system.views,但是没有权限查询myrepl:PRIMARY>db.system.views.find()Error:error:{"ok":0,"errmsg":"notauthorizedondb_pushmsgtoexecutecommand{find:\"sy......
  • 'GridViewDeletedEventArgs '末包含' RowIndex "的定义,并且找不到可接受第一 个"GridV
     页面中设置了“OnRowDeleting="List_RowDeleting"DataKeyNames="id"”后台代码为:行178:protectedvoidList_RowDeleting(objectsender,GridViewDeletedEventArgse)行179:{行180:stringid=this.List.DataKeys[e.RowIndex].Value.ToString();行181:SqlC......
  • 递归实现对TreeView的Node的填充
    树的数据结构是从根节点开枝散叶,父节点唯一。首先初始化要展示的数据,用Dictionary保存:Dictionary<int,List<int>>dt;初始化数据,数字0为根节点,字典中的key有[0,1,2,3,4,11,12,13,14,21,22,23,24,31,32,33,34,41,42,43,44]:privatevoidInitData(){dt=newDiction......