CDS view与替代对象

一,简介

替代对象是指用一个CDS view指派给一个透明表或常规数据库视图,使得透明表或常规数据库视图的访问重定向到该CDS view。

替代有诸多要求:

      • 字段数量一致且同名对应,顺序可以不一致
      • 对应的字段数据类型长度等必须一致
      • CDS view不能带入参
      • 替代与Buffer不能共存

怎么知道一个透明表或视图被重定向了呢:

      • SE11 菜单【附加】--【替换对象】

      • SE16N 可见代理对象

      • 使用ST05来跟踪SQL
      • 在eclipse中打开这个透明表的DDL,看到如下注解,就表示存在重定向

二,重定向

在OpenSQL中的查询操作比如使用Select语句,或者Open cursor和Fetch,会重定向到CDS view。

还有一些情况不会重定向,仍指向透明表本身:

      • OpenSQL中的修改操作
      • 在Select语句中使用single for update
      • 在数据库层面使用:作为view的数据源,在数据库过程或数据库函数中访问

三,实例分析
3.1 诡异的数量查询

定义如下CDS view发现取不到数据,将where子句去掉之后能取到数据,但数量【CLABS】全为0,而此时SE16N查数是正常的。我们发现MCHB重定向到nsdm_e_mchb这个CDS view,而它由mchb【表】与nsdm_e_mchb_diff【view】连接而来,且数量字段来自后者,所以mchb【表】里面数量字段真的是0,而我们下面自定义的这个view从mchb取数不会重定向,而是直接取mchb【表】,所以数量全是0。

@AbapCatalog.sqlViewName: 'ZCI_TEST'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #NOT_REQUIRED
@EndUserText.label: 'Test'
define view ZTEST001_11 as select from mchb
{
    matnr,
    charg,
    lgort,
    werks,
    clabs
}
where clabs > 0

3.2 诡异的数量更改

首先创建一个透明表,然后创建CDS,最后将透明表重定向到CDS。

在SE16N中我们修改数量为3,保存后重新打开SE16N,发现数量显示13。查询显示时使用了重定向,取数逻辑来自CDS;修改保存则不走重定向,直接改底表。

//step-1 透明表
@AbapCatalog.replacementObject : 'ycds_test' //step-3 重定向到CDS
define table ytest_cl {
  key mandt : mandt not null;
  key docno : ebeln not null;
  quant     : menge_d;
}

