首页 > 其他分享 >SAP ABAP CDS view Association 引入的缘由

SAP ABAP CDS view Association 引入的缘由

时间:2022-12-18 10:00:13浏览次数:49  
标签:join 视图 获取数据 ABAP CDS SAP view

ABAP CDS view 支持三种 join 方式:

  • Inner Join
  • Left Outer join
  • Right outer join

我们使用 ABAP Development Tool 的 CDS view 向导创建一个 CDS view:

向导里包含的 $ 和大括号就是占位符,需要开发人员自己指定:

我们把占位符替换成实际的 SFLIGHT 和 SPFLI.

激活 CDS view,可以预览数据了:

我们看到了 CDS 视图如何在 Join 的帮助下从 2 个表中获取数据。但是让我们想一想,为什么要创建这些 CDS 视图? 背后的目的是什么?

CDS 视图不会被业务用户直接访问,而是会被 ABAP 程序、Fiori 应用程序或 BI 前端工具使用。假设在 5 个不同的表上使用 JOINS 创建了 CDS 视图,则每次触发此 CDS 视图时都会执行此 JOIN 条件。即使业务用户只查看 2 个表中的字段,但 CDS 视图将首先运行所有 5 个表的连接条件,并且用户查看的字段数量无关紧要。 这种基于 JOIN 的 SQL 概念,在用户仅查看部分数据的情况下,会导致从 CDS 视图中提取数据的性能延迟。 为了克服这个问题,SAP 对这种获取数据的 SQL 方式进行了增强,引入了 JOIN 的概念。

使用 association,只有在用户想要查看数据时才会获取数据。让我们看看它是如何工作的。

association 也是一种 join,可以根据 join 条件从多个表中获取数据,但这些是按需连接,即它们只会在用户访问所需数据时触发。 例如 CDS 视图配置了 4 个关联,而用户仅获取 2 个表的数据,其他 2 个表上的关联将不会被触发,系统将快速返回结果。因此同常规 SQL JOINS 相比,association 的性能更优。

标签:join,视图,获取数据,ABAP,CDS,SAP,view
From: https://blog.51cto.com/jerrywangsap/5950810

相关文章

  • SAP常用表
    一、MM常用表物料相关:1、MARA:常规物料数据2、MARC:物料的工厂数据3、MAKT:物料描述4、MARD:物料的工厂/库存地点数据5、MBEW:物料评估(财务数据),其中MBEW-......
  • ABAP:采购订单创建BAPI
    采购订单创建BAPI:BAPI_PO_CREATE1DATA:lt_zsdt008LIKETABLEOFzsdt008,ls_zsdt008LIKELINEOFlt_zsdt008,ls_zsdt001TYPEzsdt001,lt_z......
  • SAP ERP学习笔记 -- 物料管理模块
    物料管理模块蓝图​ 模块简介  物料管理模块(MM)覆盖了一个集成供应链(物料需求计划、采购、库存和库房管理)所有有关物料管理的任务。 1. 采购管理系统2. 库存管理系统3......
  • CSAPP Cache Lab
    任务A任务主要内容分析编写一个cache仿真程序,使用valgrind的内存跟踪记录作为输入,模拟高速缓存的命中/未命中行为,然后输出总的命中次数,未命中次数和缓存块的替换次数......
  • SAP ABAP CDS view 里 INNER JOIN 和 Association 的区别
    最近有朋友在我的[知识星球]里向我提问,SAPABAPCDSview的INNERJOIN和Association的功能可以理解为一样吗?本文就来聊一聊这个话题。既然CDSview里同时支持了INN......
  • 征集SAP导出表VBA程序无法识别的解决办法
    通过VBA代码自动导出SAP查询表,SAP导出的表格均是在VBA程序全部跑完或在程序设置中断时才会打开,如果要对导出的表格进行后续操作,根本无法通过程序识别,因为VBA程序跑完EXCEL......
  • SAP ABAP CDS view Association 引入的缘由
    ABAPCDSview支持三种join方式:InnerJoinLeftOuterjoinRightouterjoin我们使用ABAPDevelopmentTool的CDSview向导创建一个CDSview:向导里包含的$......
  • SAP根据源码导入/ui2/cl_json类
    之前我都是用CALLTRANSFORMATIONid方式来解析json数据的,结果发现解析出来的的数据有问题。无奈之下只好使用/ui2/cl_json类方法了,结果发现SAP版本不够,没有这个方法,网上......
  • SAP中发消息报表程序
    *PopaMessagetospecificSAPusers**Howtogetalistofallthecurrentlyloggedonusers?*Howtopopupaninstantmessageonauser';smonitor?*How......
  • ISAP
    2171.EK求最大流#include<bits/stdc++.h>usingnamespacestd;constintN=1e4+5;constintM=1e6+5;inth[N],ne[M],e[M],w[M],tot=1;voidadd(intfrom,intto,......