汪子熙
18年深耕企业管理软件领域,精通 ABAP, Java, Javascript, Typescript, 精通 UI5, Fiori, Fiori Element, Angular, Kubernetes, SAP HANA, SAP BTP. 具有通过阅读 Github 上各种优秀的开源框架和工具源代码的习惯,对于我来说阅读源代码,就像阅读中国白话文一样轻松自然。
展开
-
ABAP CDS View 从入门到精通教程目录:ABAP CDS View 在 SAP 技术体系中的重要地位
学习 ABAP CDS View 的开发技术,体会其背后的设计理念,也就掌握了 SAP S/4HANA 底层数据模型的设计精髓。原创 2025-03-13 19:37:33 · 1619 阅读 · 0 评论 -
SAP ABAP CDS View 源代码搜索工具
笔者之前的教程文章,分享了笔者原创的一个 CDS View 源代码行数统计工具:有个朋友问我 ABAP Development Tool 里关于搜索 CDS View 源代码的问题。笔者尝试了一下,ABAP Development Tool 提供的功能,只支持 ABAP 报表和 ABAP 类里源代码的搜索。原创 2025-05-13 23:48:26 · 308 阅读 · 0 评论 -
SAP ABAP CDS View 源代码行数统计工具
有个教程读者向我咨询,他的领导要求一个可视化的 ALV 报表,简单了解下部门 CDS View 开发工作量。既然要出 ALV 报表,首要任务就是提供数据,即统计某个 ABAP 开发包下面,每个 CDS View 的源代码行数。正好笔者以前开发过这样一个 CDS View 源代码行数统计,这里分享出来给各位读者使用。工具的使用方法很简单,因为我封装到一个 ABAP 类里了,大家在自己的 ABAP 系统里新建一个类,将本文末尾的源代码,拷贝到自己的类里,激活即可。我的类名称叫。原创 2025-05-13 20:54:57 · 353 阅读 · 0 评论 -
使用 ABAP Development Tool 开发 SAP ABAP CDS View 的一些操作小技巧
本文包含了笔者平时搜集和总结的一些使用 ABAP Development Tool 开发 CDS View 的小技巧,能够提高开发效率。原创 2025-04-27 13:33:37 · 68 阅读 · 0 评论 -
SAP CDS View association 的工作原理,与数据库传统 join 操作的区别讲解
笔者前一篇教程,介绍了 SAP CDS View 里如何创建 association:本文就来一一对这些问题进行解答。首先我们来研究如何消费创建好的 SAP CDS View 中的 association 数据。在上图 ABAP Development Tool 里展示的 CDS View 界面,点击 F8 快捷键,进入 Data Preview 即数据预览界面。我们随便选中一条行项目,右键,发现右键菜单里,赫然有一条的菜单项。看来这个功能肯定和 association 相关了。原创 2025-04-11 17:39:03 · 119 阅读 · 0 评论 -
如何创建 SAP ABAP CDS View 的 Association
所以本文我们虽然学习了如何创建 SAP CDS View 的 association,知道了 association 是用来在 CDS View 里将两张数据库表关联起来,但根本不知道怎么使用这个 association. 而且从 association 的写法来看,似乎和本教程之前介绍 inner join,left join 这些数据库表的连接操作没什么区别,都是根据两张表的 carrid 和 connid 字段相同进行的连接。只看到了我们在 CDS View 源代码实现里,放出来的四个字段。原创 2025-04-11 15:08:45 · 78 阅读 · 0 评论 -
使用 SAP ABAP CDS View 重新实现数据库表的 Inner Join 操作
它保证 ZCDS_INNER_JOIN 中出现的每一条记录,都是在 sflight 表和 spfli 表中确切存在并且满足航空公司编号 (carrid) 和航班编号 (connid) 都相同的情况。此处使用 inner join 关键字,代表这个 CDS View 的数据源来自两张表的「内连接操作」,即只保留在这两个表中都能匹配到的记录。读取的这些字段,是这张 CDS View 从底层哪些数据库表 join 出来的——CDS View 为只需要读取数据的 ABAP 开发人员,原创 2025-04-11 09:56:35 · 215 阅读 · 0 评论 -
SAP ABAP 数据库四种表连接的辨析:Inner Join,Outer Join,Left Join 和 Right Join
笔者这套 SAP ABAP CDS View 开发教程迄今为止的文章,已经创建了一个最简单的,基于单张数据库表的 CDS View.我们现在开始扩展 CDS View 的复杂度,用 CDS View 来连接多张数据库表。在动手开发之前,我们需要扫清一个学习道路上的知识障碍。经典的数据库表操作里有一种叫做 Join 即连接的操作,更进一步细分,有 Inner Join,Outer Join,Left Join 和 Right Join 四种。这些连接操作的区别是什么?我们可以参考下面这张示意图。原创 2025-04-10 10:12:17 · 516 阅读 · 0 评论 -
3. 使用 ABAP OPEN SQL 读取 CDS View 数据时,数据库层面到底发生了什么事?
如果设置为 true,举个例子,如果底层数据库表的 key 字段为 A,B 和 C,那么我们在 CDS View 里,可以同下图9~11行演示的 key 关键字,重新定义 CDS View 的 key 字段。执行查询,即可观察到我们的 ABAP 程序里,使用 OPEN SQL 的 SELECT 关键字,读取 CDS View。: 这个注解用来控制 ABAP CDS View 编译器的行为,初学者可以不用管,直接使用默认的 true 值。的操作,最后实际读取的是这个 CDS View 通过注解。原创 2025-04-05 22:58:08 · 172 阅读 · 0 评论 -
2. 第一个 SAP CDS View 源代码的详细解析:CDS View 和底层自动生成 SQL View 的关系讲解
笔者前一篇教程文章,带着大家在 ABAP 系统创建了一个最简单的基于sflight数据库表的 CDS View:本文对这简单的 14 行源代码背后的知识点进行详细讲解。CDS 全称是 Core Data Services,它是一种数据建模技术,帮助开发者以更直观和高层的方式去描述数据库中所需的数据结构。在一个典型的 SAP ABAP 开发场景里,CDS 经常被用来编写各种用于报表、接口或业务逻辑的数据视图。通常,这些视图包含一系列注解。原创 2025-04-05 13:37:20 · 214 阅读 · 0 评论 -
1. 动手开发第一个 SAP CDS View
在开始学习前,大家需要根据这篇文章介绍的步骤,在自己本地电脑上,把 ABAP Development Tool 安装好。右键单击这个添加好的 ABAP 开发包,选择新建一个 ABAP Repository Object,类型就选择。,就可以像在 SAPGUI 里使用 SE16 那样,查看这个 CDS View 的内容。笔者下一篇文章,会详细介绍我们创建的第一个 CDS View 的每一行代码的详细含义。从本文开始,正式进入 CDS View 开发的学习。的条件,然后点击 Run 重新执行,得到结果。原创 2025-04-05 13:31:52 · 125 阅读 · 0 评论 -
SAP ABAP 四种传统的数据库视图类型介绍之四:Help View
作为其中一项重要的功能,Help View 允许开发人员在 SAPGUI 和 ABAP 程序中调用 Text Table 和 Search Help 等 ABAP 对象,以提供快速、准确的数据查找和输入建议。打开 H_T002 之后,同前面介绍的其他三种数据库视图一样,Help View 也需要定义 Table/Join Conditions 即数据来源的表,以及这些表之前通过怎样的关联关系进行连接。一种方式是分配给某个 Search Help,对用户的输入提供辅助选择。我们到系统中看一个具体的例子。原创 2025-03-31 18:23:13 · 437 阅读 · 0 评论 -
SAP ABAP 四种传统的数据库视图类型介绍之三:Maintenance View
用户根本不操心这些字段值后台是怎么存储的,他只需要录入数据,点击保存,然后 Maintenance View 会将四个字段值,分别存储到数据库表1,2,3 中去。时已经提过,这种类型的数据库视图,主要用于对一个或多个数据库表进行逻辑上的连接和整合,构成一个虚拟表,使得在应用程序中可以以单一视图的方式访问分散在不同表中的数据。用这种方式,我们可以查询和某个 Maintenance View 业务相关的其他相关 SPRO 配置,因为在 SPRO 里,业务上相关的配置总是相邻出现。原创 2025-03-29 10:44:15 · 279 阅读 · 0 评论 -
SAP ABAP 四种传统的数据库视图类型介绍之二:Projection View
一是该 projection view 只暴露了底层 TADIR 表的四个字段,因此通过该 view 维护数据,在维护界面我们只能维护一条记录的四个字段,如下图所示。使用 Projection view 的优点在于其设计灵活性:如果系统中原始的数据库表字段较多,通过投影仅保留关键信息可有效降低从数据库层到应用层之间的数据传输负担,且保持数据的一致性。其二是笔者之前的文章提到,TADIR 是 ABAP 系统重要的对象注册表,如同 window 操作系统的注册表一样,一般的应用开发人员不应该去修改其内容。原创 2025-03-25 09:42:20 · 469 阅读 · 0 评论 -
SAP ABAP 四种传统的数据库视图类型介绍之一:Database View
例如,某企业的订单管理系统中,订单数据存放在订单表中,而客户信息存放在客户表中。所以我们在开始系统学习 ABAP CDS View 之前,至少得对传统数据库视图,要有一个最基本的了解,否则根本就不知道 ABAP CDS View 到底是在一个怎样的基础之上做的增强。假设我想查询系统里某用户创建的 ABAP 类的前一百条数据,包含 ABAP 类的名称,UUID,和创建者的用户名。开发了一张数据库视图,拥有 F1,F2,F4 和 F6 四个字段,分别从表1,表2和表3 的同名字段取值。原创 2025-03-25 08:25:49 · 623 阅读 · 0 评论