//step-2 CDS view
@AbapCatalog.sqlViewName: 'YSQL_VIEW'
define view ycds_test
as select from ytest_cl
{ 
  mandt,
  docno,
  cast( quant + 10 as menge_d )  as quant
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/365512.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

AJAX-接口文档

接口文档:由后端提供的描述接口的文章 接口:使用AJAX和服务器通讯时,使用的URL,请求方法,以及参数 1.请求参数的位置为query(查询)的时候,就说明要使用params写为查询参数 2.请求参…

unity WebGL发布游戏生成WebGL

1.unty Hub中安装WEBGL支持 2.项目平台的切换 color space需要根据项目选择 ColorSpace,是指玩家设置的颜色空间。 伽马颜色空间是历史悠久的标准格式,但线性颜色空间渲染可提供更精确的结果。 具体区别:ColorSpace 3.由于没有自己服务器…

reactnative 调用原生ui组件

reactnative 调用原生ui组件 ![组件对应关系](https://img-blog.csdnimg.cn/direct/c4351ad7bd38411e9c13087f1059a4b0.png)1.该样例已textView,介绍。 新建MyTextViewManager 文件,继承SimpleViewManager。import android.graphics.Color; import andr…

《PCI Express体系结构导读》随记 —— 第II篇 第4章 PCIe总线概述(5)

接前一篇文章:《PCI Express体系结构导读》随记 —— 第II篇 第4章 PCIe总线概述(4) 4.1.2 PCIe总线使用的信号 PCIe设备使用两种电源信号供电,分别是Vcc与Vaux,其额定电压为3.3V。其中Vcc为主电源,PCIe设备…

关闭idea之后,项目还在运行,端口被占用

今天在写项目的时候,中途安装了一个插件,而且插件显示需要重启idea,重启的时候项目正在运行,重启之后发现idea没有显示有项目正在运行,当我要开启项目的时候,发现无法开启,显示端口被占用了&…

STM32学习笔记(六) —— 配置系统时钟

1.时钟树 从图中可以看出一共有四个时钟来源,分别是内部高速时钟、内部低速时钟、外部高速时钟接口、外部低速时钟接口,这些时钟源经过内部的倍频分频后提供给各外设使用。其中HSE与LSE需要由外部提供,可以是外部时钟直接输入,也可…

「效果图渲染」效果图与3D影视动画渲染平台

效果图渲染和3D影视动画渲染都是视觉图像渲染的领域应用。效果图渲染主要服务于建筑、室内设计和产品设计等行业,这些领域通常对视觉呈现的精度和细节有较高要求。与之相比,3D影视动画渲染则普遍应用于电影、电视、视频游戏和广告等媒体领域,…

力扣461. 汉明距离(位运算)

Problem: 461. 汉明距离 文章目录 题目描述思路复杂度Code 题目描述 思路 Problem: 力扣191. 位1的个数(位运算) 该题只需要在上题的基础上先对两个数进行一次异或操作即可 复杂度 时间复杂度: O ( 1 ) O(1) O(1) 空间复杂度: O ( 1 ) O(1) O(1) Code …

【linux】linux环境变量-详解-备查

【linux】linux环境变量-详解-备查 一、类型 **永久变量:**通过修改配置文件,配置之后变量永久生效。 用户变量(局部变量):修改的设置只对某个用户的路径或执行起作用; 在用户目录下的.bash_profile文件…

GPT-4这么厉害,能替代中之人吗?我们找虚拟偶像粉聊了聊

本文为 澎湃号湃客 至顶头条 联合出品 作者 | 张晓迪 编辑 | 王恒婷 就在人们还在讨论ChatGPT如何商业化时,GPT-4直接给出了答案。 3月17日凌晨,在GPT-4发布后的48小时,微软Office全家桶也带着GPT-4生成的Copilot来到办公室里给打工人“减负”了。 多模态大型语言模型…

【教程】谈一谈 IPA 上传到 App Store Connect 的几种方法

引言 在应用开发过程中,将应用程序上传到 App Store Connect 是一个关键的环节。本文将探讨几种常见的 IPA 文件上传方法,包括 Xcode、Application Loader、altool、Appuploader以及Transporter。通过本文的介绍和指导,读者将能够了解不同的…

看完这篇文章,你一定能看懂Datasheet!

大家好,我是砖一。 针对以上学妹的疑问,我有几点建议,大家可以听一下~ 一,怎么样查找Datasheet(数据手册) 大多数人下意识就点开浏览器,把型号往里面一输,不建议这样。 对于刚入行…

文心一言APP推出新功能:数字分身,只需一张照片和三句话即可创建自己的电子替身

文心一言APP近日推出了一项炸裂的新功能:数字分身。这一创新技术让用户通过一张照片和三句语音录制,轻松创建属于自己的数字分身。这一功能降低了数字分身技术的门槛,让更多人能够体验到个性化的虚拟形象。华为手机市场直接搜“文心一言”就可…

uniapp中组件库Mask 遮罩层 的使用方法

目录 #平台差异说明 #基本使用 #嵌入内容 #遮罩样式 #API #Props #Events #Slot 创建一个遮罩层,用于强调特定的页面元素,并阻止用户对遮罩下层的内容进行操作,一般用于弹窗场景 #平台差异说明 AppH5微信小程序支付宝小程序百度小程…

【TikTok选品】一周创下两百万销售额!这款小小遮瑕膏,如何从美区美妆市场杀出重围?

新年新气象。2024年以来,美区销售额周榜常有黑马,看得出卖家都卯足了劲在新的一年打下更亮眼的业绩。超店有数观察了TikTok选品数据,监测到上周TikTok美区就有一个新品在竞争激烈的美妆市场中杀出重围,在一周内创下200万美金的超高…

智慧工地可视化综合管理云平台 PC+APP

目录 一、智慧工地可视化数据大屏功能一览 1.首页 2.视频监控 3.机械设备 4.环境监测 5.安全管理 6.质量管理 7.劳务分析 8.进度管理 9.报警统计 二、项目人员管理 1.信息管理 2.信息采集 3.证件管理 危大工程管理 一、智慧工地可视化数据大屏功能一览 包括&am…

第二期《计算机视觉处理设计开发工程师》的培训通知

近日我们刚刚结束了《计算机视觉处理设计开发工程师》证书第一期培训,培训效果良好,所有学员均通过工信部统一线上考试,坐等证书了。鉴于学员们的反应我们第二期课程如约而至。 证书出台背景:为进一步贯彻落实中共中央印发《关于深…

F - Fence Bowling ——二分答案

Olav正在独自度过一个晚上,在保龄球馆练习。令人恼火的是,他所在的球道的侧栏被卡在了活动位置,所以如果球出界,它会简单地反弹回来。 这对Olav来说似乎是不公平的,因此他决定任何一次投球如果在击中销钉之前没有在篱笆…

【C语言】初阶指针(2)

目录 前言 1. 指针访问数组 1.1 数组名的含义 1.2 使用指针访问数组 2. 一维数组传参的本质 3. 二级指针 4. 指针数组 4.1 指针数组模拟二维数组 结语 前言 在本篇文章中,我们将要一起来探讨指针与数组之间的关系,以及如何理解指针数组及其运用…

adb脚本操作

用荣耀80手机测试 echo off setlocal enabledelayedexpansion adb shell am start com.android.settings timeout /t 2 /nobreak >nul adb shell input tap 500 1300 timeout /t 2 /nobreak >nul adb shell input tap 500 800 timeout /t 2 /nobreak >nul adb she…
最新文章