千家信息网

怎样实现SAP S/4HANA系统CDS view扩展原理分析

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章将为大家详细讲解有关怎样实现SAP S/4HANA系统CDS view扩展原理分析,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。创建扩展字段后
千家信息网最后更新 2026年11月03日怎样实现SAP S/4HANA系统CDS view扩展原理分析

这篇文章将为大家详细讲解有关怎样实现SAP S/4HANA系统CDS view扩展原理分析,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

创建扩展字段后,我想从接口视图中检索它的数据,就像I_产品一样。也就是说,扩展字段已经在MARA中,我想通过I_产品而不是MARA使用它。

使用以下ABAP代码时,它不起作用:

```ABAP

数据:I_产品的lt_表类型表。

从I_产品中选择*INTO TABLE@lt_TABLE。

```

原因是

我_产品的SQL视图中根本没有相应的扩展字段。为什么?

只是因为I_产品未启用扩展字段。

还应在自定义字段逻辑磁贴中启用:

(1). 选择您的扩展字段。

(2). 选项卡UI和报告:

(3). 单击"启用使用"按钮:

永远不要忘记发布您的更改。

一旦完成,它现在就可以工作了:

我来解答这两天我们讨论的问题。Key user 点了enable usage之后,如下图这个例子,

为什么之后我们 SELECT * FROM I_PRPODUCTWD 就能把extension field一起select出来,这些extension field不是做在E_PRODUCT上吗? E_PRODUCT 是通过association和I_PRODUCTWD连接起来的,为什么select * 能够把association view里的field一起读出来?

首先,上述红色的说法就是错误的,extension field并不是通过association从E_PRODUCT里读的. 我们要明确我们点enable usage的出发点是某个具体的extension field, 而不是从CDS view出发。选择了具体的extension field之后,再选择要extend的CDS view,点击publish,此时将会自动创建一个带有当前extension field的extension view,对选中的CDS extensible view进行扩展。这样造成的结果是,从SE11里观察SQL view能发现extension field会通过append的方式直接成为extensible view的一部分,这之后和E_PRODUCT再无任何关系。

比如这个extension view 在点publish时是什么时候生成的?

你可以自己debug,在这个方法里设个断点,然后点publish,你会发现publish时,有10个object会自动生成,其中第三个就是上面图里的extension view.

那框架咋知道我这个extension field在publish时要生成这10个东西?

答案还是在registry里:

如果想研究具体框架的generation实现,看这个class,里面每个sub class负责一种特定的repository generation实现,

其中CL_CFD_ENH_CDS_ENH_ABSTRACT又包含了所有CDS view相关的generation逻辑,里面又分了三种不同的类型。

所有这些协同工作,最后确保从application developer的眼里,看到extension field在design time时即出现在extensible view本身。额外补充一点哈。

E_PRODUCT一个最主要的目的就是为了register使用,同时在创建custom field时点publish时,能够自动生成一个E_Product的extension view。

如下图。当然在此之前需要先去自动扩展Product table的这个字段,这也是在点publish时自动完成的。

然后当你需要把这个custom field暴露在上层的view时,比如I_ProductWD,这时去Jerry提到的点击Enable时就会生成I_ProductWD的extension view。

其实你如果点击对应的字段,你会发现其实就是从上面的E_Product的extension view里去读取的。

总结一下,I_ProductWD里定义的E_PRODUCT的association更多是用于design time(register),之后在enable时知道如何创建extension view。然后有了extension view时,就跟E_Product没有直接关系了,因为extension view:ZZ1_PRE47GXHDI6P2ZLO3ADGY4HHFE里的内容是自动暴露为hosting view:I_PRODUCTWD的interface的。这也是为什么select *能自动出来,并不需要通过association。

关于怎样实现SAP S/4HANA系统CDS view扩展原理分析就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

字段 产品 生成 内容 就是 更多 选择 原理 系统 分析 数据 文章 框架 知识 篇文章 类型 自动生成 视图 逻辑 工作 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技工作委员会 今日互联网科技 互联网科技未来 互联网金融科技创新 互联网 视角下的科技创新 互联网科技大会 成都狮子座互联网科技 互联网科技公司的市场部门 银川新华互联网科技学校地址 开启互联网科技时代小说 互联网科技博主是什么意思 华夏互联网科技业 搜狐科技互联网 华夏恒生互联网科技013171 乌鲁木齐新华智原互联网科技学校 高科技互联网发展前景如何 互联网科技融合创新 同城互联网络科技 好易买互联网科技 上海旺乐尼互联网科技有限公司 美国互联网保险保险科技 嘟嘟瓜互联网科技 福州新华互联网科技学校 知乎 昭通云南众福互联网科技有限公司 崇明区互联网教育科技售后服务 特约风豹互联网科技为什么扣费 上海创道互联网络科技有限公司 互联网科技和医药行业 互联网企业和网络科技有限公司 山东亿川互联网科技有限责任公司
0