📚 ABAP CDS Views – 学霸笔记
TERMINAL_INPUT >
Content Source: https://help.sap.com/
🔥 核心速记
概念 关键点
CDS View 用 DDL 定义的数据库视图,支持复杂 SQL
CDS Entity 语义层面的视图,用于 ABAP 和其他 CDS
CDS DB View 技术层面的底层 SQL 视图
⚡ 一张图搞懂 CDS View 的双重身份
CDS View 定义 (DDL Source)
│
├──▶ CDS Entity (语义键) ← ABAP 开发用这个!
│ – 可作为数据源
│ – 可作为数据类型
│ – 可在 ABAP SQL 中读取
│
└──▶ CDS DB View (技术键) ← SE11 可查看,禁止在 ABAP 中直接用
– 底层 SQL View
– 结构化类型
– 建议用 CDS Entity 替代
📌 必须背下来的规则
1️⃣ 命名规则
CDS Entity: cds_entity (DDL 中 DEFINE VIEW 后定义)
CDS DB View: CDS_DB_VIEW (@AbapCatalog.sqlViewName 注解)
2️⃣ 使用限制
对象 能用在哪里 不能用在哪里
CDS Entity ✅ ABAP SQL、CDS 数据源、ABAP 数据类型 ❌ SE11 经典字典对象
CDS DB View ✅ SE11 显示、Native SQL、AMDP ❌ ABAP SQL (7.50+ 禁用)
TERMINAL_INPUT >
⚠️ 7.50+ 严格模式: 必须用 CDS Entity,禁止用 CDS DB View!
3️⃣ KEY 的区别
KEY 类型 定义方式 用途
语义键 DEFINE VIEW 中用 KEY 定义 CDS Entity 的主键
技术键 隐式确定(像经典 DB View) CDS DB View 的主键
💡 开发要点
创建方式
⬡工具: ADT (ABAP Development Tools) 或 SE11
⬡语言: CDS DDL (不是 ABAP!)
⬡注解: @AbapCatalog.sqlViewName 定义 DB View 名
激活时发生什么
创建 CDS Entity (语义层)
创建 CDS DB View (SQL View)
自动同步到 ABAP Dictionary
🔄 CDS View vs 经典 View
特性 CDS View 经典 DB View
定义方式 DDL 源代码 SE11 表单
** Associations** ✅ 支持 ❌ 不支持
访问控制 ✅ 支持 ❌ 不支持
ABAP SQL ✅ CDS Entity ⚠️ 已过时
🎯 考试重点
CDS Entity 是 ABAP 开发的主要接口
CDS DB View = SE11 能看到的底层视图
不能把 CDS DB View 当数据类型用于 SE11 对象
7.50+ 严格模式禁止用 CDS DB View 做 ABAP SQL 查询
语义键用 KEY 关键字定义,技术键隐式确定
📝 快速问答
Q: 为什么有两个名字?
TERMINAL_INPUT >
CDS Entity 用于语义层,CDS DB View 用于底层技术实现。
Q: 在 ABAP 中应该用哪个?
TERMINAL_INPUT >
✅ CDS Entity
Q: SE11 能编辑 CDS View 吗?
TERMINAL_INPUT >
❌ 只能查看,不能编辑。编辑要用 ADT。
Q: Client 列问题
TERMINAL_INPUT >
CDS DB View 的 client-specific CDS View 始终有 client 列,而 CDS Entity 没有。
🧠 记忆口诀
TERMINAL_INPUT >
“Entity 是正面,DB View 是背面;ABAP 开发用正面,底层技术看背面”
⏭️ 延伸学习
⬡ ABAP CDS – Client Handling
⬡ ABAP CDS – Table Buffering
⬡ CDS View Enhancements (无修改增强)
If you have problem, please fell free to contact.Thanks.
About me:
This post is come from www.hot583.com, you can share/use it with the post original link for free.
But pay attention of any risk yourself.
If you like, Fell free to let your friends know this. Thanks.
